From 80fc6b7a9cef72cf1ec42a86744ac112f21b1cf9 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Wed, 3 Jul 2024 20:43:10 +0900 Subject: [PATCH 01/92] Add 'JPYCv2' as a git submodule --- .gitmodules | 3 +++ JPYCv2 | 1 + 2 files changed, 4 insertions(+) create mode 100644 .gitmodules create mode 160000 JPYCv2 diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..a528908 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "JPYCv2"] + path = JPYCv2 + url = https://github.com/jcam1/JPYCv2.git diff --git a/JPYCv2 b/JPYCv2 new file mode 160000 index 0000000..e06edf5 --- /dev/null +++ b/JPYCv2 @@ -0,0 +1 @@ +Subproject commit e06edf5ca9a69369717c24a93e6122014a55b2dd From b06bea5d17943949727e5732f4aef5c0a02fb4c7 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 5 Jul 2024 17:16:53 +0900 Subject: [PATCH 02/92] Add 'tsconfig' to node sdk v0 --- packages/node/v0/src/test.ts | 1 + packages/node/v0/tsconfig.json | 50 ++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 packages/node/v0/src/test.ts create mode 100644 packages/node/v0/tsconfig.json diff --git a/packages/node/v0/src/test.ts b/packages/node/v0/src/test.ts new file mode 100644 index 0000000..3451e9b --- /dev/null +++ b/packages/node/v0/src/test.ts @@ -0,0 +1 @@ +console.log('Hello World'); diff --git a/packages/node/v0/tsconfig.json b/packages/node/v0/tsconfig.json new file mode 100644 index 0000000..f62ff75 --- /dev/null +++ b/packages/node/v0/tsconfig.json @@ -0,0 +1,50 @@ +{ + "include": ["src/**/*.ts"], + "exclude": ["**/*.test.ts"], + "compilerOptions": { + // output settings + "module": "es2022", + "rootDir": "./", + "outDir": "./dist/src", + "removeComments": true, + "preserveConstEnums": true, + "incremental": true, + "preserveWatchOutput": true, + "sourceMap": true, + "inlineSourceMap": false, + "declaration": true, + "declarationDir": "./dist/src/types", + "declarationMap": true, + "lib": ["es2022"], + "skipLibCheck": true, + "target": "es2022", + "importHelpers": true, + // import settings + "baseUrl": "./", + "allowSyntheticDefaultImports": true, + "moduleResolution": "bundler", + "resolveJsonModule": true, + // strict options + "strict": true, + "strictPropertyInitialization": false, + // linter options + "noUnusedParameters": true, + "noUnusedLocals": true, + "noImplicitReturns": true, + "noImplicitOverride": true, + "noFallthroughCasesInSwitch": true, + "noPropertyAccessFromIndexSignature": false, + "noUncheckedIndexedAccess": false, + "forceConsistentCasingInFileNames": true, + "allowUnreachableCode": false, + "allowUnusedLabels": false, + "exactOptionalPropertyTypes": false, + // misc + "esModuleInterop": true, + "experimentalDecorators": true, + "emitDecoratorMetadata": true + }, + "ts-node": { + "require": ["tsconfig-paths/register"] + } +} From 7503bca69a7b5c0d3ac8f270cf56e36e93dca669 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 5 Jul 2024 17:17:25 +0900 Subject: [PATCH 03/92] Add ESlint to node sdk v0 --- packages/node/v0/.eslintignore | 3 ++ packages/node/v0/.eslintrc.js | 55 ++++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 packages/node/v0/.eslintignore create mode 100644 packages/node/v0/.eslintrc.js diff --git a/packages/node/v0/.eslintignore b/packages/node/v0/.eslintignore new file mode 100644 index 0000000..e485556 --- /dev/null +++ b/packages/node/v0/.eslintignore @@ -0,0 +1,3 @@ +dist +.eslintrc.js +**/*.test.ts diff --git a/packages/node/v0/.eslintrc.js b/packages/node/v0/.eslintrc.js new file mode 100644 index 0000000..c24f109 --- /dev/null +++ b/packages/node/v0/.eslintrc.js @@ -0,0 +1,55 @@ +'use strict'; + +module.exports = { + root: true, + extends: [ + 'eslint:recommended', + 'plugin:@typescript-eslint/recommended', + 'plugin:@typescript-eslint/recommended-requiring-type-checking', + 'plugin:@typescript-eslint/strict', + 'plugin:prettier/recommended', + ], + plugins: ['@typescript-eslint/eslint-plugin'], + parserOptions: { + project: './tsconfig.json', + }, + env: { + 'node': true, + }, + rules: { + 'dot-notation': [ + 2, + { + allowKeywords: true, + allowPattern: '^[a-z]+(_[a-z]+)+$', + }, + ], + '@typescript-eslint/interface-name-prefix': 'off', + '@typescript-eslint/no-namespace': 'error', + '@typescript-eslint/no-non-null-assertion': 'error', + '@typescript-eslint/explicit-function-return-type': 'error', + '@typescript-eslint/explicit-module-boundary-types': 'error', + '@typescript-eslint/no-explicit-any': 'error', + '@typescript-eslint/require-await': 'error', + '@typescript-eslint/naming-convention': [ + 'error', + { selector: 'variableLike', format: ['camelCase'], leadingUnderscore: 'allow' }, + { selector: 'variable', format: ['camelCase', 'UPPER_CASE'] }, + { selector: 'memberLike', format: ['strictCamelCase'] }, + { selector: 'enumMember', format: ['StrictPascalCase'] }, + { selector: 'typeLike', format: ['PascalCase'] }, + { selector: 'typeParameter', format: ['strictCamelCase', 'UPPER_CASE'] }, + { selector: 'property', format: ['strictCamelCase'] }, + { selector: 'method', format: ['strictCamelCase'] }, + ], + '@typescript-eslint/no-unused-vars': [ + 'error', + { + argsIgnorePattern: '^_', + varsIgnorePattern: '^_', + caughtErrorsIgnorePattern: '^_', + destructuredArrayIgnorePattern: '^_', + }, + ], + }, +}; From 31204c87e924fc5a33f76f4cfb7f8cad2ba2d461 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 5 Jul 2024 17:17:47 +0900 Subject: [PATCH 04/92] Add prettier to node sdk v0 --- packages/node/v0/.prettierignore | 4 ++++ packages/node/v0/.prettierrc | 9 +++++++++ 2 files changed, 13 insertions(+) create mode 100644 packages/node/v0/.prettierignore create mode 100644 packages/node/v0/.prettierrc diff --git a/packages/node/v0/.prettierignore b/packages/node/v0/.prettierignore new file mode 100644 index 0000000..8e6367b --- /dev/null +++ b/packages/node/v0/.prettierignore @@ -0,0 +1,4 @@ +.gitkeep +.env* +*.lock +dist diff --git a/packages/node/v0/.prettierrc b/packages/node/v0/.prettierrc new file mode 100644 index 0000000..7bf3551 --- /dev/null +++ b/packages/node/v0/.prettierrc @@ -0,0 +1,9 @@ +{ + "printWidth": 100, + "semi": true, + "singleQuote": true, + "quoteProps": "consistent", + "trailingComma": "all", + "bracketSpacing": true, + "arrowParens": "always" +} From 73efb3051335ee195c48d4eefb3d1d857abab580 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 5 Jul 2024 17:18:59 +0900 Subject: [PATCH 05/92] Set up yarn workspaces; add minimum dependencies & npm scripts --- package.json | 2 +- packages/node/v0/package.json | 30 + {src => packages}/node/v1/.gitkeep | 0 {src => packages}/python/v1/.gitkeep | 0 src/node/v0/package.json | 8 - yarn.lock | 2598 ++++++++++++++++++++++++++ 6 files changed, 2629 insertions(+), 9 deletions(-) create mode 100644 packages/node/v0/package.json rename {src => packages}/node/v1/.gitkeep (100%) rename {src => packages}/python/v1/.gitkeep (100%) delete mode 100644 src/node/v0/package.json diff --git a/package.json b/package.json index 7f3cadf..8356457 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "version": "0.0.0", "private": true, "workspaces": [ - "src/*" + "packages/**/*" ], "scripts": { "prepare": "husky install" diff --git a/packages/node/v0/package.json b/packages/node/v0/package.json new file mode 100644 index 0000000..0f3504e --- /dev/null +++ b/packages/node/v0/package.json @@ -0,0 +1,30 @@ +{ + "name": "@jpyc/node-sdk-v0", + "description": "Node SDK (v0) for JPYC", + "repository": "https://github.com/jcam1/sdks.git", + "license": "MIT", + "version": "1.0.0", + "private": true, + "scripts": { + "gen": "run-s gen:*", + "gen:abi": "cd ../../../JPYCv2 && npx hardhat compile", + "gen:abi-types": "cd ../../../JPYCv2 && abi-types-generator hardhat && mv ethereum-abi-types ../packages/node/abi-types" + }, + "devDependencies": { + "@types/node": "20.14.9", + "@typescript-eslint/eslint-plugin": "7.15.0", + "@typescript-eslint/parser": "7.15.0", + "eslint": "9.6.0", + "eslint-config-prettier": "9.1.0", + "eslint-plugin-prettier": "5.1.3", + "ethereum-abi-types-generator": "1.3.4", + "npm-run-all": "4.1.5", + "prettier": "3.3.2", + "ts-node": "10.9.2", + "tsconfig-paths": "4.2.0", + "typescript": "5.5.3" + }, + "dependencies": { + "ethers": "6.13.1" + } +} diff --git a/src/node/v1/.gitkeep b/packages/node/v1/.gitkeep similarity index 100% rename from src/node/v1/.gitkeep rename to packages/node/v1/.gitkeep diff --git a/src/python/v1/.gitkeep b/packages/python/v1/.gitkeep similarity index 100% rename from src/python/v1/.gitkeep rename to packages/python/v1/.gitkeep diff --git a/src/node/v0/package.json b/src/node/v0/package.json deleted file mode 100644 index 444040f..0000000 --- a/src/node/v0/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "@jpyc/node-sdk-v0", - "description": "Node SDK (v0) for JPYC", - "repository": "https://github.com/jcam1/sdks.git", - "license": "MIT", - "version": "1.0.0", - "private": true -} diff --git a/yarn.lock b/yarn.lock index b819b0d..413ec28 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,7 +2,2605 @@ # yarn lockfile v1 +"@adraffy/ens-normalize@1.10.1": + version "1.10.1" + resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz#63430d04bd8c5e74f8d7d049338f1cd9d4f02069" + integrity sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw== + +"@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" + +"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" + integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== + dependencies: + eslint-visitor-keys "^3.3.0" + +"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.6.1": + version "4.11.0" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.11.0.tgz#b0ffd0312b4a3fd2d6f77237e7248a5ad3a680ae" + integrity sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A== + +"@eslint/config-array@^0.17.0": + version "0.17.0" + resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.17.0.tgz#ff305e1ee618a00e6e5d0485454c8d92d94a860d" + integrity sha512-A68TBu6/1mHHuc5YJL0U0VVeGNiklLAL6rRmhTCP2B5XjWLMnrX+HkO+IAXyHvks5cyyY1jjK5ITPQ1HGS2EVA== + dependencies: + "@eslint/object-schema" "^2.1.4" + debug "^4.3.1" + minimatch "^3.1.2" + +"@eslint/eslintrc@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-3.1.0.tgz#dbd3482bfd91efa663cbe7aa1f506839868207b6" + integrity sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^10.0.1" + globals "^14.0.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" + +"@eslint/js@9.6.0": + version "9.6.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.6.0.tgz#5b0cb058cc13d9c92d4e561d3538807fa5127c95" + integrity sha512-D9B0/3vNg44ZeWbYMpBoXqNP4j6eQD5vNwIlGAuFRRzK/WtT/jvDQW3Bi9kkf3PMDMlM7Yi+73VLUsn5bJcl8A== + +"@eslint/object-schema@^2.1.4": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.4.tgz#9e69f8bb4031e11df79e03db09f9dbbae1740843" + integrity sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ== + +"@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449" + integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA== + dependencies: + "@ethersproject/address" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/hash" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + +"@ethersproject/abstract-provider@5.7.0", "@ethersproject/abstract-provider@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz#b0a8550f88b6bf9d51f90e4795d48294630cb9ef" + integrity sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw== + dependencies: + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/networks" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/transactions" "^5.7.0" + "@ethersproject/web" "^5.7.0" + +"@ethersproject/abstract-signer@5.7.0", "@ethersproject/abstract-signer@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz#13f4f32117868452191a4649723cb086d2b596b2" + integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ== + dependencies: + "@ethersproject/abstract-provider" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + +"@ethersproject/address@5.7.0", "@ethersproject/address@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.7.0.tgz#19b56c4d74a3b0a46bfdbb6cfcc0a153fc697f37" + integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA== + dependencies: + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/rlp" "^5.7.0" + +"@ethersproject/base64@5.7.0", "@ethersproject/base64@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.7.0.tgz#ac4ee92aa36c1628173e221d0d01f53692059e1c" + integrity sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ== + dependencies: + "@ethersproject/bytes" "^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.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.7.0.tgz#e2f03837f268ba655ffba03a57853e18a18dc9c2" + integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + bn.js "^5.2.1" + +"@ethersproject/bytes@5.7.0", "@ethersproject/bytes@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.7.0.tgz#a00f6ea8d7e7534d6d87f47188af1148d71f155d" + integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A== + dependencies: + "@ethersproject/logger" "^5.7.0" + +"@ethersproject/constants@5.7.0", "@ethersproject/constants@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.7.0.tgz#df80a9705a7e08984161f09014ea012d1c75295e" + integrity sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA== + dependencies: + "@ethersproject/bignumber" "^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.yarnpkg.com/@ethersproject/hash/-/hash-5.7.0.tgz#eb7aca84a588508369562e16e514b539ba5240a7" + integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g== + dependencies: + "@ethersproject/abstract-signer" "^5.7.0" + "@ethersproject/address" "^5.7.0" + "@ethersproject/base64" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/strings" "^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.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.7.0.tgz#3186350c6e1cd6aba7940384ec7d6d9db01f335a" + integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg== + dependencies: + "@ethersproject/bytes" "^5.7.0" + js-sha3 "0.8.0" + +"@ethersproject/logger@5.7.0", "@ethersproject/logger@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.7.0.tgz#6ce9ae168e74fecf287be17062b590852c311892" + integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig== + +"@ethersproject/networks@5.7.1", "@ethersproject/networks@^5.7.0": + version "5.7.1" + resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.1.tgz#118e1a981d757d45ccea6bb58d9fd3d9db14ead6" + integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ== + dependencies: + "@ethersproject/logger" "^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.yarnpkg.com/@ethersproject/properties/-/properties-5.7.0.tgz#a6e12cb0439b878aaf470f1902a176033067ed30" + integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw== + dependencies: + "@ethersproject/logger" "^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.yarnpkg.com/@ethersproject/rlp/-/rlp-5.7.0.tgz#de39e4d5918b9d74d46de93af80b7685a9c21304" + integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^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.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.7.0.tgz#06b2df39411b00bc57c7c09b01d1e41cf1b16ab3" + integrity sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + bn.js "^5.2.1" + elliptic "6.5.4" + hash.js "1.1.7" + +"@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.yarnpkg.com/@ethersproject/strings/-/strings-5.7.0.tgz#54c9d2a7c57ae8f1205c88a9d3a56471e14d5ed2" + integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + +"@ethersproject/transactions@5.7.0", "@ethersproject/transactions@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.7.0.tgz#91318fc24063e057885a6af13fdb703e1f993d3b" + integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ== + dependencies: + "@ethersproject/address" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/rlp" "^5.7.0" + "@ethersproject/signing-key" "^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.yarnpkg.com/@ethersproject/web/-/web-5.7.1.tgz#de1f285b373149bee5928f4eb7bcb87ee5fbb4ae" + integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w== + dependencies: + "@ethersproject/base64" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@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" + +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== + +"@humanwhocodes/retry@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.3.0.tgz#6d86b8cb322660f03d3f0aa94b99bdd8e172d570" + integrity sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew== + +"@jridgewell/resolve-uri@^3.0.3": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== + +"@jridgewell/sourcemap-codec@^1.4.10": + version "1.4.15" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + +"@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" + +"@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== + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@pkgr/core@^0.1.0": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@pkgr/core/-/core-0.1.1.tgz#1ec17e2edbec25c8306d424ecfbf13c7de1aaa31" + integrity sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA== + +"@tsconfig/node10@^1.0.7": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.11.tgz#6ee46400685f130e278128c7b38b7e031ff5b2f2" + integrity sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw== + +"@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.4" + resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" + integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== + +"@types/bn.js@^4.11.6": + version "4.11.6" + resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.6.tgz#c306c70d9358aaea33cd4eda092a742b9505967c" + integrity sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg== + dependencies: + "@types/node" "*" + +"@types/node@*", "@types/node@20.14.9": + version "20.14.9" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.14.9.tgz#12e8e765ab27f8c421a1820c99f5f313a933b420" + integrity sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg== + dependencies: + undici-types "~5.26.4" + +"@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== + +"@typescript-eslint/eslint-plugin@7.15.0": + version "7.15.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.15.0.tgz#8eaf396ac2992d2b8f874b68eb3fcd6b179cb7f3" + integrity sha512-uiNHpyjZtFrLwLDpHnzaDlP3Tt6sGMqTCiqmxaN4n4RP0EfYZDODJyddiFDF44Hjwxr5xAcaYxVKm9QKQFJFLA== + dependencies: + "@eslint-community/regexpp" "^4.10.0" + "@typescript-eslint/scope-manager" "7.15.0" + "@typescript-eslint/type-utils" "7.15.0" + "@typescript-eslint/utils" "7.15.0" + "@typescript-eslint/visitor-keys" "7.15.0" + graphemer "^1.4.0" + ignore "^5.3.1" + natural-compare "^1.4.0" + ts-api-utils "^1.3.0" + +"@typescript-eslint/parser@7.15.0": + version "7.15.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-7.15.0.tgz#f4a536e5fc6a1c05c82c4d263a2bfad2da235c80" + integrity sha512-k9fYuQNnypLFcqORNClRykkGOMOj+pV6V91R4GO/l1FDGwpqmSwoOQrOHo3cGaH63e+D3ZiCAOsuS/D2c99j/A== + dependencies: + "@typescript-eslint/scope-manager" "7.15.0" + "@typescript-eslint/types" "7.15.0" + "@typescript-eslint/typescript-estree" "7.15.0" + "@typescript-eslint/visitor-keys" "7.15.0" + debug "^4.3.4" + +"@typescript-eslint/scope-manager@7.15.0": + version "7.15.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.15.0.tgz#201b34b0720be8b1447df17b963941bf044999b2" + integrity sha512-Q/1yrF/XbxOTvttNVPihxh1b9fxamjEoz2Os/Pe38OHwxC24CyCqXxGTOdpb4lt6HYtqw9HetA/Rf6gDGaMPlw== + dependencies: + "@typescript-eslint/types" "7.15.0" + "@typescript-eslint/visitor-keys" "7.15.0" + +"@typescript-eslint/type-utils@7.15.0": + version "7.15.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.15.0.tgz#5b83c904c6de91802fb399305a50a56d10472c39" + integrity sha512-SkgriaeV6PDvpA6253PDVep0qCqgbO1IOBiycjnXsszNTVQe5flN5wR5jiczoEoDEnAqYFSFFc9al9BSGVltkg== + dependencies: + "@typescript-eslint/typescript-estree" "7.15.0" + "@typescript-eslint/utils" "7.15.0" + debug "^4.3.4" + ts-api-utils "^1.3.0" + +"@typescript-eslint/types@7.15.0": + version "7.15.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.15.0.tgz#fb894373a6e3882cbb37671ffddce44f934f62fc" + integrity sha512-aV1+B1+ySXbQH0pLK0rx66I3IkiZNidYobyfn0WFsdGhSXw+P3YOqeTq5GED458SfB24tg+ux3S+9g118hjlTw== + +"@typescript-eslint/typescript-estree@7.15.0": + version "7.15.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.15.0.tgz#e323bfa3966e1485b638ce751f219fc1f31eba37" + integrity sha512-gjyB/rHAopL/XxfmYThQbXbzRMGhZzGw6KpcMbfe8Q3nNQKStpxnUKeXb0KiN/fFDR42Z43szs6rY7eHk0zdGQ== + dependencies: + "@typescript-eslint/types" "7.15.0" + "@typescript-eslint/visitor-keys" "7.15.0" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + minimatch "^9.0.4" + semver "^7.6.0" + ts-api-utils "^1.3.0" + +"@typescript-eslint/utils@7.15.0": + version "7.15.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.15.0.tgz#9e6253c4599b6e7da2fb64ba3f549c73eb8c1960" + integrity sha512-hfDMDqaqOqsUVGiEPSMLR/AjTSCsmJwjpKkYQRo1FNbmW4tBwBspYDwO9eh7sKSTwMQgBw9/T4DHudPaqshRWA== + dependencies: + "@eslint-community/eslint-utils" "^4.4.0" + "@typescript-eslint/scope-manager" "7.15.0" + "@typescript-eslint/types" "7.15.0" + "@typescript-eslint/typescript-estree" "7.15.0" + +"@typescript-eslint/visitor-keys@7.15.0": + version "7.15.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.15.0.tgz#1da0726201a859343fe6a05742a7c1792fff5b66" + integrity sha512-Hqgy/ETgpt2L5xueA/zHHIl4fJI2O4XUE9l4+OIfbJIRSnTJb/QscncdqqZzofQegIJugRIF57OJea1khw2SDw== + dependencies: + "@typescript-eslint/types" "7.15.0" + eslint-visitor-keys "^3.4.3" + +acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn-walk@^8.1.1: + version "8.3.3" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.3.tgz#9caeac29eefaa0c41e3d4c65137de4d6f34df43e" + integrity sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw== + dependencies: + acorn "^8.11.0" + +acorn@^8.11.0, acorn@^8.12.0, acorn@^8.4.1: + version "8.12.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.1.tgz#71616bdccbe25e27a54439e0046e89ca76df2248" + integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg== + +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== + +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== + +ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +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@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +array-buffer-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz#1e5583ec16763540a27ae52eed99ff899223568f" + integrity sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg== + dependencies: + call-bind "^1.0.5" + is-array-buffer "^3.0.4" + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +arraybuffer.prototype.slice@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz#097972f4255e41bc3425e37dc3f6421cf9aefde6" + integrity sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A== + dependencies: + array-buffer-byte-length "^1.0.1" + call-bind "^1.0.5" + define-properties "^1.2.1" + es-abstract "^1.22.3" + es-errors "^1.2.1" + get-intrinsic "^1.2.3" + is-array-buffer "^3.0.4" + is-shared-array-buffer "^1.0.2" + +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" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + +available-typed-arrays@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" + integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== + dependencies: + possible-typed-array-names "^1.0.0" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +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.2" + resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.2.tgz#b7c4242259c008903b13707983b5f4bbd31eda0c" + integrity sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug== + +bn.js@^4.11.9: + version "4.12.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== + +bn.js@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" + integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + 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.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" + integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== + dependencies: + fill-range "^7.1.1" + +brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== + +call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" + integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + set-function-length "^1.2.1" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase@^5.0.0: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +chalk@^2.4.1: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.0.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +colors@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" + integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +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@^6.0.5: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.2: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +data-view-buffer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.1.tgz#8ea6326efec17a2e42620696e671d7d5a8bc66b2" + integrity sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +data-view-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz#90721ca95ff280677eb793749fce1011347669e2" + integrity sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +data-view-byte-offset@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz#5e0bbfb4828ed2d1b9b400cd8a7d119bca0ff18a" + integrity sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: + version "4.3.5" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.5.tgz#e83444eceb9fedd4a1da56d671ae2446a01a6e1e" + integrity sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg== + dependencies: + ms "2.1.2" + +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== + +deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +define-data-property@^1.0.1, define-data-property@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" + integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + gopd "^1.0.1" + +define-properties@^1.2.0, define-properties@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" + integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== + dependencies: + define-data-property "^1.0.1" + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +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" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +dotenv@^8.2.0: + version "8.6.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.6.0.tgz#061af664d19f7f4d8fc6e4ff9b584ce237adcb8b" + integrity sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== + +elliptic@6.5.4: + version "6.5.4" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" + integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.2: + version "1.23.3" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.3.tgz#8f0c5a35cd215312573c5a27c87dfd6c881a0aa0" + integrity sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A== + dependencies: + array-buffer-byte-length "^1.0.1" + arraybuffer.prototype.slice "^1.0.3" + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + data-view-buffer "^1.0.1" + data-view-byte-length "^1.0.1" + data-view-byte-offset "^1.0.0" + es-define-property "^1.0.0" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-set-tostringtag "^2.0.3" + es-to-primitive "^1.2.1" + function.prototype.name "^1.1.6" + get-intrinsic "^1.2.4" + get-symbol-description "^1.0.2" + globalthis "^1.0.3" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + has-proto "^1.0.3" + has-symbols "^1.0.3" + hasown "^2.0.2" + internal-slot "^1.0.7" + is-array-buffer "^3.0.4" + is-callable "^1.2.7" + is-data-view "^1.0.1" + is-negative-zero "^2.0.3" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.3" + is-string "^1.0.7" + is-typed-array "^1.1.13" + is-weakref "^1.0.2" + object-inspect "^1.13.1" + object-keys "^1.1.1" + object.assign "^4.1.5" + regexp.prototype.flags "^1.5.2" + safe-array-concat "^1.1.2" + safe-regex-test "^1.0.3" + string.prototype.trim "^1.2.9" + string.prototype.trimend "^1.0.8" + string.prototype.trimstart "^1.0.8" + typed-array-buffer "^1.0.2" + typed-array-byte-length "^1.0.1" + typed-array-byte-offset "^1.0.2" + typed-array-length "^1.0.6" + unbox-primitive "^1.0.2" + which-typed-array "^1.1.15" + +es-define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" + integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== + dependencies: + get-intrinsic "^1.2.4" + +es-errors@^1.2.1, es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + +es-object-atoms@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.0.0.tgz#ddb55cd47ac2e240701260bc2a8e31ecb643d941" + integrity sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw== + dependencies: + es-errors "^1.3.0" + +es-set-tostringtag@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz#8bb60f0a440c2e4281962428438d58545af39777" + integrity sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ== + dependencies: + get-intrinsic "^1.2.4" + has-tostringtag "^1.0.2" + hasown "^2.0.1" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +eslint-config-prettier@9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz#31af3d94578645966c082fcb71a5846d3c94867f" + integrity sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw== + +eslint-plugin-prettier@5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.3.tgz#17cfade9e732cef32b5f5be53bd4e07afd8e67e1" + integrity sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw== + dependencies: + prettier-linter-helpers "^1.0.0" + synckit "^0.8.6" + +eslint-scope@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-8.0.1.tgz#a9601e4b81a0b9171657c343fb13111688963cfc" + integrity sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.3: + version "3.4.3" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" + integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== + +eslint-visitor-keys@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz#e3adc021aa038a2a8e0b2f8b0ce8f66b9483b1fb" + integrity sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw== + +eslint@9.6.0: + version "9.6.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.6.0.tgz#9f54373afa15e1ba356656a8d96233182027fb49" + integrity sha512-ElQkdLMEEqQNM9Njff+2Y4q2afHk7JpkPvrd7Xh7xefwgQynqPxwf55J7di9+MEibWUGdNjFF9ITG9Pck5M84w== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.6.1" + "@eslint/config-array" "^0.17.0" + "@eslint/eslintrc" "^3.1.0" + "@eslint/js" "9.6.0" + "@humanwhocodes/module-importer" "^1.0.1" + "@humanwhocodes/retry" "^0.3.0" + "@nodelib/fs.walk" "^1.2.8" + ajv "^6.12.4" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + escape-string-regexp "^4.0.0" + eslint-scope "^8.0.1" + eslint-visitor-keys "^4.0.0" + espree "^10.1.0" + esquery "^1.5.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^8.0.0" + find-up "^5.0.0" + glob-parent "^6.0.2" + ignore "^5.2.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + is-path-inside "^3.0.3" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.1.2" + natural-compare "^1.4.0" + optionator "^0.9.3" + strip-ansi "^6.0.1" + text-table "^0.2.0" + +espree@^10.0.1, espree@^10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-10.1.0.tgz#8788dae611574c0f070691f522e4116c5a11fc56" + integrity sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA== + dependencies: + acorn "^8.12.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^4.0.0" + +esquery@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" + integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +ethereum-abi-types-generator@1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/ethereum-abi-types-generator/-/ethereum-abi-types-generator-1.3.4.tgz#3b950ed2ef05480b03e6956442d21a8c7ea56a67" + integrity sha512-5O775BQ9ZkLEJfX7uWkCt8kzt3HcLL/UVp8s6D4wjh6TWW5n1+xjR6jXUXNpCtZSr+gPqj2r2U6sUQ8yZ1+Odw== + dependencies: + "@types/bn.js" "^4.11.6" + bignumber.js "^9.0.0" + colors "^1.4.0" + dotenv "^8.2.0" + ethers "^4.0.47" + ethersv5 "npm:ethers@^5.0.32" + fs-extra "^9.0.0" + prettier "^2.0.5" + reflect-metadata "^0.1.13" + yargs "^15.3.1" + +ethers@6.13.1: + version "6.13.1" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.13.1.tgz#2b9f9c7455cde9d38b30fe6589972eb083652961" + integrity sha512-hdJ2HOxg/xx97Lm9HdCWk949BfYqYWpyw4//78SiwOLgASyfrNszfMUNB2joKjvGUdwhHfaiMMFFwacVVoLR9A== + dependencies: + "@adraffy/ens-normalize" "1.10.1" + "@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.17.1" + +ethers@^4.0.47: + version "4.0.49" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.49.tgz#0eb0e9161a0c8b4761be547396bbe2fb121a8894" + integrity sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg== + dependencies: + aes-js "3.0.0" + bn.js "^4.11.9" + elliptic "6.5.4" + hash.js "1.1.3" + js-sha3 "0.5.7" + scrypt-js "2.0.4" + setimmediate "1.0.4" + uuid "2.0.1" + xmlhttprequest "1.8.0" + +"ethersv5@npm:ethers@^5.0.32": + version "5.7.2" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.2.tgz#3a7deeabbb8c030d4126b24f84e525466145872e" + integrity sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg== + dependencies: + "@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" + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-diff@^1.1.2: + version "1.3.0" + resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0" + integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== + +fast-glob@^3.2.9: + version "3.3.2" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" + integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fastq@^1.6.0: + version "1.17.1" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" + integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== + dependencies: + reusify "^1.0.4" + +file-entry-cache@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-8.0.0.tgz#7787bddcf1131bffb92636c69457bbc0edd6d81f" + integrity sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ== + dependencies: + flat-cache "^4.0.0" + +fill-range@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" + integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== + dependencies: + to-regex-range "^5.0.1" + +find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +flat-cache@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-4.0.1.tgz#0ece39fcb14ee012f4b0410bd33dd9c1f011127c" + integrity sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw== + dependencies: + flatted "^3.2.9" + keyv "^4.5.4" + +flatted@^3.2.9: + version "3.3.1" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a" + integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== + +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" + +fs-extra@^9.0.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +function.prototype.name@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" + integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + functions-have-names "^1.2.3" + +functions-have-names@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + +get-caller-file@^2.0.1: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" + integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== + dependencies: + es-errors "^1.3.0" + function-bind "^1.1.2" + has-proto "^1.0.1" + has-symbols "^1.0.3" + hasown "^2.0.0" + +get-symbol-description@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.2.tgz#533744d5aa20aca4e079c8e5daf7fd44202821f5" + integrity sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg== + dependencies: + call-bind "^1.0.5" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + +glob-parent@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +globals@^14.0.0: + version "14.0.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-14.0.0.tgz#898d7413c29babcf6bafe56fcadded858ada724e" + integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ== + +globalthis@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.4.tgz#7430ed3a975d97bfb59bcce41f5cabbafa651236" + integrity sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ== + dependencies: + define-properties "^1.2.1" + gopd "^1.0.1" + +globby@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +graphemer@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" + integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== + +has-bigints@^1.0.1, has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" + integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== + dependencies: + es-define-property "^1.0.0" + +has-proto@^1.0.1, has-proto@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" + integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== + +has-symbols@^1.0.2, has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-tostringtag@^1.0.0, has-tostringtag@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" + integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== + dependencies: + has-symbols "^1.0.3" + +hash.js@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.3.tgz#340dedbe6290187151c1ea1d777a3448935df846" + integrity sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.0" + +hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.7" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== + dependencies: + function-bind "^1.1.2" + +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +hosted-git-info@^2.1.4: + version "2.8.9" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== + husky@9.0.11: version "9.0.11" resolved "https://registry.yarnpkg.com/husky/-/husky-9.0.11.tgz#fc91df4c756050de41b3e478b2158b87c1e79af9" integrity sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw== + +ignore@^5.2.0, ignore@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" + integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== + +import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +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== + +internal-slot@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.7.tgz#c06dcca3ed874249881007b0a5523b172a190802" + integrity sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== + dependencies: + es-errors "^1.3.0" + hasown "^2.0.0" + side-channel "^1.0.4" + +is-array-buffer@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.4.tgz#7a1f92b3d61edd2bc65d24f130530ea93d7fae98" + integrity sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.1" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" + +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + +is-core-module@^2.13.0: + version "2.14.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.14.0.tgz#43b8ef9f46a6a08888db67b1ffd4ec9e3dfd59d1" + integrity sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A== + dependencies: + hasown "^2.0.2" + +is-data-view@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.1.tgz#4b4d3a511b70f3dc26d42c03ca9ca515d847759f" + integrity sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w== + dependencies: + is-typed-array "^1.1.13" + +is-date-object@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-negative-zero@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747" + integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== + +is-number-object@^1.0.4: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" + integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== + dependencies: + has-tostringtag "^1.0.0" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-path-inside@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + +is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-shared-array-buffer@^1.0.2, is-shared-array-buffer@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz#1237f1cba059cdb62431d378dcc37d9680181688" + integrity sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg== + dependencies: + call-bind "^1.0.7" + +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +is-typed-array@^1.1.13: + version "1.1.13" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.13.tgz#d6c5ca56df62334959322d7d7dd1cca50debe229" + integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== + dependencies: + which-typed-array "^1.1.14" + +is-weakref@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +js-sha3@0.5.7: + version "0.5.7" + resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.5.7.tgz#0d4ffd8002d5333aabaf4a23eed2f6374c9f28e7" + integrity sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g== + +js-sha3@0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" + integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== + +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== + +json-parse-better-errors@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== + +json5@^2.2.2: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +keyv@^4.5.4: + version "4.5.4" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== + dependencies: + json-buffer "3.0.1" + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +load-json-file@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + integrity sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw== + dependencies: + graceful-fs "^4.1.2" + parse-json "^4.0.0" + pify "^3.0.0" + strip-bom "^3.0.0" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +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== + +memorystream@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" + integrity sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw== + +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^4.0.4: + version "4.0.7" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.7.tgz#33e8190d9fe474a9895525f5618eee136d46c2e5" + integrity sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q== + dependencies: + braces "^3.0.3" + picomatch "^2.3.1" + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== + +minimatch@^3.0.4, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^9.0.4: + version "9.0.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" + integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== + dependencies: + brace-expansion "^2.0.1" + +minimist@^1.2.6: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +normalize-package-data@^2.3.2: + version "2.5.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +npm-run-all@4.1.5: + version "4.1.5" + resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.1.5.tgz#04476202a15ee0e2e214080861bff12a51d98fba" + integrity sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ== + dependencies: + ansi-styles "^3.2.1" + chalk "^2.4.1" + cross-spawn "^6.0.5" + memorystream "^0.3.1" + minimatch "^3.0.4" + pidtree "^0.3.0" + read-pkg "^3.0.0" + shell-quote "^1.6.1" + string.prototype.padend "^3.0.0" + +object-inspect@^1.13.1: + version "1.13.2" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.2.tgz#dea0088467fb991e67af4058147a24824a3043ff" + integrity sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g== + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.1.5: + version "4.1.5" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" + integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== + dependencies: + call-bind "^1.0.5" + define-properties "^1.2.1" + has-symbols "^1.0.3" + object-keys "^1.1.1" + +optionator@^0.9.3: + version "0.9.4" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" + integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.5" + +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== + +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-type@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== + dependencies: + pify "^3.0.0" + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pidtree@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.3.1.tgz#ef09ac2cc0533df1f3250ccf2c4d366b0d12114a" + integrity sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA== + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== + +possible-typed-array-names@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" + integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +prettier-linter-helpers@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" + integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== + dependencies: + fast-diff "^1.1.2" + +prettier@3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.3.2.tgz#03ff86dc7c835f2d2559ee76876a3914cec4a90a" + integrity sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA== + +prettier@^2.0.5: + version "2.8.8" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" + integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== + +punycode@^2.1.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +read-pkg@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" + integrity sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA== + dependencies: + load-json-file "^4.0.0" + normalize-package-data "^2.3.2" + path-type "^3.0.0" + +reflect-metadata@^0.1.13: + version "0.1.14" + resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.14.tgz#24cf721fe60677146bb77eeb0e1f9dece3d65859" + integrity sha512-ZhYeb6nRaXCfhnndflDK8qI6ZQ/YcWZCISRAWICW9XYqMUwjZM9Z0DveWX/ABN01oxSHwVxKQmxeYZSsm0jh5A== + +regexp.prototype.flags@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz#138f644a3350f981a858c44f6bb1a61ff59be334" + integrity sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw== + dependencies: + call-bind "^1.0.6" + define-properties "^1.2.1" + es-errors "^1.3.0" + set-function-name "^2.0.1" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve@^1.10.0: + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +safe-array-concat@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.2.tgz#81d77ee0c4e8b863635227c721278dd524c20edb" + integrity sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q== + dependencies: + call-bind "^1.0.7" + get-intrinsic "^1.2.4" + has-symbols "^1.0.3" + isarray "^2.0.5" + +safe-regex-test@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.3.tgz#a5b4c0f06e0ab50ea2c395c14d8371232924c377" + integrity sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-regex "^1.1.4" + +scrypt-js@2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-2.0.4.tgz#32f8c5149f0797672e551c07e230f834b6af5f16" + integrity sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw== + +scrypt-js@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" + integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== + +"semver@2 || 3 || 4 || 5", semver@^5.5.0: + version "5.7.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== + +semver@^7.6.0: + version "7.6.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.2.tgz#1e3b34759f896e8f14d6134732ce798aeb0c6e13" + integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== + +set-function-length@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" + integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + +set-function-name@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" + integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + functions-have-names "^1.2.3" + has-property-descriptors "^1.0.2" + +setimmediate@1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.4.tgz#20e81de622d4a02588ce0c8da8973cbcf1d3138f" + integrity sha512-/TjEmXQVEzdod/FFskf3o7oOAsGhHf2j1dZqRFbDzq4F3mvvxflIIi4Hd3bLQE9y/CpwqfSQam5JakI/mi3Pog== + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== + dependencies: + shebang-regex "^1.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +shell-quote@^1.6.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" + integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== + +side-channel@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" + integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + object-inspect "^1.13.1" + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +spdx-correct@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c" + integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz#5d607d27fc806f66d7b64a766650fa890f04ed66" + integrity sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w== + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.18" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz#22aa922dcf2f2885a6494a261f2d8b75345d0326" + integrity sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ== + +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string.prototype.padend@^3.0.0: + version "3.1.6" + resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.1.6.tgz#ba79cf8992609a91c872daa47c6bb144ee7f62a5" + integrity sha512-XZpspuSB7vJWhvJc9DLSlrXl1mcA2BdoY5jjnS135ydXqLoqhs96JjDtCkjJEQHvfqZIp9hBuBMgI589peyx9Q== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" + +string.prototype.trim@^1.2.9: + version "1.2.9" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz#b6fa326d72d2c78b6df02f7759c73f8f6274faa4" + integrity sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.0" + es-object-atoms "^1.0.0" + +string.prototype.trimend@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz#3651b8513719e8a9f48de7f2f77640b26652b229" + integrity sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + +string.prototype.trimstart@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#7ee834dda8c7c17eff3118472bb35bfedaa34dde" + integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.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" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== + +strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "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== + +synckit@^0.8.6: + version "0.8.8" + resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.8.8.tgz#fe7fe446518e3d3d49f5e429f443cf08b6edfcd7" + integrity sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ== + dependencies: + "@pkgr/core" "^0.1.0" + tslib "^2.6.2" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +ts-api-utils@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz#4b490e27129f1e8e686b45cc4ab63714dc60eea1" + integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== + +ts-node@10.9.2: + version "10.9.2" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" + integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== + 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" + +tsconfig-paths@4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz#ef78e19039133446d244beac0fd6a1632e2d107c" + integrity sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg== + dependencies: + json5 "^2.2.2" + minimist "^1.2.6" + strip-bom "^3.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@^2.6.2: + version "2.6.3" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.3.tgz#0438f810ad7a9edcde7a241c3d80db693c8cbfe0" + integrity sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ== + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +typed-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz#1867c5d83b20fcb5ccf32649e5e2fc7424474ff3" + integrity sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + is-typed-array "^1.1.13" + +typed-array-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz#d92972d3cff99a3fa2e765a28fcdc0f1d89dec67" + integrity sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw== + dependencies: + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + +typed-array-byte-offset@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz#f9ec1acb9259f395093e4567eb3c28a580d02063" + integrity sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + +typed-array-length@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.6.tgz#57155207c76e64a3457482dfdc1c9d1d3c4c73a3" + integrity sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g== + dependencies: + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + possible-typed-array-names "^1.0.0" + +typescript@5.5.3: + version "5.5.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.5.3.tgz#e1b0a3c394190838a0b168e771b0ad56a0af0faa" + integrity sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ== + +unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== + dependencies: + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" + which-boxed-primitive "^1.0.2" + +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== + +universalify@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" + integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +uuid@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.1.tgz#c2a30dedb3e535d72ccf82e343941a50ba8533ac" + integrity sha512-nWg9+Oa3qD2CQzHIP4qKUqwNfzKn8P0LtFhotaCTFchsV7ZfDhAybeip/HZVeMIpZi9JgY1E3nUlwaCmZT1sEg== + +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== + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + +which-module@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409" + integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== + +which-typed-array@^1.1.14, which-typed-array@^1.1.15: + version "1.1.15" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.15.tgz#264859e9b11a649b388bfaaf4f767df1f779b38d" + integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.2" + +which@^1.2.9: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +word-wrap@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" + integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== + +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +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@8.17.1: + version "8.17.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.1.tgz#9293da530bb548febc95371d90f9c878727d919b" + integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ== + +xmlhttprequest@1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz#67fe075c5c24fef39f9d65f5f7b7fe75171968fc" + integrity sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA== + +y18n@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== + +yargs-parser@^18.1.2: + version "18.1.3" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs@^15.3.1: + version "15.4.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== + dependencies: + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^4.2.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^18.1.2" + +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== From c0dd0e1c13404feb5af37251469ceecfa3141328 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 5 Jul 2024 17:19:24 +0900 Subject: [PATCH 06/92] Add auto-generated types for ABIs --- .../node/abi-types/AbstractFiatTokenV1.ts | 152 ++++ packages/node/abi-types/Address.ts | 60 ++ packages/node/abi-types/Blocklistable.ts | 159 ++++ packages/node/abi-types/Context.ts | 60 ++ packages/node/abi-types/ContractCall.ts | 74 ++ packages/node/abi-types/Controller.ts | 137 +++ packages/node/abi-types/DummyERC20.ts | 220 +++++ packages/node/abi-types/ECRecover.ts | 60 ++ packages/node/abi-types/ECRecoverTest.ts | 78 ++ packages/node/abi-types/EIP2612.ts | 177 ++++ packages/node/abi-types/EIP3009.ts | 218 +++++ packages/node/abi-types/EIP712.ts | 60 ++ packages/node/abi-types/EIP712Domain.ts | 68 ++ packages/node/abi-types/ERC1967Proxy.ts | 79 ++ packages/node/abi-types/ERC1967Upgrade.ts | 65 ++ packages/node/abi-types/ERC20.ts | 218 +++++ packages/node/abi-types/FiatTokenV1.ts | 780 ++++++++++++++++ packages/node/abi-types/FiatTokenV1Test.ts | 796 +++++++++++++++++ packages/node/abi-types/FiatTokenV2.ts | 841 ++++++++++++++++++ packages/node/abi-types/FiatTokenV2Test.ts | 800 +++++++++++++++++ packages/node/abi-types/IERC1822Proxiable.ts | 68 ++ packages/node/abi-types/IERC20.ts | 152 ++++ packages/node/abi-types/IERC20Metadata.ts | 176 ++++ packages/node/abi-types/MintController.ts | 250 ++++++ packages/node/abi-types/MinterAdmin.ts | 250 ++++++ .../abi-types/MinterManagementInterface.ts | 111 +++ packages/node/abi-types/Ownable.ts | 85 ++ packages/node/abi-types/Pausable.ts | 143 +++ packages/node/abi-types/Proxy.ts | 60 ++ packages/node/abi-types/Rescuable.ts | 127 +++ packages/node/abi-types/SafeMath.ts | 60 ++ packages/node/abi-types/StorageSlot.ts | 60 ++ packages/node/abi-types/UUPSUpgradeable.ts | 100 +++ .../abi-types/UUPSUpgradeableUnsafeMock.ts | 780 ++++++++++++++++ 34 files changed, 7524 insertions(+) create mode 100755 packages/node/abi-types/AbstractFiatTokenV1.ts create mode 100755 packages/node/abi-types/Address.ts create mode 100755 packages/node/abi-types/Blocklistable.ts create mode 100755 packages/node/abi-types/Context.ts create mode 100755 packages/node/abi-types/ContractCall.ts create mode 100755 packages/node/abi-types/Controller.ts create mode 100755 packages/node/abi-types/DummyERC20.ts create mode 100755 packages/node/abi-types/ECRecover.ts create mode 100755 packages/node/abi-types/ECRecoverTest.ts create mode 100755 packages/node/abi-types/EIP2612.ts create mode 100755 packages/node/abi-types/EIP3009.ts create mode 100755 packages/node/abi-types/EIP712.ts create mode 100755 packages/node/abi-types/EIP712Domain.ts create mode 100755 packages/node/abi-types/ERC1967Proxy.ts create mode 100755 packages/node/abi-types/ERC1967Upgrade.ts create mode 100755 packages/node/abi-types/ERC20.ts create mode 100755 packages/node/abi-types/FiatTokenV1.ts create mode 100755 packages/node/abi-types/FiatTokenV1Test.ts create mode 100755 packages/node/abi-types/FiatTokenV2.ts create mode 100755 packages/node/abi-types/FiatTokenV2Test.ts create mode 100755 packages/node/abi-types/IERC1822Proxiable.ts create mode 100755 packages/node/abi-types/IERC20.ts create mode 100755 packages/node/abi-types/IERC20Metadata.ts create mode 100755 packages/node/abi-types/MintController.ts create mode 100755 packages/node/abi-types/MinterAdmin.ts create mode 100755 packages/node/abi-types/MinterManagementInterface.ts create mode 100755 packages/node/abi-types/Ownable.ts create mode 100755 packages/node/abi-types/Pausable.ts create mode 100755 packages/node/abi-types/Proxy.ts create mode 100755 packages/node/abi-types/Rescuable.ts create mode 100755 packages/node/abi-types/SafeMath.ts create mode 100755 packages/node/abi-types/StorageSlot.ts create mode 100755 packages/node/abi-types/UUPSUpgradeable.ts create mode 100755 packages/node/abi-types/UUPSUpgradeableUnsafeMock.ts diff --git a/packages/node/abi-types/AbstractFiatTokenV1.ts b/packages/node/abi-types/AbstractFiatTokenV1.ts new file mode 100755 index 0000000..42fc502 --- /dev/null +++ b/packages/node/abi-types/AbstractFiatTokenV1.ts @@ -0,0 +1,152 @@ +import { + ContractTransaction, + ContractInterface, + BytesLike as Arrayish, + BigNumber, + BigNumberish, +} from 'ethers'; +import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; + +export type ContractContext = EthersContractContextV5< + AbstractFiatTokenV1, + AbstractFiatTokenV1MethodNames, + AbstractFiatTokenV1EventsContext, + AbstractFiatTokenV1Events +>; + +export declare type EventFilter = { + address?: string; + topics?: Array; + fromBlock?: string | number; + toBlock?: string | number; +}; + +export interface ContractTransactionOverrides { + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; + /** + * The price (in wei) per unit of gas + */ + gasPrice?: BigNumber | string | number | Promise; + /** + * The nonce to use in the transaction + */ + nonce?: number; + /** + * The amount to send with the transaction (i.e. msg.value) + */ + value?: BigNumber | string | number | Promise; + /** + * The chain ID (or network ID) to use + */ + chainId?: number; +} + +export interface ContractCallOverrides { + /** + * The address to execute the call as + */ + from?: string; + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; +} +export type AbstractFiatTokenV1Events = 'Approval' | 'Transfer'; +export interface AbstractFiatTokenV1EventsContext { + Approval(...parameters: any): EventFilter; + Transfer(...parameters: any): EventFilter; +} +export type AbstractFiatTokenV1MethodNames = + | 'allowance' + | 'approve' + | 'balanceOf' + | 'totalSupply' + | 'transfer' + | 'transferFrom'; +export interface ApprovalEventEmittedResponse { + owner: string; + spender: string; + value: BigNumberish; +} +export interface TransferEventEmittedResponse { + from: string; + to: string; + value: BigNumberish; +} +export interface AbstractFiatTokenV1 { + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param owner Type: address, Indexed: false + * @param spender Type: address, Indexed: false + */ + allowance( + owner: string, + spender: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param spender Type: address, Indexed: false + * @param amount Type: uint256, Indexed: false + */ + approve( + spender: string, + amount: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param account Type: address, Indexed: false + */ + balanceOf( + account: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + totalSupply(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param recipient Type: address, Indexed: false + * @param amount Type: uint256, Indexed: false + */ + transfer( + recipient: string, + amount: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param sender Type: address, Indexed: false + * @param recipient Type: address, Indexed: false + * @param amount Type: uint256, Indexed: false + */ + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; +} diff --git a/packages/node/abi-types/Address.ts b/packages/node/abi-types/Address.ts new file mode 100755 index 0000000..1fdea28 --- /dev/null +++ b/packages/node/abi-types/Address.ts @@ -0,0 +1,60 @@ +import { + ContractTransaction, + ContractInterface, + BytesLike as Arrayish, + BigNumber, + BigNumberish, +} from 'ethers'; +import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; + +export type ContractContext = EthersContractContextV5< + Address, + AddressMethodNames, + AddressEventsContext, + AddressEvents +>; + +export declare type EventFilter = { + address?: string; + topics?: Array; + fromBlock?: string | number; + toBlock?: string | number; +}; + +export interface ContractTransactionOverrides { + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; + /** + * The price (in wei) per unit of gas + */ + gasPrice?: BigNumber | string | number | Promise; + /** + * The nonce to use in the transaction + */ + nonce?: number; + /** + * The amount to send with the transaction (i.e. msg.value) + */ + value?: BigNumber | string | number | Promise; + /** + * The chain ID (or network ID) to use + */ + chainId?: number; +} + +export interface ContractCallOverrides { + /** + * The address to execute the call as + */ + from?: string; + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; +} +export type AddressEvents = undefined; +export interface AddressEventsContext {} +export type AddressMethodNames = undefined; +export interface Address {} diff --git a/packages/node/abi-types/Blocklistable.ts b/packages/node/abi-types/Blocklistable.ts new file mode 100755 index 0000000..96f0311 --- /dev/null +++ b/packages/node/abi-types/Blocklistable.ts @@ -0,0 +1,159 @@ +import { + ContractTransaction, + ContractInterface, + BytesLike as Arrayish, + BigNumber, + BigNumberish, +} from 'ethers'; +import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; + +export type ContractContext = EthersContractContextV5< + Blocklistable, + BlocklistableMethodNames, + BlocklistableEventsContext, + BlocklistableEvents +>; + +export declare type EventFilter = { + address?: string; + topics?: Array; + fromBlock?: string | number; + toBlock?: string | number; +}; + +export interface ContractTransactionOverrides { + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; + /** + * The price (in wei) per unit of gas + */ + gasPrice?: BigNumber | string | number | Promise; + /** + * The nonce to use in the transaction + */ + nonce?: number; + /** + * The amount to send with the transaction (i.e. msg.value) + */ + value?: BigNumber | string | number | Promise; + /** + * The chain ID (or network ID) to use + */ + chainId?: number; +} + +export interface ContractCallOverrides { + /** + * The address to execute the call as + */ + from?: string; + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; +} +export type BlocklistableEvents = + | 'Blocklisted' + | 'BlocklisterChanged' + | 'OwnershipTransferred' + | 'UnBlocklisted'; +export interface BlocklistableEventsContext { + Blocklisted(...parameters: any): EventFilter; + BlocklisterChanged(...parameters: any): EventFilter; + OwnershipTransferred(...parameters: any): EventFilter; + UnBlocklisted(...parameters: any): EventFilter; +} +export type BlocklistableMethodNames = + | 'blocklist' + | 'blocklister' + | 'isBlocklisted' + | 'owner' + | 'transferOwnership' + | 'unBlocklist' + | 'updateBlocklister'; +export interface BlocklistedEventEmittedResponse { + _account: string; +} +export interface BlocklisterChangedEventEmittedResponse { + newBlocklister: string; +} +export interface OwnershipTransferredEventEmittedResponse { + previousOwner: string; + newOwner: string; +} +export interface UnBlocklistedEventEmittedResponse { + _account: string; +} +export interface Blocklistable { + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _account Type: address, Indexed: false + */ + blocklist( + _account: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + blocklister(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param _account Type: address, Indexed: false + */ + isBlocklisted( + _account: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + owner(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param newOwner Type: address, Indexed: false + */ + transferOwnership( + newOwner: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _account Type: address, Indexed: false + */ + unBlocklist( + _account: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _newBlocklister Type: address, Indexed: false + */ + updateBlocklister( + _newBlocklister: string, + overrides?: ContractTransactionOverrides + ): Promise; +} diff --git a/packages/node/abi-types/Context.ts b/packages/node/abi-types/Context.ts new file mode 100755 index 0000000..f318759 --- /dev/null +++ b/packages/node/abi-types/Context.ts @@ -0,0 +1,60 @@ +import { + ContractTransaction, + ContractInterface, + BytesLike as Arrayish, + BigNumber, + BigNumberish, +} from 'ethers'; +import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; + +export type ContractContext = EthersContractContextV5< + Context, + ContextMethodNames, + ContextEventsContext, + ContextEvents +>; + +export declare type EventFilter = { + address?: string; + topics?: Array; + fromBlock?: string | number; + toBlock?: string | number; +}; + +export interface ContractTransactionOverrides { + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; + /** + * The price (in wei) per unit of gas + */ + gasPrice?: BigNumber | string | number | Promise; + /** + * The nonce to use in the transaction + */ + nonce?: number; + /** + * The amount to send with the transaction (i.e. msg.value) + */ + value?: BigNumber | string | number | Promise; + /** + * The chain ID (or network ID) to use + */ + chainId?: number; +} + +export interface ContractCallOverrides { + /** + * The address to execute the call as + */ + from?: string; + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; +} +export type ContextEvents = undefined; +export interface ContextEventsContext {} +export type ContextMethodNames = undefined; +export interface Context {} diff --git a/packages/node/abi-types/ContractCall.ts b/packages/node/abi-types/ContractCall.ts new file mode 100755 index 0000000..b828837 --- /dev/null +++ b/packages/node/abi-types/ContractCall.ts @@ -0,0 +1,74 @@ +import { + ContractTransaction, + ContractInterface, + BytesLike as Arrayish, + BigNumber, + BigNumberish, +} from 'ethers'; +import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; + +export type ContractContext = EthersContractContextV5< + ContractCall, + ContractCallMethodNames, + ContractCallEventsContext, + ContractCallEvents +>; + +export declare type EventFilter = { + address?: string; + topics?: Array; + fromBlock?: string | number; + toBlock?: string | number; +}; + +export interface ContractTransactionOverrides { + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; + /** + * The price (in wei) per unit of gas + */ + gasPrice?: BigNumber | string | number | Promise; + /** + * The nonce to use in the transaction + */ + nonce?: number; + /** + * The amount to send with the transaction (i.e. msg.value) + */ + value?: BigNumber | string | number | Promise; + /** + * The chain ID (or network ID) to use + */ + chainId?: number; +} + +export interface ContractCallOverrides { + /** + * The address to execute the call as + */ + from?: string; + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; +} +export type ContractCallEvents = undefined; +export interface ContractCallEventsContext {} +export type ContractCallMethodNames = 'functionCall'; +export interface ContractCall { + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param target Type: address, Indexed: false + * @param data Type: bytes, Indexed: false + */ + functionCall( + target: string, + data: Arrayish, + overrides?: ContractTransactionOverrides + ): Promise; +} diff --git a/packages/node/abi-types/Controller.ts b/packages/node/abi-types/Controller.ts new file mode 100755 index 0000000..42fefb1 --- /dev/null +++ b/packages/node/abi-types/Controller.ts @@ -0,0 +1,137 @@ +import { + ContractTransaction, + ContractInterface, + BytesLike as Arrayish, + BigNumber, + BigNumberish, +} from 'ethers'; +import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; + +export type ContractContext = EthersContractContextV5< + Controller, + ControllerMethodNames, + ControllerEventsContext, + ControllerEvents +>; + +export declare type EventFilter = { + address?: string; + topics?: Array; + fromBlock?: string | number; + toBlock?: string | number; +}; + +export interface ContractTransactionOverrides { + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; + /** + * The price (in wei) per unit of gas + */ + gasPrice?: BigNumber | string | number | Promise; + /** + * The nonce to use in the transaction + */ + nonce?: number; + /** + * The amount to send with the transaction (i.e. msg.value) + */ + value?: BigNumber | string | number | Promise; + /** + * The chain ID (or network ID) to use + */ + chainId?: number; +} + +export interface ContractCallOverrides { + /** + * The address to execute the call as + */ + from?: string; + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; +} +export type ControllerEvents = + | 'ControllerConfigured' + | 'ControllerRemoved' + | 'OwnershipTransferred'; +export interface ControllerEventsContext { + ControllerConfigured(...parameters: any): EventFilter; + ControllerRemoved(...parameters: any): EventFilter; + OwnershipTransferred(...parameters: any): EventFilter; +} +export type ControllerMethodNames = + | 'owner' + | 'getWorker' + | 'configureController' + | 'transferOwnership' + | 'removeController'; +export interface ControllerConfiguredEventEmittedResponse { + _controller: string; + _worker: string; +} +export interface ControllerRemovedEventEmittedResponse { + _controller: string; +} +export interface OwnershipTransferredEventEmittedResponse { + previousOwner: string; + newOwner: string; +} +export interface Controller { + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + owner(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param _controller Type: address, Indexed: false + */ + getWorker( + _controller: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _controller Type: address, Indexed: false + * @param _worker Type: address, Indexed: false + */ + configureController( + _controller: string, + _worker: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param newOwner Type: address, Indexed: false + */ + transferOwnership( + newOwner: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _controller Type: address, Indexed: false + */ + removeController( + _controller: string, + overrides?: ContractTransactionOverrides + ): Promise; +} diff --git a/packages/node/abi-types/DummyERC20.ts b/packages/node/abi-types/DummyERC20.ts new file mode 100755 index 0000000..ca7929e --- /dev/null +++ b/packages/node/abi-types/DummyERC20.ts @@ -0,0 +1,220 @@ +import { + ContractTransaction, + ContractInterface, + BytesLike as Arrayish, + BigNumber, + BigNumberish, +} from 'ethers'; +import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; + +export type ContractContext = EthersContractContextV5< + DummyERC20, + DummyERC20MethodNames, + DummyERC20EventsContext, + DummyERC20Events +>; + +export declare type EventFilter = { + address?: string; + topics?: Array; + fromBlock?: string | number; + toBlock?: string | number; +}; + +export interface ContractTransactionOverrides { + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; + /** + * The price (in wei) per unit of gas + */ + gasPrice?: BigNumber | string | number | Promise; + /** + * The nonce to use in the transaction + */ + nonce?: number; + /** + * The amount to send with the transaction (i.e. msg.value) + */ + value?: BigNumber | string | number | Promise; + /** + * The chain ID (or network ID) to use + */ + chainId?: number; +} + +export interface ContractCallOverrides { + /** + * The address to execute the call as + */ + from?: string; + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; +} +export type DummyERC20Events = 'Approval' | 'Transfer'; +export interface DummyERC20EventsContext { + Approval(...parameters: any): EventFilter; + Transfer(...parameters: any): EventFilter; +} +export type DummyERC20MethodNames = + | 'new' + | 'allowance' + | 'approve' + | 'balanceOf' + | 'decimals' + | 'decreaseAllowance' + | 'increaseAllowance' + | 'name' + | 'symbol' + | 'totalSupply' + | 'transfer' + | 'transferFrom'; +export interface ApprovalEventEmittedResponse { + owner: string; + spender: string; + value: BigNumberish; +} +export interface TransferEventEmittedResponse { + from: string; + to: string; + value: BigNumberish; +} +export interface DummyERC20 { + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: constructor + * @param tokenName Type: string, Indexed: false + * @param tokenSymbol Type: string, Indexed: false + * @param initialSupply Type: uint256, Indexed: false + */ + 'new'( + tokenName: string, + tokenSymbol: string, + initialSupply: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param owner Type: address, Indexed: false + * @param spender Type: address, Indexed: false + */ + allowance( + owner: string, + spender: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param spender Type: address, Indexed: false + * @param amount Type: uint256, Indexed: false + */ + approve( + spender: string, + amount: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param account Type: address, Indexed: false + */ + balanceOf( + account: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + decimals(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param spender Type: address, Indexed: false + * @param subtractedValue Type: uint256, Indexed: false + */ + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param spender Type: address, Indexed: false + * @param addedValue Type: uint256, Indexed: false + */ + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + name(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + symbol(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + totalSupply(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param recipient Type: address, Indexed: false + * @param amount Type: uint256, Indexed: false + */ + transfer( + recipient: string, + amount: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param sender Type: address, Indexed: false + * @param recipient Type: address, Indexed: false + * @param amount Type: uint256, Indexed: false + */ + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; +} diff --git a/packages/node/abi-types/ECRecover.ts b/packages/node/abi-types/ECRecover.ts new file mode 100755 index 0000000..a2d906e --- /dev/null +++ b/packages/node/abi-types/ECRecover.ts @@ -0,0 +1,60 @@ +import { + ContractTransaction, + ContractInterface, + BytesLike as Arrayish, + BigNumber, + BigNumberish, +} from 'ethers'; +import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; + +export type ContractContext = EthersContractContextV5< + ECRecover, + ECRecoverMethodNames, + ECRecoverEventsContext, + ECRecoverEvents +>; + +export declare type EventFilter = { + address?: string; + topics?: Array; + fromBlock?: string | number; + toBlock?: string | number; +}; + +export interface ContractTransactionOverrides { + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; + /** + * The price (in wei) per unit of gas + */ + gasPrice?: BigNumber | string | number | Promise; + /** + * The nonce to use in the transaction + */ + nonce?: number; + /** + * The amount to send with the transaction (i.e. msg.value) + */ + value?: BigNumber | string | number | Promise; + /** + * The chain ID (or network ID) to use + */ + chainId?: number; +} + +export interface ContractCallOverrides { + /** + * The address to execute the call as + */ + from?: string; + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; +} +export type ECRecoverEvents = undefined; +export interface ECRecoverEventsContext {} +export type ECRecoverMethodNames = undefined; +export interface ECRecover {} diff --git a/packages/node/abi-types/ECRecoverTest.ts b/packages/node/abi-types/ECRecoverTest.ts new file mode 100755 index 0000000..ecc246b --- /dev/null +++ b/packages/node/abi-types/ECRecoverTest.ts @@ -0,0 +1,78 @@ +import { + ContractTransaction, + ContractInterface, + BytesLike as Arrayish, + BigNumber, + BigNumberish, +} from 'ethers'; +import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; + +export type ContractContext = EthersContractContextV5< + ECRecoverTest, + ECRecoverTestMethodNames, + ECRecoverTestEventsContext, + ECRecoverTestEvents +>; + +export declare type EventFilter = { + address?: string; + topics?: Array; + fromBlock?: string | number; + toBlock?: string | number; +}; + +export interface ContractTransactionOverrides { + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; + /** + * The price (in wei) per unit of gas + */ + gasPrice?: BigNumber | string | number | Promise; + /** + * The nonce to use in the transaction + */ + nonce?: number; + /** + * The amount to send with the transaction (i.e. msg.value) + */ + value?: BigNumber | string | number | Promise; + /** + * The chain ID (or network ID) to use + */ + chainId?: number; +} + +export interface ContractCallOverrides { + /** + * The address to execute the call as + */ + from?: string; + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; +} +export type ECRecoverTestEvents = undefined; +export interface ECRecoverTestEventsContext {} +export type ECRecoverTestMethodNames = 'recover'; +export interface ECRecoverTest { + /** + * Payable: false + * Constant: true + * StateMutability: pure + * Type: function + * @param digest Type: bytes32, Indexed: false + * @param v Type: uint8, Indexed: false + * @param r Type: bytes32, Indexed: false + * @param s Type: bytes32, Indexed: false + */ + recover( + digest: Arrayish, + v: BigNumberish, + r: Arrayish, + s: Arrayish, + overrides?: ContractCallOverrides + ): Promise; +} diff --git a/packages/node/abi-types/EIP2612.ts b/packages/node/abi-types/EIP2612.ts new file mode 100755 index 0000000..f9b5add --- /dev/null +++ b/packages/node/abi-types/EIP2612.ts @@ -0,0 +1,177 @@ +import { + ContractTransaction, + ContractInterface, + BytesLike as Arrayish, + BigNumber, + BigNumberish, +} from 'ethers'; +import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; + +export type ContractContext = EthersContractContextV5< + EIP2612, + EIP2612MethodNames, + EIP2612EventsContext, + EIP2612Events +>; + +export declare type EventFilter = { + address?: string; + topics?: Array; + fromBlock?: string | number; + toBlock?: string | number; +}; + +export interface ContractTransactionOverrides { + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; + /** + * The price (in wei) per unit of gas + */ + gasPrice?: BigNumber | string | number | Promise; + /** + * The nonce to use in the transaction + */ + nonce?: number; + /** + * The amount to send with the transaction (i.e. msg.value) + */ + value?: BigNumber | string | number | Promise; + /** + * The chain ID (or network ID) to use + */ + chainId?: number; +} + +export interface ContractCallOverrides { + /** + * The address to execute the call as + */ + from?: string; + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; +} +export type EIP2612Events = 'Approval' | 'Transfer'; +export interface EIP2612EventsContext { + Approval(...parameters: any): EventFilter; + Transfer(...parameters: any): EventFilter; +} +export type EIP2612MethodNames = + | 'PERMIT_TYPEHASH' + | '_domainSeparatorV4' + | 'allowance' + | 'approve' + | 'balanceOf' + | 'nonces' + | 'totalSupply' + | 'transfer' + | 'transferFrom'; +export interface ApprovalEventEmittedResponse { + owner: string; + spender: string; + value: BigNumberish; +} +export interface TransferEventEmittedResponse { + from: string; + to: string; + value: BigNumberish; +} +export interface EIP2612 { + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + PERMIT_TYPEHASH(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + _domainSeparatorV4(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param owner Type: address, Indexed: false + * @param spender Type: address, Indexed: false + */ + allowance( + owner: string, + spender: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param spender Type: address, Indexed: false + * @param amount Type: uint256, Indexed: false + */ + approve( + spender: string, + amount: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param account Type: address, Indexed: false + */ + balanceOf( + account: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param owner Type: address, Indexed: false + */ + nonces(owner: string, overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + totalSupply(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param recipient Type: address, Indexed: false + * @param amount Type: uint256, Indexed: false + */ + transfer( + recipient: string, + amount: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param sender Type: address, Indexed: false + * @param recipient Type: address, Indexed: false + * @param amount Type: uint256, Indexed: false + */ + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; +} diff --git a/packages/node/abi-types/EIP3009.ts b/packages/node/abi-types/EIP3009.ts new file mode 100755 index 0000000..a944f9a --- /dev/null +++ b/packages/node/abi-types/EIP3009.ts @@ -0,0 +1,218 @@ +import { + ContractTransaction, + ContractInterface, + BytesLike as Arrayish, + BigNumber, + BigNumberish, +} from 'ethers'; +import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; + +export type ContractContext = EthersContractContextV5< + EIP3009, + EIP3009MethodNames, + EIP3009EventsContext, + EIP3009Events +>; + +export declare type EventFilter = { + address?: string; + topics?: Array; + fromBlock?: string | number; + toBlock?: string | number; +}; + +export interface ContractTransactionOverrides { + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; + /** + * The price (in wei) per unit of gas + */ + gasPrice?: BigNumber | string | number | Promise; + /** + * The nonce to use in the transaction + */ + nonce?: number; + /** + * The amount to send with the transaction (i.e. msg.value) + */ + value?: BigNumber | string | number | Promise; + /** + * The chain ID (or network ID) to use + */ + chainId?: number; +} + +export interface ContractCallOverrides { + /** + * The address to execute the call as + */ + from?: string; + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; +} +export type EIP3009Events = + | 'Approval' + | 'AuthorizationCanceled' + | 'AuthorizationUsed' + | 'Transfer'; +export interface EIP3009EventsContext { + Approval(...parameters: any): EventFilter; + AuthorizationCanceled(...parameters: any): EventFilter; + AuthorizationUsed(...parameters: any): EventFilter; + Transfer(...parameters: any): EventFilter; +} +export type EIP3009MethodNames = + | 'CANCEL_AUTHORIZATION_TYPEHASH' + | 'RECEIVE_WITH_AUTHORIZATION_TYPEHASH' + | 'TRANSFER_WITH_AUTHORIZATION_TYPEHASH' + | '_domainSeparatorV4' + | 'allowance' + | 'approve' + | 'authorizationState' + | 'balanceOf' + | 'totalSupply' + | 'transfer' + | 'transferFrom'; +export interface ApprovalEventEmittedResponse { + owner: string; + spender: string; + value: BigNumberish; +} +export interface AuthorizationCanceledEventEmittedResponse { + authorizer: string; + nonce: Arrayish; +} +export interface AuthorizationUsedEventEmittedResponse { + authorizer: string; + nonce: Arrayish; +} +export interface TransferEventEmittedResponse { + from: string; + to: string; + value: BigNumberish; +} +export interface EIP3009 { + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + CANCEL_AUTHORIZATION_TYPEHASH( + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + RECEIVE_WITH_AUTHORIZATION_TYPEHASH( + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + TRANSFER_WITH_AUTHORIZATION_TYPEHASH( + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + _domainSeparatorV4(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param owner Type: address, Indexed: false + * @param spender Type: address, Indexed: false + */ + allowance( + owner: string, + spender: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param spender Type: address, Indexed: false + * @param amount Type: uint256, Indexed: false + */ + approve( + spender: string, + amount: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param authorizer Type: address, Indexed: false + * @param nonce Type: bytes32, Indexed: false + */ + authorizationState( + authorizer: string, + nonce: Arrayish, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param account Type: address, Indexed: false + */ + balanceOf( + account: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + totalSupply(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param recipient Type: address, Indexed: false + * @param amount Type: uint256, Indexed: false + */ + transfer( + recipient: string, + amount: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param sender Type: address, Indexed: false + * @param recipient Type: address, Indexed: false + * @param amount Type: uint256, Indexed: false + */ + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; +} diff --git a/packages/node/abi-types/EIP712.ts b/packages/node/abi-types/EIP712.ts new file mode 100755 index 0000000..75f39c6 --- /dev/null +++ b/packages/node/abi-types/EIP712.ts @@ -0,0 +1,60 @@ +import { + ContractTransaction, + ContractInterface, + BytesLike as Arrayish, + BigNumber, + BigNumberish, +} from 'ethers'; +import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; + +export type ContractContext = EthersContractContextV5< + EIP712, + EIP712MethodNames, + EIP712EventsContext, + EIP712Events +>; + +export declare type EventFilter = { + address?: string; + topics?: Array; + fromBlock?: string | number; + toBlock?: string | number; +}; + +export interface ContractTransactionOverrides { + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; + /** + * The price (in wei) per unit of gas + */ + gasPrice?: BigNumber | string | number | Promise; + /** + * The nonce to use in the transaction + */ + nonce?: number; + /** + * The amount to send with the transaction (i.e. msg.value) + */ + value?: BigNumber | string | number | Promise; + /** + * The chain ID (or network ID) to use + */ + chainId?: number; +} + +export interface ContractCallOverrides { + /** + * The address to execute the call as + */ + from?: string; + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; +} +export type EIP712Events = undefined; +export interface EIP712EventsContext {} +export type EIP712MethodNames = undefined; +export interface EIP712 {} diff --git a/packages/node/abi-types/EIP712Domain.ts b/packages/node/abi-types/EIP712Domain.ts new file mode 100755 index 0000000..93b71a1 --- /dev/null +++ b/packages/node/abi-types/EIP712Domain.ts @@ -0,0 +1,68 @@ +import { + ContractTransaction, + ContractInterface, + BytesLike as Arrayish, + BigNumber, + BigNumberish, +} from 'ethers'; +import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; + +export type ContractContext = EthersContractContextV5< + EIP712Domain, + EIP712DomainMethodNames, + EIP712DomainEventsContext, + EIP712DomainEvents +>; + +export declare type EventFilter = { + address?: string; + topics?: Array; + fromBlock?: string | number; + toBlock?: string | number; +}; + +export interface ContractTransactionOverrides { + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; + /** + * The price (in wei) per unit of gas + */ + gasPrice?: BigNumber | string | number | Promise; + /** + * The nonce to use in the transaction + */ + nonce?: number; + /** + * The amount to send with the transaction (i.e. msg.value) + */ + value?: BigNumber | string | number | Promise; + /** + * The chain ID (or network ID) to use + */ + chainId?: number; +} + +export interface ContractCallOverrides { + /** + * The address to execute the call as + */ + from?: string; + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; +} +export type EIP712DomainEvents = undefined; +export interface EIP712DomainEventsContext {} +export type EIP712DomainMethodNames = '_domainSeparatorV4'; +export interface EIP712Domain { + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + _domainSeparatorV4(overrides?: ContractCallOverrides): Promise; +} diff --git a/packages/node/abi-types/ERC1967Proxy.ts b/packages/node/abi-types/ERC1967Proxy.ts new file mode 100755 index 0000000..18a387f --- /dev/null +++ b/packages/node/abi-types/ERC1967Proxy.ts @@ -0,0 +1,79 @@ +import { + ContractTransaction, + ContractInterface, + BytesLike as Arrayish, + BigNumber, + BigNumberish, +} from 'ethers'; +import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; + +export type ContractContext = EthersContractContextV5< + ERC1967Proxy, + ERC1967ProxyMethodNames, + ERC1967ProxyEventsContext, + ERC1967ProxyEvents +>; + +export declare type EventFilter = { + address?: string; + topics?: Array; + fromBlock?: string | number; + toBlock?: string | number; +}; + +export interface ContractTransactionOverrides { + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; + /** + * The price (in wei) per unit of gas + */ + gasPrice?: BigNumber | string | number | Promise; + /** + * The nonce to use in the transaction + */ + nonce?: number; + /** + * The amount to send with the transaction (i.e. msg.value) + */ + value?: BigNumber | string | number | Promise; + /** + * The chain ID (or network ID) to use + */ + chainId?: number; +} + +export interface ContractCallOverrides { + /** + * The address to execute the call as + */ + from?: string; + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; +} +export type ERC1967ProxyEvents = 'Upgraded'; +export interface ERC1967ProxyEventsContext { + Upgraded(...parameters: any): EventFilter; +} +export type ERC1967ProxyMethodNames = 'new'; +export interface UpgradedEventEmittedResponse { + implementation: string; +} +export interface ERC1967Proxy { + /** + * Payable: true + * Constant: false + * StateMutability: payable + * Type: constructor + * @param _logic Type: address, Indexed: false + * @param _data Type: bytes, Indexed: false + */ + 'new'( + _logic: string, + _data: Arrayish, + overrides?: ContractTransactionOverrides + ): Promise; +} diff --git a/packages/node/abi-types/ERC1967Upgrade.ts b/packages/node/abi-types/ERC1967Upgrade.ts new file mode 100755 index 0000000..08c8727 --- /dev/null +++ b/packages/node/abi-types/ERC1967Upgrade.ts @@ -0,0 +1,65 @@ +import { + ContractTransaction, + ContractInterface, + BytesLike as Arrayish, + BigNumber, + BigNumberish, +} from 'ethers'; +import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; + +export type ContractContext = EthersContractContextV5< + ERC1967Upgrade, + ERC1967UpgradeMethodNames, + ERC1967UpgradeEventsContext, + ERC1967UpgradeEvents +>; + +export declare type EventFilter = { + address?: string; + topics?: Array; + fromBlock?: string | number; + toBlock?: string | number; +}; + +export interface ContractTransactionOverrides { + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; + /** + * The price (in wei) per unit of gas + */ + gasPrice?: BigNumber | string | number | Promise; + /** + * The nonce to use in the transaction + */ + nonce?: number; + /** + * The amount to send with the transaction (i.e. msg.value) + */ + value?: BigNumber | string | number | Promise; + /** + * The chain ID (or network ID) to use + */ + chainId?: number; +} + +export interface ContractCallOverrides { + /** + * The address to execute the call as + */ + from?: string; + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; +} +export type ERC1967UpgradeEvents = 'Upgraded'; +export interface ERC1967UpgradeEventsContext { + Upgraded(...parameters: any): EventFilter; +} +export type ERC1967UpgradeMethodNames = undefined; +export interface UpgradedEventEmittedResponse { + implementation: string; +} +export interface ERC1967Upgrade {} diff --git a/packages/node/abi-types/ERC20.ts b/packages/node/abi-types/ERC20.ts new file mode 100755 index 0000000..2fa8079 --- /dev/null +++ b/packages/node/abi-types/ERC20.ts @@ -0,0 +1,218 @@ +import { + ContractTransaction, + ContractInterface, + BytesLike as Arrayish, + BigNumber, + BigNumberish, +} from 'ethers'; +import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; + +export type ContractContext = EthersContractContextV5< + ERC20, + ERC20MethodNames, + ERC20EventsContext, + ERC20Events +>; + +export declare type EventFilter = { + address?: string; + topics?: Array; + fromBlock?: string | number; + toBlock?: string | number; +}; + +export interface ContractTransactionOverrides { + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; + /** + * The price (in wei) per unit of gas + */ + gasPrice?: BigNumber | string | number | Promise; + /** + * The nonce to use in the transaction + */ + nonce?: number; + /** + * The amount to send with the transaction (i.e. msg.value) + */ + value?: BigNumber | string | number | Promise; + /** + * The chain ID (or network ID) to use + */ + chainId?: number; +} + +export interface ContractCallOverrides { + /** + * The address to execute the call as + */ + from?: string; + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; +} +export type ERC20Events = 'Approval' | 'Transfer'; +export interface ERC20EventsContext { + Approval(...parameters: any): EventFilter; + Transfer(...parameters: any): EventFilter; +} +export type ERC20MethodNames = + | 'new' + | 'allowance' + | 'approve' + | 'balanceOf' + | 'decimals' + | 'decreaseAllowance' + | 'increaseAllowance' + | 'name' + | 'symbol' + | 'totalSupply' + | 'transfer' + | 'transferFrom'; +export interface ApprovalEventEmittedResponse { + owner: string; + spender: string; + value: BigNumberish; +} +export interface TransferEventEmittedResponse { + from: string; + to: string; + value: BigNumberish; +} +export interface ERC20 { + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: constructor + * @param name_ Type: string, Indexed: false + * @param symbol_ Type: string, Indexed: false + */ + 'new'( + name_: string, + symbol_: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param owner Type: address, Indexed: false + * @param spender Type: address, Indexed: false + */ + allowance( + owner: string, + spender: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param spender Type: address, Indexed: false + * @param amount Type: uint256, Indexed: false + */ + approve( + spender: string, + amount: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param account Type: address, Indexed: false + */ + balanceOf( + account: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + decimals(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param spender Type: address, Indexed: false + * @param subtractedValue Type: uint256, Indexed: false + */ + decreaseAllowance( + spender: string, + subtractedValue: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param spender Type: address, Indexed: false + * @param addedValue Type: uint256, Indexed: false + */ + increaseAllowance( + spender: string, + addedValue: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + name(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + symbol(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + totalSupply(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param recipient Type: address, Indexed: false + * @param amount Type: uint256, Indexed: false + */ + transfer( + recipient: string, + amount: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param sender Type: address, Indexed: false + * @param recipient Type: address, Indexed: false + * @param amount Type: uint256, Indexed: false + */ + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; +} diff --git a/packages/node/abi-types/FiatTokenV1.ts b/packages/node/abi-types/FiatTokenV1.ts new file mode 100755 index 0000000..fa2305e --- /dev/null +++ b/packages/node/abi-types/FiatTokenV1.ts @@ -0,0 +1,780 @@ +import { + ContractTransaction, + ContractInterface, + BytesLike as Arrayish, + BigNumber, + BigNumberish, +} from 'ethers'; +import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; + +export type ContractContext = EthersContractContextV5< + FiatTokenV1, + FiatTokenV1MethodNames, + FiatTokenV1EventsContext, + FiatTokenV1Events +>; + +export declare type EventFilter = { + address?: string; + topics?: Array; + fromBlock?: string | number; + toBlock?: string | number; +}; + +export interface ContractTransactionOverrides { + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; + /** + * The price (in wei) per unit of gas + */ + gasPrice?: BigNumber | string | number | Promise; + /** + * The nonce to use in the transaction + */ + nonce?: number; + /** + * The amount to send with the transaction (i.e. msg.value) + */ + value?: BigNumber | string | number | Promise; + /** + * The chain ID (or network ID) to use + */ + chainId?: number; +} + +export interface ContractCallOverrides { + /** + * The address to execute the call as + */ + from?: string; + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; +} +export type FiatTokenV1Events = + | 'Approval' + | 'AuthorizationCanceled' + | 'AuthorizationUsed' + | 'Blocklisted' + | 'BlocklisterChanged' + | 'Burn' + | 'Mint' + | 'MinterAdminChanged' + | 'MinterConfigured' + | 'MinterRemoved' + | 'OwnershipTransferred' + | 'Pause' + | 'PauserChanged' + | 'RescuerChanged' + | 'Transfer' + | 'UnBlocklisted' + | 'Unpause' + | 'Upgraded'; +export interface FiatTokenV1EventsContext { + Approval(...parameters: any): EventFilter; + AuthorizationCanceled(...parameters: any): EventFilter; + AuthorizationUsed(...parameters: any): EventFilter; + Blocklisted(...parameters: any): EventFilter; + BlocklisterChanged(...parameters: any): EventFilter; + Burn(...parameters: any): EventFilter; + Mint(...parameters: any): EventFilter; + MinterAdminChanged(...parameters: any): EventFilter; + MinterConfigured(...parameters: any): EventFilter; + MinterRemoved(...parameters: any): EventFilter; + OwnershipTransferred(...parameters: any): EventFilter; + Pause(...parameters: any): EventFilter; + PauserChanged(...parameters: any): EventFilter; + RescuerChanged(...parameters: any): EventFilter; + Transfer(...parameters: any): EventFilter; + UnBlocklisted(...parameters: any): EventFilter; + Unpause(...parameters: any): EventFilter; + Upgraded(...parameters: any): EventFilter; +} +export type FiatTokenV1MethodNames = + | 'CANCEL_AUTHORIZATION_TYPEHASH' + | 'PERMIT_TYPEHASH' + | 'RECEIVE_WITH_AUTHORIZATION_TYPEHASH' + | 'TRANSFER_WITH_AUTHORIZATION_TYPEHASH' + | '_domainSeparatorV4' + | 'allowance' + | 'approve' + | 'authorizationState' + | 'balanceOf' + | 'blocklist' + | 'blocklister' + | 'burn' + | 'cancelAuthorization' + | 'configureMinter' + | 'currency' + | 'decimals' + | 'decreaseAllowance' + | 'increaseAllowance' + | 'initialize' + | 'isBlocklisted' + | 'isMinter' + | 'mint' + | 'minterAdmin' + | 'minterAllowance' + | 'name' + | 'nonces' + | 'owner' + | 'pause' + | 'paused' + | 'pauser' + | 'permit' + | 'proxiableUUID' + | 'receiveWithAuthorization' + | 'removeMinter' + | 'rescueERC20' + | 'rescuer' + | 'symbol' + | 'totalSupply' + | 'transfer' + | 'transferFrom' + | 'transferOwnership' + | 'transferWithAuthorization' + | 'unBlocklist' + | 'unpause' + | 'updateBlocklister' + | 'updateMinterAdmin' + | 'updatePauser' + | 'updateRescuer' + | 'upgradeTo' + | 'upgradeToAndCall'; +export interface ApprovalEventEmittedResponse { + owner: string; + spender: string; + value: BigNumberish; +} +export interface AuthorizationCanceledEventEmittedResponse { + authorizer: string; + nonce: Arrayish; +} +export interface AuthorizationUsedEventEmittedResponse { + authorizer: string; + nonce: Arrayish; +} +export interface BlocklistedEventEmittedResponse { + _account: string; +} +export interface BlocklisterChangedEventEmittedResponse { + newBlocklister: string; +} +export interface BurnEventEmittedResponse { + burner: string; + amount: BigNumberish; +} +export interface MintEventEmittedResponse { + minter: string; + to: string; + amount: BigNumberish; +} +export interface MinterAdminChangedEventEmittedResponse { + newMinterAdmin: string; +} +export interface MinterConfiguredEventEmittedResponse { + minter: string; + minterAllowedAmount: BigNumberish; +} +export interface MinterRemovedEventEmittedResponse { + oldMinter: string; +} +export interface OwnershipTransferredEventEmittedResponse { + previousOwner: string; + newOwner: string; +} +export interface PauserChangedEventEmittedResponse { + newAddress: string; +} +export interface RescuerChangedEventEmittedResponse { + newRescuer: string; +} +export interface TransferEventEmittedResponse { + from: string; + to: string; + value: BigNumberish; +} +export interface UnBlocklistedEventEmittedResponse { + _account: string; +} +export interface UpgradedEventEmittedResponse { + implementation: string; +} +export interface FiatTokenV1 { + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + CANCEL_AUTHORIZATION_TYPEHASH( + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + PERMIT_TYPEHASH(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + RECEIVE_WITH_AUTHORIZATION_TYPEHASH( + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + TRANSFER_WITH_AUTHORIZATION_TYPEHASH( + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + _domainSeparatorV4(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param owner Type: address, Indexed: false + * @param spender Type: address, Indexed: false + */ + allowance( + owner: string, + spender: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param spender Type: address, Indexed: false + * @param value Type: uint256, Indexed: false + */ + approve( + spender: string, + value: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param authorizer Type: address, Indexed: false + * @param nonce Type: bytes32, Indexed: false + */ + authorizationState( + authorizer: string, + nonce: Arrayish, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param account Type: address, Indexed: false + */ + balanceOf( + account: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _account Type: address, Indexed: false + */ + blocklist( + _account: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + blocklister(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _amount Type: uint256, Indexed: false + */ + burn( + _amount: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param authorizer Type: address, Indexed: false + * @param nonce Type: bytes32, Indexed: false + * @param v Type: uint8, Indexed: false + * @param r Type: bytes32, Indexed: false + * @param s Type: bytes32, Indexed: false + */ + cancelAuthorization( + authorizer: string, + nonce: Arrayish, + v: BigNumberish, + r: Arrayish, + s: Arrayish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param minter Type: address, Indexed: false + * @param minterAllowedAmount Type: uint256, Indexed: false + */ + configureMinter( + minter: string, + minterAllowedAmount: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + currency(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + decimals(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param spender Type: address, Indexed: false + * @param decrement Type: uint256, Indexed: false + */ + decreaseAllowance( + spender: string, + decrement: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param spender Type: address, Indexed: false + * @param increment Type: uint256, Indexed: false + */ + increaseAllowance( + spender: string, + increment: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param tokenName Type: string, Indexed: false + * @param tokenSymbol Type: string, Indexed: false + * @param tokenCurrency Type: string, Indexed: false + * @param tokenDecimals Type: uint8, Indexed: false + * @param newMinterAdmin Type: address, Indexed: false + * @param newPauser Type: address, Indexed: false + * @param newBlocklister Type: address, Indexed: false + * @param newRescuer Type: address, Indexed: false + * @param newOwner Type: address, Indexed: false + */ + initialize( + tokenName: string, + tokenSymbol: string, + tokenCurrency: string, + tokenDecimals: BigNumberish, + newMinterAdmin: string, + newPauser: string, + newBlocklister: string, + newRescuer: string, + newOwner: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param _account Type: address, Indexed: false + */ + isBlocklisted( + _account: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param account Type: address, Indexed: false + */ + isMinter( + account: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _to Type: address, Indexed: false + * @param _amount Type: uint256, Indexed: false + */ + mint( + _to: string, + _amount: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + minterAdmin(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param minter Type: address, Indexed: false + */ + minterAllowance( + minter: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + name(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param owner Type: address, Indexed: false + */ + nonces(owner: string, overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + owner(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + */ + pause(overrides?: ContractTransactionOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + paused(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + pauser(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param owner Type: address, Indexed: false + * @param spender Type: address, Indexed: false + * @param value Type: uint256, Indexed: false + * @param deadline Type: uint256, Indexed: false + * @param v Type: uint8, Indexed: false + * @param r Type: bytes32, Indexed: false + * @param s Type: bytes32, Indexed: false + */ + permit( + owner: string, + spender: string, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: Arrayish, + s: Arrayish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + proxiableUUID(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param from Type: address, Indexed: false + * @param to Type: address, Indexed: false + * @param value Type: uint256, Indexed: false + * @param validAfter Type: uint256, Indexed: false + * @param validBefore Type: uint256, Indexed: false + * @param nonce Type: bytes32, Indexed: false + * @param v Type: uint8, Indexed: false + * @param r Type: bytes32, Indexed: false + * @param s Type: bytes32, Indexed: false + */ + receiveWithAuthorization( + from: string, + to: string, + value: BigNumberish, + validAfter: BigNumberish, + validBefore: BigNumberish, + nonce: Arrayish, + v: BigNumberish, + r: Arrayish, + s: Arrayish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param minter Type: address, Indexed: false + */ + removeMinter( + minter: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param tokenContract Type: address, Indexed: false + * @param to Type: address, Indexed: false + * @param amount Type: uint256, Indexed: false + */ + rescueERC20( + tokenContract: string, + to: string, + amount: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + rescuer(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + symbol(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + totalSupply(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param to Type: address, Indexed: false + * @param value Type: uint256, Indexed: false + */ + transfer( + to: string, + value: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param from Type: address, Indexed: false + * @param to Type: address, Indexed: false + * @param value Type: uint256, Indexed: false + */ + transferFrom( + from: string, + to: string, + value: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param newOwner Type: address, Indexed: false + */ + transferOwnership( + newOwner: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param from Type: address, Indexed: false + * @param to Type: address, Indexed: false + * @param value Type: uint256, Indexed: false + * @param validAfter Type: uint256, Indexed: false + * @param validBefore Type: uint256, Indexed: false + * @param nonce Type: bytes32, Indexed: false + * @param v Type: uint8, Indexed: false + * @param r Type: bytes32, Indexed: false + * @param s Type: bytes32, Indexed: false + */ + transferWithAuthorization( + from: string, + to: string, + value: BigNumberish, + validAfter: BigNumberish, + validBefore: BigNumberish, + nonce: Arrayish, + v: BigNumberish, + r: Arrayish, + s: Arrayish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _account Type: address, Indexed: false + */ + unBlocklist( + _account: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + */ + unpause( + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _newBlocklister Type: address, Indexed: false + */ + updateBlocklister( + _newBlocklister: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _newMinterAdmin Type: address, Indexed: false + */ + updateMinterAdmin( + _newMinterAdmin: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _newPauser Type: address, Indexed: false + */ + updatePauser( + _newPauser: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param newRescuer Type: address, Indexed: false + */ + updateRescuer( + newRescuer: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param newImplementation Type: address, Indexed: false + */ + upgradeTo( + newImplementation: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: true + * Constant: false + * StateMutability: payable + * Type: function + * @param newImplementation Type: address, Indexed: false + * @param data Type: bytes, Indexed: false + */ + upgradeToAndCall( + newImplementation: string, + data: Arrayish, + overrides?: ContractTransactionOverrides + ): Promise; +} diff --git a/packages/node/abi-types/FiatTokenV1Test.ts b/packages/node/abi-types/FiatTokenV1Test.ts new file mode 100755 index 0000000..c67f77e --- /dev/null +++ b/packages/node/abi-types/FiatTokenV1Test.ts @@ -0,0 +1,796 @@ +import { + ContractTransaction, + ContractInterface, + BytesLike as Arrayish, + BigNumber, + BigNumberish, +} from 'ethers'; +import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; + +export type ContractContext = EthersContractContextV5< + FiatTokenV1Test, + FiatTokenV1TestMethodNames, + FiatTokenV1TestEventsContext, + FiatTokenV1TestEvents +>; + +export declare type EventFilter = { + address?: string; + topics?: Array; + fromBlock?: string | number; + toBlock?: string | number; +}; + +export interface ContractTransactionOverrides { + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; + /** + * The price (in wei) per unit of gas + */ + gasPrice?: BigNumber | string | number | Promise; + /** + * The nonce to use in the transaction + */ + nonce?: number; + /** + * The amount to send with the transaction (i.e. msg.value) + */ + value?: BigNumber | string | number | Promise; + /** + * The chain ID (or network ID) to use + */ + chainId?: number; +} + +export interface ContractCallOverrides { + /** + * The address to execute the call as + */ + from?: string; + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; +} +export type FiatTokenV1TestEvents = + | 'Approval' + | 'AuthorizationCanceled' + | 'AuthorizationUsed' + | 'Blocklisted' + | 'BlocklisterChanged' + | 'Burn' + | 'Mint' + | 'MinterAdminChanged' + | 'MinterConfigured' + | 'MinterRemoved' + | 'OwnershipTransferred' + | 'Pause' + | 'PauserChanged' + | 'RescuerChanged' + | 'Transfer' + | 'UnBlocklisted' + | 'Unpause' + | 'Upgraded'; +export interface FiatTokenV1TestEventsContext { + Approval(...parameters: any): EventFilter; + AuthorizationCanceled(...parameters: any): EventFilter; + AuthorizationUsed(...parameters: any): EventFilter; + Blocklisted(...parameters: any): EventFilter; + BlocklisterChanged(...parameters: any): EventFilter; + Burn(...parameters: any): EventFilter; + Mint(...parameters: any): EventFilter; + MinterAdminChanged(...parameters: any): EventFilter; + MinterConfigured(...parameters: any): EventFilter; + MinterRemoved(...parameters: any): EventFilter; + OwnershipTransferred(...parameters: any): EventFilter; + Pause(...parameters: any): EventFilter; + PauserChanged(...parameters: any): EventFilter; + RescuerChanged(...parameters: any): EventFilter; + Transfer(...parameters: any): EventFilter; + UnBlocklisted(...parameters: any): EventFilter; + Unpause(...parameters: any): EventFilter; + Upgraded(...parameters: any): EventFilter; +} +export type FiatTokenV1TestMethodNames = + | 'CANCEL_AUTHORIZATION_TYPEHASH' + | 'PERMIT_TYPEHASH' + | 'RECEIVE_WITH_AUTHORIZATION_TYPEHASH' + | 'TRANSFER_WITH_AUTHORIZATION_TYPEHASH' + | '_domainSeparatorV4' + | 'allowance' + | 'approve' + | 'approveTest' + | 'authorizationState' + | 'balanceOf' + | 'blocklist' + | 'blocklister' + | 'burn' + | 'cancelAuthorization' + | 'configureMinter' + | 'currency' + | 'decimals' + | 'decreaseAllowance' + | 'increaseAllowance' + | 'initialize' + | 'isBlocklisted' + | 'isMinter' + | 'mint' + | 'minterAdmin' + | 'minterAllowance' + | 'name' + | 'nonces' + | 'owner' + | 'pause' + | 'paused' + | 'pauser' + | 'permit' + | 'proxiableUUID' + | 'receiveWithAuthorization' + | 'removeMinter' + | 'rescueERC20' + | 'rescuer' + | 'symbol' + | 'totalSupply' + | 'transfer' + | 'transferFrom' + | 'transferOwnership' + | 'transferWithAuthorization' + | 'unBlocklist' + | 'unpause' + | 'updateBlocklister' + | 'updateMinterAdmin' + | 'updatePauser' + | 'updateRescuer' + | 'upgradeTo' + | 'upgradeToAndCall'; +export interface ApprovalEventEmittedResponse { + owner: string; + spender: string; + value: BigNumberish; +} +export interface AuthorizationCanceledEventEmittedResponse { + authorizer: string; + nonce: Arrayish; +} +export interface AuthorizationUsedEventEmittedResponse { + authorizer: string; + nonce: Arrayish; +} +export interface BlocklistedEventEmittedResponse { + _account: string; +} +export interface BlocklisterChangedEventEmittedResponse { + newBlocklister: string; +} +export interface BurnEventEmittedResponse { + burner: string; + amount: BigNumberish; +} +export interface MintEventEmittedResponse { + minter: string; + to: string; + amount: BigNumberish; +} +export interface MinterAdminChangedEventEmittedResponse { + newMinterAdmin: string; +} +export interface MinterConfiguredEventEmittedResponse { + minter: string; + minterAllowedAmount: BigNumberish; +} +export interface MinterRemovedEventEmittedResponse { + oldMinter: string; +} +export interface OwnershipTransferredEventEmittedResponse { + previousOwner: string; + newOwner: string; +} +export interface PauserChangedEventEmittedResponse { + newAddress: string; +} +export interface RescuerChangedEventEmittedResponse { + newRescuer: string; +} +export interface TransferEventEmittedResponse { + from: string; + to: string; + value: BigNumberish; +} +export interface UnBlocklistedEventEmittedResponse { + _account: string; +} +export interface UpgradedEventEmittedResponse { + implementation: string; +} +export interface FiatTokenV1Test { + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + CANCEL_AUTHORIZATION_TYPEHASH( + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + PERMIT_TYPEHASH(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + RECEIVE_WITH_AUTHORIZATION_TYPEHASH( + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + TRANSFER_WITH_AUTHORIZATION_TYPEHASH( + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + _domainSeparatorV4(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param owner Type: address, Indexed: false + * @param spender Type: address, Indexed: false + */ + allowance( + owner: string, + spender: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param spender Type: address, Indexed: false + * @param value Type: uint256, Indexed: false + */ + approve( + spender: string, + value: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param owner Type: address, Indexed: false + * @param spender Type: address, Indexed: false + * @param value Type: uint256, Indexed: false + */ + approveTest( + owner: string, + spender: string, + value: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param authorizer Type: address, Indexed: false + * @param nonce Type: bytes32, Indexed: false + */ + authorizationState( + authorizer: string, + nonce: Arrayish, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param account Type: address, Indexed: false + */ + balanceOf( + account: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _account Type: address, Indexed: false + */ + blocklist( + _account: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + blocklister(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _amount Type: uint256, Indexed: false + */ + burn( + _amount: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param authorizer Type: address, Indexed: false + * @param nonce Type: bytes32, Indexed: false + * @param v Type: uint8, Indexed: false + * @param r Type: bytes32, Indexed: false + * @param s Type: bytes32, Indexed: false + */ + cancelAuthorization( + authorizer: string, + nonce: Arrayish, + v: BigNumberish, + r: Arrayish, + s: Arrayish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param minter Type: address, Indexed: false + * @param minterAllowedAmount Type: uint256, Indexed: false + */ + configureMinter( + minter: string, + minterAllowedAmount: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + currency(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + decimals(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param spender Type: address, Indexed: false + * @param decrement Type: uint256, Indexed: false + */ + decreaseAllowance( + spender: string, + decrement: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param spender Type: address, Indexed: false + * @param increment Type: uint256, Indexed: false + */ + increaseAllowance( + spender: string, + increment: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param tokenName Type: string, Indexed: false + * @param tokenSymbol Type: string, Indexed: false + * @param tokenCurrency Type: string, Indexed: false + * @param tokenDecimals Type: uint8, Indexed: false + * @param newMinterAdmin Type: address, Indexed: false + * @param newPauser Type: address, Indexed: false + * @param newBlocklister Type: address, Indexed: false + * @param newRescuer Type: address, Indexed: false + * @param newOwner Type: address, Indexed: false + */ + initialize( + tokenName: string, + tokenSymbol: string, + tokenCurrency: string, + tokenDecimals: BigNumberish, + newMinterAdmin: string, + newPauser: string, + newBlocklister: string, + newRescuer: string, + newOwner: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param _account Type: address, Indexed: false + */ + isBlocklisted( + _account: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param account Type: address, Indexed: false + */ + isMinter( + account: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _to Type: address, Indexed: false + * @param _amount Type: uint256, Indexed: false + */ + mint( + _to: string, + _amount: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + minterAdmin(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param minter Type: address, Indexed: false + */ + minterAllowance( + minter: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + name(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param owner Type: address, Indexed: false + */ + nonces(owner: string, overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + owner(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + */ + pause(overrides?: ContractTransactionOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + paused(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + pauser(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param owner Type: address, Indexed: false + * @param spender Type: address, Indexed: false + * @param value Type: uint256, Indexed: false + * @param deadline Type: uint256, Indexed: false + * @param v Type: uint8, Indexed: false + * @param r Type: bytes32, Indexed: false + * @param s Type: bytes32, Indexed: false + */ + permit( + owner: string, + spender: string, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: Arrayish, + s: Arrayish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + proxiableUUID(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param from Type: address, Indexed: false + * @param to Type: address, Indexed: false + * @param value Type: uint256, Indexed: false + * @param validAfter Type: uint256, Indexed: false + * @param validBefore Type: uint256, Indexed: false + * @param nonce Type: bytes32, Indexed: false + * @param v Type: uint8, Indexed: false + * @param r Type: bytes32, Indexed: false + * @param s Type: bytes32, Indexed: false + */ + receiveWithAuthorization( + from: string, + to: string, + value: BigNumberish, + validAfter: BigNumberish, + validBefore: BigNumberish, + nonce: Arrayish, + v: BigNumberish, + r: Arrayish, + s: Arrayish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param minter Type: address, Indexed: false + */ + removeMinter( + minter: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param tokenContract Type: address, Indexed: false + * @param to Type: address, Indexed: false + * @param amount Type: uint256, Indexed: false + */ + rescueERC20( + tokenContract: string, + to: string, + amount: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + rescuer(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + symbol(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + totalSupply(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param to Type: address, Indexed: false + * @param value Type: uint256, Indexed: false + */ + transfer( + to: string, + value: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param from Type: address, Indexed: false + * @param to Type: address, Indexed: false + * @param value Type: uint256, Indexed: false + */ + transferFrom( + from: string, + to: string, + value: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param newOwner Type: address, Indexed: false + */ + transferOwnership( + newOwner: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param from Type: address, Indexed: false + * @param to Type: address, Indexed: false + * @param value Type: uint256, Indexed: false + * @param validAfter Type: uint256, Indexed: false + * @param validBefore Type: uint256, Indexed: false + * @param nonce Type: bytes32, Indexed: false + * @param v Type: uint8, Indexed: false + * @param r Type: bytes32, Indexed: false + * @param s Type: bytes32, Indexed: false + */ + transferWithAuthorization( + from: string, + to: string, + value: BigNumberish, + validAfter: BigNumberish, + validBefore: BigNumberish, + nonce: Arrayish, + v: BigNumberish, + r: Arrayish, + s: Arrayish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _account Type: address, Indexed: false + */ + unBlocklist( + _account: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + */ + unpause( + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _newBlocklister Type: address, Indexed: false + */ + updateBlocklister( + _newBlocklister: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _newMinterAdmin Type: address, Indexed: false + */ + updateMinterAdmin( + _newMinterAdmin: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _newPauser Type: address, Indexed: false + */ + updatePauser( + _newPauser: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param newRescuer Type: address, Indexed: false + */ + updateRescuer( + newRescuer: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param newImplementation Type: address, Indexed: false + */ + upgradeTo( + newImplementation: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: true + * Constant: false + * StateMutability: payable + * Type: function + * @param newImplementation Type: address, Indexed: false + * @param data Type: bytes, Indexed: false + */ + upgradeToAndCall( + newImplementation: string, + data: Arrayish, + overrides?: ContractTransactionOverrides + ): Promise; +} diff --git a/packages/node/abi-types/FiatTokenV2.ts b/packages/node/abi-types/FiatTokenV2.ts new file mode 100755 index 0000000..3c247c8 --- /dev/null +++ b/packages/node/abi-types/FiatTokenV2.ts @@ -0,0 +1,841 @@ +import { + ContractTransaction, + ContractInterface, + BytesLike as Arrayish, + BigNumber, + BigNumberish, +} from 'ethers'; +import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; + +export type ContractContext = EthersContractContextV5< + FiatTokenV2, + FiatTokenV2MethodNames, + FiatTokenV2EventsContext, + FiatTokenV2Events +>; + +export declare type EventFilter = { + address?: string; + topics?: Array; + fromBlock?: string | number; + toBlock?: string | number; +}; + +export interface ContractTransactionOverrides { + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; + /** + * The price (in wei) per unit of gas + */ + gasPrice?: BigNumber | string | number | Promise; + /** + * The nonce to use in the transaction + */ + nonce?: number; + /** + * The amount to send with the transaction (i.e. msg.value) + */ + value?: BigNumber | string | number | Promise; + /** + * The chain ID (or network ID) to use + */ + chainId?: number; +} + +export interface ContractCallOverrides { + /** + * The address to execute the call as + */ + from?: string; + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; +} +export type FiatTokenV2Events = + | 'Allowlisted' + | 'AllowlisterChanged' + | 'Approval' + | 'AuthorizationCanceled' + | 'AuthorizationUsed' + | 'Blocklisted' + | 'BlocklisterChanged' + | 'Burn' + | 'Mint' + | 'MinterAdminChanged' + | 'MinterConfigured' + | 'MinterRemoved' + | 'OwnershipTransferred' + | 'Pause' + | 'PauserChanged' + | 'RescuerChanged' + | 'Transfer' + | 'UnAllowlisted' + | 'UnBlocklisted' + | 'Unpause' + | 'Upgraded'; +export interface FiatTokenV2EventsContext { + Allowlisted(...parameters: any): EventFilter; + AllowlisterChanged(...parameters: any): EventFilter; + Approval(...parameters: any): EventFilter; + AuthorizationCanceled(...parameters: any): EventFilter; + AuthorizationUsed(...parameters: any): EventFilter; + Blocklisted(...parameters: any): EventFilter; + BlocklisterChanged(...parameters: any): EventFilter; + Burn(...parameters: any): EventFilter; + Mint(...parameters: any): EventFilter; + MinterAdminChanged(...parameters: any): EventFilter; + MinterConfigured(...parameters: any): EventFilter; + MinterRemoved(...parameters: any): EventFilter; + OwnershipTransferred(...parameters: any): EventFilter; + Pause(...parameters: any): EventFilter; + PauserChanged(...parameters: any): EventFilter; + RescuerChanged(...parameters: any): EventFilter; + Transfer(...parameters: any): EventFilter; + UnAllowlisted(...parameters: any): EventFilter; + UnBlocklisted(...parameters: any): EventFilter; + Unpause(...parameters: any): EventFilter; + Upgraded(...parameters: any): EventFilter; +} +export type FiatTokenV2MethodNames = + | 'CANCEL_AUTHORIZATION_TYPEHASH' + | 'PERMIT_TYPEHASH' + | 'RECEIVE_WITH_AUTHORIZATION_TYPEHASH' + | 'TRANSFER_WITH_AUTHORIZATION_TYPEHASH' + | '_domainSeparatorV4' + | 'allowance' + | 'allowlist' + | 'allowlistLimitAmount' + | 'allowlister' + | 'approve' + | 'authorizationState' + | 'balanceOf' + | 'blocklist' + | 'blocklister' + | 'burn' + | 'cancelAuthorization' + | 'configureMinter' + | 'currency' + | 'decimals' + | 'decreaseAllowance' + | 'increaseAllowance' + | 'initializeV2' + | 'isAllowlisted' + | 'isBlocklisted' + | 'isMinter' + | 'mint' + | 'minterAdmin' + | 'minterAllowance' + | 'name' + | 'nonces' + | 'owner' + | 'pause' + | 'paused' + | 'pauser' + | 'permit' + | 'proxiableUUID' + | 'receiveWithAuthorization' + | 'removeMinter' + | 'rescueERC20' + | 'rescuer' + | 'symbol' + | 'totalSupply' + | 'transfer' + | 'transferFrom' + | 'transferOwnership' + | 'transferWithAuthorization' + | 'unAllowlist' + | 'unBlocklist' + | 'unpause' + | 'updateAllowlister' + | 'updateBlocklister' + | 'updateMinterAdmin' + | 'updatePauser' + | 'updateRescuer' + | 'upgradeTo' + | 'upgradeToAndCall'; +export interface AllowlistedEventEmittedResponse { + _account: string; +} +export interface AllowlisterChangedEventEmittedResponse { + newAllowlister: string; +} +export interface ApprovalEventEmittedResponse { + owner: string; + spender: string; + value: BigNumberish; +} +export interface AuthorizationCanceledEventEmittedResponse { + authorizer: string; + nonce: Arrayish; +} +export interface AuthorizationUsedEventEmittedResponse { + authorizer: string; + nonce: Arrayish; +} +export interface BlocklistedEventEmittedResponse { + _account: string; +} +export interface BlocklisterChangedEventEmittedResponse { + newBlocklister: string; +} +export interface BurnEventEmittedResponse { + burner: string; + amount: BigNumberish; +} +export interface MintEventEmittedResponse { + minter: string; + to: string; + amount: BigNumberish; +} +export interface MinterAdminChangedEventEmittedResponse { + newMinterAdmin: string; +} +export interface MinterConfiguredEventEmittedResponse { + minter: string; + minterAllowedAmount: BigNumberish; +} +export interface MinterRemovedEventEmittedResponse { + oldMinter: string; +} +export interface OwnershipTransferredEventEmittedResponse { + previousOwner: string; + newOwner: string; +} +export interface PauserChangedEventEmittedResponse { + newAddress: string; +} +export interface RescuerChangedEventEmittedResponse { + newRescuer: string; +} +export interface TransferEventEmittedResponse { + from: string; + to: string; + value: BigNumberish; +} +export interface UnAllowlistedEventEmittedResponse { + _account: string; +} +export interface UnBlocklistedEventEmittedResponse { + _account: string; +} +export interface UpgradedEventEmittedResponse { + implementation: string; +} +export interface FiatTokenV2 { + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + CANCEL_AUTHORIZATION_TYPEHASH( + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + PERMIT_TYPEHASH(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + RECEIVE_WITH_AUTHORIZATION_TYPEHASH( + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + TRANSFER_WITH_AUTHORIZATION_TYPEHASH( + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + _domainSeparatorV4(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param owner Type: address, Indexed: false + * @param spender Type: address, Indexed: false + */ + allowance( + owner: string, + spender: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _account Type: address, Indexed: false + */ + allowlist( + _account: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + allowlistLimitAmount(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + allowlister(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param spender Type: address, Indexed: false + * @param value Type: uint256, Indexed: false + */ + approve( + spender: string, + value: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param authorizer Type: address, Indexed: false + * @param nonce Type: bytes32, Indexed: false + */ + authorizationState( + authorizer: string, + nonce: Arrayish, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param account Type: address, Indexed: false + */ + balanceOf( + account: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _account Type: address, Indexed: false + */ + blocklist( + _account: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + blocklister(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _amount Type: uint256, Indexed: false + */ + burn( + _amount: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param authorizer Type: address, Indexed: false + * @param nonce Type: bytes32, Indexed: false + * @param v Type: uint8, Indexed: false + * @param r Type: bytes32, Indexed: false + * @param s Type: bytes32, Indexed: false + */ + cancelAuthorization( + authorizer: string, + nonce: Arrayish, + v: BigNumberish, + r: Arrayish, + s: Arrayish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param minter Type: address, Indexed: false + * @param minterAllowedAmount Type: uint256, Indexed: false + */ + configureMinter( + minter: string, + minterAllowedAmount: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + currency(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + decimals(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param spender Type: address, Indexed: false + * @param decrement Type: uint256, Indexed: false + */ + decreaseAllowance( + spender: string, + decrement: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param spender Type: address, Indexed: false + * @param increment Type: uint256, Indexed: false + */ + increaseAllowance( + spender: string, + increment: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + */ + initializeV2( + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param _account Type: address, Indexed: false + */ + isAllowlisted( + _account: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param _account Type: address, Indexed: false + */ + isBlocklisted( + _account: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param account Type: address, Indexed: false + */ + isMinter( + account: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _to Type: address, Indexed: false + * @param _amount Type: uint256, Indexed: false + */ + mint( + _to: string, + _amount: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + minterAdmin(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param minter Type: address, Indexed: false + */ + minterAllowance( + minter: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + name(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param owner Type: address, Indexed: false + */ + nonces(owner: string, overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + owner(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + */ + pause(overrides?: ContractTransactionOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + paused(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + pauser(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param owner Type: address, Indexed: false + * @param spender Type: address, Indexed: false + * @param value Type: uint256, Indexed: false + * @param deadline Type: uint256, Indexed: false + * @param v Type: uint8, Indexed: false + * @param r Type: bytes32, Indexed: false + * @param s Type: bytes32, Indexed: false + */ + permit( + owner: string, + spender: string, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: Arrayish, + s: Arrayish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + proxiableUUID(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param from Type: address, Indexed: false + * @param to Type: address, Indexed: false + * @param value Type: uint256, Indexed: false + * @param validAfter Type: uint256, Indexed: false + * @param validBefore Type: uint256, Indexed: false + * @param nonce Type: bytes32, Indexed: false + * @param v Type: uint8, Indexed: false + * @param r Type: bytes32, Indexed: false + * @param s Type: bytes32, Indexed: false + */ + receiveWithAuthorization( + from: string, + to: string, + value: BigNumberish, + validAfter: BigNumberish, + validBefore: BigNumberish, + nonce: Arrayish, + v: BigNumberish, + r: Arrayish, + s: Arrayish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param minter Type: address, Indexed: false + */ + removeMinter( + minter: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param tokenContract Type: address, Indexed: false + * @param to Type: address, Indexed: false + * @param amount Type: uint256, Indexed: false + */ + rescueERC20( + tokenContract: string, + to: string, + amount: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + rescuer(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + symbol(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + totalSupply(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param to Type: address, Indexed: false + * @param value Type: uint256, Indexed: false + */ + transfer( + to: string, + value: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param from Type: address, Indexed: false + * @param to Type: address, Indexed: false + * @param value Type: uint256, Indexed: false + */ + transferFrom( + from: string, + to: string, + value: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param newOwner Type: address, Indexed: false + */ + transferOwnership( + newOwner: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param from Type: address, Indexed: false + * @param to Type: address, Indexed: false + * @param value Type: uint256, Indexed: false + * @param validAfter Type: uint256, Indexed: false + * @param validBefore Type: uint256, Indexed: false + * @param nonce Type: bytes32, Indexed: false + * @param v Type: uint8, Indexed: false + * @param r Type: bytes32, Indexed: false + * @param s Type: bytes32, Indexed: false + */ + transferWithAuthorization( + from: string, + to: string, + value: BigNumberish, + validAfter: BigNumberish, + validBefore: BigNumberish, + nonce: Arrayish, + v: BigNumberish, + r: Arrayish, + s: Arrayish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _account Type: address, Indexed: false + */ + unAllowlist( + _account: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _account Type: address, Indexed: false + */ + unBlocklist( + _account: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + */ + unpause( + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _newAllowlister Type: address, Indexed: false + */ + updateAllowlister( + _newAllowlister: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _newBlocklister Type: address, Indexed: false + */ + updateBlocklister( + _newBlocklister: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _newMinterAdmin Type: address, Indexed: false + */ + updateMinterAdmin( + _newMinterAdmin: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _newPauser Type: address, Indexed: false + */ + updatePauser( + _newPauser: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param newRescuer Type: address, Indexed: false + */ + updateRescuer( + newRescuer: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param newImplementation Type: address, Indexed: false + */ + upgradeTo( + newImplementation: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: true + * Constant: false + * StateMutability: payable + * Type: function + * @param newImplementation Type: address, Indexed: false + * @param data Type: bytes, Indexed: false + */ + upgradeToAndCall( + newImplementation: string, + data: Arrayish, + overrides?: ContractTransactionOverrides + ): Promise; +} diff --git a/packages/node/abi-types/FiatTokenV2Test.ts b/packages/node/abi-types/FiatTokenV2Test.ts new file mode 100755 index 0000000..b0ec169 --- /dev/null +++ b/packages/node/abi-types/FiatTokenV2Test.ts @@ -0,0 +1,800 @@ +import { + ContractTransaction, + ContractInterface, + BytesLike as Arrayish, + BigNumber, + BigNumberish, +} from 'ethers'; +import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; + +export type ContractContext = EthersContractContextV5< + FiatTokenV2test, + FiatTokenV2testMethodNames, + FiatTokenV2testEventsContext, + FiatTokenV2testEvents +>; + +export declare type EventFilter = { + address?: string; + topics?: Array; + fromBlock?: string | number; + toBlock?: string | number; +}; + +export interface ContractTransactionOverrides { + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; + /** + * The price (in wei) per unit of gas + */ + gasPrice?: BigNumber | string | number | Promise; + /** + * The nonce to use in the transaction + */ + nonce?: number; + /** + * The amount to send with the transaction (i.e. msg.value) + */ + value?: BigNumber | string | number | Promise; + /** + * The chain ID (or network ID) to use + */ + chainId?: number; +} + +export interface ContractCallOverrides { + /** + * The address to execute the call as + */ + from?: string; + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; +} +export type FiatTokenV2testEvents = + | 'Approval' + | 'AuthorizationCanceled' + | 'AuthorizationUsed' + | 'Blocklisted' + | 'BlocklisterChanged' + | 'Burn' + | 'Mint' + | 'MinterAdminChanged' + | 'MinterConfigured' + | 'MinterRemoved' + | 'OwnershipTransferred' + | 'Pause' + | 'PauserChanged' + | 'RescuerChanged' + | 'Transfer' + | 'UnBlocklisted' + | 'Unpause' + | 'Upgraded'; +export interface FiatTokenV2testEventsContext { + Approval(...parameters: any): EventFilter; + AuthorizationCanceled(...parameters: any): EventFilter; + AuthorizationUsed(...parameters: any): EventFilter; + Blocklisted(...parameters: any): EventFilter; + BlocklisterChanged(...parameters: any): EventFilter; + Burn(...parameters: any): EventFilter; + Mint(...parameters: any): EventFilter; + MinterAdminChanged(...parameters: any): EventFilter; + MinterConfigured(...parameters: any): EventFilter; + MinterRemoved(...parameters: any): EventFilter; + OwnershipTransferred(...parameters: any): EventFilter; + Pause(...parameters: any): EventFilter; + PauserChanged(...parameters: any): EventFilter; + RescuerChanged(...parameters: any): EventFilter; + Transfer(...parameters: any): EventFilter; + UnBlocklisted(...parameters: any): EventFilter; + Unpause(...parameters: any): EventFilter; + Upgraded(...parameters: any): EventFilter; +} +export type FiatTokenV2testMethodNames = + | 'CANCEL_AUTHORIZATION_TYPEHASH' + | 'PERMIT_TYPEHASH' + | 'RECEIVE_WITH_AUTHORIZATION_TYPEHASH' + | 'TRANSFER_WITH_AUTHORIZATION_TYPEHASH' + | '_domainSeparatorV4' + | 'allowance' + | 'approve' + | 'authorizationState' + | 'balanceOf' + | 'blocklist' + | 'blocklister' + | 'burn' + | 'cancelAuthorization' + | 'configureMinter' + | 'currency' + | 'decimals' + | 'decreaseAllowance' + | 'increaseAllowance' + | 'initialize' + | 'isBlocklisted' + | 'isMinter' + | 'mint' + | 'minterAdmin' + | 'minterAllowance' + | 'name' + | 'name2' + | 'nonces' + | 'owner' + | 'pause' + | 'paused' + | 'pauser' + | 'permit' + | 'proxiableUUID' + | 'receiveWithAuthorization' + | 'removeMinter' + | 'rescueERC20' + | 'rescuer' + | 'setName2' + | 'symbol' + | 'totalSupply' + | 'transfer' + | 'transferFrom' + | 'transferOwnership' + | 'transferWithAuthorization' + | 'unBlocklist' + | 'unpause' + | 'updateBlocklister' + | 'updateMinterAdmin' + | 'updatePauser' + | 'updateRescuer' + | 'upgradeTo' + | 'upgradeToAndCall'; +export interface ApprovalEventEmittedResponse { + owner: string; + spender: string; + value: BigNumberish; +} +export interface AuthorizationCanceledEventEmittedResponse { + authorizer: string; + nonce: Arrayish; +} +export interface AuthorizationUsedEventEmittedResponse { + authorizer: string; + nonce: Arrayish; +} +export interface BlocklistedEventEmittedResponse { + _account: string; +} +export interface BlocklisterChangedEventEmittedResponse { + newBlocklister: string; +} +export interface BurnEventEmittedResponse { + burner: string; + amount: BigNumberish; +} +export interface MintEventEmittedResponse { + minter: string; + to: string; + amount: BigNumberish; +} +export interface MinterAdminChangedEventEmittedResponse { + newMinterAdmin: string; +} +export interface MinterConfiguredEventEmittedResponse { + minter: string; + minterAllowedAmount: BigNumberish; +} +export interface MinterRemovedEventEmittedResponse { + oldMinter: string; +} +export interface OwnershipTransferredEventEmittedResponse { + previousOwner: string; + newOwner: string; +} +export interface PauserChangedEventEmittedResponse { + newAddress: string; +} +export interface RescuerChangedEventEmittedResponse { + newRescuer: string; +} +export interface TransferEventEmittedResponse { + from: string; + to: string; + value: BigNumberish; +} +export interface UnBlocklistedEventEmittedResponse { + _account: string; +} +export interface UpgradedEventEmittedResponse { + implementation: string; +} +export interface FiatTokenV2test { + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + CANCEL_AUTHORIZATION_TYPEHASH( + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + PERMIT_TYPEHASH(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + RECEIVE_WITH_AUTHORIZATION_TYPEHASH( + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + TRANSFER_WITH_AUTHORIZATION_TYPEHASH( + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + _domainSeparatorV4(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param owner Type: address, Indexed: false + * @param spender Type: address, Indexed: false + */ + allowance( + owner: string, + spender: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param spender Type: address, Indexed: false + * @param value Type: uint256, Indexed: false + */ + approve( + spender: string, + value: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param authorizer Type: address, Indexed: false + * @param nonce Type: bytes32, Indexed: false + */ + authorizationState( + authorizer: string, + nonce: Arrayish, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param account Type: address, Indexed: false + */ + balanceOf( + account: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _account Type: address, Indexed: false + */ + blocklist( + _account: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + blocklister(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _amount Type: uint256, Indexed: false + */ + burn( + _amount: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param authorizer Type: address, Indexed: false + * @param nonce Type: bytes32, Indexed: false + * @param v Type: uint8, Indexed: false + * @param r Type: bytes32, Indexed: false + * @param s Type: bytes32, Indexed: false + */ + cancelAuthorization( + authorizer: string, + nonce: Arrayish, + v: BigNumberish, + r: Arrayish, + s: Arrayish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param minter Type: address, Indexed: false + * @param minterAllowedAmount Type: uint256, Indexed: false + */ + configureMinter( + minter: string, + minterAllowedAmount: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + currency(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + decimals(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param spender Type: address, Indexed: false + * @param decrement Type: uint256, Indexed: false + */ + decreaseAllowance( + spender: string, + decrement: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param spender Type: address, Indexed: false + * @param increment Type: uint256, Indexed: false + */ + increaseAllowance( + spender: string, + increment: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param tokenName Type: string, Indexed: false + * @param tokenSymbol Type: string, Indexed: false + * @param tokenCurrency Type: string, Indexed: false + * @param tokenDecimals Type: uint8, Indexed: false + * @param newMinterAdmin Type: address, Indexed: false + * @param newPauser Type: address, Indexed: false + * @param newBlocklister Type: address, Indexed: false + * @param newRescuer Type: address, Indexed: false + * @param newOwner Type: address, Indexed: false + */ + initialize( + tokenName: string, + tokenSymbol: string, + tokenCurrency: string, + tokenDecimals: BigNumberish, + newMinterAdmin: string, + newPauser: string, + newBlocklister: string, + newRescuer: string, + newOwner: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param _account Type: address, Indexed: false + */ + isBlocklisted( + _account: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param account Type: address, Indexed: false + */ + isMinter( + account: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _to Type: address, Indexed: false + * @param _amount Type: uint256, Indexed: false + */ + mint( + _to: string, + _amount: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + minterAdmin(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param minter Type: address, Indexed: false + */ + minterAllowance( + minter: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + name(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + name2(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param owner Type: address, Indexed: false + */ + nonces(owner: string, overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + owner(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + */ + pause(overrides?: ContractTransactionOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + paused(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + pauser(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param owner Type: address, Indexed: false + * @param spender Type: address, Indexed: false + * @param value Type: uint256, Indexed: false + * @param deadline Type: uint256, Indexed: false + * @param v Type: uint8, Indexed: false + * @param r Type: bytes32, Indexed: false + * @param s Type: bytes32, Indexed: false + */ + permit( + owner: string, + spender: string, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: Arrayish, + s: Arrayish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + proxiableUUID(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param from Type: address, Indexed: false + * @param to Type: address, Indexed: false + * @param value Type: uint256, Indexed: false + * @param validAfter Type: uint256, Indexed: false + * @param validBefore Type: uint256, Indexed: false + * @param nonce Type: bytes32, Indexed: false + * @param v Type: uint8, Indexed: false + * @param r Type: bytes32, Indexed: false + * @param s Type: bytes32, Indexed: false + */ + receiveWithAuthorization( + from: string, + to: string, + value: BigNumberish, + validAfter: BigNumberish, + validBefore: BigNumberish, + nonce: Arrayish, + v: BigNumberish, + r: Arrayish, + s: Arrayish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param minter Type: address, Indexed: false + */ + removeMinter( + minter: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param tokenContract Type: address, Indexed: false + * @param to Type: address, Indexed: false + * @param amount Type: uint256, Indexed: false + */ + rescueERC20( + tokenContract: string, + to: string, + amount: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + rescuer(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _name Type: string, Indexed: false + */ + setName2( + _name: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + symbol(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + totalSupply(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param to Type: address, Indexed: false + * @param value Type: uint256, Indexed: false + */ + transfer( + to: string, + value: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param from Type: address, Indexed: false + * @param to Type: address, Indexed: false + * @param value Type: uint256, Indexed: false + */ + transferFrom( + from: string, + to: string, + value: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param newOwner Type: address, Indexed: false + */ + transferOwnership( + newOwner: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param from Type: address, Indexed: false + * @param to Type: address, Indexed: false + * @param value Type: uint256, Indexed: false + * @param validAfter Type: uint256, Indexed: false + * @param validBefore Type: uint256, Indexed: false + * @param nonce Type: bytes32, Indexed: false + * @param v Type: uint8, Indexed: false + * @param r Type: bytes32, Indexed: false + * @param s Type: bytes32, Indexed: false + */ + transferWithAuthorization( + from: string, + to: string, + value: BigNumberish, + validAfter: BigNumberish, + validBefore: BigNumberish, + nonce: Arrayish, + v: BigNumberish, + r: Arrayish, + s: Arrayish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _account Type: address, Indexed: false + */ + unBlocklist( + _account: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + */ + unpause( + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _newBlocklister Type: address, Indexed: false + */ + updateBlocklister( + _newBlocklister: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _newMinterAdmin Type: address, Indexed: false + */ + updateMinterAdmin( + _newMinterAdmin: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _newPauser Type: address, Indexed: false + */ + updatePauser( + _newPauser: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param newRescuer Type: address, Indexed: false + */ + updateRescuer( + newRescuer: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param newImplementation Type: address, Indexed: false + */ + upgradeTo( + newImplementation: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: true + * Constant: false + * StateMutability: payable + * Type: function + * @param newImplementation Type: address, Indexed: false + * @param data Type: bytes, Indexed: false + */ + upgradeToAndCall( + newImplementation: string, + data: Arrayish, + overrides?: ContractTransactionOverrides + ): Promise; +} diff --git a/packages/node/abi-types/IERC1822Proxiable.ts b/packages/node/abi-types/IERC1822Proxiable.ts new file mode 100755 index 0000000..1646685 --- /dev/null +++ b/packages/node/abi-types/IERC1822Proxiable.ts @@ -0,0 +1,68 @@ +import { + ContractTransaction, + ContractInterface, + BytesLike as Arrayish, + BigNumber, + BigNumberish, +} from 'ethers'; +import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; + +export type ContractContext = EthersContractContextV5< + IERC1822Proxiable, + IERC1822ProxiableMethodNames, + IERC1822ProxiableEventsContext, + IERC1822ProxiableEvents +>; + +export declare type EventFilter = { + address?: string; + topics?: Array; + fromBlock?: string | number; + toBlock?: string | number; +}; + +export interface ContractTransactionOverrides { + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; + /** + * The price (in wei) per unit of gas + */ + gasPrice?: BigNumber | string | number | Promise; + /** + * The nonce to use in the transaction + */ + nonce?: number; + /** + * The amount to send with the transaction (i.e. msg.value) + */ + value?: BigNumber | string | number | Promise; + /** + * The chain ID (or network ID) to use + */ + chainId?: number; +} + +export interface ContractCallOverrides { + /** + * The address to execute the call as + */ + from?: string; + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; +} +export type IERC1822ProxiableEvents = undefined; +export interface IERC1822ProxiableEventsContext {} +export type IERC1822ProxiableMethodNames = 'proxiableUUID'; +export interface IERC1822Proxiable { + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + proxiableUUID(overrides?: ContractCallOverrides): Promise; +} diff --git a/packages/node/abi-types/IERC20.ts b/packages/node/abi-types/IERC20.ts new file mode 100755 index 0000000..ffc9b40 --- /dev/null +++ b/packages/node/abi-types/IERC20.ts @@ -0,0 +1,152 @@ +import { + ContractTransaction, + ContractInterface, + BytesLike as Arrayish, + BigNumber, + BigNumberish, +} from 'ethers'; +import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; + +export type ContractContext = EthersContractContextV5< + IERC20, + IERC20MethodNames, + IERC20EventsContext, + IERC20Events +>; + +export declare type EventFilter = { + address?: string; + topics?: Array; + fromBlock?: string | number; + toBlock?: string | number; +}; + +export interface ContractTransactionOverrides { + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; + /** + * The price (in wei) per unit of gas + */ + gasPrice?: BigNumber | string | number | Promise; + /** + * The nonce to use in the transaction + */ + nonce?: number; + /** + * The amount to send with the transaction (i.e. msg.value) + */ + value?: BigNumber | string | number | Promise; + /** + * The chain ID (or network ID) to use + */ + chainId?: number; +} + +export interface ContractCallOverrides { + /** + * The address to execute the call as + */ + from?: string; + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; +} +export type IERC20Events = 'Approval' | 'Transfer'; +export interface IERC20EventsContext { + Approval(...parameters: any): EventFilter; + Transfer(...parameters: any): EventFilter; +} +export type IERC20MethodNames = + | 'allowance' + | 'approve' + | 'balanceOf' + | 'totalSupply' + | 'transfer' + | 'transferFrom'; +export interface ApprovalEventEmittedResponse { + owner: string; + spender: string; + value: BigNumberish; +} +export interface TransferEventEmittedResponse { + from: string; + to: string; + value: BigNumberish; +} +export interface IERC20 { + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param owner Type: address, Indexed: false + * @param spender Type: address, Indexed: false + */ + allowance( + owner: string, + spender: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param spender Type: address, Indexed: false + * @param amount Type: uint256, Indexed: false + */ + approve( + spender: string, + amount: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param account Type: address, Indexed: false + */ + balanceOf( + account: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + totalSupply(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param recipient Type: address, Indexed: false + * @param amount Type: uint256, Indexed: false + */ + transfer( + recipient: string, + amount: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param sender Type: address, Indexed: false + * @param recipient Type: address, Indexed: false + * @param amount Type: uint256, Indexed: false + */ + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; +} diff --git a/packages/node/abi-types/IERC20Metadata.ts b/packages/node/abi-types/IERC20Metadata.ts new file mode 100755 index 0000000..e3ef728 --- /dev/null +++ b/packages/node/abi-types/IERC20Metadata.ts @@ -0,0 +1,176 @@ +import { + ContractTransaction, + ContractInterface, + BytesLike as Arrayish, + BigNumber, + BigNumberish, +} from 'ethers'; +import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; + +export type ContractContext = EthersContractContextV5< + IERC20Metadata, + IERC20MetadataMethodNames, + IERC20MetadataEventsContext, + IERC20MetadataEvents +>; + +export declare type EventFilter = { + address?: string; + topics?: Array; + fromBlock?: string | number; + toBlock?: string | number; +}; + +export interface ContractTransactionOverrides { + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; + /** + * The price (in wei) per unit of gas + */ + gasPrice?: BigNumber | string | number | Promise; + /** + * The nonce to use in the transaction + */ + nonce?: number; + /** + * The amount to send with the transaction (i.e. msg.value) + */ + value?: BigNumber | string | number | Promise; + /** + * The chain ID (or network ID) to use + */ + chainId?: number; +} + +export interface ContractCallOverrides { + /** + * The address to execute the call as + */ + from?: string; + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; +} +export type IERC20MetadataEvents = 'Approval' | 'Transfer'; +export interface IERC20MetadataEventsContext { + Approval(...parameters: any): EventFilter; + Transfer(...parameters: any): EventFilter; +} +export type IERC20MetadataMethodNames = + | 'allowance' + | 'approve' + | 'balanceOf' + | 'decimals' + | 'name' + | 'symbol' + | 'totalSupply' + | 'transfer' + | 'transferFrom'; +export interface ApprovalEventEmittedResponse { + owner: string; + spender: string; + value: BigNumberish; +} +export interface TransferEventEmittedResponse { + from: string; + to: string; + value: BigNumberish; +} +export interface IERC20Metadata { + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param owner Type: address, Indexed: false + * @param spender Type: address, Indexed: false + */ + allowance( + owner: string, + spender: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param spender Type: address, Indexed: false + * @param amount Type: uint256, Indexed: false + */ + approve( + spender: string, + amount: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param account Type: address, Indexed: false + */ + balanceOf( + account: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + decimals(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + name(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + symbol(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + totalSupply(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param recipient Type: address, Indexed: false + * @param amount Type: uint256, Indexed: false + */ + transfer( + recipient: string, + amount: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param sender Type: address, Indexed: false + * @param recipient Type: address, Indexed: false + * @param amount Type: uint256, Indexed: false + */ + transferFrom( + sender: string, + recipient: string, + amount: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; +} diff --git a/packages/node/abi-types/MintController.ts b/packages/node/abi-types/MintController.ts new file mode 100755 index 0000000..8878b84 --- /dev/null +++ b/packages/node/abi-types/MintController.ts @@ -0,0 +1,250 @@ +import { + ContractTransaction, + ContractInterface, + BytesLike as Arrayish, + BigNumber, + BigNumberish, +} from 'ethers'; +import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; + +export type ContractContext = EthersContractContextV5< + MintController, + MintControllerMethodNames, + MintControllerEventsContext, + MintControllerEvents +>; + +export declare type EventFilter = { + address?: string; + topics?: Array; + fromBlock?: string | number; + toBlock?: string | number; +}; + +export interface ContractTransactionOverrides { + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; + /** + * The price (in wei) per unit of gas + */ + gasPrice?: BigNumber | string | number | Promise; + /** + * The nonce to use in the transaction + */ + nonce?: number; + /** + * The amount to send with the transaction (i.e. msg.value) + */ + value?: BigNumber | string | number | Promise; + /** + * The chain ID (or network ID) to use + */ + chainId?: number; +} + +export interface ContractCallOverrides { + /** + * The address to execute the call as + */ + from?: string; + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; +} +export type MintControllerEvents = + | 'MinterManagerSet' + | 'MinterConfigured' + | 'MinterRemoved' + | 'MinterAllowanceIncremented' + | 'MinterAllowanceDecremented' + | 'ControllerConfigured' + | 'ControllerRemoved' + | 'OwnershipTransferred'; +export interface MintControllerEventsContext { + MinterManagerSet(...parameters: any): EventFilter; + MinterConfigured(...parameters: any): EventFilter; + MinterRemoved(...parameters: any): EventFilter; + MinterAllowanceIncremented(...parameters: any): EventFilter; + MinterAllowanceDecremented(...parameters: any): EventFilter; + ControllerConfigured(...parameters: any): EventFilter; + ControllerRemoved(...parameters: any): EventFilter; + OwnershipTransferred(...parameters: any): EventFilter; +} +export type MintControllerMethodNames = + | 'incrementMinterAllowance' + | 'setMinterManager' + | 'decrementMinterAllowance' + | 'owner' + | 'getMinterManager' + | 'getWorker' + | 'configureController' + | 'configureMinter' + | 'removeMinter' + | 'transferOwnership' + | 'removeController' + | 'new'; +export interface MinterManagerSetEventEmittedResponse { + _oldMinterManager: string; + _newMinterManager: string; +} +export interface MinterConfiguredEventEmittedResponse { + _msgSender: string; + _minter: string; + _allowance: BigNumberish; +} +export interface MinterRemovedEventEmittedResponse { + _msgSender: string; + _minter: string; +} +export interface MinterAllowanceIncrementedEventEmittedResponse { + _msgSender: string; + _minter: string; + _increment: BigNumberish; + _newAllowance: BigNumberish; +} +export interface MinterAllowanceDecrementedEventEmittedResponse { + msgSender: string; + minter: string; + decrement: BigNumberish; + newAllowance: BigNumberish; +} +export interface ControllerConfiguredEventEmittedResponse { + _controller: string; + _worker: string; +} +export interface ControllerRemovedEventEmittedResponse { + _controller: string; +} +export interface OwnershipTransferredEventEmittedResponse { + previousOwner: string; + newOwner: string; +} +export interface MintController { + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _allowanceIncrement Type: uint256, Indexed: false + */ + incrementMinterAllowance( + _allowanceIncrement: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _newMinterManager Type: address, Indexed: false + */ + setMinterManager( + _newMinterManager: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _allowanceDecrement Type: uint256, Indexed: false + */ + decrementMinterAllowance( + _allowanceDecrement: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + owner(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + getMinterManager(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param _controller Type: address, Indexed: false + */ + getWorker( + _controller: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _controller Type: address, Indexed: false + * @param _worker Type: address, Indexed: false + */ + configureController( + _controller: string, + _worker: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _newAllowance Type: uint256, Indexed: false + */ + configureMinter( + _newAllowance: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + */ + removeMinter( + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param newOwner Type: address, Indexed: false + */ + transferOwnership( + newOwner: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _controller Type: address, Indexed: false + */ + removeController( + _controller: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: constructor + * @param _minterManager Type: address, Indexed: false + */ + 'new'( + _minterManager: string, + overrides?: ContractTransactionOverrides + ): Promise; +} diff --git a/packages/node/abi-types/MinterAdmin.ts b/packages/node/abi-types/MinterAdmin.ts new file mode 100755 index 0000000..b164ea5 --- /dev/null +++ b/packages/node/abi-types/MinterAdmin.ts @@ -0,0 +1,250 @@ +import { + ContractTransaction, + ContractInterface, + BytesLike as Arrayish, + BigNumber, + BigNumberish, +} from 'ethers'; +import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; + +export type ContractContext = EthersContractContextV5< + MinterAdmin, + MinterAdminMethodNames, + MinterAdminEventsContext, + MinterAdminEvents +>; + +export declare type EventFilter = { + address?: string; + topics?: Array; + fromBlock?: string | number; + toBlock?: string | number; +}; + +export interface ContractTransactionOverrides { + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; + /** + * The price (in wei) per unit of gas + */ + gasPrice?: BigNumber | string | number | Promise; + /** + * The nonce to use in the transaction + */ + nonce?: number; + /** + * The amount to send with the transaction (i.e. msg.value) + */ + value?: BigNumber | string | number | Promise; + /** + * The chain ID (or network ID) to use + */ + chainId?: number; +} + +export interface ContractCallOverrides { + /** + * The address to execute the call as + */ + from?: string; + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; +} +export type MinterAdminEvents = + | 'MinterManagerSet' + | 'MinterConfigured' + | 'MinterRemoved' + | 'MinterAllowanceIncremented' + | 'MinterAllowanceDecremented' + | 'ControllerConfigured' + | 'ControllerRemoved' + | 'OwnershipTransferred'; +export interface MinterAdminEventsContext { + MinterManagerSet(...parameters: any): EventFilter; + MinterConfigured(...parameters: any): EventFilter; + MinterRemoved(...parameters: any): EventFilter; + MinterAllowanceIncremented(...parameters: any): EventFilter; + MinterAllowanceDecremented(...parameters: any): EventFilter; + ControllerConfigured(...parameters: any): EventFilter; + ControllerRemoved(...parameters: any): EventFilter; + OwnershipTransferred(...parameters: any): EventFilter; +} +export type MinterAdminMethodNames = + | 'incrementMinterAllowance' + | 'setMinterManager' + | 'decrementMinterAllowance' + | 'owner' + | 'getMinterManager' + | 'getWorker' + | 'configureController' + | 'configureMinter' + | 'removeMinter' + | 'transferOwnership' + | 'removeController' + | 'new'; +export interface MinterManagerSetEventEmittedResponse { + _oldMinterManager: string; + _newMinterManager: string; +} +export interface MinterConfiguredEventEmittedResponse { + _msgSender: string; + _minter: string; + _allowance: BigNumberish; +} +export interface MinterRemovedEventEmittedResponse { + _msgSender: string; + _minter: string; +} +export interface MinterAllowanceIncrementedEventEmittedResponse { + _msgSender: string; + _minter: string; + _increment: BigNumberish; + _newAllowance: BigNumberish; +} +export interface MinterAllowanceDecrementedEventEmittedResponse { + msgSender: string; + minter: string; + decrement: BigNumberish; + newAllowance: BigNumberish; +} +export interface ControllerConfiguredEventEmittedResponse { + _controller: string; + _worker: string; +} +export interface ControllerRemovedEventEmittedResponse { + _controller: string; +} +export interface OwnershipTransferredEventEmittedResponse { + previousOwner: string; + newOwner: string; +} +export interface MinterAdmin { + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _allowanceIncrement Type: uint256, Indexed: false + */ + incrementMinterAllowance( + _allowanceIncrement: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _newMinterManager Type: address, Indexed: false + */ + setMinterManager( + _newMinterManager: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _allowanceDecrement Type: uint256, Indexed: false + */ + decrementMinterAllowance( + _allowanceDecrement: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + owner(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + getMinterManager(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param _controller Type: address, Indexed: false + */ + getWorker( + _controller: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _controller Type: address, Indexed: false + * @param _worker Type: address, Indexed: false + */ + configureController( + _controller: string, + _worker: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _newAllowance Type: uint256, Indexed: false + */ + configureMinter( + _newAllowance: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + */ + removeMinter( + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param newOwner Type: address, Indexed: false + */ + transferOwnership( + newOwner: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _controller Type: address, Indexed: false + */ + removeController( + _controller: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: constructor + * @param _minterManager Type: address, Indexed: false + */ + 'new'( + _minterManager: string, + overrides?: ContractTransactionOverrides + ): Promise; +} diff --git a/packages/node/abi-types/MinterManagementInterface.ts b/packages/node/abi-types/MinterManagementInterface.ts new file mode 100755 index 0000000..c8e395d --- /dev/null +++ b/packages/node/abi-types/MinterManagementInterface.ts @@ -0,0 +1,111 @@ +import { + ContractTransaction, + ContractInterface, + BytesLike as Arrayish, + BigNumber, + BigNumberish, +} from 'ethers'; +import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; + +export type ContractContext = EthersContractContextV5< + MinterManagementInterface, + MinterManagementInterfaceMethodNames, + MinterManagementInterfaceEventsContext, + MinterManagementInterfaceEvents +>; + +export declare type EventFilter = { + address?: string; + topics?: Array; + fromBlock?: string | number; + toBlock?: string | number; +}; + +export interface ContractTransactionOverrides { + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; + /** + * The price (in wei) per unit of gas + */ + gasPrice?: BigNumber | string | number | Promise; + /** + * The nonce to use in the transaction + */ + nonce?: number; + /** + * The amount to send with the transaction (i.e. msg.value) + */ + value?: BigNumber | string | number | Promise; + /** + * The chain ID (or network ID) to use + */ + chainId?: number; +} + +export interface ContractCallOverrides { + /** + * The address to execute the call as + */ + from?: string; + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; +} +export type MinterManagementInterfaceEvents = undefined; +export interface MinterManagementInterfaceEventsContext {} +export type MinterManagementInterfaceMethodNames = + | 'removeMinter' + | 'configureMinter' + | 'minterAllowance' + | 'isMinter'; +export interface MinterManagementInterface { + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _minter Type: address, Indexed: false + */ + removeMinter( + _minter: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _minter Type: address, Indexed: false + * @param _minterAllowedAmount Type: uint256, Indexed: false + */ + configureMinter( + _minter: string, + _minterAllowedAmount: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param _minter Type: address, Indexed: false + */ + minterAllowance( + _minter: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param _account Type: address, Indexed: false + */ + isMinter( + _account: string, + overrides?: ContractCallOverrides + ): Promise; +} diff --git a/packages/node/abi-types/Ownable.ts b/packages/node/abi-types/Ownable.ts new file mode 100755 index 0000000..ea8af86 --- /dev/null +++ b/packages/node/abi-types/Ownable.ts @@ -0,0 +1,85 @@ +import { + ContractTransaction, + ContractInterface, + BytesLike as Arrayish, + BigNumber, + BigNumberish, +} from 'ethers'; +import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; + +export type ContractContext = EthersContractContextV5< + Ownable, + OwnableMethodNames, + OwnableEventsContext, + OwnableEvents +>; + +export declare type EventFilter = { + address?: string; + topics?: Array; + fromBlock?: string | number; + toBlock?: string | number; +}; + +export interface ContractTransactionOverrides { + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; + /** + * The price (in wei) per unit of gas + */ + gasPrice?: BigNumber | string | number | Promise; + /** + * The nonce to use in the transaction + */ + nonce?: number; + /** + * The amount to send with the transaction (i.e. msg.value) + */ + value?: BigNumber | string | number | Promise; + /** + * The chain ID (or network ID) to use + */ + chainId?: number; +} + +export interface ContractCallOverrides { + /** + * The address to execute the call as + */ + from?: string; + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; +} +export type OwnableEvents = 'OwnershipTransferred'; +export interface OwnableEventsContext { + OwnershipTransferred(...parameters: any): EventFilter; +} +export type OwnableMethodNames = 'owner' | 'transferOwnership'; +export interface OwnershipTransferredEventEmittedResponse { + previousOwner: string; + newOwner: string; +} +export interface Ownable { + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + owner(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param newOwner Type: address, Indexed: false + */ + transferOwnership( + newOwner: string, + overrides?: ContractTransactionOverrides + ): Promise; +} diff --git a/packages/node/abi-types/Pausable.ts b/packages/node/abi-types/Pausable.ts new file mode 100755 index 0000000..f1614cd --- /dev/null +++ b/packages/node/abi-types/Pausable.ts @@ -0,0 +1,143 @@ +import { + ContractTransaction, + ContractInterface, + BytesLike as Arrayish, + BigNumber, + BigNumberish, +} from 'ethers'; +import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; + +export type ContractContext = EthersContractContextV5< + Pausable, + PausableMethodNames, + PausableEventsContext, + PausableEvents +>; + +export declare type EventFilter = { + address?: string; + topics?: Array; + fromBlock?: string | number; + toBlock?: string | number; +}; + +export interface ContractTransactionOverrides { + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; + /** + * The price (in wei) per unit of gas + */ + gasPrice?: BigNumber | string | number | Promise; + /** + * The nonce to use in the transaction + */ + nonce?: number; + /** + * The amount to send with the transaction (i.e. msg.value) + */ + value?: BigNumber | string | number | Promise; + /** + * The chain ID (or network ID) to use + */ + chainId?: number; +} + +export interface ContractCallOverrides { + /** + * The address to execute the call as + */ + from?: string; + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; +} +export type PausableEvents = + | 'OwnershipTransferred' + | 'Pause' + | 'PauserChanged' + | 'Unpause'; +export interface PausableEventsContext { + OwnershipTransferred(...parameters: any): EventFilter; + Pause(...parameters: any): EventFilter; + PauserChanged(...parameters: any): EventFilter; + Unpause(...parameters: any): EventFilter; +} +export type PausableMethodNames = + | 'owner' + | 'pause' + | 'paused' + | 'pauser' + | 'transferOwnership' + | 'unpause' + | 'updatePauser'; +export interface OwnershipTransferredEventEmittedResponse { + previousOwner: string; + newOwner: string; +} +export interface PauserChangedEventEmittedResponse { + newAddress: string; +} +export interface Pausable { + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + owner(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + */ + pause(overrides?: ContractTransactionOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + paused(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + pauser(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param newOwner Type: address, Indexed: false + */ + transferOwnership( + newOwner: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + */ + unpause( + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _newPauser Type: address, Indexed: false + */ + updatePauser( + _newPauser: string, + overrides?: ContractTransactionOverrides + ): Promise; +} diff --git a/packages/node/abi-types/Proxy.ts b/packages/node/abi-types/Proxy.ts new file mode 100755 index 0000000..160c8cc --- /dev/null +++ b/packages/node/abi-types/Proxy.ts @@ -0,0 +1,60 @@ +import { + ContractTransaction, + ContractInterface, + BytesLike as Arrayish, + BigNumber, + BigNumberish, +} from 'ethers'; +import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; + +export type ContractContext = EthersContractContextV5< + Proxy, + ProxyMethodNames, + ProxyEventsContext, + ProxyEvents +>; + +export declare type EventFilter = { + address?: string; + topics?: Array; + fromBlock?: string | number; + toBlock?: string | number; +}; + +export interface ContractTransactionOverrides { + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; + /** + * The price (in wei) per unit of gas + */ + gasPrice?: BigNumber | string | number | Promise; + /** + * The nonce to use in the transaction + */ + nonce?: number; + /** + * The amount to send with the transaction (i.e. msg.value) + */ + value?: BigNumber | string | number | Promise; + /** + * The chain ID (or network ID) to use + */ + chainId?: number; +} + +export interface ContractCallOverrides { + /** + * The address to execute the call as + */ + from?: string; + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; +} +export type ProxyEvents = undefined; +export interface ProxyEventsContext {} +export type ProxyMethodNames = undefined; +export interface Proxy {} diff --git a/packages/node/abi-types/Rescuable.ts b/packages/node/abi-types/Rescuable.ts new file mode 100755 index 0000000..7a056ff --- /dev/null +++ b/packages/node/abi-types/Rescuable.ts @@ -0,0 +1,127 @@ +import { + ContractTransaction, + ContractInterface, + BytesLike as Arrayish, + BigNumber, + BigNumberish, +} from 'ethers'; +import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; + +export type ContractContext = EthersContractContextV5< + Rescuable, + RescuableMethodNames, + RescuableEventsContext, + RescuableEvents +>; + +export declare type EventFilter = { + address?: string; + topics?: Array; + fromBlock?: string | number; + toBlock?: string | number; +}; + +export interface ContractTransactionOverrides { + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; + /** + * The price (in wei) per unit of gas + */ + gasPrice?: BigNumber | string | number | Promise; + /** + * The nonce to use in the transaction + */ + nonce?: number; + /** + * The amount to send with the transaction (i.e. msg.value) + */ + value?: BigNumber | string | number | Promise; + /** + * The chain ID (or network ID) to use + */ + chainId?: number; +} + +export interface ContractCallOverrides { + /** + * The address to execute the call as + */ + from?: string; + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; +} +export type RescuableEvents = 'OwnershipTransferred' | 'RescuerChanged'; +export interface RescuableEventsContext { + OwnershipTransferred(...parameters: any): EventFilter; + RescuerChanged(...parameters: any): EventFilter; +} +export type RescuableMethodNames = + | 'owner' + | 'rescueERC20' + | 'rescuer' + | 'transferOwnership' + | 'updateRescuer'; +export interface OwnershipTransferredEventEmittedResponse { + previousOwner: string; + newOwner: string; +} +export interface RescuerChangedEventEmittedResponse { + newRescuer: string; +} +export interface Rescuable { + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + owner(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param tokenContract Type: address, Indexed: false + * @param to Type: address, Indexed: false + * @param amount Type: uint256, Indexed: false + */ + rescueERC20( + tokenContract: string, + to: string, + amount: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + rescuer(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param newOwner Type: address, Indexed: false + */ + transferOwnership( + newOwner: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param newRescuer Type: address, Indexed: false + */ + updateRescuer( + newRescuer: string, + overrides?: ContractTransactionOverrides + ): Promise; +} diff --git a/packages/node/abi-types/SafeMath.ts b/packages/node/abi-types/SafeMath.ts new file mode 100755 index 0000000..60084a3 --- /dev/null +++ b/packages/node/abi-types/SafeMath.ts @@ -0,0 +1,60 @@ +import { + ContractTransaction, + ContractInterface, + BytesLike as Arrayish, + BigNumber, + BigNumberish, +} from 'ethers'; +import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; + +export type ContractContext = EthersContractContextV5< + SafeMath, + SafeMathMethodNames, + SafeMathEventsContext, + SafeMathEvents +>; + +export declare type EventFilter = { + address?: string; + topics?: Array; + fromBlock?: string | number; + toBlock?: string | number; +}; + +export interface ContractTransactionOverrides { + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; + /** + * The price (in wei) per unit of gas + */ + gasPrice?: BigNumber | string | number | Promise; + /** + * The nonce to use in the transaction + */ + nonce?: number; + /** + * The amount to send with the transaction (i.e. msg.value) + */ + value?: BigNumber | string | number | Promise; + /** + * The chain ID (or network ID) to use + */ + chainId?: number; +} + +export interface ContractCallOverrides { + /** + * The address to execute the call as + */ + from?: string; + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; +} +export type SafeMathEvents = undefined; +export interface SafeMathEventsContext {} +export type SafeMathMethodNames = undefined; +export interface SafeMath {} diff --git a/packages/node/abi-types/StorageSlot.ts b/packages/node/abi-types/StorageSlot.ts new file mode 100755 index 0000000..ef6d654 --- /dev/null +++ b/packages/node/abi-types/StorageSlot.ts @@ -0,0 +1,60 @@ +import { + ContractTransaction, + ContractInterface, + BytesLike as Arrayish, + BigNumber, + BigNumberish, +} from 'ethers'; +import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; + +export type ContractContext = EthersContractContextV5< + StorageSlot, + StorageSlotMethodNames, + StorageSlotEventsContext, + StorageSlotEvents +>; + +export declare type EventFilter = { + address?: string; + topics?: Array; + fromBlock?: string | number; + toBlock?: string | number; +}; + +export interface ContractTransactionOverrides { + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; + /** + * The price (in wei) per unit of gas + */ + gasPrice?: BigNumber | string | number | Promise; + /** + * The nonce to use in the transaction + */ + nonce?: number; + /** + * The amount to send with the transaction (i.e. msg.value) + */ + value?: BigNumber | string | number | Promise; + /** + * The chain ID (or network ID) to use + */ + chainId?: number; +} + +export interface ContractCallOverrides { + /** + * The address to execute the call as + */ + from?: string; + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; +} +export type StorageSlotEvents = undefined; +export interface StorageSlotEventsContext {} +export type StorageSlotMethodNames = undefined; +export interface StorageSlot {} diff --git a/packages/node/abi-types/UUPSUpgradeable.ts b/packages/node/abi-types/UUPSUpgradeable.ts new file mode 100755 index 0000000..af46263 --- /dev/null +++ b/packages/node/abi-types/UUPSUpgradeable.ts @@ -0,0 +1,100 @@ +import { + ContractTransaction, + ContractInterface, + BytesLike as Arrayish, + BigNumber, + BigNumberish, +} from 'ethers'; +import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; + +export type ContractContext = EthersContractContextV5< + UUPSUpgradeable, + UUPSUpgradeableMethodNames, + UUPSUpgradeableEventsContext, + UUPSUpgradeableEvents +>; + +export declare type EventFilter = { + address?: string; + topics?: Array; + fromBlock?: string | number; + toBlock?: string | number; +}; + +export interface ContractTransactionOverrides { + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; + /** + * The price (in wei) per unit of gas + */ + gasPrice?: BigNumber | string | number | Promise; + /** + * The nonce to use in the transaction + */ + nonce?: number; + /** + * The amount to send with the transaction (i.e. msg.value) + */ + value?: BigNumber | string | number | Promise; + /** + * The chain ID (or network ID) to use + */ + chainId?: number; +} + +export interface ContractCallOverrides { + /** + * The address to execute the call as + */ + from?: string; + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; +} +export type UUPSUpgradeableEvents = 'Upgraded'; +export interface UUPSUpgradeableEventsContext { + Upgraded(...parameters: any): EventFilter; +} +export type UUPSUpgradeableMethodNames = + | 'proxiableUUID' + | 'upgradeTo' + | 'upgradeToAndCall'; +export interface UpgradedEventEmittedResponse { + implementation: string; +} +export interface UUPSUpgradeable { + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + proxiableUUID(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param newImplementation Type: address, Indexed: false + */ + upgradeTo( + newImplementation: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: true + * Constant: false + * StateMutability: payable + * Type: function + * @param newImplementation Type: address, Indexed: false + * @param data Type: bytes, Indexed: false + */ + upgradeToAndCall( + newImplementation: string, + data: Arrayish, + overrides?: ContractTransactionOverrides + ): Promise; +} diff --git a/packages/node/abi-types/UUPSUpgradeableUnsafeMock.ts b/packages/node/abi-types/UUPSUpgradeableUnsafeMock.ts new file mode 100755 index 0000000..124dff8 --- /dev/null +++ b/packages/node/abi-types/UUPSUpgradeableUnsafeMock.ts @@ -0,0 +1,780 @@ +import { + ContractTransaction, + ContractInterface, + BytesLike as Arrayish, + BigNumber, + BigNumberish, +} from 'ethers'; +import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; + +export type ContractContext = EthersContractContextV5< + UUPSUpgradeableUnsafeMock, + UUPSUpgradeableUnsafeMockMethodNames, + UUPSUpgradeableUnsafeMockEventsContext, + UUPSUpgradeableUnsafeMockEvents +>; + +export declare type EventFilter = { + address?: string; + topics?: Array; + fromBlock?: string | number; + toBlock?: string | number; +}; + +export interface ContractTransactionOverrides { + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; + /** + * The price (in wei) per unit of gas + */ + gasPrice?: BigNumber | string | number | Promise; + /** + * The nonce to use in the transaction + */ + nonce?: number; + /** + * The amount to send with the transaction (i.e. msg.value) + */ + value?: BigNumber | string | number | Promise; + /** + * The chain ID (or network ID) to use + */ + chainId?: number; +} + +export interface ContractCallOverrides { + /** + * The address to execute the call as + */ + from?: string; + /** + * The maximum units of gas for the transaction to use + */ + gasLimit?: number; +} +export type UUPSUpgradeableUnsafeMockEvents = + | 'Approval' + | 'AuthorizationCanceled' + | 'AuthorizationUsed' + | 'Blocklisted' + | 'BlocklisterChanged' + | 'Burn' + | 'Mint' + | 'MinterAdminChanged' + | 'MinterConfigured' + | 'MinterRemoved' + | 'OwnershipTransferred' + | 'Pause' + | 'PauserChanged' + | 'RescuerChanged' + | 'Transfer' + | 'UnBlocklisted' + | 'Unpause' + | 'Upgraded'; +export interface UUPSUpgradeableUnsafeMockEventsContext { + Approval(...parameters: any): EventFilter; + AuthorizationCanceled(...parameters: any): EventFilter; + AuthorizationUsed(...parameters: any): EventFilter; + Blocklisted(...parameters: any): EventFilter; + BlocklisterChanged(...parameters: any): EventFilter; + Burn(...parameters: any): EventFilter; + Mint(...parameters: any): EventFilter; + MinterAdminChanged(...parameters: any): EventFilter; + MinterConfigured(...parameters: any): EventFilter; + MinterRemoved(...parameters: any): EventFilter; + OwnershipTransferred(...parameters: any): EventFilter; + Pause(...parameters: any): EventFilter; + PauserChanged(...parameters: any): EventFilter; + RescuerChanged(...parameters: any): EventFilter; + Transfer(...parameters: any): EventFilter; + UnBlocklisted(...parameters: any): EventFilter; + Unpause(...parameters: any): EventFilter; + Upgraded(...parameters: any): EventFilter; +} +export type UUPSUpgradeableUnsafeMockMethodNames = + | 'CANCEL_AUTHORIZATION_TYPEHASH' + | 'PERMIT_TYPEHASH' + | 'RECEIVE_WITH_AUTHORIZATION_TYPEHASH' + | 'TRANSFER_WITH_AUTHORIZATION_TYPEHASH' + | '_domainSeparatorV4' + | 'allowance' + | 'approve' + | 'authorizationState' + | 'balanceOf' + | 'blocklist' + | 'blocklister' + | 'burn' + | 'cancelAuthorization' + | 'configureMinter' + | 'currency' + | 'decimals' + | 'decreaseAllowance' + | 'increaseAllowance' + | 'initialize' + | 'isBlocklisted' + | 'isMinter' + | 'mint' + | 'minterAdmin' + | 'minterAllowance' + | 'name' + | 'nonces' + | 'owner' + | 'pause' + | 'paused' + | 'pauser' + | 'permit' + | 'proxiableUUID' + | 'receiveWithAuthorization' + | 'removeMinter' + | 'rescueERC20' + | 'rescuer' + | 'symbol' + | 'totalSupply' + | 'transfer' + | 'transferFrom' + | 'transferOwnership' + | 'transferWithAuthorization' + | 'unBlocklist' + | 'unpause' + | 'updateBlocklister' + | 'updateMinterAdmin' + | 'updatePauser' + | 'updateRescuer' + | 'upgradeTo' + | 'upgradeToAndCall'; +export interface ApprovalEventEmittedResponse { + owner: string; + spender: string; + value: BigNumberish; +} +export interface AuthorizationCanceledEventEmittedResponse { + authorizer: string; + nonce: Arrayish; +} +export interface AuthorizationUsedEventEmittedResponse { + authorizer: string; + nonce: Arrayish; +} +export interface BlocklistedEventEmittedResponse { + _account: string; +} +export interface BlocklisterChangedEventEmittedResponse { + newBlocklister: string; +} +export interface BurnEventEmittedResponse { + burner: string; + amount: BigNumberish; +} +export interface MintEventEmittedResponse { + minter: string; + to: string; + amount: BigNumberish; +} +export interface MinterAdminChangedEventEmittedResponse { + newMinterAdmin: string; +} +export interface MinterConfiguredEventEmittedResponse { + minter: string; + minterAllowedAmount: BigNumberish; +} +export interface MinterRemovedEventEmittedResponse { + oldMinter: string; +} +export interface OwnershipTransferredEventEmittedResponse { + previousOwner: string; + newOwner: string; +} +export interface PauserChangedEventEmittedResponse { + newAddress: string; +} +export interface RescuerChangedEventEmittedResponse { + newRescuer: string; +} +export interface TransferEventEmittedResponse { + from: string; + to: string; + value: BigNumberish; +} +export interface UnBlocklistedEventEmittedResponse { + _account: string; +} +export interface UpgradedEventEmittedResponse { + implementation: string; +} +export interface UUPSUpgradeableUnsafeMock { + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + CANCEL_AUTHORIZATION_TYPEHASH( + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + PERMIT_TYPEHASH(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + RECEIVE_WITH_AUTHORIZATION_TYPEHASH( + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + TRANSFER_WITH_AUTHORIZATION_TYPEHASH( + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + _domainSeparatorV4(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param owner Type: address, Indexed: false + * @param spender Type: address, Indexed: false + */ + allowance( + owner: string, + spender: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param spender Type: address, Indexed: false + * @param value Type: uint256, Indexed: false + */ + approve( + spender: string, + value: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param authorizer Type: address, Indexed: false + * @param nonce Type: bytes32, Indexed: false + */ + authorizationState( + authorizer: string, + nonce: Arrayish, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param account Type: address, Indexed: false + */ + balanceOf( + account: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _account Type: address, Indexed: false + */ + blocklist( + _account: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + blocklister(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _amount Type: uint256, Indexed: false + */ + burn( + _amount: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param authorizer Type: address, Indexed: false + * @param nonce Type: bytes32, Indexed: false + * @param v Type: uint8, Indexed: false + * @param r Type: bytes32, Indexed: false + * @param s Type: bytes32, Indexed: false + */ + cancelAuthorization( + authorizer: string, + nonce: Arrayish, + v: BigNumberish, + r: Arrayish, + s: Arrayish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param minter Type: address, Indexed: false + * @param minterAllowedAmount Type: uint256, Indexed: false + */ + configureMinter( + minter: string, + minterAllowedAmount: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + currency(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + decimals(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param spender Type: address, Indexed: false + * @param decrement Type: uint256, Indexed: false + */ + decreaseAllowance( + spender: string, + decrement: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param spender Type: address, Indexed: false + * @param increment Type: uint256, Indexed: false + */ + increaseAllowance( + spender: string, + increment: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param tokenName Type: string, Indexed: false + * @param tokenSymbol Type: string, Indexed: false + * @param tokenCurrency Type: string, Indexed: false + * @param tokenDecimals Type: uint8, Indexed: false + * @param newMinterAdmin Type: address, Indexed: false + * @param newPauser Type: address, Indexed: false + * @param newBlocklister Type: address, Indexed: false + * @param newRescuer Type: address, Indexed: false + * @param newOwner Type: address, Indexed: false + */ + initialize( + tokenName: string, + tokenSymbol: string, + tokenCurrency: string, + tokenDecimals: BigNumberish, + newMinterAdmin: string, + newPauser: string, + newBlocklister: string, + newRescuer: string, + newOwner: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param _account Type: address, Indexed: false + */ + isBlocklisted( + _account: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param account Type: address, Indexed: false + */ + isMinter( + account: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _to Type: address, Indexed: false + * @param _amount Type: uint256, Indexed: false + */ + mint( + _to: string, + _amount: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + minterAdmin(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param minter Type: address, Indexed: false + */ + minterAllowance( + minter: string, + overrides?: ContractCallOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + name(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param owner Type: address, Indexed: false + */ + nonces(owner: string, overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + owner(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + */ + pause(overrides?: ContractTransactionOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + paused(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + pauser(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param owner Type: address, Indexed: false + * @param spender Type: address, Indexed: false + * @param value Type: uint256, Indexed: false + * @param deadline Type: uint256, Indexed: false + * @param v Type: uint8, Indexed: false + * @param r Type: bytes32, Indexed: false + * @param s Type: bytes32, Indexed: false + */ + permit( + owner: string, + spender: string, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: Arrayish, + s: Arrayish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + proxiableUUID(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param from Type: address, Indexed: false + * @param to Type: address, Indexed: false + * @param value Type: uint256, Indexed: false + * @param validAfter Type: uint256, Indexed: false + * @param validBefore Type: uint256, Indexed: false + * @param nonce Type: bytes32, Indexed: false + * @param v Type: uint8, Indexed: false + * @param r Type: bytes32, Indexed: false + * @param s Type: bytes32, Indexed: false + */ + receiveWithAuthorization( + from: string, + to: string, + value: BigNumberish, + validAfter: BigNumberish, + validBefore: BigNumberish, + nonce: Arrayish, + v: BigNumberish, + r: Arrayish, + s: Arrayish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param minter Type: address, Indexed: false + */ + removeMinter( + minter: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param tokenContract Type: address, Indexed: false + * @param to Type: address, Indexed: false + * @param amount Type: uint256, Indexed: false + */ + rescueERC20( + tokenContract: string, + to: string, + amount: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + rescuer(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + symbol(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + totalSupply(overrides?: ContractCallOverrides): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param to Type: address, Indexed: false + * @param value Type: uint256, Indexed: false + */ + transfer( + to: string, + value: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param from Type: address, Indexed: false + * @param to Type: address, Indexed: false + * @param value Type: uint256, Indexed: false + */ + transferFrom( + from: string, + to: string, + value: BigNumberish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param newOwner Type: address, Indexed: false + */ + transferOwnership( + newOwner: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param from Type: address, Indexed: false + * @param to Type: address, Indexed: false + * @param value Type: uint256, Indexed: false + * @param validAfter Type: uint256, Indexed: false + * @param validBefore Type: uint256, Indexed: false + * @param nonce Type: bytes32, Indexed: false + * @param v Type: uint8, Indexed: false + * @param r Type: bytes32, Indexed: false + * @param s Type: bytes32, Indexed: false + */ + transferWithAuthorization( + from: string, + to: string, + value: BigNumberish, + validAfter: BigNumberish, + validBefore: BigNumberish, + nonce: Arrayish, + v: BigNumberish, + r: Arrayish, + s: Arrayish, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _account Type: address, Indexed: false + */ + unBlocklist( + _account: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + */ + unpause( + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _newBlocklister Type: address, Indexed: false + */ + updateBlocklister( + _newBlocklister: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _newMinterAdmin Type: address, Indexed: false + */ + updateMinterAdmin( + _newMinterAdmin: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param _newPauser Type: address, Indexed: false + */ + updatePauser( + _newPauser: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param newRescuer Type: address, Indexed: false + */ + updateRescuer( + newRescuer: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param newImplementation Type: address, Indexed: false + */ + upgradeTo( + newImplementation: string, + overrides?: ContractTransactionOverrides + ): Promise; + /** + * Payable: true + * Constant: false + * StateMutability: payable + * Type: function + * @param newImplementation Type: address, Indexed: false + * @param data Type: bytes, Indexed: false + */ + upgradeToAndCall( + newImplementation: string, + data: Arrayish, + overrides?: ContractTransactionOverrides + ): Promise; +} From 9529cca2c4f27fa78dd8d1db8c8df7c1329dc8ed Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 5 Jul 2024 17:19:42 +0900 Subject: [PATCH 07/92] Update README --- README.md | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 58 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3e76dda..41b40da 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,58 @@ -# sdks -Monorepo for JPYC SDKs +# JPYC SDKs + +Monorepo for JPYC SDKs. + +## 🔨 Development + +### Git Submodules + +This repo uses [Git Submodules](https://git-scm.com/book/en/v2/Git-Tools-Submodules) to be in sync with [JPYCv2](https://github.com/jcam1/JPYCv2/tree/main) repo. + +To include submodules when cloning the repo, add `--recursive` option like below. + +```sh +$ git clone --recursive https://github.com/jcam1/sdks.git +``` + +### Yarn Workspaces + +This repo uses [Yarn Workspaces](https://yarnpkg.com/features/workspaces) primarily as a monorepo management tool. Please refer to the inserted link for details. + +### NPM Scripts + +To run NPM scripts defined in workspaces, run the following. + +```sh +$ npm run -w +``` + +Please see a list of NPM scripts below. + +| Command | Workspace | Description | +|--------:|:----------|:------------| +| `gen` | `@jpyc/node-sdk-v0` | Generate types for ABIs | + +### Dependencies + +To add dependencies, run one of the following. To prevent unexpected behaviors, always pin the exact versions of the dependencies to be installed. + +```sh +# Add dependencies to the specified workspace +$ yarn workspace add -E + +# Add dev dependencies to the specified workspace +$ yarn workspace add -E -D + +# Add dev dependencies to the workspaces root +$ yarn add -E -D -W +``` + +To remove dependencies, run one of the following. + +```sh +# Remove dependencies from the specified workspace +$ yarn workspace remove + +# Remove dependencies from the workspaces root +$ yarn remove -W +``` From 04143835d257d27a49763541eab0798943ad7911 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Tue, 9 Jul 2024 19:48:51 +0900 Subject: [PATCH 08/92] Specify version constraints --- .npmrc | 1 + package.json | 4 ++++ 2 files changed, 5 insertions(+) create mode 100644 .npmrc diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..c42da84 --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +engine-strict = true diff --git a/package.json b/package.json index 8356457..07676a7 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,10 @@ "repository": "https://github.com/jcam1/sdks.git", "license": "MIT", "version": "0.0.0", + "engines": { + "node": "^20.12.0", + "yarn": "^1.22.22" + }, "private": true, "workspaces": [ "packages/**/*" From 21aa1a646cdc76cff2c506314d6e6121dc6aea8d Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Tue, 9 Jul 2024 19:50:21 +0900 Subject: [PATCH 09/92] Add sdk core package & IDs of supported chains --- .../abi-types/AbstractFiatTokenV1.ts | 0 packages/node/{ => core}/abi-types/Address.ts | 0 .../{ => core}/abi-types/Blocklistable.ts | 0 packages/node/{ => core}/abi-types/Context.ts | 0 .../node/{ => core}/abi-types/ContractCall.ts | 0 .../node/{ => core}/abi-types/Controller.ts | 0 .../node/{ => core}/abi-types/DummyERC20.ts | 0 .../node/{ => core}/abi-types/ECRecover.ts | 0 .../{ => core}/abi-types/ECRecoverTest.ts | 0 packages/node/{ => core}/abi-types/EIP2612.ts | 0 packages/node/{ => core}/abi-types/EIP3009.ts | 0 packages/node/{ => core}/abi-types/EIP712.ts | 0 .../node/{ => core}/abi-types/EIP712Domain.ts | 0 .../node/{ => core}/abi-types/ERC1967Proxy.ts | 0 .../{ => core}/abi-types/ERC1967Upgrade.ts | 0 packages/node/{ => core}/abi-types/ERC20.ts | 0 .../node/{ => core}/abi-types/FiatTokenV1.ts | 0 .../{ => core}/abi-types/FiatTokenV1Test.ts | 0 .../node/{ => core}/abi-types/FiatTokenV2.ts | 0 .../{ => core}/abi-types/FiatTokenV2Test.ts | 0 .../{ => core}/abi-types/IERC1822Proxiable.ts | 0 packages/node/{ => core}/abi-types/IERC20.ts | 0 .../{ => core}/abi-types/IERC20Metadata.ts | 0 .../{ => core}/abi-types/MintController.ts | 0 .../node/{ => core}/abi-types/MinterAdmin.ts | 0 .../abi-types/MinterManagementInterface.ts | 0 packages/node/{ => core}/abi-types/Ownable.ts | 0 .../node/{ => core}/abi-types/Pausable.ts | 0 packages/node/{ => core}/abi-types/Proxy.ts | 0 .../node/{ => core}/abi-types/Rescuable.ts | 0 .../node/{ => core}/abi-types/SafeMath.ts | 0 .../node/{ => core}/abi-types/StorageSlot.ts | 0 .../{ => core}/abi-types/UUPSUpgradeable.ts | 0 .../abi-types/UUPSUpgradeableUnsafeMock.ts | 0 packages/node/core/package.json | 34 +++++++++++++++++ packages/node/core/src/chains.ts | 37 +++++++++++++++++++ packages/node/core/src/index.ts | 1 + packages/node/v0/examples/.gitkeep | 0 packages/node/v0/package.json | 4 ++ 39 files changed, 76 insertions(+) rename packages/node/{ => core}/abi-types/AbstractFiatTokenV1.ts (100%) rename packages/node/{ => core}/abi-types/Address.ts (100%) rename packages/node/{ => core}/abi-types/Blocklistable.ts (100%) rename packages/node/{ => core}/abi-types/Context.ts (100%) rename packages/node/{ => core}/abi-types/ContractCall.ts (100%) rename packages/node/{ => core}/abi-types/Controller.ts (100%) rename packages/node/{ => core}/abi-types/DummyERC20.ts (100%) rename packages/node/{ => core}/abi-types/ECRecover.ts (100%) rename packages/node/{ => core}/abi-types/ECRecoverTest.ts (100%) rename packages/node/{ => core}/abi-types/EIP2612.ts (100%) rename packages/node/{ => core}/abi-types/EIP3009.ts (100%) rename packages/node/{ => core}/abi-types/EIP712.ts (100%) rename packages/node/{ => core}/abi-types/EIP712Domain.ts (100%) rename packages/node/{ => core}/abi-types/ERC1967Proxy.ts (100%) rename packages/node/{ => core}/abi-types/ERC1967Upgrade.ts (100%) rename packages/node/{ => core}/abi-types/ERC20.ts (100%) rename packages/node/{ => core}/abi-types/FiatTokenV1.ts (100%) rename packages/node/{ => core}/abi-types/FiatTokenV1Test.ts (100%) rename packages/node/{ => core}/abi-types/FiatTokenV2.ts (100%) rename packages/node/{ => core}/abi-types/FiatTokenV2Test.ts (100%) rename packages/node/{ => core}/abi-types/IERC1822Proxiable.ts (100%) rename packages/node/{ => core}/abi-types/IERC20.ts (100%) rename packages/node/{ => core}/abi-types/IERC20Metadata.ts (100%) rename packages/node/{ => core}/abi-types/MintController.ts (100%) rename packages/node/{ => core}/abi-types/MinterAdmin.ts (100%) rename packages/node/{ => core}/abi-types/MinterManagementInterface.ts (100%) rename packages/node/{ => core}/abi-types/Ownable.ts (100%) rename packages/node/{ => core}/abi-types/Pausable.ts (100%) rename packages/node/{ => core}/abi-types/Proxy.ts (100%) rename packages/node/{ => core}/abi-types/Rescuable.ts (100%) rename packages/node/{ => core}/abi-types/SafeMath.ts (100%) rename packages/node/{ => core}/abi-types/StorageSlot.ts (100%) rename packages/node/{ => core}/abi-types/UUPSUpgradeable.ts (100%) rename packages/node/{ => core}/abi-types/UUPSUpgradeableUnsafeMock.ts (100%) create mode 100644 packages/node/core/package.json create mode 100644 packages/node/core/src/chains.ts create mode 100644 packages/node/core/src/index.ts create mode 100644 packages/node/v0/examples/.gitkeep diff --git a/packages/node/abi-types/AbstractFiatTokenV1.ts b/packages/node/core/abi-types/AbstractFiatTokenV1.ts similarity index 100% rename from packages/node/abi-types/AbstractFiatTokenV1.ts rename to packages/node/core/abi-types/AbstractFiatTokenV1.ts diff --git a/packages/node/abi-types/Address.ts b/packages/node/core/abi-types/Address.ts similarity index 100% rename from packages/node/abi-types/Address.ts rename to packages/node/core/abi-types/Address.ts diff --git a/packages/node/abi-types/Blocklistable.ts b/packages/node/core/abi-types/Blocklistable.ts similarity index 100% rename from packages/node/abi-types/Blocklistable.ts rename to packages/node/core/abi-types/Blocklistable.ts diff --git a/packages/node/abi-types/Context.ts b/packages/node/core/abi-types/Context.ts similarity index 100% rename from packages/node/abi-types/Context.ts rename to packages/node/core/abi-types/Context.ts diff --git a/packages/node/abi-types/ContractCall.ts b/packages/node/core/abi-types/ContractCall.ts similarity index 100% rename from packages/node/abi-types/ContractCall.ts rename to packages/node/core/abi-types/ContractCall.ts diff --git a/packages/node/abi-types/Controller.ts b/packages/node/core/abi-types/Controller.ts similarity index 100% rename from packages/node/abi-types/Controller.ts rename to packages/node/core/abi-types/Controller.ts diff --git a/packages/node/abi-types/DummyERC20.ts b/packages/node/core/abi-types/DummyERC20.ts similarity index 100% rename from packages/node/abi-types/DummyERC20.ts rename to packages/node/core/abi-types/DummyERC20.ts diff --git a/packages/node/abi-types/ECRecover.ts b/packages/node/core/abi-types/ECRecover.ts similarity index 100% rename from packages/node/abi-types/ECRecover.ts rename to packages/node/core/abi-types/ECRecover.ts diff --git a/packages/node/abi-types/ECRecoverTest.ts b/packages/node/core/abi-types/ECRecoverTest.ts similarity index 100% rename from packages/node/abi-types/ECRecoverTest.ts rename to packages/node/core/abi-types/ECRecoverTest.ts diff --git a/packages/node/abi-types/EIP2612.ts b/packages/node/core/abi-types/EIP2612.ts similarity index 100% rename from packages/node/abi-types/EIP2612.ts rename to packages/node/core/abi-types/EIP2612.ts diff --git a/packages/node/abi-types/EIP3009.ts b/packages/node/core/abi-types/EIP3009.ts similarity index 100% rename from packages/node/abi-types/EIP3009.ts rename to packages/node/core/abi-types/EIP3009.ts diff --git a/packages/node/abi-types/EIP712.ts b/packages/node/core/abi-types/EIP712.ts similarity index 100% rename from packages/node/abi-types/EIP712.ts rename to packages/node/core/abi-types/EIP712.ts diff --git a/packages/node/abi-types/EIP712Domain.ts b/packages/node/core/abi-types/EIP712Domain.ts similarity index 100% rename from packages/node/abi-types/EIP712Domain.ts rename to packages/node/core/abi-types/EIP712Domain.ts diff --git a/packages/node/abi-types/ERC1967Proxy.ts b/packages/node/core/abi-types/ERC1967Proxy.ts similarity index 100% rename from packages/node/abi-types/ERC1967Proxy.ts rename to packages/node/core/abi-types/ERC1967Proxy.ts diff --git a/packages/node/abi-types/ERC1967Upgrade.ts b/packages/node/core/abi-types/ERC1967Upgrade.ts similarity index 100% rename from packages/node/abi-types/ERC1967Upgrade.ts rename to packages/node/core/abi-types/ERC1967Upgrade.ts diff --git a/packages/node/abi-types/ERC20.ts b/packages/node/core/abi-types/ERC20.ts similarity index 100% rename from packages/node/abi-types/ERC20.ts rename to packages/node/core/abi-types/ERC20.ts diff --git a/packages/node/abi-types/FiatTokenV1.ts b/packages/node/core/abi-types/FiatTokenV1.ts similarity index 100% rename from packages/node/abi-types/FiatTokenV1.ts rename to packages/node/core/abi-types/FiatTokenV1.ts diff --git a/packages/node/abi-types/FiatTokenV1Test.ts b/packages/node/core/abi-types/FiatTokenV1Test.ts similarity index 100% rename from packages/node/abi-types/FiatTokenV1Test.ts rename to packages/node/core/abi-types/FiatTokenV1Test.ts diff --git a/packages/node/abi-types/FiatTokenV2.ts b/packages/node/core/abi-types/FiatTokenV2.ts similarity index 100% rename from packages/node/abi-types/FiatTokenV2.ts rename to packages/node/core/abi-types/FiatTokenV2.ts diff --git a/packages/node/abi-types/FiatTokenV2Test.ts b/packages/node/core/abi-types/FiatTokenV2Test.ts similarity index 100% rename from packages/node/abi-types/FiatTokenV2Test.ts rename to packages/node/core/abi-types/FiatTokenV2Test.ts diff --git a/packages/node/abi-types/IERC1822Proxiable.ts b/packages/node/core/abi-types/IERC1822Proxiable.ts similarity index 100% rename from packages/node/abi-types/IERC1822Proxiable.ts rename to packages/node/core/abi-types/IERC1822Proxiable.ts diff --git a/packages/node/abi-types/IERC20.ts b/packages/node/core/abi-types/IERC20.ts similarity index 100% rename from packages/node/abi-types/IERC20.ts rename to packages/node/core/abi-types/IERC20.ts diff --git a/packages/node/abi-types/IERC20Metadata.ts b/packages/node/core/abi-types/IERC20Metadata.ts similarity index 100% rename from packages/node/abi-types/IERC20Metadata.ts rename to packages/node/core/abi-types/IERC20Metadata.ts diff --git a/packages/node/abi-types/MintController.ts b/packages/node/core/abi-types/MintController.ts similarity index 100% rename from packages/node/abi-types/MintController.ts rename to packages/node/core/abi-types/MintController.ts diff --git a/packages/node/abi-types/MinterAdmin.ts b/packages/node/core/abi-types/MinterAdmin.ts similarity index 100% rename from packages/node/abi-types/MinterAdmin.ts rename to packages/node/core/abi-types/MinterAdmin.ts diff --git a/packages/node/abi-types/MinterManagementInterface.ts b/packages/node/core/abi-types/MinterManagementInterface.ts similarity index 100% rename from packages/node/abi-types/MinterManagementInterface.ts rename to packages/node/core/abi-types/MinterManagementInterface.ts diff --git a/packages/node/abi-types/Ownable.ts b/packages/node/core/abi-types/Ownable.ts similarity index 100% rename from packages/node/abi-types/Ownable.ts rename to packages/node/core/abi-types/Ownable.ts diff --git a/packages/node/abi-types/Pausable.ts b/packages/node/core/abi-types/Pausable.ts similarity index 100% rename from packages/node/abi-types/Pausable.ts rename to packages/node/core/abi-types/Pausable.ts diff --git a/packages/node/abi-types/Proxy.ts b/packages/node/core/abi-types/Proxy.ts similarity index 100% rename from packages/node/abi-types/Proxy.ts rename to packages/node/core/abi-types/Proxy.ts diff --git a/packages/node/abi-types/Rescuable.ts b/packages/node/core/abi-types/Rescuable.ts similarity index 100% rename from packages/node/abi-types/Rescuable.ts rename to packages/node/core/abi-types/Rescuable.ts diff --git a/packages/node/abi-types/SafeMath.ts b/packages/node/core/abi-types/SafeMath.ts similarity index 100% rename from packages/node/abi-types/SafeMath.ts rename to packages/node/core/abi-types/SafeMath.ts diff --git a/packages/node/abi-types/StorageSlot.ts b/packages/node/core/abi-types/StorageSlot.ts similarity index 100% rename from packages/node/abi-types/StorageSlot.ts rename to packages/node/core/abi-types/StorageSlot.ts diff --git a/packages/node/abi-types/UUPSUpgradeable.ts b/packages/node/core/abi-types/UUPSUpgradeable.ts similarity index 100% rename from packages/node/abi-types/UUPSUpgradeable.ts rename to packages/node/core/abi-types/UUPSUpgradeable.ts diff --git a/packages/node/abi-types/UUPSUpgradeableUnsafeMock.ts b/packages/node/core/abi-types/UUPSUpgradeableUnsafeMock.ts similarity index 100% rename from packages/node/abi-types/UUPSUpgradeableUnsafeMock.ts rename to packages/node/core/abi-types/UUPSUpgradeableUnsafeMock.ts diff --git a/packages/node/core/package.json b/packages/node/core/package.json new file mode 100644 index 0000000..d985355 --- /dev/null +++ b/packages/node/core/package.json @@ -0,0 +1,34 @@ +{ + "name": "@jpyc/node-sdk-core", + "description": "Core Node SDK for JPYC", + "repository": "https://github.com/jcam1/sdks.git", + "license": "MIT", + "version": "1.0.0", + "engines": { + "node": "^20.12.0", + "yarn": "^1.22.22" + }, + "private": true, + "scripts": { + "gen": "run-s gen:*", + "gen:abi": "cd ../../../JPYCv2 && npx hardhat compile", + "gen:abi-types": "cd ../../../JPYCv2 && abi-types-generator hardhat && mv ethereum-abi-types ../packages/node/abi-types" + }, + "devDependencies": { + "@types/node": "20.14.9", + "@typescript-eslint/eslint-plugin": "7.15.0", + "@typescript-eslint/parser": "7.15.0", + "eslint": "9.6.0", + "eslint-config-prettier": "9.1.0", + "eslint-plugin-prettier": "5.1.3", + "ethereum-abi-types-generator": "1.3.4", + "npm-run-all": "4.1.5", + "prettier": "3.3.2", + "ts-node": "10.9.2", + "tsconfig-paths": "4.2.0", + "typescript": "5.5.3" + }, + "dependencies": { + "ethers": "6.13.1" + } +} diff --git a/packages/node/core/src/chains.ts b/packages/node/core/src/chains.ts new file mode 100644 index 0000000..382b358 --- /dev/null +++ b/packages/node/core/src/chains.ts @@ -0,0 +1,37 @@ +enum Ethereum { + MAINNET = 1, + GOERLI = 5, + SEPOLIA = 11155111, +} + +enum Polygon { + MAINNET = 137, + AMOY = 80002, +} + +enum Gnosis { + MAINNET = 100, + CHIADO = 10200, +} + +enum Avalanche { + MAINNET = 43114, + FUJI = 43113, +} + +enum Shiden { + MAINNET = 336, +} + +enum Astar { + MAINNET = 592, +} + +export const CHAIN_IDS = { + Ethereum, + Polygon, + Gnosis, + Avalanche, + Shiden, + Astar, +} as const; diff --git a/packages/node/core/src/index.ts b/packages/node/core/src/index.ts new file mode 100644 index 0000000..c2037b5 --- /dev/null +++ b/packages/node/core/src/index.ts @@ -0,0 +1 @@ +export * from './chains'; diff --git a/packages/node/v0/examples/.gitkeep b/packages/node/v0/examples/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/packages/node/v0/package.json b/packages/node/v0/package.json index 0f3504e..cabda66 100644 --- a/packages/node/v0/package.json +++ b/packages/node/v0/package.json @@ -4,6 +4,10 @@ "repository": "https://github.com/jcam1/sdks.git", "license": "MIT", "version": "1.0.0", + "engines": { + "node": "^20.12.0", + "yarn": "^1.22.22" + }, "private": true, "scripts": { "gen": "run-s gen:*", From 7bed99aa1625b8ceeecc11046a04ce1ab39e29ce Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Wed, 10 Jul 2024 17:54:31 +0900 Subject: [PATCH 10/92] Add chains & addresses to SDK core --- packages/node/core/.eslintignore | 3 ++ packages/node/core/.eslintrc.js | 55 +++++++++++++++++++++++++ packages/node/core/.prettierignore | 4 ++ packages/node/core/.prettierrc | 9 ++++ packages/node/core/package.json | 4 +- packages/node/core/src/addresses.ts | 14 +++++++ packages/node/core/src/chains.ts | 64 ++++++++++++++++++----------- packages/node/core/src/index.ts | 1 + packages/node/core/tsconfig.json | 50 ++++++++++++++++++++++ 9 files changed, 177 insertions(+), 27 deletions(-) create mode 100644 packages/node/core/.eslintignore create mode 100644 packages/node/core/.eslintrc.js create mode 100644 packages/node/core/.prettierignore create mode 100644 packages/node/core/.prettierrc create mode 100644 packages/node/core/src/addresses.ts create mode 100644 packages/node/core/tsconfig.json diff --git a/packages/node/core/.eslintignore b/packages/node/core/.eslintignore new file mode 100644 index 0000000..e485556 --- /dev/null +++ b/packages/node/core/.eslintignore @@ -0,0 +1,3 @@ +dist +.eslintrc.js +**/*.test.ts diff --git a/packages/node/core/.eslintrc.js b/packages/node/core/.eslintrc.js new file mode 100644 index 0000000..c24f109 --- /dev/null +++ b/packages/node/core/.eslintrc.js @@ -0,0 +1,55 @@ +'use strict'; + +module.exports = { + root: true, + extends: [ + 'eslint:recommended', + 'plugin:@typescript-eslint/recommended', + 'plugin:@typescript-eslint/recommended-requiring-type-checking', + 'plugin:@typescript-eslint/strict', + 'plugin:prettier/recommended', + ], + plugins: ['@typescript-eslint/eslint-plugin'], + parserOptions: { + project: './tsconfig.json', + }, + env: { + 'node': true, + }, + rules: { + 'dot-notation': [ + 2, + { + allowKeywords: true, + allowPattern: '^[a-z]+(_[a-z]+)+$', + }, + ], + '@typescript-eslint/interface-name-prefix': 'off', + '@typescript-eslint/no-namespace': 'error', + '@typescript-eslint/no-non-null-assertion': 'error', + '@typescript-eslint/explicit-function-return-type': 'error', + '@typescript-eslint/explicit-module-boundary-types': 'error', + '@typescript-eslint/no-explicit-any': 'error', + '@typescript-eslint/require-await': 'error', + '@typescript-eslint/naming-convention': [ + 'error', + { selector: 'variableLike', format: ['camelCase'], leadingUnderscore: 'allow' }, + { selector: 'variable', format: ['camelCase', 'UPPER_CASE'] }, + { selector: 'memberLike', format: ['strictCamelCase'] }, + { selector: 'enumMember', format: ['StrictPascalCase'] }, + { selector: 'typeLike', format: ['PascalCase'] }, + { selector: 'typeParameter', format: ['strictCamelCase', 'UPPER_CASE'] }, + { selector: 'property', format: ['strictCamelCase'] }, + { selector: 'method', format: ['strictCamelCase'] }, + ], + '@typescript-eslint/no-unused-vars': [ + 'error', + { + argsIgnorePattern: '^_', + varsIgnorePattern: '^_', + caughtErrorsIgnorePattern: '^_', + destructuredArrayIgnorePattern: '^_', + }, + ], + }, +}; diff --git a/packages/node/core/.prettierignore b/packages/node/core/.prettierignore new file mode 100644 index 0000000..8e6367b --- /dev/null +++ b/packages/node/core/.prettierignore @@ -0,0 +1,4 @@ +.gitkeep +.env* +*.lock +dist diff --git a/packages/node/core/.prettierrc b/packages/node/core/.prettierrc new file mode 100644 index 0000000..7bf3551 --- /dev/null +++ b/packages/node/core/.prettierrc @@ -0,0 +1,9 @@ +{ + "printWidth": 100, + "semi": true, + "singleQuote": true, + "quoteProps": "consistent", + "trailingComma": "all", + "bracketSpacing": true, + "arrowParens": "always" +} diff --git a/packages/node/core/package.json b/packages/node/core/package.json index d985355..a82bfc2 100644 --- a/packages/node/core/package.json +++ b/packages/node/core/package.json @@ -1,6 +1,6 @@ { - "name": "@jpyc/node-sdk-core", - "description": "Core Node SDK for JPYC", + "name": "@jpyc/sdk-core", + "description": "Core SDK for JPYC", "repository": "https://github.com/jcam1/sdks.git", "license": "MIT", "version": "1.0.0", diff --git a/packages/node/core/src/addresses.ts b/packages/node/core/src/addresses.ts new file mode 100644 index 0000000..6aeef14 --- /dev/null +++ b/packages/node/core/src/addresses.ts @@ -0,0 +1,14 @@ +import { SUPPORTED_CHAIN_IDS } from './chains'; + +type AddressMap = { [chainId: number]: string }; + +export const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000'; +const V2_PROXY_ADDRESS = '0x431D5dfF03120AFA4bDf332c61A6e1766eF37BDB'; + +export const V2_ADDRESSES: AddressMap = SUPPORTED_CHAIN_IDS.reduce( + (addressMap, chainId) => { + addressMap[chainId] = V2_PROXY_ADDRESS; + return addressMap; + }, + {}, +); diff --git a/packages/node/core/src/chains.ts b/packages/node/core/src/chains.ts index 382b358..9b71dd9 100644 --- a/packages/node/core/src/chains.ts +++ b/packages/node/core/src/chains.ts @@ -1,37 +1,51 @@ -enum Ethereum { - MAINNET = 1, - GOERLI = 5, - SEPOLIA = 11155111, +export type ChainId = number; + +// Ethereum +type EthereumChainName = 'MAINNET' | 'GOERLI' | 'SEPOLIA'; +export const EthereumChains: Record = { + MAINNET: 1, + GOERLI: 5, + SEPOLIA: 11155111, } -enum Polygon { - MAINNET = 137, - AMOY = 80002, +// Polygon +type PolygonChainName = 'MAINNET' | 'AMOY'; +export const PolygonChains: Record = { + MAINNET: 137, + AMOY: 80002, } -enum Gnosis { - MAINNET = 100, - CHIADO = 10200, +// Gnosis +type GnosisChainName = 'MAINNET' | 'CHIADO'; +export const GnosisChains: Record = { + MAINNET: 100, + CHIADO: 10200, } -enum Avalanche { - MAINNET = 43114, - FUJI = 43113, +// Avalanche +type AvalancheChainName = 'MAINNET' | 'FUJI'; +export const AvalancheChains: Record = { + MAINNET: 43114, + FUJI: 43113, } -enum Shiden { - MAINNET = 336, +// Shiden +type ShidenChainName = 'MAINNET'; +export const ShidenChains: Record = { + MAINNET: 336, } -enum Astar { - MAINNET = 592, +// Astar +type AstarChainName = 'MAINNET'; +export const AstarChains: Record = { + MAINNET: 592, } -export const CHAIN_IDS = { - Ethereum, - Polygon, - Gnosis, - Avalanche, - Shiden, - Astar, -} as const; +export const SUPPORTED_CHAIN_IDS = [ + ...Object.values(EthereumChains), + ...Object.values(PolygonChains), + ...Object.values(GnosisChains), + ...Object.values(AvalancheChains), + ...Object.values(ShidenChains), + ...Object.values(AstarChains), +]; diff --git a/packages/node/core/src/index.ts b/packages/node/core/src/index.ts index c2037b5..fc91974 100644 --- a/packages/node/core/src/index.ts +++ b/packages/node/core/src/index.ts @@ -1 +1,2 @@ +export * from './addresses'; export * from './chains'; diff --git a/packages/node/core/tsconfig.json b/packages/node/core/tsconfig.json new file mode 100644 index 0000000..f62ff75 --- /dev/null +++ b/packages/node/core/tsconfig.json @@ -0,0 +1,50 @@ +{ + "include": ["src/**/*.ts"], + "exclude": ["**/*.test.ts"], + "compilerOptions": { + // output settings + "module": "es2022", + "rootDir": "./", + "outDir": "./dist/src", + "removeComments": true, + "preserveConstEnums": true, + "incremental": true, + "preserveWatchOutput": true, + "sourceMap": true, + "inlineSourceMap": false, + "declaration": true, + "declarationDir": "./dist/src/types", + "declarationMap": true, + "lib": ["es2022"], + "skipLibCheck": true, + "target": "es2022", + "importHelpers": true, + // import settings + "baseUrl": "./", + "allowSyntheticDefaultImports": true, + "moduleResolution": "bundler", + "resolveJsonModule": true, + // strict options + "strict": true, + "strictPropertyInitialization": false, + // linter options + "noUnusedParameters": true, + "noUnusedLocals": true, + "noImplicitReturns": true, + "noImplicitOverride": true, + "noFallthroughCasesInSwitch": true, + "noPropertyAccessFromIndexSignature": false, + "noUncheckedIndexedAccess": false, + "forceConsistentCasingInFileNames": true, + "allowUnreachableCode": false, + "allowUnusedLabels": false, + "exactOptionalPropertyTypes": false, + // misc + "esModuleInterop": true, + "experimentalDecorators": true, + "emitDecoratorMetadata": true + }, + "ts-node": { + "require": ["tsconfig-paths/register"] + } +} From eb230cd574b68b60f77f88f272eefd0a9bba8eb3 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Wed, 10 Jul 2024 17:54:58 +0900 Subject: [PATCH 11/92] Add dependencies to 'sdk/v0' --- packages/node/v0/package.json | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/packages/node/v0/package.json b/packages/node/v0/package.json index cabda66..1296af6 100644 --- a/packages/node/v0/package.json +++ b/packages/node/v0/package.json @@ -1,6 +1,6 @@ { - "name": "@jpyc/node-sdk-v0", - "description": "Node SDK (v0) for JPYC", + "name": "@jpyc/sdk-v0", + "description": "SDK (v0) for JPYC", "repository": "https://github.com/jcam1/sdks.git", "license": "MIT", "version": "1.0.0", @@ -14,6 +14,11 @@ "gen:abi": "cd ../../../JPYCv2 && npx hardhat compile", "gen:abi-types": "cd ../../../JPYCv2 && abi-types-generator hardhat && mv ethereum-abi-types ../packages/node/abi-types" }, + "dependencies": { + "@ethersproject/abi": "5.7.0", + "@ethersproject/solidity": "5.7.0", + "ethers": "6.13.1" + }, "devDependencies": { "@types/node": "20.14.9", "@typescript-eslint/eslint-plugin": "7.15.0", @@ -27,8 +32,5 @@ "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", "typescript": "5.5.3" - }, - "dependencies": { - "ethers": "6.13.1" } } From 7c50da70e69b3994a458f7df83daf2ddc4b0159e Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 16 Aug 2024 22:56:15 +0900 Subject: [PATCH 12/92] Update git submodule --- .gitmodules | 2 +- JPYCv2 | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) delete mode 160000 JPYCv2 diff --git a/.gitmodules b/.gitmodules index a528908..952b747 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "JPYCv2"] - path = JPYCv2 + path = packages/v1/JPYCv2 url = https://github.com/jcam1/JPYCv2.git diff --git a/JPYCv2 b/JPYCv2 deleted file mode 160000 index e06edf5..0000000 --- a/JPYCv2 +++ /dev/null @@ -1 +0,0 @@ -Subproject commit e06edf5ca9a69369717c24a93e6122014a55b2dd From 7456e76db4daa98c5ebc72578b3507dbb468cb27 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 16 Aug 2024 22:57:01 +0900 Subject: [PATCH 13/92] Update 'package.json' at root --- package.json | 4 +- yarn.lock | 2561 +++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 2522 insertions(+), 43 deletions(-) diff --git a/package.json b/package.json index 07676a7..c0f017a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@jpyc/sdks", - "description": "A collection of SDKs to build applications on top of JPYC", + "description": "Node SDKs to build applications on top of JPYC protocol", "keywords": [ "jpyc", "stablecoin" @@ -14,7 +14,7 @@ }, "private": true, "workspaces": [ - "packages/**/*" + "packages/*" ], "scripts": { "prepare": "husky install" diff --git a/yarn.lock b/yarn.lock index 413ec28..feea139 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,11 +2,21 @@ # 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== + "@adraffy/ens-normalize@1.10.1": version "1.10.1" resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz#63430d04bd8c5e74f8d7d049338f1cd9d4f02069" integrity sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw== +"@colors/colors@1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" + integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== + "@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" @@ -60,7 +70,21 @@ resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.4.tgz#9e69f8bb4031e11df79e03db09f9dbbae1740843" integrity sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ== -"@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.7.0": +"@ethereumjs/rlp@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@ethereumjs/rlp/-/rlp-4.0.1.tgz#626fabfd9081baab3d0a3074b0c7ecaf674aaa41" + integrity sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw== + +"@ethereumjs/util@^8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/util/-/util-8.1.0.tgz#299df97fb6b034e0577ce9f94c7d9d1004409ed4" + integrity sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA== + dependencies: + "@ethereumjs/rlp" "^4.0.1" + ethereum-cryptography "^2.0.0" + micro-ftch "^0.3.1" + +"@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.0.9", "@ethersproject/abi@^5.1.2", "@ethersproject/abi@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449" integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA== @@ -99,7 +123,18 @@ "@ethersproject/logger" "^5.7.0" "@ethersproject/properties" "^5.7.0" -"@ethersproject/address@5.7.0", "@ethersproject/address@^5.7.0": +"@ethersproject/address@5.6.1": + version "5.6.1" + resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.6.1.tgz#ab57818d9aefee919c5721d28cd31fd95eff413d" + integrity sha512-uOgF0kS5MJv9ZvCz7x6T2EXJSzotiybApn4XlOgoTX0xdtyVIJ7pF+6cGPxiEq/dpBiTfMiw7Yc81JcwhSYA0Q== + dependencies: + "@ethersproject/bignumber" "^5.6.2" + "@ethersproject/bytes" "^5.6.1" + "@ethersproject/keccak256" "^5.6.1" + "@ethersproject/logger" "^5.6.0" + "@ethersproject/rlp" "^5.6.1" + +"@ethersproject/address@5.7.0", "@ethersproject/address@^5.0.2", "@ethersproject/address@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.7.0.tgz#19b56c4d74a3b0a46bfdbb6cfcc0a153fc697f37" integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA== @@ -125,7 +160,7 @@ "@ethersproject/bytes" "^5.7.0" "@ethersproject/properties" "^5.7.0" -"@ethersproject/bignumber@5.7.0", "@ethersproject/bignumber@^5.7.0": +"@ethersproject/bignumber@5.7.0", "@ethersproject/bignumber@^5.6.0", "@ethersproject/bignumber@^5.6.2", "@ethersproject/bignumber@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.7.0.tgz#e2f03837f268ba655ffba03a57853e18a18dc9c2" integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw== @@ -134,7 +169,7 @@ "@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", "@ethersproject/bytes@^5.6.1", "@ethersproject/bytes@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.7.0.tgz#a00f6ea8d7e7534d6d87f47188af1148d71f155d" integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A== @@ -216,7 +251,7 @@ aes-js "3.0.0" scrypt-js "3.0.1" -"@ethersproject/keccak256@5.7.0", "@ethersproject/keccak256@^5.7.0": +"@ethersproject/keccak256@5.7.0", "@ethersproject/keccak256@^5.6.1", "@ethersproject/keccak256@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.7.0.tgz#3186350c6e1cd6aba7940384ec7d6d9db01f335a" integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg== @@ -224,7 +259,7 @@ "@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", "@ethersproject/logger@^5.6.0", "@ethersproject/logger@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.7.0.tgz#6ce9ae168e74fecf287be17062b590852c311892" integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig== @@ -285,7 +320,7 @@ "@ethersproject/bytes" "^5.7.0" "@ethersproject/logger" "^5.7.0" -"@ethersproject/rlp@5.7.0", "@ethersproject/rlp@^5.7.0": +"@ethersproject/rlp@5.7.0", "@ethersproject/rlp@^5.6.1", "@ethersproject/rlp@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.7.0.tgz#de39e4d5918b9d74d46de93af80b7685a9c21304" integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w== @@ -350,7 +385,7 @@ "@ethersproject/rlp" "^5.7.0" "@ethersproject/signing-key" "^5.7.0" -"@ethersproject/units@5.7.0": +"@ethersproject/units@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== @@ -402,6 +437,11 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/strings" "^5.7.0" +"@fastify/busboy@^2.0.0": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@fastify/busboy/-/busboy-2.1.1.tgz#b9da6a878a371829a0502c9b6c1c143ef6663f4d" + integrity sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA== + "@humanwhocodes/module-importer@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" @@ -412,6 +452,18 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.3.0.tgz#6d86b8cb322660f03d3f0aa94b99bdd8e172d570" integrity sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew== +"@isaacs/cliui@^8.0.2": + version "8.0.2" + resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" + integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== + dependencies: + string-width "^5.1.2" + string-width-cjs "npm:string-width@^4.2.0" + strip-ansi "^7.0.1" + strip-ansi-cjs "npm:strip-ansi@^6.0.1" + wrap-ansi "^8.1.0" + wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" + "@jridgewell/resolve-uri@^3.0.3": version "3.1.2" resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" @@ -430,18 +482,70 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" -"@noble/curves@1.2.0": +"@metamask/eth-sig-util@^4.0.0": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@metamask/eth-sig-util/-/eth-sig-util-4.0.1.tgz#3ad61f6ea9ad73ba5b19db780d40d9aae5157088" + integrity sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ== + dependencies: + ethereumjs-abi "^0.6.8" + ethereumjs-util "^6.2.1" + ethjs-util "^0.1.6" + tweetnacl "^1.0.3" + tweetnacl-util "^0.15.1" + +"@noble/curves@1.2.0", "@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/curves@1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.4.0.tgz#f05771ef64da724997f69ee1261b2417a49522d6" + integrity sha512-p+4cb332SFCrReJkCYe8Xzm0OWi4Jji5jVdIZRL/PmacmDkFNw6MrrV+gGpiPxLHbV+zKFRywUWbaseT+tZRXg== + dependencies: + "@noble/hashes" "1.4.0" + +"@noble/curves@1.4.2", "@noble/curves@~1.4.0": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.4.2.tgz#40309198c76ed71bc6dbf7ba24e81ceb4d0d1fe9" + integrity sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw== + dependencies: + "@noble/hashes" "1.4.0" + +"@noble/curves@^1.4.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.5.0.tgz#7a9b9b507065d516e6dce275a1e31db8d2a100dd" + integrity sha512-J5EKamIHnKPyClwVrzmaf5wSdQXgdHcPZIZLu3bwnbeCx8/7NPK5q2ZBWF+5FvYGByjiQQsJYX6jfgB2wDPn3A== + dependencies: + "@noble/hashes" "1.4.0" + +"@noble/hashes@1.2.0", "@noble/hashes@~1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.2.0.tgz#a3150eeb09cc7ab207ebf6d7b9ad311a9bdbed12" + integrity sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ== + "@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.4.0", "@noble/hashes@^1.4.0", "@noble/hashes@~1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.4.0.tgz#45814aa329f30e4fe0ba49426f49dfccdd066426" + integrity sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg== + +"@noble/hashes@~1.3.0", "@noble/hashes@~1.3.2": + version "1.3.3" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.3.tgz#39908da56a4adc270147bb07968bf3b16cfe1699" + integrity sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA== + +"@noble/secp256k1@1.7.1", "@noble/secp256k1@~1.7.0": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.7.1.tgz#b251c70f824ce3ca7f8dc3df08d58f005cc0507c" + integrity sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw== + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -463,11 +567,351 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@nomicfoundation/edr-darwin-arm64@0.5.2": + version "0.5.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-darwin-arm64/-/edr-darwin-arm64-0.5.2.tgz#72f7a826c9f0f2c91308edca562de3b9484ac079" + integrity sha512-Gm4wOPKhbDjGTIRyFA2QUAPfCXA1AHxYOKt3yLSGJkQkdy9a5WW+qtqKeEKHc/+4wpJSLtsGQfpzyIzggFfo/A== + +"@nomicfoundation/edr-darwin-x64@0.5.2": + version "0.5.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-darwin-x64/-/edr-darwin-x64-0.5.2.tgz#6d0fedb219d664631c6feddc596ab8c3bbc36fa8" + integrity sha512-ClyABq2dFCsrYEED3/UIO0c7p4H1/4vvlswFlqUyBpOkJccr75qIYvahOSJRM62WgUFRhbSS0OJXFRwc/PwmVg== + +"@nomicfoundation/edr-linux-arm64-gnu@0.5.2": + version "0.5.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-linux-arm64-gnu/-/edr-linux-arm64-gnu-0.5.2.tgz#60e4d52d963141bc2bb4a02639dc590a7fbdda2f" + integrity sha512-HWMTVk1iOabfvU2RvrKLDgtFjJZTC42CpHiw2h6rfpsgRqMahvIlx2jdjWYzFNy1jZKPTN1AStQ/91MRrg5KnA== + +"@nomicfoundation/edr-linux-arm64-musl@0.5.2": + version "0.5.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-linux-arm64-musl/-/edr-linux-arm64-musl-0.5.2.tgz#6676a09eab57c435a16ffc144658c896acca9baa" + integrity sha512-CwsQ10xFx/QAD5y3/g5alm9+jFVuhc7uYMhrZAu9UVF+KtVjeCvafj0PaVsZ8qyijjqVuVsJ8hD1x5ob7SMcGg== + +"@nomicfoundation/edr-linux-x64-gnu@0.5.2": + version "0.5.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-linux-x64-gnu/-/edr-linux-x64-gnu-0.5.2.tgz#f558d9697ce961410e7a7468f9ab8c8a601b9df6" + integrity sha512-CWVCEdhWJ3fmUpzWHCRnC0/VLBDbqtqTGTR6yyY1Ep3S3BOrHEAvt7h5gx85r2vLcztisu2vlDq51auie4IU1A== + +"@nomicfoundation/edr-linux-x64-musl@0.5.2": + version "0.5.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-linux-x64-musl/-/edr-linux-x64-musl-0.5.2.tgz#c9c9cbb2997499f75c1d022be724b0551d44569f" + integrity sha512-+aJDfwhkddy2pP5u1ISg3IZVAm0dO836tRlDTFWtvvSMQ5hRGqPcWwlsbobhDQsIxhPJyT7phL0orCg5W3WMeA== + +"@nomicfoundation/edr-win32-x64-msvc@0.5.2": + version "0.5.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/edr-win32-x64-msvc/-/edr-win32-x64-msvc-0.5.2.tgz#f16db88bf4fe09a996af0a25096e09deecb72bfa" + integrity sha512-CcvvuA3sAv7liFNPsIR/68YlH6rrybKzYttLlMr80d4GKJjwJ5OKb3YgE6FdZZnOfP19HEHhsLcE0DPLtY3r0w== + +"@nomicfoundation/edr@^0.5.2": + version "0.5.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/edr/-/edr-0.5.2.tgz#e8c7b3d3dd4a312432ab3930dec60f76dc5c4926" + integrity sha512-hW/iLvUQZNTVjFyX/I40rtKvvDOqUEyIi96T28YaLfmPL+3LW2lxmYLUXEJ6MI14HzqxDqrLyhf6IbjAa2r3Dw== + dependencies: + "@nomicfoundation/edr-darwin-arm64" "0.5.2" + "@nomicfoundation/edr-darwin-x64" "0.5.2" + "@nomicfoundation/edr-linux-arm64-gnu" "0.5.2" + "@nomicfoundation/edr-linux-arm64-musl" "0.5.2" + "@nomicfoundation/edr-linux-x64-gnu" "0.5.2" + "@nomicfoundation/edr-linux-x64-musl" "0.5.2" + "@nomicfoundation/edr-win32-x64-msvc" "0.5.2" + +"@nomicfoundation/ethereumjs-common@4.0.4": + version "4.0.4" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-common/-/ethereumjs-common-4.0.4.tgz#9901f513af2d4802da87c66d6f255b510bef5acb" + integrity sha512-9Rgb658lcWsjiicr5GzNCjI1llow/7r0k50dLL95OJ+6iZJcVbi15r3Y0xh2cIO+zgX0WIHcbzIu6FeQf9KPrg== + dependencies: + "@nomicfoundation/ethereumjs-util" "9.0.4" + +"@nomicfoundation/ethereumjs-rlp@5.0.4": + version "5.0.4" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-rlp/-/ethereumjs-rlp-5.0.4.tgz#66c95256fc3c909f6fb18f6a586475fc9762fa30" + integrity sha512-8H1S3s8F6QueOc/X92SdrA4RDenpiAEqMg5vJH99kcQaCy/a3Q6fgseo75mgWlbanGJXSlAPtnCeG9jvfTYXlw== + +"@nomicfoundation/ethereumjs-tx@5.0.4": + version "5.0.4" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-tx/-/ethereumjs-tx-5.0.4.tgz#b0ceb58c98cc34367d40a30d255d6315b2f456da" + integrity sha512-Xjv8wAKJGMrP1f0n2PeyfFCCojHd7iS3s/Ab7qzF1S64kxZ8Z22LCMynArYsVqiFx6rzYy548HNVEyI+AYN/kw== + dependencies: + "@nomicfoundation/ethereumjs-common" "4.0.4" + "@nomicfoundation/ethereumjs-rlp" "5.0.4" + "@nomicfoundation/ethereumjs-util" "9.0.4" + ethereum-cryptography "0.1.3" + +"@nomicfoundation/ethereumjs-util@9.0.4": + version "9.0.4" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-util/-/ethereumjs-util-9.0.4.tgz#84c5274e82018b154244c877b76bc049a4ed7b38" + integrity sha512-sLOzjnSrlx9Bb9EFNtHzK/FJFsfg2re6bsGqinFinH1gCqVfz9YYlXiMWwDM4C/L4ywuHFCYwfKTVr/QHQcU0Q== + dependencies: + "@nomicfoundation/ethereumjs-rlp" "5.0.4" + ethereum-cryptography "0.1.3" + +"@nomicfoundation/hardhat-ethers@3.0.6": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-ethers/-/hardhat-ethers-3.0.6.tgz#e8ba7f9719de360c03501b85dae4999bb3a7e1c5" + integrity sha512-/xzkFQAaHQhmIAYOQmvHBPwL+NkwLzT9gRZBsgWUYeV+E6pzXsBQsHfRYbAZ3XEYare+T7S+5Tg/1KDJgepSkA== + dependencies: + debug "^4.1.1" + lodash.isequal "^4.5.0" + +"@nomicfoundation/hardhat-ignition-viem@0.15.5": + version "0.15.5" + resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-ignition-viem/-/hardhat-ignition-viem-0.15.5.tgz#a4e966b48181928b14645e84a769b750752060ce" + integrity sha512-+OV6LNAJHg94pvu5znbkS1qVi6YKyD0jWSy8L6dT9Aw4uvuOKVB8bczGUAy74T7/8+CVFtD7nJg1m4nRV+0UPQ== + +"@nomicfoundation/hardhat-ignition@0.15.5": + version "0.15.5" + resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-ignition/-/hardhat-ignition-0.15.5.tgz#6da613732a3d9829a40f6ee6c95fb2db012ebdce" + integrity sha512-Y5nhFXFqt4owA6Ooag8ZBFDF2RAZElMXViknVIsi3m45pbQimS50ti6FU8HxfRkDnBARa40CIn7UGV0hrelzDw== + dependencies: + "@nomicfoundation/ignition-core" "^0.15.5" + "@nomicfoundation/ignition-ui" "^0.15.5" + chalk "^4.0.0" + debug "^4.3.2" + fs-extra "^10.0.0" + prompts "^2.4.2" + +"@nomicfoundation/hardhat-toolbox-viem@3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-toolbox-viem/-/hardhat-toolbox-viem-3.0.0.tgz#d50b6e2e3be220ccf6557c5072e999fbb4958aee" + integrity sha512-cr+aRozCtTwaRz5qc9OVY1kegWrnVwyhHZonICmlcm21cvJ31uvJnuPG688tMbjUvwRDw8tpZYZK0kI5M+4CKg== + dependencies: + chai-as-promised "^7.1.1" + +"@nomicfoundation/hardhat-toolbox@5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-toolbox/-/hardhat-toolbox-5.0.0.tgz#165b47f8a3d2bf668cc5d453ce7f496a1156948d" + integrity sha512-FnUtUC5PsakCbwiVNsqlXVIWG5JIb5CEZoSXbJUsEBun22Bivx2jhF1/q9iQbzuaGpJKFQyOhemPB2+XlEE6pQ== + +"@nomicfoundation/hardhat-verify@2.0.9": + version "2.0.9" + resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-verify/-/hardhat-verify-2.0.9.tgz#98a1c9a3742b008be71a709d074f10dec23bc5f0" + integrity sha512-7kD8hu1+zlnX87gC+UN4S0HTKBnIsDfXZ/pproq1gYsK94hgCk+exvzXbwR0X2giiY/RZPkqY9oKRi0Uev91hQ== + dependencies: + "@ethersproject/abi" "^5.1.2" + "@ethersproject/address" "^5.0.2" + cbor "^8.1.0" + chalk "^2.4.2" + debug "^4.1.1" + lodash.clonedeep "^4.5.0" + semver "^6.3.0" + table "^6.8.0" + undici "^5.14.0" + +"@nomicfoundation/hardhat-viem@2.0.3": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-viem/-/hardhat-viem-2.0.3.tgz#db13066d2412fcaee7886a4cf6fe266522ab66fe" + integrity sha512-y2eYaHtpshiGrhU2L5My4zYrj/vxxRdCIqbTsg9YP7AjKWhJGvKPkVRYaPTosW68nYlNtkns/+Eb25aXACHd9Q== + dependencies: + abitype "^0.9.8" + lodash.memoize "^4.1.2" + +"@nomicfoundation/ignition-core@0.15.5", "@nomicfoundation/ignition-core@^0.15.5": + version "0.15.5" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ignition-core/-/ignition-core-0.15.5.tgz#38d19d29ffd425f7cc2810c45d7a51b31c626067" + integrity sha512-FgvuoIXhakRSP524JzNQ4BviyzBBKpsFaOWubPZ4XACLT4/7vGqlJ/7DIn0D2NL2anQ2qs98/BNBY9WccXUX1Q== + dependencies: + "@ethersproject/address" "5.6.1" + "@nomicfoundation/solidity-analyzer" "^0.1.1" + cbor "^9.0.0" + debug "^4.3.2" + ethers "^6.7.0" + fs-extra "^10.0.0" + immer "10.0.2" + lodash "4.17.21" + ndjson "2.0.0" + +"@nomicfoundation/ignition-ui@^0.15.5": + version "0.15.5" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ignition-ui/-/ignition-ui-0.15.5.tgz#ef9e11ccbffccc2360c02b20f12713756dfc37da" + integrity sha512-ZcE4rIn10qKahR4OqS8rl8NM2Fbg2QYiBXgMgj74ZI0++LlCcZgB5HyaBbX+lsnKHjTXtjYD3b+2mtg7jFbAMQ== + +"@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-darwin-arm64/-/solidity-analyzer-darwin-arm64-0.1.2.tgz#3a9c3b20d51360b20affb8f753e756d553d49557" + integrity sha512-JaqcWPDZENCvm++lFFGjrDd8mxtf+CtLd2MiXvMNTBD33dContTZ9TWETwNFwg7JTJT5Q9HEecH7FA+HTSsIUw== + +"@nomicfoundation/solidity-analyzer-darwin-x64@0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-darwin-x64/-/solidity-analyzer-darwin-x64-0.1.2.tgz#74dcfabeb4ca373d95bd0d13692f44fcef133c28" + integrity sha512-fZNmVztrSXC03e9RONBT+CiksSeYcxI1wlzqyr0L7hsQlK1fzV+f04g2JtQ1c/Fe74ZwdV6aQBdd6Uwl1052sw== + +"@nomicfoundation/solidity-analyzer-linux-arm64-gnu@0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-arm64-gnu/-/solidity-analyzer-linux-arm64-gnu-0.1.2.tgz#4af5849a89e5a8f511acc04f28eb5d4460ba2b6a" + integrity sha512-3d54oc+9ZVBuB6nbp8wHylk4xh0N0Gc+bk+/uJae+rUgbOBwQSfuGIbAZt1wBXs5REkSmynEGcqx6DutoK0tPA== + +"@nomicfoundation/solidity-analyzer-linux-arm64-musl@0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-arm64-musl/-/solidity-analyzer-linux-arm64-musl-0.1.2.tgz#54036808a9a327b2ff84446c130a6687ee702a8e" + integrity sha512-iDJfR2qf55vgsg7BtJa7iPiFAsYf2d0Tv/0B+vhtnI16+wfQeTbP7teookbGvAo0eJo7aLLm0xfS/GTkvHIucA== + +"@nomicfoundation/solidity-analyzer-linux-x64-gnu@0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-x64-gnu/-/solidity-analyzer-linux-x64-gnu-0.1.2.tgz#466cda0d6e43691986c944b909fc6dbb8cfc594e" + integrity sha512-9dlHMAt5/2cpWyuJ9fQNOUXFB/vgSFORg1jpjX1Mh9hJ/MfZXlDdHQ+DpFCs32Zk5pxRBb07yGvSHk9/fezL+g== + +"@nomicfoundation/solidity-analyzer-linux-x64-musl@0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-x64-musl/-/solidity-analyzer-linux-x64-musl-0.1.2.tgz#2b35826987a6e94444140ac92310baa088ee7f94" + integrity sha512-GzzVeeJob3lfrSlDKQw2bRJ8rBf6mEYaWY+gW0JnTDHINA0s2gPR4km5RLIj1xeZZOYz4zRw+AEeYgLRqB2NXg== + +"@nomicfoundation/solidity-analyzer-win32-x64-msvc@0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-win32-x64-msvc/-/solidity-analyzer-win32-x64-msvc-0.1.2.tgz#e6363d13b8709ca66f330562337dbc01ce8bbbd9" + integrity sha512-Fdjli4DCcFHb4Zgsz0uEJXZ2K7VEO+w5KVv7HmT7WO10iODdU9csC2az4jrhEsRtiR9Gfd74FlG0NYlw1BMdyA== + +"@nomicfoundation/solidity-analyzer@^0.1.0", "@nomicfoundation/solidity-analyzer@^0.1.1": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer/-/solidity-analyzer-0.1.2.tgz#8bcea7d300157bf3a770a851d9f5c5e2db34ac55" + integrity sha512-q4n32/FNKIhQ3zQGGw5CvPF6GTvDCpYwIf7bEY/dZTZbgfDsHyjJwURxUJf3VQuuJj+fDIFl4+KkBVbw4Ef6jA== + optionalDependencies: + "@nomicfoundation/solidity-analyzer-darwin-arm64" "0.1.2" + "@nomicfoundation/solidity-analyzer-darwin-x64" "0.1.2" + "@nomicfoundation/solidity-analyzer-linux-arm64-gnu" "0.1.2" + "@nomicfoundation/solidity-analyzer-linux-arm64-musl" "0.1.2" + "@nomicfoundation/solidity-analyzer-linux-x64-gnu" "0.1.2" + "@nomicfoundation/solidity-analyzer-linux-x64-musl" "0.1.2" + "@nomicfoundation/solidity-analyzer-win32-x64-msvc" "0.1.2" + +"@pkgjs/parseargs@^0.11.0": + version "0.11.0" + resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" + integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== + "@pkgr/core@^0.1.0": version "0.1.1" resolved "https://registry.yarnpkg.com/@pkgr/core/-/core-0.1.1.tgz#1ec17e2edbec25c8306d424ecfbf13c7de1aaa31" integrity sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA== +"@scure/base@~1.1.0", "@scure/base@~1.1.2", "@scure/base@~1.1.6": + version "1.1.7" + resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.7.tgz#fe973311a5c6267846aa131bc72e96c5d40d2b30" + integrity sha512-PPNYBslrLNNUQ/Yad37MHYsNQtK67EhWb6WtSvNLLPo7SdVZgkUjD6Dg+5On7zNwmskf8OX7I7Nx5oN+MIWE0g== + +"@scure/bip32@1.1.5": + version "1.1.5" + resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.1.5.tgz#d2ccae16dcc2e75bc1d75f5ef3c66a338d1ba300" + integrity sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw== + dependencies: + "@noble/hashes" "~1.2.0" + "@noble/secp256k1" "~1.7.0" + "@scure/base" "~1.1.0" + +"@scure/bip32@1.3.2": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.3.2.tgz#90e78c027d5e30f0b22c1f8d50ff12f3fb7559f8" + integrity sha512-N1ZhksgwD3OBlwTv3R6KFEcPojl/W4ElJOeCZdi+vuI5QmTFwLq3OFf2zd2ROpKvxFdgZ6hUpb0dx9bVNEwYCA== + dependencies: + "@noble/curves" "~1.2.0" + "@noble/hashes" "~1.3.2" + "@scure/base" "~1.1.2" + +"@scure/bip32@1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.4.0.tgz#4e1f1e196abedcef395b33b9674a042524e20d67" + integrity sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg== + dependencies: + "@noble/curves" "~1.4.0" + "@noble/hashes" "~1.4.0" + "@scure/base" "~1.1.6" + +"@scure/bip39@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.1.1.tgz#b54557b2e86214319405db819c4b6a370cf340c5" + integrity sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg== + dependencies: + "@noble/hashes" "~1.2.0" + "@scure/base" "~1.1.0" + +"@scure/bip39@1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.2.1.tgz#5cee8978656b272a917b7871c981e0541ad6ac2a" + integrity sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg== + dependencies: + "@noble/hashes" "~1.3.0" + "@scure/base" "~1.1.0" + +"@scure/bip39@1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.3.0.tgz#0f258c16823ddd00739461ac31398b4e7d6a18c3" + integrity sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ== + dependencies: + "@noble/hashes" "~1.4.0" + "@scure/base" "~1.1.6" + +"@sentry/core@5.30.0": + version "5.30.0" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-5.30.0.tgz#6b203664f69e75106ee8b5a2fe1d717379b331f3" + integrity sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg== + dependencies: + "@sentry/hub" "5.30.0" + "@sentry/minimal" "5.30.0" + "@sentry/types" "5.30.0" + "@sentry/utils" "5.30.0" + tslib "^1.9.3" + +"@sentry/hub@5.30.0": + version "5.30.0" + resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-5.30.0.tgz#2453be9b9cb903404366e198bd30c7ca74cdc100" + integrity sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ== + dependencies: + "@sentry/types" "5.30.0" + "@sentry/utils" "5.30.0" + tslib "^1.9.3" + +"@sentry/minimal@5.30.0": + version "5.30.0" + resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-5.30.0.tgz#ce3d3a6a273428e0084adcb800bc12e72d34637b" + integrity sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw== + dependencies: + "@sentry/hub" "5.30.0" + "@sentry/types" "5.30.0" + tslib "^1.9.3" + +"@sentry/node@^5.18.1": + version "5.30.0" + resolved "https://registry.yarnpkg.com/@sentry/node/-/node-5.30.0.tgz#4ca479e799b1021285d7fe12ac0858951c11cd48" + integrity sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg== + dependencies: + "@sentry/core" "5.30.0" + "@sentry/hub" "5.30.0" + "@sentry/tracing" "5.30.0" + "@sentry/types" "5.30.0" + "@sentry/utils" "5.30.0" + cookie "^0.4.1" + https-proxy-agent "^5.0.0" + lru_map "^0.3.3" + tslib "^1.9.3" + +"@sentry/tracing@5.30.0": + version "5.30.0" + resolved "https://registry.yarnpkg.com/@sentry/tracing/-/tracing-5.30.0.tgz#501d21f00c3f3be7f7635d8710da70d9419d4e1f" + integrity sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw== + dependencies: + "@sentry/hub" "5.30.0" + "@sentry/minimal" "5.30.0" + "@sentry/types" "5.30.0" + "@sentry/utils" "5.30.0" + tslib "^1.9.3" + +"@sentry/types@5.30.0": + version "5.30.0" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-5.30.0.tgz#19709bbe12a1a0115bc790b8942917da5636f402" + integrity sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw== + +"@sentry/utils@5.30.0": + version "5.30.0" + resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-5.30.0.tgz#9a5bd7ccff85ccfe7856d493bffa64cabc41e980" + integrity sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww== + dependencies: + "@sentry/types" "5.30.0" + tslib "^1.9.3" + +"@solidity-parser/parser@^0.18.0": + version "0.18.0" + resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.18.0.tgz#8e77a02a09ecce957255a2f48c9a7178ec191908" + integrity sha512-yfORGUIPgLck41qyN7nbwJRAx17/jAIXCTanHOJZhB6PJ1iAk/84b/xlsVKFSyNyLXIj0dhppoE0+CRws7wlzA== + "@tsconfig/node10@^1.0.7": version "1.0.11" resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.11.tgz#6ee46400685f130e278128c7b38b7e031ff5b2f2" @@ -488,13 +932,48 @@ resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== -"@types/bn.js@^4.11.6": +"@types/bn.js@^4.11.3", "@types/bn.js@^4.11.6": version "4.11.6" resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.6.tgz#c306c70d9358aaea33cd4eda092a742b9505967c" integrity sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg== dependencies: "@types/node" "*" +"@types/bn.js@^5.1.0": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.5.tgz#2e0dacdcce2c0f16b905d20ff87aedbc6f7b4bf0" + integrity sha512-V46N0zwKRF5Q00AZ6hWtN0T8gGmDUaUzLWQvHFo5yThtVwK/VCenFY3wXVbOvNfajEpsTfQM4IN9k/d6gUVX3A== + dependencies: + "@types/node" "*" + +"@types/chai@4.3.17": + version "4.3.17" + resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.17.tgz#9195f9d242f2ac3b429908864b6b871a8f73f489" + integrity sha512-zmZ21EWzR71B4Sscphjief5djsLre50M6lI622OSySTmn9DB3j+C3kWroHfBQWXbOBwbgg/M8CG/hUxDLIloow== + +"@types/glob@^7.1.1": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" + integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== + dependencies: + "@types/minimatch" "*" + "@types/node" "*" + +"@types/lru-cache@^5.1.0": + version "5.1.1" + resolved "https://registry.yarnpkg.com/@types/lru-cache/-/lru-cache-5.1.1.tgz#c48c2e27b65d2a153b19bfc1a317e30872e01eef" + integrity sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw== + +"@types/minimatch@*": + version "5.1.2" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" + integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== + +"@types/mocha@10.0.7": + version "10.0.7" + resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.7.tgz#4c620090f28ca7f905a94b706f74dc5b57b44f2f" + integrity sha512-GN8yJ1mNTcFcah/wKEFIJckJx9iJLoMSzWcfRRuxz/Jk+U6KQNnml+etbtxFK8lPjzOw3zp4Ha/kjSst9fsHYw== + "@types/node@*", "@types/node@20.14.9": version "20.14.9" resolved "https://registry.yarnpkg.com/@types/node/-/node-20.14.9.tgz#12e8e765ab27f8c421a1820c99f5f313a933b420" @@ -507,6 +986,20 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.13.tgz#f64277c341150c979e42b00e4ac289290c9df469" integrity sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q== +"@types/pbkdf2@^3.0.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@types/pbkdf2/-/pbkdf2-3.1.2.tgz#2dc43808e9985a2c69ff02e2d2027bd4fe33e8dc" + integrity sha512-uRwJqmiXmh9++aSu1VNEn3iIxWOhd8AHXNSdlaLfdAAdSTY9jYVeGWnzejM3dvrkbqE3/hyQkQQ29IFATEGlew== + dependencies: + "@types/node" "*" + +"@types/secp256k1@^4.0.1": + version "4.0.6" + resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.6.tgz#d60ba2349a51c2cbc5e816dcd831a42029d376bf" + integrity sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ== + dependencies: + "@types/node" "*" + "@typescript-eslint/eslint-plugin@7.15.0": version "7.15.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.15.0.tgz#8eaf396ac2992d2b8f874b68eb3fcd6b179cb7f3" @@ -588,6 +1081,31 @@ "@typescript-eslint/types" "7.15.0" eslint-visitor-keys "^3.4.3" +abbrev@1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + +abbrev@1.0.x: + version "1.0.9" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" + integrity sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q== + +abitype@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.0.0.tgz#237176dace81d90d018bebf3a45cb42f2a2d9e97" + integrity sha512-NMeMah//6bJ56H5XRj8QCV4AwuW6hB6zqz2LnhhLdcWVQOsXki6/Pn3APeqxCma62nXIcmZWdu1DlHWS74umVQ== + +abitype@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.0.5.tgz#29d0daa3eea867ca90f7e4123144c1d1270774b6" + integrity sha512-YzDhti7cjlfaBhHutMaboYB21Ha3rXR9QTkNJFzYC4kC8YclaiwPBBBJY8ejFdu2wnJeZCVZSMlQJ7fi8S6hsw== + +abitype@^0.9.8: + version "0.9.10" + resolved "https://registry.yarnpkg.com/abitype/-/abitype-0.9.10.tgz#fa6fa30a6465da98736f98b6c601a02ed49f6eec" + integrity sha512-FIS7U4n7qwAT58KibwYig5iFG4K61rbhAqaQh/UWj8v1Y8mjX3F8TC9gd8cz9yT1TYel9f8nS5NO5kZp2RW0jQ== + acorn-jsx@^5.3.2: version "5.3.2" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" @@ -605,6 +1123,11 @@ acorn@^8.11.0, acorn@^8.12.0, acorn@^8.4.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.1.tgz#71616bdccbe25e27a54439e0046e89ca76df2248" integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg== +adm-zip@^0.4.16: + version "0.4.16" + resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.4.16.tgz#cf4c508fdffab02c269cbc7f471a875f05570365" + integrity sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg== + aes-js@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" @@ -615,6 +1138,21 @@ aes-js@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== +agent-base@6: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + ajv@^6.12.4: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" @@ -625,11 +1163,50 @@ ajv@^6.12.4: json-schema-traverse "^0.4.1" uri-js "^4.2.2" +ajv@^8.0.1: + version "8.17.1" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.17.1.tgz#37d9a5c776af6bc92d7f4f9510eba4c0a60d11a6" + integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g== + dependencies: + fast-deep-equal "^3.1.3" + fast-uri "^3.0.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + +amdefine@>=0.0.4: + version "1.0.1" + resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + integrity sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg== + +ansi-align@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59" + integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w== + dependencies: + string-width "^4.1.0" + +ansi-colors@^4.1.1, ansi-colors@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" + integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== + +ansi-escapes@^4.3.0: + version "4.3.2" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + ansi-regex@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== +ansi-regex@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" + integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" @@ -644,11 +1221,31 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: dependencies: color-convert "^2.0.1" +ansi-styles@^6.1.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== + +anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + 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" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + argparse@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" @@ -681,6 +1278,26 @@ arraybuffer.prototype.slice@^1.0.3: is-array-buffer "^3.0.4" is-shared-array-buffer "^1.0.2" +assertion-error@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-2.0.1.tgz#f641a196b335690b1070bf00b6e7593fec190bf7" + integrity sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA== + +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + +async@1.x: + version "1.5.2" + resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + integrity sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w== + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + 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" @@ -693,11 +1310,27 @@ available-typed-arrays@^1.0.7: dependencies: possible-typed-array-names "^1.0.0" +axios@^1.6.7: + version "1.7.4" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.4.tgz#4c8ded1b43683c8dd362973c393f3ede24052aa2" + integrity sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw== + dependencies: + follow-redirects "^1.15.6" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== +base-x@^3.0.2: + version "3.0.10" + resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.10.tgz#62de58653f8762b5d6f8d9fe30fa75f7b2585a75" + integrity sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ== + dependencies: + safe-buffer "^5.0.1" + bech32@1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" @@ -708,16 +1341,45 @@ bignumber.js@^9.0.0: resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.2.tgz#b7c4242259c008903b13707983b5f4bbd31eda0c" integrity sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug== -bn.js@^4.11.9: +binary-extensions@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" + integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== + +blakejs@^1.1.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.2.1.tgz#5057e4206eadb4a97f7c0b6e197a505042fc3814" + integrity sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ== + +bn.js@4.11.6: + version "4.11.6" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" + integrity sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA== + +bn.js@^4.11.0, bn.js@^4.11.8, bn.js@^4.11.9: version "4.12.0" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== -bn.js@^5.2.1: +bn.js@^5.2.0, bn.js@^5.2.1: version "5.2.1" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== +boxen@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.1.2.tgz#788cb686fc83c1f486dfa8a40c68fc2b831d2b50" + integrity sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ== + dependencies: + ansi-align "^3.0.0" + camelcase "^6.2.0" + chalk "^4.1.0" + cli-boxes "^2.2.1" + string-width "^4.2.2" + type-fest "^0.20.2" + widest-line "^3.1.0" + wrap-ansi "^7.0.0" + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -733,7 +1395,7 @@ brace-expansion@^2.0.1: dependencies: balanced-match "^1.0.0" -braces@^3.0.3: +braces@^3.0.3, braces@~3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== @@ -745,6 +1407,59 @@ brorand@^1.1.0: resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== +brotli-wasm@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brotli-wasm/-/brotli-wasm-2.0.1.tgz#2b3f4dc3db0c3e60d2635c055e6bac4ddf4bd3f5" + integrity sha512-+3USgYsC7bzb5yU0/p2HnnynZl0ak0E6uoIm4UW4Aby/8s8HFCq6NCfrrf1E9c3O8OCSzq3oYO1tUVqIi61Nww== + +browser-stdout@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" + integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== + +browserify-aes@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +bs58@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" + integrity sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw== + dependencies: + base-x "^3.0.2" + +bs58check@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc" + integrity sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA== + dependencies: + bs58 "^4.0.0" + create-hash "^1.1.0" + safe-buffer "^5.1.2" + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== + +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== + call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" @@ -766,7 +1481,52 @@ camelcase@^5.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -chalk@^2.4.1: +camelcase@^6.0.0, camelcase@^6.2.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +cbor@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/cbor/-/cbor-8.1.0.tgz#cfc56437e770b73417a2ecbfc9caf6b771af60d5" + integrity sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg== + dependencies: + nofilter "^3.1.0" + +cbor@^9.0.0: + version "9.0.2" + resolved "https://registry.yarnpkg.com/cbor/-/cbor-9.0.2.tgz#536b4f2d544411e70ec2b19a2453f10f83cd9fdb" + integrity sha512-JPypkxsB10s9QOWwa6zwPzqE1Md3vqpPc+cai4sAecuCsRyAtAl/pMyhPlMbT/xtPnm2dznJZYRLui57qiRhaQ== + dependencies: + nofilter "^3.1.0" + +chai-as-promised@^7.1.1: + version "7.1.2" + resolved "https://registry.yarnpkg.com/chai-as-promised/-/chai-as-promised-7.1.2.tgz#70cd73b74afd519754161386421fb71832c6d041" + integrity sha512-aBDHZxRzYnUYuIAIPBH2s511DjlKPzXNlXSGFC8CwmroWQLfrW0LtE1nK3MAwwNhJPa9raEjNCmRoFpG0Hurdw== + dependencies: + check-error "^1.0.2" + +chai@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/chai/-/chai-5.1.1.tgz#f035d9792a22b481ead1c65908d14bb62ec1c82c" + integrity sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA== + dependencies: + assertion-error "^2.0.1" + check-error "^2.1.1" + deep-eql "^5.0.1" + loupe "^3.1.0" + pathval "^2.0.0" + +chalk@4.1.2, chalk@^4.0.0, chalk@^4.1.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -775,13 +1535,69 @@ chalk@^2.4.1: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^4.0.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== +"charenc@>= 0.0.1": + version "0.0.2" + resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" + integrity sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA== + +check-error@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.3.tgz#a6502e4312a7ee969f646e83bb3ddd56281bd694" + integrity sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg== dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" + get-func-name "^2.0.2" + +check-error@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/check-error/-/check-error-2.1.1.tgz#87eb876ae71ee388fa0471fe423f494be1d96ccc" + integrity sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw== + +chokidar@^3.4.0, chokidar@^3.5.3: + version "3.6.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" + integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + +cli-boxes@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" + integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== + +cli-table3@^0.6.3: + version "0.6.5" + resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.5.tgz#013b91351762739c16a9567c21a04632e449bf2f" + integrity sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ== + dependencies: + string-width "^4.2.0" + optionalDependencies: + "@colors/colors" "1.5.0" cliui@^6.0.0: version "6.0.0" @@ -792,6 +1608,15 @@ cliui@^6.0.0: strip-ansi "^6.0.0" wrap-ansi "^6.2.0" +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + color-convert@^1.9.0: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" @@ -821,11 +1646,56 @@ colors@^1.4.0: resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== +combined-stream@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +command-exists@^1.2.8: + version "1.2.9" + resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.9.tgz#c50725af3808c8ab0260fd60b01fbfa25b954f69" + integrity sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w== + +commander@^8.1.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" + integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== + concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== +cookie@^0.4.1: + version "0.4.2" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" + integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== + +create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-hmac@^1.1.4, create-hmac@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + create-require@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" @@ -842,7 +1712,7 @@ cross-spawn@^6.0.5: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^7.0.2: +cross-spawn@^7.0.0, cross-spawn@^7.0.2: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== @@ -851,6 +1721,11 @@ cross-spawn@^7.0.2: shebang-command "^2.0.0" which "^2.0.1" +"crypt@>= 0.0.1": + version "0.0.2" + resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" + integrity sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow== + data-view-buffer@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.1.tgz#8ea6326efec17a2e42620696e671d7d5a8bc66b2" @@ -878,6 +1753,18 @@ data-view-byte-offset@^1.0.0: es-errors "^1.3.0" is-data-view "^1.0.1" +death@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/death/-/death-1.1.0.tgz#01aa9c401edd92750514470b8266390c66c67318" + integrity sha512-vsV6S4KVHvTGxbEcij7hkWRv0It+sGGWVOM67dQde/o5Xjnr+KmLjxWJii2uEObIrt1CcM9w0Yaovx+iOlIL+w== + +debug@4, debug@^4.1.1, debug@^4.3.5: + version "4.3.6" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.6.tgz#2ab2c38fbaffebf8aa95fdfe6d88438c7a13c52b" + integrity sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg== + dependencies: + ms "2.1.2" + debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: version "4.3.5" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.5.tgz#e83444eceb9fedd4a1da56d671ae2446a01a6e1e" @@ -890,7 +1777,17 @@ decamelize@^1.2.0: resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== -deep-is@^0.1.3: +decamelize@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" + integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== + +deep-eql@^5.0.1: + version "5.0.2" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-5.0.2.tgz#4b756d8d770a9257300825d52a2c2cff99c3a341" + integrity sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q== + +deep-is@^0.1.3, deep-is@~0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== @@ -913,11 +1810,33 @@ define-properties@^1.2.0, define-properties@^1.2.1: has-property-descriptors "^1.0.0" object-keys "^1.1.1" +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + +depd@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + 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== +diff@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.2.0.tgz#26ded047cd1179b78b9537d5ef725503ce1ae531" + integrity sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A== + +difflib@^0.2.4: + version "0.2.4" + resolved "https://registry.yarnpkg.com/difflib/-/difflib-0.2.4.tgz#b5e30361a6db023176d562892db85940a718f47e" + integrity sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w== + dependencies: + heap ">= 0.2.0" + dir-glob@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" @@ -925,11 +1844,21 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" +dotenv@16.4.5: + version "16.4.5" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.5.tgz#cdd3b3b604cb327e286b4762e13502f717cb099f" + integrity sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg== + dotenv@^8.2.0: version "8.6.0" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.6.0.tgz#061af664d19f7f4d8fc6e4ff9b584ce237adcb8b" integrity sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" + integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== + elliptic@6.5.4: version "6.5.4" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" @@ -943,11 +1872,42 @@ elliptic@6.5.4: minimalistic-assert "^1.0.1" minimalistic-crypto-utils "^1.0.1" +elliptic@^6.5.2, elliptic@^6.5.4: + version "6.5.7" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.7.tgz#8ec4da2cb2939926a1b9a73619d768207e647c8b" + integrity sha512-ESVCtTwiA+XhY3wyh24QqRGBoP3rEdDUl3EDUUo9tft074fi19IrdpH7hLCMMP3CIj7jb3W96rn8lt/BqIlt5Q== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + +enquirer@^2.3.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.4.1.tgz#93334b3fbd74fc7097b224ab4a8fb7e40bf4ae56" + integrity sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ== + dependencies: + ansi-colors "^4.1.1" + strip-ansi "^6.0.1" + +env-paths@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" + integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== + error-ex@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" @@ -1044,6 +2004,11 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" +escalade@^3.1.1: + version "3.1.2" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" + integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== + escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" @@ -1054,6 +2019,18 @@ escape-string-regexp@^4.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== +escodegen@1.8.x: + version "1.8.1" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018" + integrity sha512-yhi5S+mNTOuRvyW4gWlg5W1byMaQGWWSYHXsuFZ7GBo7tpyOwi2EdzMP/QWxh9hwkD2m+wDVHJsxhRIj+v/b/A== + dependencies: + esprima "^2.7.1" + estraverse "^1.9.1" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.2.0" + eslint-config-prettier@9.1.0: version "9.1.0" resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz#31af3d94578645966c082fcb71a5846d3c94867f" @@ -1134,6 +2111,16 @@ espree@^10.0.1, espree@^10.1.0: acorn-jsx "^5.3.2" eslint-visitor-keys "^4.0.0" +esprima@2.7.x, esprima@^2.7.1: + version "2.7.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" + integrity sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A== + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + esquery@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" @@ -1148,7 +2135,12 @@ esrecurse@^4.3.0: dependencies: estraverse "^5.2.0" -estraverse@^5.1.0, estraverse@^5.2.0: +estraverse@^1.9.1: + version "1.9.3" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44" + integrity sha512-25w1fMXQrGdoquWnScXZGckOv+Wes+JDnuN/+7ex3SauFRS72r2lFDec0EKPt2YD1wUJ/IrfEex+9yp4hfSOJA== + +estraverse@^5.1.0, estraverse@^5.2.0: version "5.3.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== @@ -1174,6 +2166,75 @@ ethereum-abi-types-generator@1.3.4: reflect-metadata "^0.1.13" yargs "^15.3.1" +ethereum-bloom-filters@^1.0.6: + version "1.2.0" + resolved "https://registry.yarnpkg.com/ethereum-bloom-filters/-/ethereum-bloom-filters-1.2.0.tgz#8294f074c1a6cbd32c39d2cc77ce86ff14797dab" + integrity sha512-28hyiE7HVsWubqhpVLVmZXFd4ITeHi+BUu05o9isf0GUpMtzBUi+8/gFrGaGYzvGAJQmJ3JKj77Mk9G98T84rA== + dependencies: + "@noble/hashes" "^1.4.0" + +ethereum-cryptography@0.1.3, ethereum-cryptography@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz#8d6143cfc3d74bf79bbd8edecdf29e4ae20dd191" + integrity sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ== + dependencies: + "@types/pbkdf2" "^3.0.0" + "@types/secp256k1" "^4.0.1" + blakejs "^1.1.0" + browserify-aes "^1.2.0" + bs58check "^2.1.2" + create-hash "^1.2.0" + create-hmac "^1.1.7" + hash.js "^1.1.7" + keccak "^3.0.0" + pbkdf2 "^3.0.17" + randombytes "^2.1.0" + safe-buffer "^5.1.2" + scrypt-js "^3.0.0" + secp256k1 "^4.0.1" + setimmediate "^1.0.5" + +ethereum-cryptography@^1.0.3: + version "1.2.0" + resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-1.2.0.tgz#5ccfa183e85fdaf9f9b299a79430c044268c9b3a" + integrity sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw== + dependencies: + "@noble/hashes" "1.2.0" + "@noble/secp256k1" "1.7.1" + "@scure/bip32" "1.1.5" + "@scure/bip39" "1.1.1" + +ethereum-cryptography@^2.0.0, ethereum-cryptography@^2.1.2, ethereum-cryptography@^2.1.3: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz#58f2810f8e020aecb97de8c8c76147600b0b8ccf" + integrity sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg== + dependencies: + "@noble/curves" "1.4.2" + "@noble/hashes" "1.4.0" + "@scure/bip32" "1.4.0" + "@scure/bip39" "1.3.0" + +ethereumjs-abi@^0.6.8: + version "0.6.8" + resolved "https://registry.yarnpkg.com/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz#71bc152db099f70e62f108b7cdfca1b362c6fcae" + integrity sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA== + dependencies: + bn.js "^4.11.8" + ethereumjs-util "^6.0.0" + +ethereumjs-util@^6.0.0, ethereumjs-util@^6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz#fcb4e4dd5ceacb9d2305426ab1a5cd93e3163b69" + integrity sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw== + dependencies: + "@types/bn.js" "^4.11.3" + bn.js "^4.11.0" + create-hash "^1.1.2" + elliptic "^6.5.2" + ethereum-cryptography "^0.1.3" + ethjs-util "0.1.6" + rlp "^2.2.3" + ethers@6.13.1: version "6.13.1" resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.13.1.tgz#2b9f9c7455cde9d38b30fe6589972eb083652961" @@ -1202,6 +2263,19 @@ ethers@^4.0.47: uuid "2.0.1" xmlhttprequest "1.8.0" +ethers@^6.7.0: + version "6.13.2" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.13.2.tgz#4b67d4b49e69b59893931a032560999e5e4419fe" + integrity sha512-9VkriTTed+/27BGuY1s0hf441kqwHJ1wtN2edksEtiRvXx+soxRX3iSXTfFqq2+YwrOqbDoTHjIhQnjJRlzKmg== + dependencies: + "@adraffy/ens-normalize" "1.10.1" + "@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.17.1" + "ethersv5@npm:ethers@^5.0.32": version "5.7.2" resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.2.tgz#3a7deeabbb8c030d4126b24f84e525466145872e" @@ -1238,6 +2312,30 @@ ethers@^4.0.47: "@ethersproject/web" "5.7.1" "@ethersproject/wordlists" "5.7.0" +ethjs-unit@0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/ethjs-unit/-/ethjs-unit-0.1.6.tgz#c665921e476e87bce2a9d588a6fe0405b2c41699" + integrity sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw== + dependencies: + bn.js "4.11.6" + number-to-bn "1.7.0" + +ethjs-util@0.1.6, ethjs-util@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/ethjs-util/-/ethjs-util-0.1.6.tgz#f308b62f185f9fe6237132fb2a9818866a5cd536" + integrity sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w== + dependencies: + is-hex-prefixed "1.0.0" + strip-hex-prefix "1.0.0" + +evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" @@ -1248,7 +2346,7 @@ fast-diff@^1.1.2: resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0" integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== -fast-glob@^3.2.9: +fast-glob@^3.0.3, fast-glob@^3.2.9: version "3.3.2" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== @@ -1264,11 +2362,16 @@ fast-json-stable-stringify@^2.0.0: resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== -fast-levenshtein@^2.0.6: +fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== +fast-uri@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.1.tgz#cddd2eecfc83a71c1be2cc2ef2061331be8a7134" + integrity sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw== + fastq@^1.6.0: version "1.17.1" resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" @@ -1290,6 +2393,13 @@ fill-range@^7.1.1: dependencies: to-regex-range "^5.0.1" +find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ== + dependencies: + locate-path "^2.0.0" + find-up@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" @@ -1314,11 +2424,21 @@ flat-cache@^4.0.0: flatted "^3.2.9" keyv "^4.5.4" +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + flatted@^3.2.9: version "3.3.1" resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a" integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== +follow-redirects@^1.12.1, follow-redirects@^1.15.6: + version "1.15.6" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b" + integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== + for-each@^0.3.3: version "0.3.3" resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" @@ -1326,6 +2446,60 @@ for-each@^0.3.3: dependencies: is-callable "^1.1.3" +foreground-child@^3.1.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.3.0.tgz#0ac8644c06e431439f8561db8ecf29a7b5519c77" + integrity sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg== + dependencies: + cross-spawn "^7.0.0" + signal-exit "^4.0.1" + +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +fp-ts@1.19.3: + version "1.19.3" + resolved "https://registry.yarnpkg.com/fp-ts/-/fp-ts-1.19.3.tgz#261a60d1088fbff01f91256f91d21d0caaaaa96f" + integrity sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg== + +fp-ts@^1.0.0: + version "1.19.5" + resolved "https://registry.yarnpkg.com/fp-ts/-/fp-ts-1.19.5.tgz#3da865e585dfa1fdfd51785417357ac50afc520a" + integrity sha512-wDNqTimnzs8QqpldiId9OavWK2NptormjXnRJTQecNjzwfyp6P/8s/zG8e4h3ja3oqkKaY72UlTjQYt/1yXf9A== + +fs-extra@^10.0.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" + integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-extra@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" + integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + fs-extra@^9.0.0: version "9.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" @@ -1336,6 +2510,16 @@ fs-extra@^9.0.0: jsonfile "^6.0.1" universalify "^2.0.0" +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + function-bind@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" @@ -1356,11 +2540,16 @@ functions-have-names@^1.2.3: resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== -get-caller-file@^2.0.1: +get-caller-file@^2.0.1, get-caller-file@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== +get-func-name@^2.0.1, get-func-name@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.2.tgz#0d7cf20cd13fda808669ffa88f4ffc7a3943fc41" + integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== + get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" @@ -1381,7 +2570,15 @@ get-symbol-description@^1.0.2: es-errors "^1.3.0" get-intrinsic "^1.2.4" -glob-parent@^5.1.2: +ghost-testrpc@^0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/ghost-testrpc/-/ghost-testrpc-0.0.2.tgz#c4de9557b1d1ae7b2d20bbe474a91378ca90ce92" + integrity sha512-i08dAEgJ2g8z5buJIrCTduwPIhih3DP+hOCTyyryikfV8T0bNvHnGXO67i0DD1H4GBDETTclPy9njZbfluQYrQ== + dependencies: + chalk "^2.4.2" + node-emoji "^1.10.0" + +glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== @@ -1395,6 +2592,80 @@ glob-parent@^6.0.2: dependencies: is-glob "^4.0.3" +glob@7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^10.3.10: + version "10.4.5" + resolved "https://registry.yarnpkg.com/glob/-/glob-10.4.5.tgz#f4d9f0b90ffdbab09c9d77f5f29b4262517b0956" + integrity sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg== + dependencies: + foreground-child "^3.1.0" + jackspeak "^3.1.2" + minimatch "^9.0.4" + minipass "^7.1.2" + package-json-from-dist "^1.0.0" + path-scurry "^1.11.1" + +glob@^5.0.15: + version "5.0.15" + resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" + integrity sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA== + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "2 || 3" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^7.0.0, glob@^7.1.3: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" + integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^5.0.1" + once "^1.3.0" + +global-modules@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" + integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== + dependencies: + global-prefix "^3.0.0" + +global-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" + integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== + dependencies: + ini "^1.3.5" + kind-of "^6.0.2" + which "^1.3.1" + globals@^14.0.0: version "14.0.0" resolved "https://registry.yarnpkg.com/globals/-/globals-14.0.0.tgz#898d7413c29babcf6bafe56fcadded858ada724e" @@ -1408,6 +2679,20 @@ globalthis@^1.0.3: define-properties "^1.2.1" gopd "^1.0.1" +globby@^10.0.1: + version "10.0.2" + resolved "https://registry.yarnpkg.com/globby/-/globby-10.0.2.tgz#277593e745acaa4646c3ab411289ec47a0392543" + integrity sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg== + dependencies: + "@types/glob" "^7.1.1" + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.0.3" + glob "^7.1.3" + ignore "^5.1.1" + merge2 "^1.2.3" + slash "^3.0.0" + globby@^11.1.0: version "11.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" @@ -1437,11 +2722,98 @@ graphemer@^1.4.0: resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== +handlebars@^4.0.1: + version "4.7.8" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.8.tgz#41c42c18b1be2365439188c77c6afae71c0cd9e9" + integrity sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ== + dependencies: + minimist "^1.2.5" + neo-async "^2.6.2" + source-map "^0.6.1" + wordwrap "^1.0.0" + optionalDependencies: + uglify-js "^3.1.4" + +hardhat-gas-reporter@2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/hardhat-gas-reporter/-/hardhat-gas-reporter-2.2.1.tgz#ce0b5437fdcaf919479d7a51cf45d8d72cbcd16b" + integrity sha512-3AfPDGBn6VPmRKU65W28qVvG5x+qYL2gH9PAivd31oGj/ZHpZTutqXh6wq46993Vz35rnPDnrGo028U4/NP/Vw== + dependencies: + "@ethersproject/abi" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/units" "^5.7.0" + "@solidity-parser/parser" "^0.18.0" + axios "^1.6.7" + brotli-wasm "^2.0.1" + chalk "4.1.2" + cli-table3 "^0.6.3" + ethereum-cryptography "^2.1.3" + glob "^10.3.10" + jsonschema "^1.4.1" + lodash "^4.17.21" + markdown-table "2.0.0" + sha1 "^1.1.1" + viem "2.7.14" + +hardhat@2.22.8: + version "2.22.8" + resolved "https://registry.yarnpkg.com/hardhat/-/hardhat-2.22.8.tgz#348dcdb48c44648ae7723f6efb511785e2b220c5" + integrity sha512-hPh2feBGRswkXkoXUFW6NbxgiYtEzp/3uvVFjYROy6fA9LH8BobUyxStlyhSKj4+v1Y23ZoUBOVWL84IcLACrA== + dependencies: + "@ethersproject/abi" "^5.1.2" + "@metamask/eth-sig-util" "^4.0.0" + "@nomicfoundation/edr" "^0.5.2" + "@nomicfoundation/ethereumjs-common" "4.0.4" + "@nomicfoundation/ethereumjs-tx" "5.0.4" + "@nomicfoundation/ethereumjs-util" "9.0.4" + "@nomicfoundation/solidity-analyzer" "^0.1.0" + "@sentry/node" "^5.18.1" + "@types/bn.js" "^5.1.0" + "@types/lru-cache" "^5.1.0" + adm-zip "^0.4.16" + aggregate-error "^3.0.0" + ansi-escapes "^4.3.0" + boxen "^5.1.2" + chalk "^2.4.2" + chokidar "^3.4.0" + ci-info "^2.0.0" + debug "^4.1.1" + enquirer "^2.3.0" + env-paths "^2.2.0" + ethereum-cryptography "^1.0.3" + ethereumjs-abi "^0.6.8" + find-up "^2.1.0" + fp-ts "1.19.3" + fs-extra "^7.0.1" + glob "7.2.0" + immutable "^4.0.0-rc.12" + io-ts "1.10.4" + keccak "^3.0.2" + lodash "^4.17.11" + mnemonist "^0.38.0" + mocha "^10.0.0" + p-map "^4.0.0" + raw-body "^2.4.1" + resolve "1.17.0" + semver "^6.3.0" + solc "0.8.26" + source-map-support "^0.5.13" + stacktrace-parser "^0.1.10" + tsort "0.0.1" + undici "^5.14.0" + uuid "^8.3.2" + ws "^7.4.6" + has-bigints@^1.0.1, has-bigints@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== +has-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" + integrity sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA== + has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" @@ -1476,6 +2848,15 @@ has-tostringtag@^1.0.0, has-tostringtag@^1.0.2: dependencies: has-symbols "^1.0.3" +hash-base@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== + dependencies: + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + hash.js@1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.3.tgz#340dedbe6290187151c1ea1d777a3448935df846" @@ -1484,7 +2865,7 @@ hash.js@1.1.3: inherits "^2.0.3" minimalistic-assert "^1.0.0" -hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3: +hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== @@ -1499,6 +2880,16 @@ hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2: dependencies: function-bind "^1.1.2" +he@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +"heap@>= 0.2.0": + version "0.2.7" + resolved "https://registry.yarnpkg.com/heap/-/heap-0.2.7.tgz#1e6adf711d3f27ce35a81fe3b7bd576c2260a8fc" + integrity sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg== + hmac-drbg@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" @@ -1513,16 +2904,57 @@ hosted-git-info@^2.1.4: resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== + dependencies: + depd "2.0.0" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses "2.0.1" + toidentifier "1.0.1" + +https-proxy-agent@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" + integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== + dependencies: + agent-base "6" + debug "4" + husky@9.0.11: version "9.0.11" resolved "https://registry.yarnpkg.com/husky/-/husky-9.0.11.tgz#fc91df4c756050de41b3e478b2158b87c1e79af9" integrity sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw== +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +ignore@^5.1.1: + version "5.3.2" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" + integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== + ignore@^5.2.0, ignore@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== +immer@10.0.2: + version "10.0.2" + resolved "https://registry.yarnpkg.com/immer/-/immer-10.0.2.tgz#11636c5b77acf529e059582d76faf338beb56141" + integrity sha512-Rx3CqeqQ19sxUtYV9CU911Vhy8/721wRFnJv3REVGWUmoAcIwzifTsdmJte/MV+0/XpM35LZdQMBGkRIoLPwQA== + +immutable@^4.0.0-rc.12: + version "4.3.7" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.7.tgz#c70145fc90d89fb02021e65c84eb0226e4e5a381" + integrity sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw== + import-fresh@^3.2.1: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" @@ -1536,11 +2968,29 @@ imurmurhash@^0.1.4: resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== -inherits@^2.0.3, inherits@^2.0.4: +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, 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== +ini@^1.3.5: + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + internal-slot@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.7.tgz#c06dcca3ed874249881007b0a5523b172a190802" @@ -1550,6 +3000,18 @@ internal-slot@^1.0.7: hasown "^2.0.0" side-channel "^1.0.4" +interpret@^1.0.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" + integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== + +io-ts@1.10.4: + version "1.10.4" + resolved "https://registry.yarnpkg.com/io-ts/-/io-ts-1.10.4.tgz#cd5401b138de88e4f920adbcb7026e2d1967e6e2" + integrity sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g== + dependencies: + fp-ts "^1.0.0" + is-array-buffer@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.4.tgz#7a1f92b3d61edd2bc65d24f130530ea93d7fae98" @@ -1570,6 +3032,13 @@ is-bigint@^1.0.1: dependencies: has-bigints "^1.0.1" +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + is-boolean-object@^1.1.0: version "1.1.2" resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" @@ -1614,13 +3083,18 @@ is-fullwidth-code-point@^3.0.0: resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== dependencies: is-extglob "^2.1.1" +is-hex-prefixed@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz#7d8d37e6ad77e5d127148913c573e082d777f554" + integrity sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA== + is-negative-zero@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747" @@ -1643,6 +3117,11 @@ is-path-inside@^3.0.3: resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== +is-plain-obj@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== + is-regex@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" @@ -1679,6 +3158,11 @@ is-typed-array@^1.1.13: dependencies: which-typed-array "^1.1.14" +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + is-weakref@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" @@ -1696,16 +3180,43 @@ isexe@^2.0.0: resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== +isows@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/isows/-/isows-1.0.3.tgz#93c1cf0575daf56e7120bab5c8c448b0809d0d74" + integrity sha512-2cKei4vlmg2cxEjm3wVSqn8pcoRF/LX/wpifuuNquFO4SQmPwarClT+SUCA2lt+l581tTeZIPIZuIDo2jWN1fg== + +isows@1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/isows/-/isows-1.0.4.tgz#810cd0d90cc4995c26395d2aa4cfa4037ebdf061" + integrity sha512-hEzjY+x9u9hPmBom9IIAqdJCwNLax+xrPb51vEPpERoFlIxgmZcHzsT5jKG06nvInKOBGvReAVz80Umed5CczQ== + +jackspeak@^3.1.2: + version "3.4.3" + resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-3.4.3.tgz#8833a9d89ab4acde6188942bd1c53b6390ed5a8a" + integrity sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw== + dependencies: + "@isaacs/cliui" "^8.0.2" + optionalDependencies: + "@pkgjs/parseargs" "^0.11.0" + js-sha3@0.5.7: version "0.5.7" resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.5.7.tgz#0d4ffd8002d5333aabaf4a23eed2f6374c9f28e7" integrity sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g== -js-sha3@0.8.0: +js-sha3@0.8.0, js-sha3@^0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== +js-yaml@3.x: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + js-yaml@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" @@ -1728,16 +3239,33 @@ json-schema-traverse@^0.4.1: resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== +json-stringify-safe@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== + json5@^2.2.2: version "2.2.3" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== + optionalDependencies: + graceful-fs "^4.1.6" + jsonfile@^6.0.1: version "6.1.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" @@ -1747,6 +3275,20 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" +jsonschema@^1.2.4, jsonschema@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.4.1.tgz#cc4c3f0077fb4542982973d8a083b6b34f482dab" + integrity sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ== + +keccak@^3.0.0, keccak@^3.0.2: + version "3.0.4" + resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.4.tgz#edc09b89e633c0549da444432ecf062ffadee86d" + integrity sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q== + dependencies: + node-addon-api "^2.0.0" + node-gyp-build "^4.2.0" + readable-stream "^3.6.0" + keyv@^4.5.4: version "4.5.4" resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" @@ -1754,6 +3296,16 @@ keyv@^4.5.4: dependencies: json-buffer "3.0.1" +kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + levn@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" @@ -1762,6 +3314,14 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + load-json-file@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" @@ -1772,6 +3332,14 @@ load-json-file@^4.0.0: pify "^3.0.0" strip-bom "^3.0.0" +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA== + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + locate-path@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" @@ -1786,26 +3354,97 @@ locate-path@^6.0.0: dependencies: p-locate "^5.0.0" +lodash.clonedeep@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" + integrity sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ== + +lodash.isequal@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== + +lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== + lodash.merge@^4.6.2: version "4.6.2" resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== +lodash.truncate@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" + integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== + +lodash@4.17.21, lodash@^4.17.11, lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +log-symbols@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== + dependencies: + chalk "^4.1.0" + is-unicode-supported "^0.1.0" + +loupe@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/loupe/-/loupe-3.1.1.tgz#71d038d59007d890e3247c5db97c1ec5a92edc54" + integrity sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw== + dependencies: + get-func-name "^2.0.1" + +lru-cache@^10.2.0: + version "10.4.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" + integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== + +lru_map@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/lru_map/-/lru_map-0.3.3.tgz#b5c8351b9464cbd750335a79650a0ec0e56118dd" + integrity sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ== + 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== +markdown-table@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-2.0.0.tgz#194a90ced26d31fe753d8b9434430214c011865b" + integrity sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A== + dependencies: + repeat-string "^1.0.0" + +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + memorystream@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" integrity sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw== -merge2@^1.3.0, merge2@^1.4.1: +merge2@^1.2.3, merge2@^1.3.0, merge2@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== +micro-ftch@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/micro-ftch/-/micro-ftch-0.3.1.tgz#6cb83388de4c1f279a034fb0cf96dfc050853c5f" + integrity sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg== + micromatch@^4.0.4: version "4.0.7" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.7.tgz#33e8190d9fe474a9895525f5618eee136d46c2e5" @@ -1814,6 +3453,18 @@ micromatch@^4.0.4: braces "^3.0.3" picomatch "^2.3.1" +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.12: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" @@ -1824,13 +3475,20 @@ minimalistic-crypto-utils@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== -minimatch@^3.0.4, minimatch@^3.1.2: +"minimatch@2 || 3", minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== dependencies: brace-expansion "^1.1.7" +minimatch@^5.0.1, minimatch@^5.1.6: + version "5.1.6" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" + integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== + dependencies: + brace-expansion "^2.0.1" + minimatch@^9.0.4: version "9.0.5" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" @@ -1838,26 +3496,121 @@ minimatch@^9.0.4: dependencies: brace-expansion "^2.0.1" -minimist@^1.2.6: +minimist@^1.2.5, minimist@^1.2.6: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2: + version "7.1.2" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" + integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== + +mkdirp@0.5.x: + version "0.5.6" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + +mnemonist@^0.38.0: + version "0.38.5" + resolved "https://registry.yarnpkg.com/mnemonist/-/mnemonist-0.38.5.tgz#4adc7f4200491237fe0fa689ac0b86539685cade" + integrity sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg== + dependencies: + obliterator "^2.0.0" + +mocha@^10.0.0, mocha@^10.2.0: + version "10.7.3" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.7.3.tgz#ae32003cabbd52b59aece17846056a68eb4b0752" + integrity sha512-uQWxAu44wwiACGqjbPYmjo7Lg8sFrS3dQe7PP2FQI+woptP4vZXSMcfMyFL/e1yFEeEpV4RtyTpZROOKmxis+A== + dependencies: + ansi-colors "^4.1.3" + browser-stdout "^1.3.1" + chokidar "^3.5.3" + debug "^4.3.5" + diff "^5.2.0" + escape-string-regexp "^4.0.0" + find-up "^5.0.0" + glob "^8.1.0" + he "^1.2.0" + js-yaml "^4.1.0" + log-symbols "^4.1.0" + minimatch "^5.1.6" + ms "^2.1.3" + serialize-javascript "^6.0.2" + strip-json-comments "^3.1.1" + supports-color "^8.1.1" + workerpool "^6.5.1" + yargs "^16.2.0" + yargs-parser "^20.2.9" + yargs-unparser "^2.0.0" + ms@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== +ms@^2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== +ndjson@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ndjson/-/ndjson-2.0.0.tgz#320ac86f6fe53f5681897349b86ac6f43bfa3a19" + integrity sha512-nGl7LRGrzugTtaFcJMhLbpzJM6XdivmbkdlaGcrk/LXg2KL/YBC6z1g70xh0/al+oFuVFP8N8kiWRucmeEH/qQ== + dependencies: + json-stringify-safe "^5.0.1" + minimist "^1.2.5" + readable-stream "^3.6.0" + split2 "^3.0.0" + through2 "^4.0.0" + +neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + nice-try@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== +node-addon-api@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32" + integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== + +node-emoji@^1.10.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.11.0.tgz#69a0150e6946e2f115e9d7ea4df7971e2628301c" + integrity sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A== + dependencies: + lodash "^4.17.21" + +node-gyp-build@^4.2.0: + version "4.8.1" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.1.tgz#976d3ad905e71b76086f4f0b0d3637fe79b6cda5" + integrity sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw== + +nofilter@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-3.1.0.tgz#c757ba68801d41ff930ba2ec55bab52ca184aa66" + integrity sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g== + +nopt@3.x: + version "3.0.6" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + integrity sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg== + dependencies: + abbrev "1" + normalize-package-data@^2.3.2: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" @@ -1868,6 +3621,11 @@ normalize-package-data@^2.3.2: semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + npm-run-all@4.1.5: version "4.1.5" resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.1.5.tgz#04476202a15ee0e2e214080861bff12a51d98fba" @@ -1883,6 +3641,14 @@ npm-run-all@4.1.5: shell-quote "^1.6.1" string.prototype.padend "^3.0.0" +number-to-bn@1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/number-to-bn/-/number-to-bn-1.7.0.tgz#bb3623592f7e5f9e0030b1977bd41a0c53fe1ea0" + integrity sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig== + dependencies: + bn.js "4.11.6" + strip-hex-prefix "1.0.0" + object-inspect@^1.13.1: version "1.13.2" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.2.tgz#dea0088467fb991e67af4058147a24824a3043ff" @@ -1903,6 +3669,30 @@ object.assign@^4.1.5: has-symbols "^1.0.3" object-keys "^1.1.1" +obliterator@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/obliterator/-/obliterator-2.0.4.tgz#fa650e019b2d075d745e44f1effeb13a2adbe816" + integrity sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ== + +once@1.x, once@^1.3.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== + dependencies: + wrappy "1" + +optionator@^0.8.1: + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + optionator@^0.9.3: version "0.9.4" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" @@ -1915,6 +3705,18 @@ optionator@^0.9.3: type-check "^0.4.0" word-wrap "^1.2.5" +os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== + +p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== + dependencies: + p-try "^1.0.0" + p-limit@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" @@ -1929,6 +3731,13 @@ p-limit@^3.0.2: dependencies: yocto-queue "^0.1.0" +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + integrity sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg== + dependencies: + p-limit "^1.1.0" + p-locate@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" @@ -1943,11 +3752,28 @@ p-locate@^5.0.0: dependencies: p-limit "^3.0.2" +p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" + integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== + dependencies: + aggregate-error "^3.0.0" + +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww== + p-try@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== +package-json-from-dist@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz#e501cd3094b278495eb4258d4c9f6d5ac3019f00" + integrity sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw== + parent-module@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" @@ -1963,11 +3789,21 @@ parse-json@^4.0.0: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== + path-exists@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + path-key@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" @@ -1978,11 +3814,19 @@ path-key@^3.1.0: resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== -path-parse@^1.0.7: +path-parse@^1.0.6, path-parse@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== +path-scurry@^1.11.1: + version "1.11.1" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2" + integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== + dependencies: + lru-cache "^10.2.0" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + path-type@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" @@ -1995,7 +3839,23 @@ path-type@^4.0.0: resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -picomatch@^2.3.1: +pathval@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pathval/-/pathval-2.0.0.tgz#7e2550b422601d4f6b8e26f1301bc8f15a741a25" + integrity sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA== + +pbkdf2@^3.0.17: + version "3.1.2" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" + integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== @@ -2010,6 +3870,11 @@ pify@^3.0.0: resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + possible-typed-array-names@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" @@ -2020,6 +3885,11 @@ prelude-ls@^1.2.1: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== + prettier-linter-helpers@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" @@ -2037,6 +3907,19 @@ prettier@^2.0.5: resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== +prompts@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" + integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +proxy-from-env@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + punycode@^2.1.0: version "2.3.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" @@ -2047,6 +3930,23 @@ queue-microtask@^1.2.2: resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +raw-body@^2.4.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" + integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" + read-pkg@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" @@ -2056,6 +3956,36 @@ read-pkg@^3.0.0: normalize-package-data "^2.3.2" path-type "^3.0.0" +readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.6.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== + dependencies: + resolve "^1.1.6" + +recursive-readdir@^2.2.2: + version "2.2.3" + resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.3.tgz#e726f328c0d69153bcabd5c322d3195252379372" + integrity sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA== + dependencies: + minimatch "^3.0.5" + reflect-metadata@^0.1.13: version "0.1.14" resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.14.tgz#24cf721fe60677146bb77eeb0e1f9dece3d65859" @@ -2071,11 +4001,21 @@ regexp.prototype.flags@^1.5.2: es-errors "^1.3.0" set-function-name "^2.0.1" +repeat-string@^1.0.0: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== + require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + require-main-filename@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" @@ -2086,7 +4026,19 @@ resolve-from@^4.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== -resolve@^1.10.0: +resolve@1.1.x: + version "1.1.7" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + integrity sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg== + +resolve@1.17.0: + version "1.17.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" + integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== + dependencies: + path-parse "^1.0.6" + +resolve@^1.1.6, resolve@^1.10.0: version "1.22.8" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== @@ -2100,6 +4052,21 @@ reusify@^1.0.4: resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +rlp@^2.2.3: + version "2.2.7" + resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.7.tgz#33f31c4afac81124ac4b283e2bd4d9720b30beaf" + integrity sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ== + dependencies: + bn.js "^5.2.0" + run-parallel@^1.1.9: version "1.2.0" resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" @@ -2117,6 +4084,11 @@ safe-array-concat@^1.1.2: has-symbols "^1.0.3" isarray "^2.0.5" +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + safe-regex-test@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.3.tgz#a5b4c0f06e0ab50ea2c395c14d8371232924c377" @@ -2126,26 +4098,77 @@ safe-regex-test@^1.0.3: es-errors "^1.3.0" is-regex "^1.1.4" +"safer-buffer@>= 2.1.2 < 3": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sc-istanbul@^0.4.5: + version "0.4.6" + resolved "https://registry.yarnpkg.com/sc-istanbul/-/sc-istanbul-0.4.6.tgz#cf6784355ff2076f92d70d59047d71c13703e839" + integrity sha512-qJFF/8tW/zJsbyfh/iT/ZM5QNHE3CXxtLJbZsL+CzdJLBsPD7SedJZoUA4d8iAcN2IoMp/Dx80shOOd2x96X/g== + dependencies: + abbrev "1.0.x" + async "1.x" + escodegen "1.8.x" + esprima "2.7.x" + glob "^5.0.15" + handlebars "^4.0.1" + js-yaml "3.x" + mkdirp "0.5.x" + nopt "3.x" + once "1.x" + resolve "1.1.x" + supports-color "^3.1.0" + which "^1.1.1" + wordwrap "^1.0.0" + scrypt-js@2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-2.0.4.tgz#32f8c5149f0797672e551c07e230f834b6af5f16" integrity sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw== -scrypt-js@3.0.1: +scrypt-js@3.0.1, scrypt-js@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== +secp256k1@^4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.3.tgz#c4559ecd1b8d3c1827ed2d1b94190d69ce267303" + integrity sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA== + dependencies: + elliptic "^6.5.4" + node-addon-api "^2.0.0" + node-gyp-build "^4.2.0" + "semver@2 || 3 || 4 || 5", semver@^5.5.0: version "5.7.2" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== +semver@^6.3.0: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +semver@^7.3.4: + version "7.6.3" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" + integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== + semver@^7.6.0: version "7.6.2" resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.2.tgz#1e3b34759f896e8f14d6134732ce798aeb0c6e13" integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== +serialize-javascript@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" + integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== + dependencies: + randombytes "^2.1.0" + set-blocking@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" @@ -2178,6 +4201,32 @@ setimmediate@1.0.4: resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.4.tgz#20e81de622d4a02588ce0c8da8973cbcf1d3138f" integrity sha512-/TjEmXQVEzdod/FFskf3o7oOAsGhHf2j1dZqRFbDzq4F3mvvxflIIi4Hd3bLQE9y/CpwqfSQam5JakI/mi3Pog== +setimmediate@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== + +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +sha1@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/sha1/-/sha1-1.1.1.tgz#addaa7a93168f393f19eb2b15091618e2700f848" + integrity sha512-dZBS6OrMjtgVkopB1Gmo4RQCDKiZsqcpAQpkV/aaj+FCrCg8r4I4qMkDPQjBgLIxlmu9k4nUbWq6ohXahOneYA== + dependencies: + charenc ">= 0.0.1" + crypt ">= 0.0.1" + shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" @@ -2207,6 +4256,15 @@ shell-quote@^1.6.1: resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== +shelljs@^0.8.3: + version "0.8.5" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" + integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + side-channel@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" @@ -2217,11 +4275,96 @@ side-channel@^1.0.4: get-intrinsic "^1.2.4" object-inspect "^1.13.1" +signal-exit@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" + integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== + +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== + slash@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +solc@0.8.26: + version "0.8.26" + resolved "https://registry.yarnpkg.com/solc/-/solc-0.8.26.tgz#afc78078953f6ab3e727c338a2fefcd80dd5b01a" + integrity sha512-yiPQNVf5rBFHwN6SIf3TUUvVAFKcQqmSUFeq+fb6pNRCo0ZCgpYOZDi3BVoezCPIAcKrVYd/qXlBLUP9wVrZ9g== + dependencies: + command-exists "^1.2.8" + commander "^8.1.0" + follow-redirects "^1.12.1" + js-sha3 "0.8.0" + memorystream "^0.3.1" + semver "^5.5.0" + tmp "0.0.33" + +solidity-coverage@0.8.12: + version "0.8.12" + resolved "https://registry.yarnpkg.com/solidity-coverage/-/solidity-coverage-0.8.12.tgz#c4fa2f64eff8ada7a1387b235d6b5b0e6c6985ed" + integrity sha512-8cOB1PtjnjFRqOgwFiD8DaUsYJtVJ6+YdXQtSZDrLGf8cdhhh8xzTtGzVTGeBf15kTv0v7lYPJlV/az7zLEPJw== + dependencies: + "@ethersproject/abi" "^5.0.9" + "@solidity-parser/parser" "^0.18.0" + chalk "^2.4.2" + death "^1.1.0" + difflib "^0.2.4" + fs-extra "^8.1.0" + ghost-testrpc "^0.0.2" + global-modules "^2.0.0" + globby "^10.0.1" + jsonschema "^1.2.4" + lodash "^4.17.21" + mocha "^10.2.0" + node-emoji "^1.10.0" + pify "^4.0.1" + recursive-readdir "^2.2.2" + sc-istanbul "^0.4.5" + semver "^7.3.4" + shelljs "^0.8.3" + web3-utils "^1.3.6" + +soltypes@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/soltypes/-/soltypes-2.0.0.tgz#5d252b54cf308fae9616f949c6227d5c10861cd6" + integrity sha512-9HIM9ErTeDs4qoxOXnxbxyoS93I2HjIiPqva5/XJZjlO841Jgh7Szsx0xpdXlZXtuYe+Q1M1s75D2C0kY11ivw== + dependencies: + "@ethersproject/bignumber" "^5.6.0" + js-sha3 "^0.8.0" + +source-map-support@^0.5.13: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.6.0, source-map@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d" + integrity sha512-CBdZ2oa/BHhS4xj5DlhjWNHcan57/5YuvfdLf17iVmIpd9KRm+DFLmC6nBNj+6Ua7Kt3TmOjDpQT1aTYOQtoUA== + dependencies: + amdefine ">=0.0.4" + spdx-correct@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c" @@ -2248,7 +4391,40 @@ spdx-license-ids@^3.0.0: resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz#22aa922dcf2f2885a6494a261f2d8b75345d0326" integrity sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ== -string-width@^4.1.0, string-width@^4.2.0: +split2@^3.0.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f" + integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg== + dependencies: + readable-stream "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +stacktrace-parser@^0.1.10: + version "0.1.10" + resolved "https://registry.yarnpkg.com/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz#29fb0cae4e0d0b85155879402857a1639eb6051a" + integrity sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg== + dependencies: + type-fest "^0.7.1" + +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + +"string-width-cjs@npm:string-width@^4.2.0": + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -2257,6 +4433,15 @@ string-width@^4.1.0, string-width@^4.2.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" +string-width@^5.0.1, string-width@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== + dependencies: + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" + string.prototype.padend@^3.0.0: version "3.1.6" resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.1.6.tgz#ba79cf8992609a91c872daa47c6bb144ee7f62a5" @@ -2295,6 +4480,20 @@ string.prototype.trimstart@^1.0.8: define-properties "^1.2.1" es-object-atoms "^1.0.0" +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + 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" @@ -2302,16 +4501,37 @@ strip-ansi@^6.0.0, strip-ansi@^6.0.1: dependencies: ansi-regex "^5.0.1" +strip-ansi@^7.0.1: + version "7.1.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" + integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== + dependencies: + ansi-regex "^6.0.1" + strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== +strip-hex-prefix@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz#0c5f155fef1151373377de9dbb588da05500e36f" + integrity sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A== + dependencies: + is-hex-prefixed "1.0.0" + strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== +supports-color@^3.1.0: + version "3.2.3" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" + integrity sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A== + dependencies: + has-flag "^1.0.0" + supports-color@^5.3.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" @@ -2326,6 +4546,13 @@ supports-color@^7.1.0: dependencies: has-flag "^4.0.0" +supports-color@^8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" @@ -2339,11 +4566,36 @@ synckit@^0.8.6: "@pkgr/core" "^0.1.0" tslib "^2.6.2" +table@^6.8.0: + version "6.8.2" + resolved "https://registry.yarnpkg.com/table/-/table-6.8.2.tgz#c5504ccf201213fa227248bdc8c5569716ac6c58" + integrity sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA== + dependencies: + ajv "^8.0.1" + lodash.truncate "^4.4.2" + slice-ansi "^4.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" + text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== +through2@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" + integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== + dependencies: + readable-stream "3" + +tmp@0.0.33: + version "0.0.33" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== + dependencies: + os-tmpdir "~1.0.2" + to-regex-range@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" @@ -2351,6 +4603,11 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== + ts-api-utils@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz#4b490e27129f1e8e686b45cc4ab63714dc60eea1" @@ -2389,11 +4646,31 @@ tslib@2.4.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== +tslib@^1.9.3: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + tslib@^2.6.2: version "2.6.3" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.3.tgz#0438f810ad7a9edcde7a241c3d80db693c8cbfe0" integrity sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ== +tsort@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/tsort/-/tsort-0.0.1.tgz#e2280f5e817f8bf4275657fd0f9aebd44f5a2786" + integrity sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw== + +tweetnacl-util@^0.15.1: + version "0.15.1" + resolved "https://registry.yarnpkg.com/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz#b80fcdb5c97bcc508be18c44a4be50f022eea00b" + integrity sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw== + +tweetnacl@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.3.tgz#ac0af71680458d8a6378d0d0d050ab1407d35596" + integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw== + type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" @@ -2401,6 +4678,28 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== + dependencies: + prelude-ls "~1.1.2" + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + +type-fest@^0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.7.1.tgz#8dda65feaf03ed78f0a3f9678f1869147f7c5c48" + integrity sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg== + typed-array-buffer@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz#1867c5d83b20fcb5ccf32649e5e2fc7424474ff3" @@ -2450,6 +4749,11 @@ typescript@5.5.3: resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.5.3.tgz#e1b0a3c394190838a0b168e771b0ad56a0af0faa" integrity sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ== +uglify-js@^3.1.4: + version "3.19.2" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.19.2.tgz#319ae26a5fbd18d03c7dc02496cfa1d6f1cd4307" + integrity sha512-S8KA6DDI47nQXJSi2ctQ629YzwOVs+bQML6DAtvy0wgNdpi+0ySpQK0g2pxBq2xfF2z3YCscu7NNA8nXT9PlIQ== + unbox-primitive@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" @@ -2465,11 +4769,28 @@ undici-types@~5.26.4: resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== +undici@^5.14.0: + version "5.28.4" + resolved "https://registry.yarnpkg.com/undici/-/undici-5.28.4.tgz#6b280408edb6a1a604a9b20340f45b422e373068" + integrity sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g== + dependencies: + "@fastify/busboy" "^2.0.0" + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + universalify@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== +unpipe@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== + uri-js@^4.2.2: version "4.4.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" @@ -2477,11 +4798,26 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" +utf8@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/utf8/-/utf8-3.0.0.tgz#f052eed1364d696e769ef058b183df88c87f69d1" + integrity sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ== + +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== + uuid@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.1.tgz#c2a30dedb3e535d72ccf82e343941a50ba8533ac" integrity sha512-nWg9+Oa3qD2CQzHIP4qKUqwNfzKn8P0LtFhotaCTFchsV7ZfDhAybeip/HZVeMIpZi9JgY1E3nUlwaCmZT1sEg== +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + 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" @@ -2495,6 +4831,57 @@ validate-npm-package-license@^3.0.1: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" +viem@2.19.4: + version "2.19.4" + resolved "https://registry.yarnpkg.com/viem/-/viem-2.19.4.tgz#129a6dfbaf81bfc5664fde62c6a77cdbdebeeff9" + integrity sha512-JdhK3ui3uPD2tnpqGNkJaDQV4zTfOeKXcF+VrU8RG88Dn2e0lFjv6l7m0YNmYLsHm+n5vFFfCLcUrTk6xcYv5w== + dependencies: + "@adraffy/ens-normalize" "1.10.0" + "@noble/curves" "1.4.0" + "@noble/hashes" "1.4.0" + "@scure/bip32" "1.4.0" + "@scure/bip39" "1.3.0" + abitype "1.0.5" + isows "1.0.4" + webauthn-p256 "0.0.5" + ws "8.17.1" + +viem@2.7.14: + version "2.7.14" + resolved "https://registry.yarnpkg.com/viem/-/viem-2.7.14.tgz#347d316cb5400f0b896b2205b1bc8073aa5e27e0" + integrity sha512-5b1KB1gXli02GOQHZIUsRluNUwssl2t4hqdFAzyWPwJ744N83jAOBOjOkrGz7K3qMIv9b0GQt3DoZIErSQTPkQ== + dependencies: + "@adraffy/ens-normalize" "1.10.0" + "@noble/curves" "1.2.0" + "@noble/hashes" "1.3.2" + "@scure/bip32" "1.3.2" + "@scure/bip39" "1.2.1" + abitype "1.0.0" + isows "1.0.3" + ws "8.13.0" + +web3-utils@^1.3.6: + version "1.10.4" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.10.4.tgz#0daee7d6841641655d8b3726baf33b08eda1cbec" + integrity sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A== + dependencies: + "@ethereumjs/util" "^8.1.0" + bn.js "^5.2.1" + ethereum-bloom-filters "^1.0.6" + ethereum-cryptography "^2.1.2" + ethjs-unit "0.1.6" + number-to-bn "1.7.0" + randombytes "^2.1.0" + utf8 "3.0.0" + +webauthn-p256@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/webauthn-p256/-/webauthn-p256-0.0.5.tgz#0baebd2ba8a414b21cc09c0d40f9dd0be96a06bd" + integrity sha512-drMGNWKdaixZNobeORVIqq7k5DsRC9FnG201K2QjeOoQLmtSDaSsVZdkg6n5jUALJKcAG++zBPJXmv6hy0nWFg== + dependencies: + "@noble/curves" "^1.4.0" + "@noble/hashes" "^1.4.0" + which-boxed-primitive@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" @@ -2522,7 +4909,7 @@ which-typed-array@^1.1.14, which-typed-array@^1.1.15: gopd "^1.0.1" has-tostringtag "^1.0.2" -which@^1.2.9: +which@^1.1.1, which@^1.2.9, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== @@ -2536,11 +4923,37 @@ which@^2.0.1: dependencies: isexe "^2.0.0" -word-wrap@^1.2.5: +widest-line@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" + integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== + dependencies: + string-width "^4.0.0" + +word-wrap@^1.2.5, word-wrap@~1.2.3: version "1.2.5" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== +wordwrap@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== + +workerpool@^6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.5.1.tgz#060f73b39d0caf97c6db64da004cd01b4c099544" + integrity sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA== + +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrap-ansi@^6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" @@ -2550,16 +4963,49 @@ wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" + integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== + dependencies: + ansi-styles "^6.1.0" + string-width "^5.0.1" + strip-ansi "^7.0.1" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + 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@8.13.0: + version "8.13.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0" + integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== + ws@8.17.1: version "8.17.1" resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.1.tgz#9293da530bb548febc95371d90f9c878727d919b" integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ== +ws@^7.4.6: + version "7.5.10" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9" + integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== + xmlhttprequest@1.8.0: version "1.8.0" resolved "https://registry.yarnpkg.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz#67fe075c5c24fef39f9d65f5f7b7fe75171968fc" @@ -2570,6 +5016,11 @@ y18n@^4.0.0: resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + yargs-parser@^18.1.2: version "18.1.3" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" @@ -2578,6 +5029,21 @@ yargs-parser@^18.1.2: camelcase "^5.0.0" decamelize "^1.2.0" +yargs-parser@^20.2.2, yargs-parser@^20.2.9: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs-unparser@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" + integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== + dependencies: + camelcase "^6.0.0" + decamelize "^4.0.0" + flat "^5.0.2" + is-plain-obj "^2.1.0" + yargs@^15.3.1: version "15.4.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" @@ -2595,6 +5061,19 @@ yargs@^15.3.1: y18n "^4.0.0" yargs-parser "^18.1.2" +yargs@^16.2.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + yn@3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" From 3e79ab1c53b25f1530580421c0fcb670fec0d93a Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 16 Aug 2024 22:57:47 +0900 Subject: [PATCH 14/92] Remove a package for python sdk --- packages/python/v1/.gitkeep | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 packages/python/v1/.gitkeep diff --git a/packages/python/v1/.gitkeep b/packages/python/v1/.gitkeep deleted file mode 100644 index e69de29..0000000 From 7f3edb4d6312db3dd2f8f3471cadcd5718a9ed12 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 16 Aug 2024 22:58:16 +0900 Subject: [PATCH 15/92] Remove a pakcage for node/core --- packages/node/core/.eslintignore | 3 - packages/node/core/.eslintrc.js | 55 -- packages/node/core/.prettierignore | 4 - packages/node/core/.prettierrc | 9 - .../core/abi-types/AbstractFiatTokenV1.ts | 152 ---- packages/node/core/abi-types/Address.ts | 60 -- packages/node/core/abi-types/Blocklistable.ts | 159 ---- packages/node/core/abi-types/Context.ts | 60 -- packages/node/core/abi-types/ContractCall.ts | 74 -- packages/node/core/abi-types/Controller.ts | 137 --- packages/node/core/abi-types/DummyERC20.ts | 220 ----- packages/node/core/abi-types/ECRecover.ts | 60 -- packages/node/core/abi-types/ECRecoverTest.ts | 78 -- packages/node/core/abi-types/EIP2612.ts | 177 ---- packages/node/core/abi-types/EIP3009.ts | 218 ----- packages/node/core/abi-types/EIP712.ts | 60 -- packages/node/core/abi-types/EIP712Domain.ts | 68 -- packages/node/core/abi-types/ERC1967Proxy.ts | 79 -- .../node/core/abi-types/ERC1967Upgrade.ts | 65 -- packages/node/core/abi-types/ERC20.ts | 218 ----- packages/node/core/abi-types/FiatTokenV1.ts | 780 ---------------- .../node/core/abi-types/FiatTokenV1Test.ts | 796 ----------------- packages/node/core/abi-types/FiatTokenV2.ts | 841 ------------------ .../node/core/abi-types/FiatTokenV2Test.ts | 800 ----------------- .../node/core/abi-types/IERC1822Proxiable.ts | 68 -- packages/node/core/abi-types/IERC20.ts | 152 ---- .../node/core/abi-types/IERC20Metadata.ts | 176 ---- .../node/core/abi-types/MintController.ts | 250 ------ packages/node/core/abi-types/MinterAdmin.ts | 250 ------ .../abi-types/MinterManagementInterface.ts | 111 --- packages/node/core/abi-types/Ownable.ts | 85 -- packages/node/core/abi-types/Pausable.ts | 143 --- packages/node/core/abi-types/Proxy.ts | 60 -- packages/node/core/abi-types/Rescuable.ts | 127 --- packages/node/core/abi-types/SafeMath.ts | 60 -- packages/node/core/abi-types/StorageSlot.ts | 60 -- .../node/core/abi-types/UUPSUpgradeable.ts | 100 --- .../abi-types/UUPSUpgradeableUnsafeMock.ts | 780 ---------------- packages/node/core/package.json | 34 - packages/node/core/src/addresses.ts | 14 - packages/node/core/src/chains.ts | 51 -- packages/node/core/src/index.ts | 2 - packages/node/core/tsconfig.json | 50 -- 43 files changed, 7746 deletions(-) delete mode 100644 packages/node/core/.eslintignore delete mode 100644 packages/node/core/.eslintrc.js delete mode 100644 packages/node/core/.prettierignore delete mode 100644 packages/node/core/.prettierrc delete mode 100755 packages/node/core/abi-types/AbstractFiatTokenV1.ts delete mode 100755 packages/node/core/abi-types/Address.ts delete mode 100755 packages/node/core/abi-types/Blocklistable.ts delete mode 100755 packages/node/core/abi-types/Context.ts delete mode 100755 packages/node/core/abi-types/ContractCall.ts delete mode 100755 packages/node/core/abi-types/Controller.ts delete mode 100755 packages/node/core/abi-types/DummyERC20.ts delete mode 100755 packages/node/core/abi-types/ECRecover.ts delete mode 100755 packages/node/core/abi-types/ECRecoverTest.ts delete mode 100755 packages/node/core/abi-types/EIP2612.ts delete mode 100755 packages/node/core/abi-types/EIP3009.ts delete mode 100755 packages/node/core/abi-types/EIP712.ts delete mode 100755 packages/node/core/abi-types/EIP712Domain.ts delete mode 100755 packages/node/core/abi-types/ERC1967Proxy.ts delete mode 100755 packages/node/core/abi-types/ERC1967Upgrade.ts delete mode 100755 packages/node/core/abi-types/ERC20.ts delete mode 100755 packages/node/core/abi-types/FiatTokenV1.ts delete mode 100755 packages/node/core/abi-types/FiatTokenV1Test.ts delete mode 100755 packages/node/core/abi-types/FiatTokenV2.ts delete mode 100755 packages/node/core/abi-types/FiatTokenV2Test.ts delete mode 100755 packages/node/core/abi-types/IERC1822Proxiable.ts delete mode 100755 packages/node/core/abi-types/IERC20.ts delete mode 100755 packages/node/core/abi-types/IERC20Metadata.ts delete mode 100755 packages/node/core/abi-types/MintController.ts delete mode 100755 packages/node/core/abi-types/MinterAdmin.ts delete mode 100755 packages/node/core/abi-types/MinterManagementInterface.ts delete mode 100755 packages/node/core/abi-types/Ownable.ts delete mode 100755 packages/node/core/abi-types/Pausable.ts delete mode 100755 packages/node/core/abi-types/Proxy.ts delete mode 100755 packages/node/core/abi-types/Rescuable.ts delete mode 100755 packages/node/core/abi-types/SafeMath.ts delete mode 100755 packages/node/core/abi-types/StorageSlot.ts delete mode 100755 packages/node/core/abi-types/UUPSUpgradeable.ts delete mode 100755 packages/node/core/abi-types/UUPSUpgradeableUnsafeMock.ts delete mode 100644 packages/node/core/package.json delete mode 100644 packages/node/core/src/addresses.ts delete mode 100644 packages/node/core/src/chains.ts delete mode 100644 packages/node/core/src/index.ts delete mode 100644 packages/node/core/tsconfig.json diff --git a/packages/node/core/.eslintignore b/packages/node/core/.eslintignore deleted file mode 100644 index e485556..0000000 --- a/packages/node/core/.eslintignore +++ /dev/null @@ -1,3 +0,0 @@ -dist -.eslintrc.js -**/*.test.ts diff --git a/packages/node/core/.eslintrc.js b/packages/node/core/.eslintrc.js deleted file mode 100644 index c24f109..0000000 --- a/packages/node/core/.eslintrc.js +++ /dev/null @@ -1,55 +0,0 @@ -'use strict'; - -module.exports = { - root: true, - extends: [ - 'eslint:recommended', - 'plugin:@typescript-eslint/recommended', - 'plugin:@typescript-eslint/recommended-requiring-type-checking', - 'plugin:@typescript-eslint/strict', - 'plugin:prettier/recommended', - ], - plugins: ['@typescript-eslint/eslint-plugin'], - parserOptions: { - project: './tsconfig.json', - }, - env: { - 'node': true, - }, - rules: { - 'dot-notation': [ - 2, - { - allowKeywords: true, - allowPattern: '^[a-z]+(_[a-z]+)+$', - }, - ], - '@typescript-eslint/interface-name-prefix': 'off', - '@typescript-eslint/no-namespace': 'error', - '@typescript-eslint/no-non-null-assertion': 'error', - '@typescript-eslint/explicit-function-return-type': 'error', - '@typescript-eslint/explicit-module-boundary-types': 'error', - '@typescript-eslint/no-explicit-any': 'error', - '@typescript-eslint/require-await': 'error', - '@typescript-eslint/naming-convention': [ - 'error', - { selector: 'variableLike', format: ['camelCase'], leadingUnderscore: 'allow' }, - { selector: 'variable', format: ['camelCase', 'UPPER_CASE'] }, - { selector: 'memberLike', format: ['strictCamelCase'] }, - { selector: 'enumMember', format: ['StrictPascalCase'] }, - { selector: 'typeLike', format: ['PascalCase'] }, - { selector: 'typeParameter', format: ['strictCamelCase', 'UPPER_CASE'] }, - { selector: 'property', format: ['strictCamelCase'] }, - { selector: 'method', format: ['strictCamelCase'] }, - ], - '@typescript-eslint/no-unused-vars': [ - 'error', - { - argsIgnorePattern: '^_', - varsIgnorePattern: '^_', - caughtErrorsIgnorePattern: '^_', - destructuredArrayIgnorePattern: '^_', - }, - ], - }, -}; diff --git a/packages/node/core/.prettierignore b/packages/node/core/.prettierignore deleted file mode 100644 index 8e6367b..0000000 --- a/packages/node/core/.prettierignore +++ /dev/null @@ -1,4 +0,0 @@ -.gitkeep -.env* -*.lock -dist diff --git a/packages/node/core/.prettierrc b/packages/node/core/.prettierrc deleted file mode 100644 index 7bf3551..0000000 --- a/packages/node/core/.prettierrc +++ /dev/null @@ -1,9 +0,0 @@ -{ - "printWidth": 100, - "semi": true, - "singleQuote": true, - "quoteProps": "consistent", - "trailingComma": "all", - "bracketSpacing": true, - "arrowParens": "always" -} diff --git a/packages/node/core/abi-types/AbstractFiatTokenV1.ts b/packages/node/core/abi-types/AbstractFiatTokenV1.ts deleted file mode 100755 index 42fc502..0000000 --- a/packages/node/core/abi-types/AbstractFiatTokenV1.ts +++ /dev/null @@ -1,152 +0,0 @@ -import { - ContractTransaction, - ContractInterface, - BytesLike as Arrayish, - BigNumber, - BigNumberish, -} from 'ethers'; -import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; - -export type ContractContext = EthersContractContextV5< - AbstractFiatTokenV1, - AbstractFiatTokenV1MethodNames, - AbstractFiatTokenV1EventsContext, - AbstractFiatTokenV1Events ->; - -export declare type EventFilter = { - address?: string; - topics?: Array; - fromBlock?: string | number; - toBlock?: string | number; -}; - -export interface ContractTransactionOverrides { - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; - /** - * The price (in wei) per unit of gas - */ - gasPrice?: BigNumber | string | number | Promise; - /** - * The nonce to use in the transaction - */ - nonce?: number; - /** - * The amount to send with the transaction (i.e. msg.value) - */ - value?: BigNumber | string | number | Promise; - /** - * The chain ID (or network ID) to use - */ - chainId?: number; -} - -export interface ContractCallOverrides { - /** - * The address to execute the call as - */ - from?: string; - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; -} -export type AbstractFiatTokenV1Events = 'Approval' | 'Transfer'; -export interface AbstractFiatTokenV1EventsContext { - Approval(...parameters: any): EventFilter; - Transfer(...parameters: any): EventFilter; -} -export type AbstractFiatTokenV1MethodNames = - | 'allowance' - | 'approve' - | 'balanceOf' - | 'totalSupply' - | 'transfer' - | 'transferFrom'; -export interface ApprovalEventEmittedResponse { - owner: string; - spender: string; - value: BigNumberish; -} -export interface TransferEventEmittedResponse { - from: string; - to: string; - value: BigNumberish; -} -export interface AbstractFiatTokenV1 { - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param owner Type: address, Indexed: false - * @param spender Type: address, Indexed: false - */ - allowance( - owner: string, - spender: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param spender Type: address, Indexed: false - * @param amount Type: uint256, Indexed: false - */ - approve( - spender: string, - amount: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param account Type: address, Indexed: false - */ - balanceOf( - account: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - totalSupply(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param recipient Type: address, Indexed: false - * @param amount Type: uint256, Indexed: false - */ - transfer( - recipient: string, - amount: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param sender Type: address, Indexed: false - * @param recipient Type: address, Indexed: false - * @param amount Type: uint256, Indexed: false - */ - transferFrom( - sender: string, - recipient: string, - amount: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; -} diff --git a/packages/node/core/abi-types/Address.ts b/packages/node/core/abi-types/Address.ts deleted file mode 100755 index 1fdea28..0000000 --- a/packages/node/core/abi-types/Address.ts +++ /dev/null @@ -1,60 +0,0 @@ -import { - ContractTransaction, - ContractInterface, - BytesLike as Arrayish, - BigNumber, - BigNumberish, -} from 'ethers'; -import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; - -export type ContractContext = EthersContractContextV5< - Address, - AddressMethodNames, - AddressEventsContext, - AddressEvents ->; - -export declare type EventFilter = { - address?: string; - topics?: Array; - fromBlock?: string | number; - toBlock?: string | number; -}; - -export interface ContractTransactionOverrides { - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; - /** - * The price (in wei) per unit of gas - */ - gasPrice?: BigNumber | string | number | Promise; - /** - * The nonce to use in the transaction - */ - nonce?: number; - /** - * The amount to send with the transaction (i.e. msg.value) - */ - value?: BigNumber | string | number | Promise; - /** - * The chain ID (or network ID) to use - */ - chainId?: number; -} - -export interface ContractCallOverrides { - /** - * The address to execute the call as - */ - from?: string; - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; -} -export type AddressEvents = undefined; -export interface AddressEventsContext {} -export type AddressMethodNames = undefined; -export interface Address {} diff --git a/packages/node/core/abi-types/Blocklistable.ts b/packages/node/core/abi-types/Blocklistable.ts deleted file mode 100755 index 96f0311..0000000 --- a/packages/node/core/abi-types/Blocklistable.ts +++ /dev/null @@ -1,159 +0,0 @@ -import { - ContractTransaction, - ContractInterface, - BytesLike as Arrayish, - BigNumber, - BigNumberish, -} from 'ethers'; -import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; - -export type ContractContext = EthersContractContextV5< - Blocklistable, - BlocklistableMethodNames, - BlocklistableEventsContext, - BlocklistableEvents ->; - -export declare type EventFilter = { - address?: string; - topics?: Array; - fromBlock?: string | number; - toBlock?: string | number; -}; - -export interface ContractTransactionOverrides { - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; - /** - * The price (in wei) per unit of gas - */ - gasPrice?: BigNumber | string | number | Promise; - /** - * The nonce to use in the transaction - */ - nonce?: number; - /** - * The amount to send with the transaction (i.e. msg.value) - */ - value?: BigNumber | string | number | Promise; - /** - * The chain ID (or network ID) to use - */ - chainId?: number; -} - -export interface ContractCallOverrides { - /** - * The address to execute the call as - */ - from?: string; - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; -} -export type BlocklistableEvents = - | 'Blocklisted' - | 'BlocklisterChanged' - | 'OwnershipTransferred' - | 'UnBlocklisted'; -export interface BlocklistableEventsContext { - Blocklisted(...parameters: any): EventFilter; - BlocklisterChanged(...parameters: any): EventFilter; - OwnershipTransferred(...parameters: any): EventFilter; - UnBlocklisted(...parameters: any): EventFilter; -} -export type BlocklistableMethodNames = - | 'blocklist' - | 'blocklister' - | 'isBlocklisted' - | 'owner' - | 'transferOwnership' - | 'unBlocklist' - | 'updateBlocklister'; -export interface BlocklistedEventEmittedResponse { - _account: string; -} -export interface BlocklisterChangedEventEmittedResponse { - newBlocklister: string; -} -export interface OwnershipTransferredEventEmittedResponse { - previousOwner: string; - newOwner: string; -} -export interface UnBlocklistedEventEmittedResponse { - _account: string; -} -export interface Blocklistable { - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _account Type: address, Indexed: false - */ - blocklist( - _account: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - blocklister(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param _account Type: address, Indexed: false - */ - isBlocklisted( - _account: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - owner(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param newOwner Type: address, Indexed: false - */ - transferOwnership( - newOwner: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _account Type: address, Indexed: false - */ - unBlocklist( - _account: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _newBlocklister Type: address, Indexed: false - */ - updateBlocklister( - _newBlocklister: string, - overrides?: ContractTransactionOverrides - ): Promise; -} diff --git a/packages/node/core/abi-types/Context.ts b/packages/node/core/abi-types/Context.ts deleted file mode 100755 index f318759..0000000 --- a/packages/node/core/abi-types/Context.ts +++ /dev/null @@ -1,60 +0,0 @@ -import { - ContractTransaction, - ContractInterface, - BytesLike as Arrayish, - BigNumber, - BigNumberish, -} from 'ethers'; -import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; - -export type ContractContext = EthersContractContextV5< - Context, - ContextMethodNames, - ContextEventsContext, - ContextEvents ->; - -export declare type EventFilter = { - address?: string; - topics?: Array; - fromBlock?: string | number; - toBlock?: string | number; -}; - -export interface ContractTransactionOverrides { - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; - /** - * The price (in wei) per unit of gas - */ - gasPrice?: BigNumber | string | number | Promise; - /** - * The nonce to use in the transaction - */ - nonce?: number; - /** - * The amount to send with the transaction (i.e. msg.value) - */ - value?: BigNumber | string | number | Promise; - /** - * The chain ID (or network ID) to use - */ - chainId?: number; -} - -export interface ContractCallOverrides { - /** - * The address to execute the call as - */ - from?: string; - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; -} -export type ContextEvents = undefined; -export interface ContextEventsContext {} -export type ContextMethodNames = undefined; -export interface Context {} diff --git a/packages/node/core/abi-types/ContractCall.ts b/packages/node/core/abi-types/ContractCall.ts deleted file mode 100755 index b828837..0000000 --- a/packages/node/core/abi-types/ContractCall.ts +++ /dev/null @@ -1,74 +0,0 @@ -import { - ContractTransaction, - ContractInterface, - BytesLike as Arrayish, - BigNumber, - BigNumberish, -} from 'ethers'; -import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; - -export type ContractContext = EthersContractContextV5< - ContractCall, - ContractCallMethodNames, - ContractCallEventsContext, - ContractCallEvents ->; - -export declare type EventFilter = { - address?: string; - topics?: Array; - fromBlock?: string | number; - toBlock?: string | number; -}; - -export interface ContractTransactionOverrides { - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; - /** - * The price (in wei) per unit of gas - */ - gasPrice?: BigNumber | string | number | Promise; - /** - * The nonce to use in the transaction - */ - nonce?: number; - /** - * The amount to send with the transaction (i.e. msg.value) - */ - value?: BigNumber | string | number | Promise; - /** - * The chain ID (or network ID) to use - */ - chainId?: number; -} - -export interface ContractCallOverrides { - /** - * The address to execute the call as - */ - from?: string; - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; -} -export type ContractCallEvents = undefined; -export interface ContractCallEventsContext {} -export type ContractCallMethodNames = 'functionCall'; -export interface ContractCall { - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param target Type: address, Indexed: false - * @param data Type: bytes, Indexed: false - */ - functionCall( - target: string, - data: Arrayish, - overrides?: ContractTransactionOverrides - ): Promise; -} diff --git a/packages/node/core/abi-types/Controller.ts b/packages/node/core/abi-types/Controller.ts deleted file mode 100755 index 42fefb1..0000000 --- a/packages/node/core/abi-types/Controller.ts +++ /dev/null @@ -1,137 +0,0 @@ -import { - ContractTransaction, - ContractInterface, - BytesLike as Arrayish, - BigNumber, - BigNumberish, -} from 'ethers'; -import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; - -export type ContractContext = EthersContractContextV5< - Controller, - ControllerMethodNames, - ControllerEventsContext, - ControllerEvents ->; - -export declare type EventFilter = { - address?: string; - topics?: Array; - fromBlock?: string | number; - toBlock?: string | number; -}; - -export interface ContractTransactionOverrides { - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; - /** - * The price (in wei) per unit of gas - */ - gasPrice?: BigNumber | string | number | Promise; - /** - * The nonce to use in the transaction - */ - nonce?: number; - /** - * The amount to send with the transaction (i.e. msg.value) - */ - value?: BigNumber | string | number | Promise; - /** - * The chain ID (or network ID) to use - */ - chainId?: number; -} - -export interface ContractCallOverrides { - /** - * The address to execute the call as - */ - from?: string; - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; -} -export type ControllerEvents = - | 'ControllerConfigured' - | 'ControllerRemoved' - | 'OwnershipTransferred'; -export interface ControllerEventsContext { - ControllerConfigured(...parameters: any): EventFilter; - ControllerRemoved(...parameters: any): EventFilter; - OwnershipTransferred(...parameters: any): EventFilter; -} -export type ControllerMethodNames = - | 'owner' - | 'getWorker' - | 'configureController' - | 'transferOwnership' - | 'removeController'; -export interface ControllerConfiguredEventEmittedResponse { - _controller: string; - _worker: string; -} -export interface ControllerRemovedEventEmittedResponse { - _controller: string; -} -export interface OwnershipTransferredEventEmittedResponse { - previousOwner: string; - newOwner: string; -} -export interface Controller { - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - owner(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param _controller Type: address, Indexed: false - */ - getWorker( - _controller: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _controller Type: address, Indexed: false - * @param _worker Type: address, Indexed: false - */ - configureController( - _controller: string, - _worker: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param newOwner Type: address, Indexed: false - */ - transferOwnership( - newOwner: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _controller Type: address, Indexed: false - */ - removeController( - _controller: string, - overrides?: ContractTransactionOverrides - ): Promise; -} diff --git a/packages/node/core/abi-types/DummyERC20.ts b/packages/node/core/abi-types/DummyERC20.ts deleted file mode 100755 index ca7929e..0000000 --- a/packages/node/core/abi-types/DummyERC20.ts +++ /dev/null @@ -1,220 +0,0 @@ -import { - ContractTransaction, - ContractInterface, - BytesLike as Arrayish, - BigNumber, - BigNumberish, -} from 'ethers'; -import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; - -export type ContractContext = EthersContractContextV5< - DummyERC20, - DummyERC20MethodNames, - DummyERC20EventsContext, - DummyERC20Events ->; - -export declare type EventFilter = { - address?: string; - topics?: Array; - fromBlock?: string | number; - toBlock?: string | number; -}; - -export interface ContractTransactionOverrides { - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; - /** - * The price (in wei) per unit of gas - */ - gasPrice?: BigNumber | string | number | Promise; - /** - * The nonce to use in the transaction - */ - nonce?: number; - /** - * The amount to send with the transaction (i.e. msg.value) - */ - value?: BigNumber | string | number | Promise; - /** - * The chain ID (or network ID) to use - */ - chainId?: number; -} - -export interface ContractCallOverrides { - /** - * The address to execute the call as - */ - from?: string; - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; -} -export type DummyERC20Events = 'Approval' | 'Transfer'; -export interface DummyERC20EventsContext { - Approval(...parameters: any): EventFilter; - Transfer(...parameters: any): EventFilter; -} -export type DummyERC20MethodNames = - | 'new' - | 'allowance' - | 'approve' - | 'balanceOf' - | 'decimals' - | 'decreaseAllowance' - | 'increaseAllowance' - | 'name' - | 'symbol' - | 'totalSupply' - | 'transfer' - | 'transferFrom'; -export interface ApprovalEventEmittedResponse { - owner: string; - spender: string; - value: BigNumberish; -} -export interface TransferEventEmittedResponse { - from: string; - to: string; - value: BigNumberish; -} -export interface DummyERC20 { - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: constructor - * @param tokenName Type: string, Indexed: false - * @param tokenSymbol Type: string, Indexed: false - * @param initialSupply Type: uint256, Indexed: false - */ - 'new'( - tokenName: string, - tokenSymbol: string, - initialSupply: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param owner Type: address, Indexed: false - * @param spender Type: address, Indexed: false - */ - allowance( - owner: string, - spender: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param spender Type: address, Indexed: false - * @param amount Type: uint256, Indexed: false - */ - approve( - spender: string, - amount: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param account Type: address, Indexed: false - */ - balanceOf( - account: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - decimals(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param spender Type: address, Indexed: false - * @param subtractedValue Type: uint256, Indexed: false - */ - decreaseAllowance( - spender: string, - subtractedValue: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param spender Type: address, Indexed: false - * @param addedValue Type: uint256, Indexed: false - */ - increaseAllowance( - spender: string, - addedValue: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - name(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - symbol(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - totalSupply(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param recipient Type: address, Indexed: false - * @param amount Type: uint256, Indexed: false - */ - transfer( - recipient: string, - amount: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param sender Type: address, Indexed: false - * @param recipient Type: address, Indexed: false - * @param amount Type: uint256, Indexed: false - */ - transferFrom( - sender: string, - recipient: string, - amount: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; -} diff --git a/packages/node/core/abi-types/ECRecover.ts b/packages/node/core/abi-types/ECRecover.ts deleted file mode 100755 index a2d906e..0000000 --- a/packages/node/core/abi-types/ECRecover.ts +++ /dev/null @@ -1,60 +0,0 @@ -import { - ContractTransaction, - ContractInterface, - BytesLike as Arrayish, - BigNumber, - BigNumberish, -} from 'ethers'; -import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; - -export type ContractContext = EthersContractContextV5< - ECRecover, - ECRecoverMethodNames, - ECRecoverEventsContext, - ECRecoverEvents ->; - -export declare type EventFilter = { - address?: string; - topics?: Array; - fromBlock?: string | number; - toBlock?: string | number; -}; - -export interface ContractTransactionOverrides { - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; - /** - * The price (in wei) per unit of gas - */ - gasPrice?: BigNumber | string | number | Promise; - /** - * The nonce to use in the transaction - */ - nonce?: number; - /** - * The amount to send with the transaction (i.e. msg.value) - */ - value?: BigNumber | string | number | Promise; - /** - * The chain ID (or network ID) to use - */ - chainId?: number; -} - -export interface ContractCallOverrides { - /** - * The address to execute the call as - */ - from?: string; - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; -} -export type ECRecoverEvents = undefined; -export interface ECRecoverEventsContext {} -export type ECRecoverMethodNames = undefined; -export interface ECRecover {} diff --git a/packages/node/core/abi-types/ECRecoverTest.ts b/packages/node/core/abi-types/ECRecoverTest.ts deleted file mode 100755 index ecc246b..0000000 --- a/packages/node/core/abi-types/ECRecoverTest.ts +++ /dev/null @@ -1,78 +0,0 @@ -import { - ContractTransaction, - ContractInterface, - BytesLike as Arrayish, - BigNumber, - BigNumberish, -} from 'ethers'; -import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; - -export type ContractContext = EthersContractContextV5< - ECRecoverTest, - ECRecoverTestMethodNames, - ECRecoverTestEventsContext, - ECRecoverTestEvents ->; - -export declare type EventFilter = { - address?: string; - topics?: Array; - fromBlock?: string | number; - toBlock?: string | number; -}; - -export interface ContractTransactionOverrides { - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; - /** - * The price (in wei) per unit of gas - */ - gasPrice?: BigNumber | string | number | Promise; - /** - * The nonce to use in the transaction - */ - nonce?: number; - /** - * The amount to send with the transaction (i.e. msg.value) - */ - value?: BigNumber | string | number | Promise; - /** - * The chain ID (or network ID) to use - */ - chainId?: number; -} - -export interface ContractCallOverrides { - /** - * The address to execute the call as - */ - from?: string; - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; -} -export type ECRecoverTestEvents = undefined; -export interface ECRecoverTestEventsContext {} -export type ECRecoverTestMethodNames = 'recover'; -export interface ECRecoverTest { - /** - * Payable: false - * Constant: true - * StateMutability: pure - * Type: function - * @param digest Type: bytes32, Indexed: false - * @param v Type: uint8, Indexed: false - * @param r Type: bytes32, Indexed: false - * @param s Type: bytes32, Indexed: false - */ - recover( - digest: Arrayish, - v: BigNumberish, - r: Arrayish, - s: Arrayish, - overrides?: ContractCallOverrides - ): Promise; -} diff --git a/packages/node/core/abi-types/EIP2612.ts b/packages/node/core/abi-types/EIP2612.ts deleted file mode 100755 index f9b5add..0000000 --- a/packages/node/core/abi-types/EIP2612.ts +++ /dev/null @@ -1,177 +0,0 @@ -import { - ContractTransaction, - ContractInterface, - BytesLike as Arrayish, - BigNumber, - BigNumberish, -} from 'ethers'; -import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; - -export type ContractContext = EthersContractContextV5< - EIP2612, - EIP2612MethodNames, - EIP2612EventsContext, - EIP2612Events ->; - -export declare type EventFilter = { - address?: string; - topics?: Array; - fromBlock?: string | number; - toBlock?: string | number; -}; - -export interface ContractTransactionOverrides { - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; - /** - * The price (in wei) per unit of gas - */ - gasPrice?: BigNumber | string | number | Promise; - /** - * The nonce to use in the transaction - */ - nonce?: number; - /** - * The amount to send with the transaction (i.e. msg.value) - */ - value?: BigNumber | string | number | Promise; - /** - * The chain ID (or network ID) to use - */ - chainId?: number; -} - -export interface ContractCallOverrides { - /** - * The address to execute the call as - */ - from?: string; - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; -} -export type EIP2612Events = 'Approval' | 'Transfer'; -export interface EIP2612EventsContext { - Approval(...parameters: any): EventFilter; - Transfer(...parameters: any): EventFilter; -} -export type EIP2612MethodNames = - | 'PERMIT_TYPEHASH' - | '_domainSeparatorV4' - | 'allowance' - | 'approve' - | 'balanceOf' - | 'nonces' - | 'totalSupply' - | 'transfer' - | 'transferFrom'; -export interface ApprovalEventEmittedResponse { - owner: string; - spender: string; - value: BigNumberish; -} -export interface TransferEventEmittedResponse { - from: string; - to: string; - value: BigNumberish; -} -export interface EIP2612 { - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - PERMIT_TYPEHASH(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - _domainSeparatorV4(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param owner Type: address, Indexed: false - * @param spender Type: address, Indexed: false - */ - allowance( - owner: string, - spender: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param spender Type: address, Indexed: false - * @param amount Type: uint256, Indexed: false - */ - approve( - spender: string, - amount: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param account Type: address, Indexed: false - */ - balanceOf( - account: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param owner Type: address, Indexed: false - */ - nonces(owner: string, overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - totalSupply(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param recipient Type: address, Indexed: false - * @param amount Type: uint256, Indexed: false - */ - transfer( - recipient: string, - amount: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param sender Type: address, Indexed: false - * @param recipient Type: address, Indexed: false - * @param amount Type: uint256, Indexed: false - */ - transferFrom( - sender: string, - recipient: string, - amount: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; -} diff --git a/packages/node/core/abi-types/EIP3009.ts b/packages/node/core/abi-types/EIP3009.ts deleted file mode 100755 index a944f9a..0000000 --- a/packages/node/core/abi-types/EIP3009.ts +++ /dev/null @@ -1,218 +0,0 @@ -import { - ContractTransaction, - ContractInterface, - BytesLike as Arrayish, - BigNumber, - BigNumberish, -} from 'ethers'; -import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; - -export type ContractContext = EthersContractContextV5< - EIP3009, - EIP3009MethodNames, - EIP3009EventsContext, - EIP3009Events ->; - -export declare type EventFilter = { - address?: string; - topics?: Array; - fromBlock?: string | number; - toBlock?: string | number; -}; - -export interface ContractTransactionOverrides { - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; - /** - * The price (in wei) per unit of gas - */ - gasPrice?: BigNumber | string | number | Promise; - /** - * The nonce to use in the transaction - */ - nonce?: number; - /** - * The amount to send with the transaction (i.e. msg.value) - */ - value?: BigNumber | string | number | Promise; - /** - * The chain ID (or network ID) to use - */ - chainId?: number; -} - -export interface ContractCallOverrides { - /** - * The address to execute the call as - */ - from?: string; - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; -} -export type EIP3009Events = - | 'Approval' - | 'AuthorizationCanceled' - | 'AuthorizationUsed' - | 'Transfer'; -export interface EIP3009EventsContext { - Approval(...parameters: any): EventFilter; - AuthorizationCanceled(...parameters: any): EventFilter; - AuthorizationUsed(...parameters: any): EventFilter; - Transfer(...parameters: any): EventFilter; -} -export type EIP3009MethodNames = - | 'CANCEL_AUTHORIZATION_TYPEHASH' - | 'RECEIVE_WITH_AUTHORIZATION_TYPEHASH' - | 'TRANSFER_WITH_AUTHORIZATION_TYPEHASH' - | '_domainSeparatorV4' - | 'allowance' - | 'approve' - | 'authorizationState' - | 'balanceOf' - | 'totalSupply' - | 'transfer' - | 'transferFrom'; -export interface ApprovalEventEmittedResponse { - owner: string; - spender: string; - value: BigNumberish; -} -export interface AuthorizationCanceledEventEmittedResponse { - authorizer: string; - nonce: Arrayish; -} -export interface AuthorizationUsedEventEmittedResponse { - authorizer: string; - nonce: Arrayish; -} -export interface TransferEventEmittedResponse { - from: string; - to: string; - value: BigNumberish; -} -export interface EIP3009 { - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - CANCEL_AUTHORIZATION_TYPEHASH( - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - RECEIVE_WITH_AUTHORIZATION_TYPEHASH( - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - TRANSFER_WITH_AUTHORIZATION_TYPEHASH( - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - _domainSeparatorV4(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param owner Type: address, Indexed: false - * @param spender Type: address, Indexed: false - */ - allowance( - owner: string, - spender: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param spender Type: address, Indexed: false - * @param amount Type: uint256, Indexed: false - */ - approve( - spender: string, - amount: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param authorizer Type: address, Indexed: false - * @param nonce Type: bytes32, Indexed: false - */ - authorizationState( - authorizer: string, - nonce: Arrayish, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param account Type: address, Indexed: false - */ - balanceOf( - account: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - totalSupply(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param recipient Type: address, Indexed: false - * @param amount Type: uint256, Indexed: false - */ - transfer( - recipient: string, - amount: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param sender Type: address, Indexed: false - * @param recipient Type: address, Indexed: false - * @param amount Type: uint256, Indexed: false - */ - transferFrom( - sender: string, - recipient: string, - amount: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; -} diff --git a/packages/node/core/abi-types/EIP712.ts b/packages/node/core/abi-types/EIP712.ts deleted file mode 100755 index 75f39c6..0000000 --- a/packages/node/core/abi-types/EIP712.ts +++ /dev/null @@ -1,60 +0,0 @@ -import { - ContractTransaction, - ContractInterface, - BytesLike as Arrayish, - BigNumber, - BigNumberish, -} from 'ethers'; -import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; - -export type ContractContext = EthersContractContextV5< - EIP712, - EIP712MethodNames, - EIP712EventsContext, - EIP712Events ->; - -export declare type EventFilter = { - address?: string; - topics?: Array; - fromBlock?: string | number; - toBlock?: string | number; -}; - -export interface ContractTransactionOverrides { - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; - /** - * The price (in wei) per unit of gas - */ - gasPrice?: BigNumber | string | number | Promise; - /** - * The nonce to use in the transaction - */ - nonce?: number; - /** - * The amount to send with the transaction (i.e. msg.value) - */ - value?: BigNumber | string | number | Promise; - /** - * The chain ID (or network ID) to use - */ - chainId?: number; -} - -export interface ContractCallOverrides { - /** - * The address to execute the call as - */ - from?: string; - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; -} -export type EIP712Events = undefined; -export interface EIP712EventsContext {} -export type EIP712MethodNames = undefined; -export interface EIP712 {} diff --git a/packages/node/core/abi-types/EIP712Domain.ts b/packages/node/core/abi-types/EIP712Domain.ts deleted file mode 100755 index 93b71a1..0000000 --- a/packages/node/core/abi-types/EIP712Domain.ts +++ /dev/null @@ -1,68 +0,0 @@ -import { - ContractTransaction, - ContractInterface, - BytesLike as Arrayish, - BigNumber, - BigNumberish, -} from 'ethers'; -import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; - -export type ContractContext = EthersContractContextV5< - EIP712Domain, - EIP712DomainMethodNames, - EIP712DomainEventsContext, - EIP712DomainEvents ->; - -export declare type EventFilter = { - address?: string; - topics?: Array; - fromBlock?: string | number; - toBlock?: string | number; -}; - -export interface ContractTransactionOverrides { - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; - /** - * The price (in wei) per unit of gas - */ - gasPrice?: BigNumber | string | number | Promise; - /** - * The nonce to use in the transaction - */ - nonce?: number; - /** - * The amount to send with the transaction (i.e. msg.value) - */ - value?: BigNumber | string | number | Promise; - /** - * The chain ID (or network ID) to use - */ - chainId?: number; -} - -export interface ContractCallOverrides { - /** - * The address to execute the call as - */ - from?: string; - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; -} -export type EIP712DomainEvents = undefined; -export interface EIP712DomainEventsContext {} -export type EIP712DomainMethodNames = '_domainSeparatorV4'; -export interface EIP712Domain { - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - _domainSeparatorV4(overrides?: ContractCallOverrides): Promise; -} diff --git a/packages/node/core/abi-types/ERC1967Proxy.ts b/packages/node/core/abi-types/ERC1967Proxy.ts deleted file mode 100755 index 18a387f..0000000 --- a/packages/node/core/abi-types/ERC1967Proxy.ts +++ /dev/null @@ -1,79 +0,0 @@ -import { - ContractTransaction, - ContractInterface, - BytesLike as Arrayish, - BigNumber, - BigNumberish, -} from 'ethers'; -import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; - -export type ContractContext = EthersContractContextV5< - ERC1967Proxy, - ERC1967ProxyMethodNames, - ERC1967ProxyEventsContext, - ERC1967ProxyEvents ->; - -export declare type EventFilter = { - address?: string; - topics?: Array; - fromBlock?: string | number; - toBlock?: string | number; -}; - -export interface ContractTransactionOverrides { - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; - /** - * The price (in wei) per unit of gas - */ - gasPrice?: BigNumber | string | number | Promise; - /** - * The nonce to use in the transaction - */ - nonce?: number; - /** - * The amount to send with the transaction (i.e. msg.value) - */ - value?: BigNumber | string | number | Promise; - /** - * The chain ID (or network ID) to use - */ - chainId?: number; -} - -export interface ContractCallOverrides { - /** - * The address to execute the call as - */ - from?: string; - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; -} -export type ERC1967ProxyEvents = 'Upgraded'; -export interface ERC1967ProxyEventsContext { - Upgraded(...parameters: any): EventFilter; -} -export type ERC1967ProxyMethodNames = 'new'; -export interface UpgradedEventEmittedResponse { - implementation: string; -} -export interface ERC1967Proxy { - /** - * Payable: true - * Constant: false - * StateMutability: payable - * Type: constructor - * @param _logic Type: address, Indexed: false - * @param _data Type: bytes, Indexed: false - */ - 'new'( - _logic: string, - _data: Arrayish, - overrides?: ContractTransactionOverrides - ): Promise; -} diff --git a/packages/node/core/abi-types/ERC1967Upgrade.ts b/packages/node/core/abi-types/ERC1967Upgrade.ts deleted file mode 100755 index 08c8727..0000000 --- a/packages/node/core/abi-types/ERC1967Upgrade.ts +++ /dev/null @@ -1,65 +0,0 @@ -import { - ContractTransaction, - ContractInterface, - BytesLike as Arrayish, - BigNumber, - BigNumberish, -} from 'ethers'; -import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; - -export type ContractContext = EthersContractContextV5< - ERC1967Upgrade, - ERC1967UpgradeMethodNames, - ERC1967UpgradeEventsContext, - ERC1967UpgradeEvents ->; - -export declare type EventFilter = { - address?: string; - topics?: Array; - fromBlock?: string | number; - toBlock?: string | number; -}; - -export interface ContractTransactionOverrides { - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; - /** - * The price (in wei) per unit of gas - */ - gasPrice?: BigNumber | string | number | Promise; - /** - * The nonce to use in the transaction - */ - nonce?: number; - /** - * The amount to send with the transaction (i.e. msg.value) - */ - value?: BigNumber | string | number | Promise; - /** - * The chain ID (or network ID) to use - */ - chainId?: number; -} - -export interface ContractCallOverrides { - /** - * The address to execute the call as - */ - from?: string; - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; -} -export type ERC1967UpgradeEvents = 'Upgraded'; -export interface ERC1967UpgradeEventsContext { - Upgraded(...parameters: any): EventFilter; -} -export type ERC1967UpgradeMethodNames = undefined; -export interface UpgradedEventEmittedResponse { - implementation: string; -} -export interface ERC1967Upgrade {} diff --git a/packages/node/core/abi-types/ERC20.ts b/packages/node/core/abi-types/ERC20.ts deleted file mode 100755 index 2fa8079..0000000 --- a/packages/node/core/abi-types/ERC20.ts +++ /dev/null @@ -1,218 +0,0 @@ -import { - ContractTransaction, - ContractInterface, - BytesLike as Arrayish, - BigNumber, - BigNumberish, -} from 'ethers'; -import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; - -export type ContractContext = EthersContractContextV5< - ERC20, - ERC20MethodNames, - ERC20EventsContext, - ERC20Events ->; - -export declare type EventFilter = { - address?: string; - topics?: Array; - fromBlock?: string | number; - toBlock?: string | number; -}; - -export interface ContractTransactionOverrides { - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; - /** - * The price (in wei) per unit of gas - */ - gasPrice?: BigNumber | string | number | Promise; - /** - * The nonce to use in the transaction - */ - nonce?: number; - /** - * The amount to send with the transaction (i.e. msg.value) - */ - value?: BigNumber | string | number | Promise; - /** - * The chain ID (or network ID) to use - */ - chainId?: number; -} - -export interface ContractCallOverrides { - /** - * The address to execute the call as - */ - from?: string; - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; -} -export type ERC20Events = 'Approval' | 'Transfer'; -export interface ERC20EventsContext { - Approval(...parameters: any): EventFilter; - Transfer(...parameters: any): EventFilter; -} -export type ERC20MethodNames = - | 'new' - | 'allowance' - | 'approve' - | 'balanceOf' - | 'decimals' - | 'decreaseAllowance' - | 'increaseAllowance' - | 'name' - | 'symbol' - | 'totalSupply' - | 'transfer' - | 'transferFrom'; -export interface ApprovalEventEmittedResponse { - owner: string; - spender: string; - value: BigNumberish; -} -export interface TransferEventEmittedResponse { - from: string; - to: string; - value: BigNumberish; -} -export interface ERC20 { - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: constructor - * @param name_ Type: string, Indexed: false - * @param symbol_ Type: string, Indexed: false - */ - 'new'( - name_: string, - symbol_: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param owner Type: address, Indexed: false - * @param spender Type: address, Indexed: false - */ - allowance( - owner: string, - spender: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param spender Type: address, Indexed: false - * @param amount Type: uint256, Indexed: false - */ - approve( - spender: string, - amount: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param account Type: address, Indexed: false - */ - balanceOf( - account: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - decimals(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param spender Type: address, Indexed: false - * @param subtractedValue Type: uint256, Indexed: false - */ - decreaseAllowance( - spender: string, - subtractedValue: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param spender Type: address, Indexed: false - * @param addedValue Type: uint256, Indexed: false - */ - increaseAllowance( - spender: string, - addedValue: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - name(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - symbol(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - totalSupply(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param recipient Type: address, Indexed: false - * @param amount Type: uint256, Indexed: false - */ - transfer( - recipient: string, - amount: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param sender Type: address, Indexed: false - * @param recipient Type: address, Indexed: false - * @param amount Type: uint256, Indexed: false - */ - transferFrom( - sender: string, - recipient: string, - amount: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; -} diff --git a/packages/node/core/abi-types/FiatTokenV1.ts b/packages/node/core/abi-types/FiatTokenV1.ts deleted file mode 100755 index fa2305e..0000000 --- a/packages/node/core/abi-types/FiatTokenV1.ts +++ /dev/null @@ -1,780 +0,0 @@ -import { - ContractTransaction, - ContractInterface, - BytesLike as Arrayish, - BigNumber, - BigNumberish, -} from 'ethers'; -import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; - -export type ContractContext = EthersContractContextV5< - FiatTokenV1, - FiatTokenV1MethodNames, - FiatTokenV1EventsContext, - FiatTokenV1Events ->; - -export declare type EventFilter = { - address?: string; - topics?: Array; - fromBlock?: string | number; - toBlock?: string | number; -}; - -export interface ContractTransactionOverrides { - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; - /** - * The price (in wei) per unit of gas - */ - gasPrice?: BigNumber | string | number | Promise; - /** - * The nonce to use in the transaction - */ - nonce?: number; - /** - * The amount to send with the transaction (i.e. msg.value) - */ - value?: BigNumber | string | number | Promise; - /** - * The chain ID (or network ID) to use - */ - chainId?: number; -} - -export interface ContractCallOverrides { - /** - * The address to execute the call as - */ - from?: string; - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; -} -export type FiatTokenV1Events = - | 'Approval' - | 'AuthorizationCanceled' - | 'AuthorizationUsed' - | 'Blocklisted' - | 'BlocklisterChanged' - | 'Burn' - | 'Mint' - | 'MinterAdminChanged' - | 'MinterConfigured' - | 'MinterRemoved' - | 'OwnershipTransferred' - | 'Pause' - | 'PauserChanged' - | 'RescuerChanged' - | 'Transfer' - | 'UnBlocklisted' - | 'Unpause' - | 'Upgraded'; -export interface FiatTokenV1EventsContext { - Approval(...parameters: any): EventFilter; - AuthorizationCanceled(...parameters: any): EventFilter; - AuthorizationUsed(...parameters: any): EventFilter; - Blocklisted(...parameters: any): EventFilter; - BlocklisterChanged(...parameters: any): EventFilter; - Burn(...parameters: any): EventFilter; - Mint(...parameters: any): EventFilter; - MinterAdminChanged(...parameters: any): EventFilter; - MinterConfigured(...parameters: any): EventFilter; - MinterRemoved(...parameters: any): EventFilter; - OwnershipTransferred(...parameters: any): EventFilter; - Pause(...parameters: any): EventFilter; - PauserChanged(...parameters: any): EventFilter; - RescuerChanged(...parameters: any): EventFilter; - Transfer(...parameters: any): EventFilter; - UnBlocklisted(...parameters: any): EventFilter; - Unpause(...parameters: any): EventFilter; - Upgraded(...parameters: any): EventFilter; -} -export type FiatTokenV1MethodNames = - | 'CANCEL_AUTHORIZATION_TYPEHASH' - | 'PERMIT_TYPEHASH' - | 'RECEIVE_WITH_AUTHORIZATION_TYPEHASH' - | 'TRANSFER_WITH_AUTHORIZATION_TYPEHASH' - | '_domainSeparatorV4' - | 'allowance' - | 'approve' - | 'authorizationState' - | 'balanceOf' - | 'blocklist' - | 'blocklister' - | 'burn' - | 'cancelAuthorization' - | 'configureMinter' - | 'currency' - | 'decimals' - | 'decreaseAllowance' - | 'increaseAllowance' - | 'initialize' - | 'isBlocklisted' - | 'isMinter' - | 'mint' - | 'minterAdmin' - | 'minterAllowance' - | 'name' - | 'nonces' - | 'owner' - | 'pause' - | 'paused' - | 'pauser' - | 'permit' - | 'proxiableUUID' - | 'receiveWithAuthorization' - | 'removeMinter' - | 'rescueERC20' - | 'rescuer' - | 'symbol' - | 'totalSupply' - | 'transfer' - | 'transferFrom' - | 'transferOwnership' - | 'transferWithAuthorization' - | 'unBlocklist' - | 'unpause' - | 'updateBlocklister' - | 'updateMinterAdmin' - | 'updatePauser' - | 'updateRescuer' - | 'upgradeTo' - | 'upgradeToAndCall'; -export interface ApprovalEventEmittedResponse { - owner: string; - spender: string; - value: BigNumberish; -} -export interface AuthorizationCanceledEventEmittedResponse { - authorizer: string; - nonce: Arrayish; -} -export interface AuthorizationUsedEventEmittedResponse { - authorizer: string; - nonce: Arrayish; -} -export interface BlocklistedEventEmittedResponse { - _account: string; -} -export interface BlocklisterChangedEventEmittedResponse { - newBlocklister: string; -} -export interface BurnEventEmittedResponse { - burner: string; - amount: BigNumberish; -} -export interface MintEventEmittedResponse { - minter: string; - to: string; - amount: BigNumberish; -} -export interface MinterAdminChangedEventEmittedResponse { - newMinterAdmin: string; -} -export interface MinterConfiguredEventEmittedResponse { - minter: string; - minterAllowedAmount: BigNumberish; -} -export interface MinterRemovedEventEmittedResponse { - oldMinter: string; -} -export interface OwnershipTransferredEventEmittedResponse { - previousOwner: string; - newOwner: string; -} -export interface PauserChangedEventEmittedResponse { - newAddress: string; -} -export interface RescuerChangedEventEmittedResponse { - newRescuer: string; -} -export interface TransferEventEmittedResponse { - from: string; - to: string; - value: BigNumberish; -} -export interface UnBlocklistedEventEmittedResponse { - _account: string; -} -export interface UpgradedEventEmittedResponse { - implementation: string; -} -export interface FiatTokenV1 { - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - CANCEL_AUTHORIZATION_TYPEHASH( - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - PERMIT_TYPEHASH(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - RECEIVE_WITH_AUTHORIZATION_TYPEHASH( - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - TRANSFER_WITH_AUTHORIZATION_TYPEHASH( - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - _domainSeparatorV4(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param owner Type: address, Indexed: false - * @param spender Type: address, Indexed: false - */ - allowance( - owner: string, - spender: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param spender Type: address, Indexed: false - * @param value Type: uint256, Indexed: false - */ - approve( - spender: string, - value: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param authorizer Type: address, Indexed: false - * @param nonce Type: bytes32, Indexed: false - */ - authorizationState( - authorizer: string, - nonce: Arrayish, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param account Type: address, Indexed: false - */ - balanceOf( - account: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _account Type: address, Indexed: false - */ - blocklist( - _account: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - blocklister(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _amount Type: uint256, Indexed: false - */ - burn( - _amount: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param authorizer Type: address, Indexed: false - * @param nonce Type: bytes32, Indexed: false - * @param v Type: uint8, Indexed: false - * @param r Type: bytes32, Indexed: false - * @param s Type: bytes32, Indexed: false - */ - cancelAuthorization( - authorizer: string, - nonce: Arrayish, - v: BigNumberish, - r: Arrayish, - s: Arrayish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param minter Type: address, Indexed: false - * @param minterAllowedAmount Type: uint256, Indexed: false - */ - configureMinter( - minter: string, - minterAllowedAmount: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - currency(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - decimals(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param spender Type: address, Indexed: false - * @param decrement Type: uint256, Indexed: false - */ - decreaseAllowance( - spender: string, - decrement: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param spender Type: address, Indexed: false - * @param increment Type: uint256, Indexed: false - */ - increaseAllowance( - spender: string, - increment: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param tokenName Type: string, Indexed: false - * @param tokenSymbol Type: string, Indexed: false - * @param tokenCurrency Type: string, Indexed: false - * @param tokenDecimals Type: uint8, Indexed: false - * @param newMinterAdmin Type: address, Indexed: false - * @param newPauser Type: address, Indexed: false - * @param newBlocklister Type: address, Indexed: false - * @param newRescuer Type: address, Indexed: false - * @param newOwner Type: address, Indexed: false - */ - initialize( - tokenName: string, - tokenSymbol: string, - tokenCurrency: string, - tokenDecimals: BigNumberish, - newMinterAdmin: string, - newPauser: string, - newBlocklister: string, - newRescuer: string, - newOwner: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param _account Type: address, Indexed: false - */ - isBlocklisted( - _account: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param account Type: address, Indexed: false - */ - isMinter( - account: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _to Type: address, Indexed: false - * @param _amount Type: uint256, Indexed: false - */ - mint( - _to: string, - _amount: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - minterAdmin(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param minter Type: address, Indexed: false - */ - minterAllowance( - minter: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - name(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param owner Type: address, Indexed: false - */ - nonces(owner: string, overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - owner(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - */ - pause(overrides?: ContractTransactionOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - paused(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - pauser(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param owner Type: address, Indexed: false - * @param spender Type: address, Indexed: false - * @param value Type: uint256, Indexed: false - * @param deadline Type: uint256, Indexed: false - * @param v Type: uint8, Indexed: false - * @param r Type: bytes32, Indexed: false - * @param s Type: bytes32, Indexed: false - */ - permit( - owner: string, - spender: string, - value: BigNumberish, - deadline: BigNumberish, - v: BigNumberish, - r: Arrayish, - s: Arrayish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - proxiableUUID(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param from Type: address, Indexed: false - * @param to Type: address, Indexed: false - * @param value Type: uint256, Indexed: false - * @param validAfter Type: uint256, Indexed: false - * @param validBefore Type: uint256, Indexed: false - * @param nonce Type: bytes32, Indexed: false - * @param v Type: uint8, Indexed: false - * @param r Type: bytes32, Indexed: false - * @param s Type: bytes32, Indexed: false - */ - receiveWithAuthorization( - from: string, - to: string, - value: BigNumberish, - validAfter: BigNumberish, - validBefore: BigNumberish, - nonce: Arrayish, - v: BigNumberish, - r: Arrayish, - s: Arrayish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param minter Type: address, Indexed: false - */ - removeMinter( - minter: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param tokenContract Type: address, Indexed: false - * @param to Type: address, Indexed: false - * @param amount Type: uint256, Indexed: false - */ - rescueERC20( - tokenContract: string, - to: string, - amount: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - rescuer(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - symbol(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - totalSupply(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param to Type: address, Indexed: false - * @param value Type: uint256, Indexed: false - */ - transfer( - to: string, - value: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param from Type: address, Indexed: false - * @param to Type: address, Indexed: false - * @param value Type: uint256, Indexed: false - */ - transferFrom( - from: string, - to: string, - value: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param newOwner Type: address, Indexed: false - */ - transferOwnership( - newOwner: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param from Type: address, Indexed: false - * @param to Type: address, Indexed: false - * @param value Type: uint256, Indexed: false - * @param validAfter Type: uint256, Indexed: false - * @param validBefore Type: uint256, Indexed: false - * @param nonce Type: bytes32, Indexed: false - * @param v Type: uint8, Indexed: false - * @param r Type: bytes32, Indexed: false - * @param s Type: bytes32, Indexed: false - */ - transferWithAuthorization( - from: string, - to: string, - value: BigNumberish, - validAfter: BigNumberish, - validBefore: BigNumberish, - nonce: Arrayish, - v: BigNumberish, - r: Arrayish, - s: Arrayish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _account Type: address, Indexed: false - */ - unBlocklist( - _account: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - */ - unpause( - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _newBlocklister Type: address, Indexed: false - */ - updateBlocklister( - _newBlocklister: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _newMinterAdmin Type: address, Indexed: false - */ - updateMinterAdmin( - _newMinterAdmin: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _newPauser Type: address, Indexed: false - */ - updatePauser( - _newPauser: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param newRescuer Type: address, Indexed: false - */ - updateRescuer( - newRescuer: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param newImplementation Type: address, Indexed: false - */ - upgradeTo( - newImplementation: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: true - * Constant: false - * StateMutability: payable - * Type: function - * @param newImplementation Type: address, Indexed: false - * @param data Type: bytes, Indexed: false - */ - upgradeToAndCall( - newImplementation: string, - data: Arrayish, - overrides?: ContractTransactionOverrides - ): Promise; -} diff --git a/packages/node/core/abi-types/FiatTokenV1Test.ts b/packages/node/core/abi-types/FiatTokenV1Test.ts deleted file mode 100755 index c67f77e..0000000 --- a/packages/node/core/abi-types/FiatTokenV1Test.ts +++ /dev/null @@ -1,796 +0,0 @@ -import { - ContractTransaction, - ContractInterface, - BytesLike as Arrayish, - BigNumber, - BigNumberish, -} from 'ethers'; -import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; - -export type ContractContext = EthersContractContextV5< - FiatTokenV1Test, - FiatTokenV1TestMethodNames, - FiatTokenV1TestEventsContext, - FiatTokenV1TestEvents ->; - -export declare type EventFilter = { - address?: string; - topics?: Array; - fromBlock?: string | number; - toBlock?: string | number; -}; - -export interface ContractTransactionOverrides { - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; - /** - * The price (in wei) per unit of gas - */ - gasPrice?: BigNumber | string | number | Promise; - /** - * The nonce to use in the transaction - */ - nonce?: number; - /** - * The amount to send with the transaction (i.e. msg.value) - */ - value?: BigNumber | string | number | Promise; - /** - * The chain ID (or network ID) to use - */ - chainId?: number; -} - -export interface ContractCallOverrides { - /** - * The address to execute the call as - */ - from?: string; - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; -} -export type FiatTokenV1TestEvents = - | 'Approval' - | 'AuthorizationCanceled' - | 'AuthorizationUsed' - | 'Blocklisted' - | 'BlocklisterChanged' - | 'Burn' - | 'Mint' - | 'MinterAdminChanged' - | 'MinterConfigured' - | 'MinterRemoved' - | 'OwnershipTransferred' - | 'Pause' - | 'PauserChanged' - | 'RescuerChanged' - | 'Transfer' - | 'UnBlocklisted' - | 'Unpause' - | 'Upgraded'; -export interface FiatTokenV1TestEventsContext { - Approval(...parameters: any): EventFilter; - AuthorizationCanceled(...parameters: any): EventFilter; - AuthorizationUsed(...parameters: any): EventFilter; - Blocklisted(...parameters: any): EventFilter; - BlocklisterChanged(...parameters: any): EventFilter; - Burn(...parameters: any): EventFilter; - Mint(...parameters: any): EventFilter; - MinterAdminChanged(...parameters: any): EventFilter; - MinterConfigured(...parameters: any): EventFilter; - MinterRemoved(...parameters: any): EventFilter; - OwnershipTransferred(...parameters: any): EventFilter; - Pause(...parameters: any): EventFilter; - PauserChanged(...parameters: any): EventFilter; - RescuerChanged(...parameters: any): EventFilter; - Transfer(...parameters: any): EventFilter; - UnBlocklisted(...parameters: any): EventFilter; - Unpause(...parameters: any): EventFilter; - Upgraded(...parameters: any): EventFilter; -} -export type FiatTokenV1TestMethodNames = - | 'CANCEL_AUTHORIZATION_TYPEHASH' - | 'PERMIT_TYPEHASH' - | 'RECEIVE_WITH_AUTHORIZATION_TYPEHASH' - | 'TRANSFER_WITH_AUTHORIZATION_TYPEHASH' - | '_domainSeparatorV4' - | 'allowance' - | 'approve' - | 'approveTest' - | 'authorizationState' - | 'balanceOf' - | 'blocklist' - | 'blocklister' - | 'burn' - | 'cancelAuthorization' - | 'configureMinter' - | 'currency' - | 'decimals' - | 'decreaseAllowance' - | 'increaseAllowance' - | 'initialize' - | 'isBlocklisted' - | 'isMinter' - | 'mint' - | 'minterAdmin' - | 'minterAllowance' - | 'name' - | 'nonces' - | 'owner' - | 'pause' - | 'paused' - | 'pauser' - | 'permit' - | 'proxiableUUID' - | 'receiveWithAuthorization' - | 'removeMinter' - | 'rescueERC20' - | 'rescuer' - | 'symbol' - | 'totalSupply' - | 'transfer' - | 'transferFrom' - | 'transferOwnership' - | 'transferWithAuthorization' - | 'unBlocklist' - | 'unpause' - | 'updateBlocklister' - | 'updateMinterAdmin' - | 'updatePauser' - | 'updateRescuer' - | 'upgradeTo' - | 'upgradeToAndCall'; -export interface ApprovalEventEmittedResponse { - owner: string; - spender: string; - value: BigNumberish; -} -export interface AuthorizationCanceledEventEmittedResponse { - authorizer: string; - nonce: Arrayish; -} -export interface AuthorizationUsedEventEmittedResponse { - authorizer: string; - nonce: Arrayish; -} -export interface BlocklistedEventEmittedResponse { - _account: string; -} -export interface BlocklisterChangedEventEmittedResponse { - newBlocklister: string; -} -export interface BurnEventEmittedResponse { - burner: string; - amount: BigNumberish; -} -export interface MintEventEmittedResponse { - minter: string; - to: string; - amount: BigNumberish; -} -export interface MinterAdminChangedEventEmittedResponse { - newMinterAdmin: string; -} -export interface MinterConfiguredEventEmittedResponse { - minter: string; - minterAllowedAmount: BigNumberish; -} -export interface MinterRemovedEventEmittedResponse { - oldMinter: string; -} -export interface OwnershipTransferredEventEmittedResponse { - previousOwner: string; - newOwner: string; -} -export interface PauserChangedEventEmittedResponse { - newAddress: string; -} -export interface RescuerChangedEventEmittedResponse { - newRescuer: string; -} -export interface TransferEventEmittedResponse { - from: string; - to: string; - value: BigNumberish; -} -export interface UnBlocklistedEventEmittedResponse { - _account: string; -} -export interface UpgradedEventEmittedResponse { - implementation: string; -} -export interface FiatTokenV1Test { - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - CANCEL_AUTHORIZATION_TYPEHASH( - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - PERMIT_TYPEHASH(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - RECEIVE_WITH_AUTHORIZATION_TYPEHASH( - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - TRANSFER_WITH_AUTHORIZATION_TYPEHASH( - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - _domainSeparatorV4(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param owner Type: address, Indexed: false - * @param spender Type: address, Indexed: false - */ - allowance( - owner: string, - spender: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param spender Type: address, Indexed: false - * @param value Type: uint256, Indexed: false - */ - approve( - spender: string, - value: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param owner Type: address, Indexed: false - * @param spender Type: address, Indexed: false - * @param value Type: uint256, Indexed: false - */ - approveTest( - owner: string, - spender: string, - value: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param authorizer Type: address, Indexed: false - * @param nonce Type: bytes32, Indexed: false - */ - authorizationState( - authorizer: string, - nonce: Arrayish, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param account Type: address, Indexed: false - */ - balanceOf( - account: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _account Type: address, Indexed: false - */ - blocklist( - _account: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - blocklister(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _amount Type: uint256, Indexed: false - */ - burn( - _amount: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param authorizer Type: address, Indexed: false - * @param nonce Type: bytes32, Indexed: false - * @param v Type: uint8, Indexed: false - * @param r Type: bytes32, Indexed: false - * @param s Type: bytes32, Indexed: false - */ - cancelAuthorization( - authorizer: string, - nonce: Arrayish, - v: BigNumberish, - r: Arrayish, - s: Arrayish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param minter Type: address, Indexed: false - * @param minterAllowedAmount Type: uint256, Indexed: false - */ - configureMinter( - minter: string, - minterAllowedAmount: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - currency(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - decimals(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param spender Type: address, Indexed: false - * @param decrement Type: uint256, Indexed: false - */ - decreaseAllowance( - spender: string, - decrement: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param spender Type: address, Indexed: false - * @param increment Type: uint256, Indexed: false - */ - increaseAllowance( - spender: string, - increment: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param tokenName Type: string, Indexed: false - * @param tokenSymbol Type: string, Indexed: false - * @param tokenCurrency Type: string, Indexed: false - * @param tokenDecimals Type: uint8, Indexed: false - * @param newMinterAdmin Type: address, Indexed: false - * @param newPauser Type: address, Indexed: false - * @param newBlocklister Type: address, Indexed: false - * @param newRescuer Type: address, Indexed: false - * @param newOwner Type: address, Indexed: false - */ - initialize( - tokenName: string, - tokenSymbol: string, - tokenCurrency: string, - tokenDecimals: BigNumberish, - newMinterAdmin: string, - newPauser: string, - newBlocklister: string, - newRescuer: string, - newOwner: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param _account Type: address, Indexed: false - */ - isBlocklisted( - _account: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param account Type: address, Indexed: false - */ - isMinter( - account: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _to Type: address, Indexed: false - * @param _amount Type: uint256, Indexed: false - */ - mint( - _to: string, - _amount: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - minterAdmin(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param minter Type: address, Indexed: false - */ - minterAllowance( - minter: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - name(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param owner Type: address, Indexed: false - */ - nonces(owner: string, overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - owner(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - */ - pause(overrides?: ContractTransactionOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - paused(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - pauser(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param owner Type: address, Indexed: false - * @param spender Type: address, Indexed: false - * @param value Type: uint256, Indexed: false - * @param deadline Type: uint256, Indexed: false - * @param v Type: uint8, Indexed: false - * @param r Type: bytes32, Indexed: false - * @param s Type: bytes32, Indexed: false - */ - permit( - owner: string, - spender: string, - value: BigNumberish, - deadline: BigNumberish, - v: BigNumberish, - r: Arrayish, - s: Arrayish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - proxiableUUID(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param from Type: address, Indexed: false - * @param to Type: address, Indexed: false - * @param value Type: uint256, Indexed: false - * @param validAfter Type: uint256, Indexed: false - * @param validBefore Type: uint256, Indexed: false - * @param nonce Type: bytes32, Indexed: false - * @param v Type: uint8, Indexed: false - * @param r Type: bytes32, Indexed: false - * @param s Type: bytes32, Indexed: false - */ - receiveWithAuthorization( - from: string, - to: string, - value: BigNumberish, - validAfter: BigNumberish, - validBefore: BigNumberish, - nonce: Arrayish, - v: BigNumberish, - r: Arrayish, - s: Arrayish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param minter Type: address, Indexed: false - */ - removeMinter( - minter: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param tokenContract Type: address, Indexed: false - * @param to Type: address, Indexed: false - * @param amount Type: uint256, Indexed: false - */ - rescueERC20( - tokenContract: string, - to: string, - amount: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - rescuer(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - symbol(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - totalSupply(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param to Type: address, Indexed: false - * @param value Type: uint256, Indexed: false - */ - transfer( - to: string, - value: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param from Type: address, Indexed: false - * @param to Type: address, Indexed: false - * @param value Type: uint256, Indexed: false - */ - transferFrom( - from: string, - to: string, - value: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param newOwner Type: address, Indexed: false - */ - transferOwnership( - newOwner: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param from Type: address, Indexed: false - * @param to Type: address, Indexed: false - * @param value Type: uint256, Indexed: false - * @param validAfter Type: uint256, Indexed: false - * @param validBefore Type: uint256, Indexed: false - * @param nonce Type: bytes32, Indexed: false - * @param v Type: uint8, Indexed: false - * @param r Type: bytes32, Indexed: false - * @param s Type: bytes32, Indexed: false - */ - transferWithAuthorization( - from: string, - to: string, - value: BigNumberish, - validAfter: BigNumberish, - validBefore: BigNumberish, - nonce: Arrayish, - v: BigNumberish, - r: Arrayish, - s: Arrayish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _account Type: address, Indexed: false - */ - unBlocklist( - _account: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - */ - unpause( - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _newBlocklister Type: address, Indexed: false - */ - updateBlocklister( - _newBlocklister: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _newMinterAdmin Type: address, Indexed: false - */ - updateMinterAdmin( - _newMinterAdmin: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _newPauser Type: address, Indexed: false - */ - updatePauser( - _newPauser: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param newRescuer Type: address, Indexed: false - */ - updateRescuer( - newRescuer: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param newImplementation Type: address, Indexed: false - */ - upgradeTo( - newImplementation: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: true - * Constant: false - * StateMutability: payable - * Type: function - * @param newImplementation Type: address, Indexed: false - * @param data Type: bytes, Indexed: false - */ - upgradeToAndCall( - newImplementation: string, - data: Arrayish, - overrides?: ContractTransactionOverrides - ): Promise; -} diff --git a/packages/node/core/abi-types/FiatTokenV2.ts b/packages/node/core/abi-types/FiatTokenV2.ts deleted file mode 100755 index 3c247c8..0000000 --- a/packages/node/core/abi-types/FiatTokenV2.ts +++ /dev/null @@ -1,841 +0,0 @@ -import { - ContractTransaction, - ContractInterface, - BytesLike as Arrayish, - BigNumber, - BigNumberish, -} from 'ethers'; -import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; - -export type ContractContext = EthersContractContextV5< - FiatTokenV2, - FiatTokenV2MethodNames, - FiatTokenV2EventsContext, - FiatTokenV2Events ->; - -export declare type EventFilter = { - address?: string; - topics?: Array; - fromBlock?: string | number; - toBlock?: string | number; -}; - -export interface ContractTransactionOverrides { - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; - /** - * The price (in wei) per unit of gas - */ - gasPrice?: BigNumber | string | number | Promise; - /** - * The nonce to use in the transaction - */ - nonce?: number; - /** - * The amount to send with the transaction (i.e. msg.value) - */ - value?: BigNumber | string | number | Promise; - /** - * The chain ID (or network ID) to use - */ - chainId?: number; -} - -export interface ContractCallOverrides { - /** - * The address to execute the call as - */ - from?: string; - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; -} -export type FiatTokenV2Events = - | 'Allowlisted' - | 'AllowlisterChanged' - | 'Approval' - | 'AuthorizationCanceled' - | 'AuthorizationUsed' - | 'Blocklisted' - | 'BlocklisterChanged' - | 'Burn' - | 'Mint' - | 'MinterAdminChanged' - | 'MinterConfigured' - | 'MinterRemoved' - | 'OwnershipTransferred' - | 'Pause' - | 'PauserChanged' - | 'RescuerChanged' - | 'Transfer' - | 'UnAllowlisted' - | 'UnBlocklisted' - | 'Unpause' - | 'Upgraded'; -export interface FiatTokenV2EventsContext { - Allowlisted(...parameters: any): EventFilter; - AllowlisterChanged(...parameters: any): EventFilter; - Approval(...parameters: any): EventFilter; - AuthorizationCanceled(...parameters: any): EventFilter; - AuthorizationUsed(...parameters: any): EventFilter; - Blocklisted(...parameters: any): EventFilter; - BlocklisterChanged(...parameters: any): EventFilter; - Burn(...parameters: any): EventFilter; - Mint(...parameters: any): EventFilter; - MinterAdminChanged(...parameters: any): EventFilter; - MinterConfigured(...parameters: any): EventFilter; - MinterRemoved(...parameters: any): EventFilter; - OwnershipTransferred(...parameters: any): EventFilter; - Pause(...parameters: any): EventFilter; - PauserChanged(...parameters: any): EventFilter; - RescuerChanged(...parameters: any): EventFilter; - Transfer(...parameters: any): EventFilter; - UnAllowlisted(...parameters: any): EventFilter; - UnBlocklisted(...parameters: any): EventFilter; - Unpause(...parameters: any): EventFilter; - Upgraded(...parameters: any): EventFilter; -} -export type FiatTokenV2MethodNames = - | 'CANCEL_AUTHORIZATION_TYPEHASH' - | 'PERMIT_TYPEHASH' - | 'RECEIVE_WITH_AUTHORIZATION_TYPEHASH' - | 'TRANSFER_WITH_AUTHORIZATION_TYPEHASH' - | '_domainSeparatorV4' - | 'allowance' - | 'allowlist' - | 'allowlistLimitAmount' - | 'allowlister' - | 'approve' - | 'authorizationState' - | 'balanceOf' - | 'blocklist' - | 'blocklister' - | 'burn' - | 'cancelAuthorization' - | 'configureMinter' - | 'currency' - | 'decimals' - | 'decreaseAllowance' - | 'increaseAllowance' - | 'initializeV2' - | 'isAllowlisted' - | 'isBlocklisted' - | 'isMinter' - | 'mint' - | 'minterAdmin' - | 'minterAllowance' - | 'name' - | 'nonces' - | 'owner' - | 'pause' - | 'paused' - | 'pauser' - | 'permit' - | 'proxiableUUID' - | 'receiveWithAuthorization' - | 'removeMinter' - | 'rescueERC20' - | 'rescuer' - | 'symbol' - | 'totalSupply' - | 'transfer' - | 'transferFrom' - | 'transferOwnership' - | 'transferWithAuthorization' - | 'unAllowlist' - | 'unBlocklist' - | 'unpause' - | 'updateAllowlister' - | 'updateBlocklister' - | 'updateMinterAdmin' - | 'updatePauser' - | 'updateRescuer' - | 'upgradeTo' - | 'upgradeToAndCall'; -export interface AllowlistedEventEmittedResponse { - _account: string; -} -export interface AllowlisterChangedEventEmittedResponse { - newAllowlister: string; -} -export interface ApprovalEventEmittedResponse { - owner: string; - spender: string; - value: BigNumberish; -} -export interface AuthorizationCanceledEventEmittedResponse { - authorizer: string; - nonce: Arrayish; -} -export interface AuthorizationUsedEventEmittedResponse { - authorizer: string; - nonce: Arrayish; -} -export interface BlocklistedEventEmittedResponse { - _account: string; -} -export interface BlocklisterChangedEventEmittedResponse { - newBlocklister: string; -} -export interface BurnEventEmittedResponse { - burner: string; - amount: BigNumberish; -} -export interface MintEventEmittedResponse { - minter: string; - to: string; - amount: BigNumberish; -} -export interface MinterAdminChangedEventEmittedResponse { - newMinterAdmin: string; -} -export interface MinterConfiguredEventEmittedResponse { - minter: string; - minterAllowedAmount: BigNumberish; -} -export interface MinterRemovedEventEmittedResponse { - oldMinter: string; -} -export interface OwnershipTransferredEventEmittedResponse { - previousOwner: string; - newOwner: string; -} -export interface PauserChangedEventEmittedResponse { - newAddress: string; -} -export interface RescuerChangedEventEmittedResponse { - newRescuer: string; -} -export interface TransferEventEmittedResponse { - from: string; - to: string; - value: BigNumberish; -} -export interface UnAllowlistedEventEmittedResponse { - _account: string; -} -export interface UnBlocklistedEventEmittedResponse { - _account: string; -} -export interface UpgradedEventEmittedResponse { - implementation: string; -} -export interface FiatTokenV2 { - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - CANCEL_AUTHORIZATION_TYPEHASH( - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - PERMIT_TYPEHASH(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - RECEIVE_WITH_AUTHORIZATION_TYPEHASH( - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - TRANSFER_WITH_AUTHORIZATION_TYPEHASH( - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - _domainSeparatorV4(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param owner Type: address, Indexed: false - * @param spender Type: address, Indexed: false - */ - allowance( - owner: string, - spender: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _account Type: address, Indexed: false - */ - allowlist( - _account: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - allowlistLimitAmount(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - allowlister(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param spender Type: address, Indexed: false - * @param value Type: uint256, Indexed: false - */ - approve( - spender: string, - value: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param authorizer Type: address, Indexed: false - * @param nonce Type: bytes32, Indexed: false - */ - authorizationState( - authorizer: string, - nonce: Arrayish, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param account Type: address, Indexed: false - */ - balanceOf( - account: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _account Type: address, Indexed: false - */ - blocklist( - _account: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - blocklister(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _amount Type: uint256, Indexed: false - */ - burn( - _amount: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param authorizer Type: address, Indexed: false - * @param nonce Type: bytes32, Indexed: false - * @param v Type: uint8, Indexed: false - * @param r Type: bytes32, Indexed: false - * @param s Type: bytes32, Indexed: false - */ - cancelAuthorization( - authorizer: string, - nonce: Arrayish, - v: BigNumberish, - r: Arrayish, - s: Arrayish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param minter Type: address, Indexed: false - * @param minterAllowedAmount Type: uint256, Indexed: false - */ - configureMinter( - minter: string, - minterAllowedAmount: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - currency(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - decimals(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param spender Type: address, Indexed: false - * @param decrement Type: uint256, Indexed: false - */ - decreaseAllowance( - spender: string, - decrement: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param spender Type: address, Indexed: false - * @param increment Type: uint256, Indexed: false - */ - increaseAllowance( - spender: string, - increment: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - */ - initializeV2( - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param _account Type: address, Indexed: false - */ - isAllowlisted( - _account: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param _account Type: address, Indexed: false - */ - isBlocklisted( - _account: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param account Type: address, Indexed: false - */ - isMinter( - account: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _to Type: address, Indexed: false - * @param _amount Type: uint256, Indexed: false - */ - mint( - _to: string, - _amount: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - minterAdmin(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param minter Type: address, Indexed: false - */ - minterAllowance( - minter: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - name(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param owner Type: address, Indexed: false - */ - nonces(owner: string, overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - owner(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - */ - pause(overrides?: ContractTransactionOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - paused(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - pauser(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param owner Type: address, Indexed: false - * @param spender Type: address, Indexed: false - * @param value Type: uint256, Indexed: false - * @param deadline Type: uint256, Indexed: false - * @param v Type: uint8, Indexed: false - * @param r Type: bytes32, Indexed: false - * @param s Type: bytes32, Indexed: false - */ - permit( - owner: string, - spender: string, - value: BigNumberish, - deadline: BigNumberish, - v: BigNumberish, - r: Arrayish, - s: Arrayish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - proxiableUUID(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param from Type: address, Indexed: false - * @param to Type: address, Indexed: false - * @param value Type: uint256, Indexed: false - * @param validAfter Type: uint256, Indexed: false - * @param validBefore Type: uint256, Indexed: false - * @param nonce Type: bytes32, Indexed: false - * @param v Type: uint8, Indexed: false - * @param r Type: bytes32, Indexed: false - * @param s Type: bytes32, Indexed: false - */ - receiveWithAuthorization( - from: string, - to: string, - value: BigNumberish, - validAfter: BigNumberish, - validBefore: BigNumberish, - nonce: Arrayish, - v: BigNumberish, - r: Arrayish, - s: Arrayish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param minter Type: address, Indexed: false - */ - removeMinter( - minter: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param tokenContract Type: address, Indexed: false - * @param to Type: address, Indexed: false - * @param amount Type: uint256, Indexed: false - */ - rescueERC20( - tokenContract: string, - to: string, - amount: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - rescuer(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - symbol(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - totalSupply(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param to Type: address, Indexed: false - * @param value Type: uint256, Indexed: false - */ - transfer( - to: string, - value: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param from Type: address, Indexed: false - * @param to Type: address, Indexed: false - * @param value Type: uint256, Indexed: false - */ - transferFrom( - from: string, - to: string, - value: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param newOwner Type: address, Indexed: false - */ - transferOwnership( - newOwner: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param from Type: address, Indexed: false - * @param to Type: address, Indexed: false - * @param value Type: uint256, Indexed: false - * @param validAfter Type: uint256, Indexed: false - * @param validBefore Type: uint256, Indexed: false - * @param nonce Type: bytes32, Indexed: false - * @param v Type: uint8, Indexed: false - * @param r Type: bytes32, Indexed: false - * @param s Type: bytes32, Indexed: false - */ - transferWithAuthorization( - from: string, - to: string, - value: BigNumberish, - validAfter: BigNumberish, - validBefore: BigNumberish, - nonce: Arrayish, - v: BigNumberish, - r: Arrayish, - s: Arrayish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _account Type: address, Indexed: false - */ - unAllowlist( - _account: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _account Type: address, Indexed: false - */ - unBlocklist( - _account: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - */ - unpause( - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _newAllowlister Type: address, Indexed: false - */ - updateAllowlister( - _newAllowlister: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _newBlocklister Type: address, Indexed: false - */ - updateBlocklister( - _newBlocklister: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _newMinterAdmin Type: address, Indexed: false - */ - updateMinterAdmin( - _newMinterAdmin: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _newPauser Type: address, Indexed: false - */ - updatePauser( - _newPauser: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param newRescuer Type: address, Indexed: false - */ - updateRescuer( - newRescuer: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param newImplementation Type: address, Indexed: false - */ - upgradeTo( - newImplementation: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: true - * Constant: false - * StateMutability: payable - * Type: function - * @param newImplementation Type: address, Indexed: false - * @param data Type: bytes, Indexed: false - */ - upgradeToAndCall( - newImplementation: string, - data: Arrayish, - overrides?: ContractTransactionOverrides - ): Promise; -} diff --git a/packages/node/core/abi-types/FiatTokenV2Test.ts b/packages/node/core/abi-types/FiatTokenV2Test.ts deleted file mode 100755 index b0ec169..0000000 --- a/packages/node/core/abi-types/FiatTokenV2Test.ts +++ /dev/null @@ -1,800 +0,0 @@ -import { - ContractTransaction, - ContractInterface, - BytesLike as Arrayish, - BigNumber, - BigNumberish, -} from 'ethers'; -import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; - -export type ContractContext = EthersContractContextV5< - FiatTokenV2test, - FiatTokenV2testMethodNames, - FiatTokenV2testEventsContext, - FiatTokenV2testEvents ->; - -export declare type EventFilter = { - address?: string; - topics?: Array; - fromBlock?: string | number; - toBlock?: string | number; -}; - -export interface ContractTransactionOverrides { - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; - /** - * The price (in wei) per unit of gas - */ - gasPrice?: BigNumber | string | number | Promise; - /** - * The nonce to use in the transaction - */ - nonce?: number; - /** - * The amount to send with the transaction (i.e. msg.value) - */ - value?: BigNumber | string | number | Promise; - /** - * The chain ID (or network ID) to use - */ - chainId?: number; -} - -export interface ContractCallOverrides { - /** - * The address to execute the call as - */ - from?: string; - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; -} -export type FiatTokenV2testEvents = - | 'Approval' - | 'AuthorizationCanceled' - | 'AuthorizationUsed' - | 'Blocklisted' - | 'BlocklisterChanged' - | 'Burn' - | 'Mint' - | 'MinterAdminChanged' - | 'MinterConfigured' - | 'MinterRemoved' - | 'OwnershipTransferred' - | 'Pause' - | 'PauserChanged' - | 'RescuerChanged' - | 'Transfer' - | 'UnBlocklisted' - | 'Unpause' - | 'Upgraded'; -export interface FiatTokenV2testEventsContext { - Approval(...parameters: any): EventFilter; - AuthorizationCanceled(...parameters: any): EventFilter; - AuthorizationUsed(...parameters: any): EventFilter; - Blocklisted(...parameters: any): EventFilter; - BlocklisterChanged(...parameters: any): EventFilter; - Burn(...parameters: any): EventFilter; - Mint(...parameters: any): EventFilter; - MinterAdminChanged(...parameters: any): EventFilter; - MinterConfigured(...parameters: any): EventFilter; - MinterRemoved(...parameters: any): EventFilter; - OwnershipTransferred(...parameters: any): EventFilter; - Pause(...parameters: any): EventFilter; - PauserChanged(...parameters: any): EventFilter; - RescuerChanged(...parameters: any): EventFilter; - Transfer(...parameters: any): EventFilter; - UnBlocklisted(...parameters: any): EventFilter; - Unpause(...parameters: any): EventFilter; - Upgraded(...parameters: any): EventFilter; -} -export type FiatTokenV2testMethodNames = - | 'CANCEL_AUTHORIZATION_TYPEHASH' - | 'PERMIT_TYPEHASH' - | 'RECEIVE_WITH_AUTHORIZATION_TYPEHASH' - | 'TRANSFER_WITH_AUTHORIZATION_TYPEHASH' - | '_domainSeparatorV4' - | 'allowance' - | 'approve' - | 'authorizationState' - | 'balanceOf' - | 'blocklist' - | 'blocklister' - | 'burn' - | 'cancelAuthorization' - | 'configureMinter' - | 'currency' - | 'decimals' - | 'decreaseAllowance' - | 'increaseAllowance' - | 'initialize' - | 'isBlocklisted' - | 'isMinter' - | 'mint' - | 'minterAdmin' - | 'minterAllowance' - | 'name' - | 'name2' - | 'nonces' - | 'owner' - | 'pause' - | 'paused' - | 'pauser' - | 'permit' - | 'proxiableUUID' - | 'receiveWithAuthorization' - | 'removeMinter' - | 'rescueERC20' - | 'rescuer' - | 'setName2' - | 'symbol' - | 'totalSupply' - | 'transfer' - | 'transferFrom' - | 'transferOwnership' - | 'transferWithAuthorization' - | 'unBlocklist' - | 'unpause' - | 'updateBlocklister' - | 'updateMinterAdmin' - | 'updatePauser' - | 'updateRescuer' - | 'upgradeTo' - | 'upgradeToAndCall'; -export interface ApprovalEventEmittedResponse { - owner: string; - spender: string; - value: BigNumberish; -} -export interface AuthorizationCanceledEventEmittedResponse { - authorizer: string; - nonce: Arrayish; -} -export interface AuthorizationUsedEventEmittedResponse { - authorizer: string; - nonce: Arrayish; -} -export interface BlocklistedEventEmittedResponse { - _account: string; -} -export interface BlocklisterChangedEventEmittedResponse { - newBlocklister: string; -} -export interface BurnEventEmittedResponse { - burner: string; - amount: BigNumberish; -} -export interface MintEventEmittedResponse { - minter: string; - to: string; - amount: BigNumberish; -} -export interface MinterAdminChangedEventEmittedResponse { - newMinterAdmin: string; -} -export interface MinterConfiguredEventEmittedResponse { - minter: string; - minterAllowedAmount: BigNumberish; -} -export interface MinterRemovedEventEmittedResponse { - oldMinter: string; -} -export interface OwnershipTransferredEventEmittedResponse { - previousOwner: string; - newOwner: string; -} -export interface PauserChangedEventEmittedResponse { - newAddress: string; -} -export interface RescuerChangedEventEmittedResponse { - newRescuer: string; -} -export interface TransferEventEmittedResponse { - from: string; - to: string; - value: BigNumberish; -} -export interface UnBlocklistedEventEmittedResponse { - _account: string; -} -export interface UpgradedEventEmittedResponse { - implementation: string; -} -export interface FiatTokenV2test { - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - CANCEL_AUTHORIZATION_TYPEHASH( - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - PERMIT_TYPEHASH(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - RECEIVE_WITH_AUTHORIZATION_TYPEHASH( - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - TRANSFER_WITH_AUTHORIZATION_TYPEHASH( - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - _domainSeparatorV4(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param owner Type: address, Indexed: false - * @param spender Type: address, Indexed: false - */ - allowance( - owner: string, - spender: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param spender Type: address, Indexed: false - * @param value Type: uint256, Indexed: false - */ - approve( - spender: string, - value: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param authorizer Type: address, Indexed: false - * @param nonce Type: bytes32, Indexed: false - */ - authorizationState( - authorizer: string, - nonce: Arrayish, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param account Type: address, Indexed: false - */ - balanceOf( - account: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _account Type: address, Indexed: false - */ - blocklist( - _account: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - blocklister(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _amount Type: uint256, Indexed: false - */ - burn( - _amount: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param authorizer Type: address, Indexed: false - * @param nonce Type: bytes32, Indexed: false - * @param v Type: uint8, Indexed: false - * @param r Type: bytes32, Indexed: false - * @param s Type: bytes32, Indexed: false - */ - cancelAuthorization( - authorizer: string, - nonce: Arrayish, - v: BigNumberish, - r: Arrayish, - s: Arrayish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param minter Type: address, Indexed: false - * @param minterAllowedAmount Type: uint256, Indexed: false - */ - configureMinter( - minter: string, - minterAllowedAmount: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - currency(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - decimals(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param spender Type: address, Indexed: false - * @param decrement Type: uint256, Indexed: false - */ - decreaseAllowance( - spender: string, - decrement: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param spender Type: address, Indexed: false - * @param increment Type: uint256, Indexed: false - */ - increaseAllowance( - spender: string, - increment: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param tokenName Type: string, Indexed: false - * @param tokenSymbol Type: string, Indexed: false - * @param tokenCurrency Type: string, Indexed: false - * @param tokenDecimals Type: uint8, Indexed: false - * @param newMinterAdmin Type: address, Indexed: false - * @param newPauser Type: address, Indexed: false - * @param newBlocklister Type: address, Indexed: false - * @param newRescuer Type: address, Indexed: false - * @param newOwner Type: address, Indexed: false - */ - initialize( - tokenName: string, - tokenSymbol: string, - tokenCurrency: string, - tokenDecimals: BigNumberish, - newMinterAdmin: string, - newPauser: string, - newBlocklister: string, - newRescuer: string, - newOwner: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param _account Type: address, Indexed: false - */ - isBlocklisted( - _account: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param account Type: address, Indexed: false - */ - isMinter( - account: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _to Type: address, Indexed: false - * @param _amount Type: uint256, Indexed: false - */ - mint( - _to: string, - _amount: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - minterAdmin(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param minter Type: address, Indexed: false - */ - minterAllowance( - minter: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - name(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - name2(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param owner Type: address, Indexed: false - */ - nonces(owner: string, overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - owner(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - */ - pause(overrides?: ContractTransactionOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - paused(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - pauser(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param owner Type: address, Indexed: false - * @param spender Type: address, Indexed: false - * @param value Type: uint256, Indexed: false - * @param deadline Type: uint256, Indexed: false - * @param v Type: uint8, Indexed: false - * @param r Type: bytes32, Indexed: false - * @param s Type: bytes32, Indexed: false - */ - permit( - owner: string, - spender: string, - value: BigNumberish, - deadline: BigNumberish, - v: BigNumberish, - r: Arrayish, - s: Arrayish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - proxiableUUID(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param from Type: address, Indexed: false - * @param to Type: address, Indexed: false - * @param value Type: uint256, Indexed: false - * @param validAfter Type: uint256, Indexed: false - * @param validBefore Type: uint256, Indexed: false - * @param nonce Type: bytes32, Indexed: false - * @param v Type: uint8, Indexed: false - * @param r Type: bytes32, Indexed: false - * @param s Type: bytes32, Indexed: false - */ - receiveWithAuthorization( - from: string, - to: string, - value: BigNumberish, - validAfter: BigNumberish, - validBefore: BigNumberish, - nonce: Arrayish, - v: BigNumberish, - r: Arrayish, - s: Arrayish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param minter Type: address, Indexed: false - */ - removeMinter( - minter: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param tokenContract Type: address, Indexed: false - * @param to Type: address, Indexed: false - * @param amount Type: uint256, Indexed: false - */ - rescueERC20( - tokenContract: string, - to: string, - amount: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - rescuer(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _name Type: string, Indexed: false - */ - setName2( - _name: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - symbol(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - totalSupply(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param to Type: address, Indexed: false - * @param value Type: uint256, Indexed: false - */ - transfer( - to: string, - value: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param from Type: address, Indexed: false - * @param to Type: address, Indexed: false - * @param value Type: uint256, Indexed: false - */ - transferFrom( - from: string, - to: string, - value: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param newOwner Type: address, Indexed: false - */ - transferOwnership( - newOwner: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param from Type: address, Indexed: false - * @param to Type: address, Indexed: false - * @param value Type: uint256, Indexed: false - * @param validAfter Type: uint256, Indexed: false - * @param validBefore Type: uint256, Indexed: false - * @param nonce Type: bytes32, Indexed: false - * @param v Type: uint8, Indexed: false - * @param r Type: bytes32, Indexed: false - * @param s Type: bytes32, Indexed: false - */ - transferWithAuthorization( - from: string, - to: string, - value: BigNumberish, - validAfter: BigNumberish, - validBefore: BigNumberish, - nonce: Arrayish, - v: BigNumberish, - r: Arrayish, - s: Arrayish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _account Type: address, Indexed: false - */ - unBlocklist( - _account: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - */ - unpause( - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _newBlocklister Type: address, Indexed: false - */ - updateBlocklister( - _newBlocklister: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _newMinterAdmin Type: address, Indexed: false - */ - updateMinterAdmin( - _newMinterAdmin: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _newPauser Type: address, Indexed: false - */ - updatePauser( - _newPauser: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param newRescuer Type: address, Indexed: false - */ - updateRescuer( - newRescuer: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param newImplementation Type: address, Indexed: false - */ - upgradeTo( - newImplementation: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: true - * Constant: false - * StateMutability: payable - * Type: function - * @param newImplementation Type: address, Indexed: false - * @param data Type: bytes, Indexed: false - */ - upgradeToAndCall( - newImplementation: string, - data: Arrayish, - overrides?: ContractTransactionOverrides - ): Promise; -} diff --git a/packages/node/core/abi-types/IERC1822Proxiable.ts b/packages/node/core/abi-types/IERC1822Proxiable.ts deleted file mode 100755 index 1646685..0000000 --- a/packages/node/core/abi-types/IERC1822Proxiable.ts +++ /dev/null @@ -1,68 +0,0 @@ -import { - ContractTransaction, - ContractInterface, - BytesLike as Arrayish, - BigNumber, - BigNumberish, -} from 'ethers'; -import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; - -export type ContractContext = EthersContractContextV5< - IERC1822Proxiable, - IERC1822ProxiableMethodNames, - IERC1822ProxiableEventsContext, - IERC1822ProxiableEvents ->; - -export declare type EventFilter = { - address?: string; - topics?: Array; - fromBlock?: string | number; - toBlock?: string | number; -}; - -export interface ContractTransactionOverrides { - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; - /** - * The price (in wei) per unit of gas - */ - gasPrice?: BigNumber | string | number | Promise; - /** - * The nonce to use in the transaction - */ - nonce?: number; - /** - * The amount to send with the transaction (i.e. msg.value) - */ - value?: BigNumber | string | number | Promise; - /** - * The chain ID (or network ID) to use - */ - chainId?: number; -} - -export interface ContractCallOverrides { - /** - * The address to execute the call as - */ - from?: string; - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; -} -export type IERC1822ProxiableEvents = undefined; -export interface IERC1822ProxiableEventsContext {} -export type IERC1822ProxiableMethodNames = 'proxiableUUID'; -export interface IERC1822Proxiable { - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - proxiableUUID(overrides?: ContractCallOverrides): Promise; -} diff --git a/packages/node/core/abi-types/IERC20.ts b/packages/node/core/abi-types/IERC20.ts deleted file mode 100755 index ffc9b40..0000000 --- a/packages/node/core/abi-types/IERC20.ts +++ /dev/null @@ -1,152 +0,0 @@ -import { - ContractTransaction, - ContractInterface, - BytesLike as Arrayish, - BigNumber, - BigNumberish, -} from 'ethers'; -import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; - -export type ContractContext = EthersContractContextV5< - IERC20, - IERC20MethodNames, - IERC20EventsContext, - IERC20Events ->; - -export declare type EventFilter = { - address?: string; - topics?: Array; - fromBlock?: string | number; - toBlock?: string | number; -}; - -export interface ContractTransactionOverrides { - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; - /** - * The price (in wei) per unit of gas - */ - gasPrice?: BigNumber | string | number | Promise; - /** - * The nonce to use in the transaction - */ - nonce?: number; - /** - * The amount to send with the transaction (i.e. msg.value) - */ - value?: BigNumber | string | number | Promise; - /** - * The chain ID (or network ID) to use - */ - chainId?: number; -} - -export interface ContractCallOverrides { - /** - * The address to execute the call as - */ - from?: string; - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; -} -export type IERC20Events = 'Approval' | 'Transfer'; -export interface IERC20EventsContext { - Approval(...parameters: any): EventFilter; - Transfer(...parameters: any): EventFilter; -} -export type IERC20MethodNames = - | 'allowance' - | 'approve' - | 'balanceOf' - | 'totalSupply' - | 'transfer' - | 'transferFrom'; -export interface ApprovalEventEmittedResponse { - owner: string; - spender: string; - value: BigNumberish; -} -export interface TransferEventEmittedResponse { - from: string; - to: string; - value: BigNumberish; -} -export interface IERC20 { - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param owner Type: address, Indexed: false - * @param spender Type: address, Indexed: false - */ - allowance( - owner: string, - spender: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param spender Type: address, Indexed: false - * @param amount Type: uint256, Indexed: false - */ - approve( - spender: string, - amount: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param account Type: address, Indexed: false - */ - balanceOf( - account: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - totalSupply(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param recipient Type: address, Indexed: false - * @param amount Type: uint256, Indexed: false - */ - transfer( - recipient: string, - amount: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param sender Type: address, Indexed: false - * @param recipient Type: address, Indexed: false - * @param amount Type: uint256, Indexed: false - */ - transferFrom( - sender: string, - recipient: string, - amount: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; -} diff --git a/packages/node/core/abi-types/IERC20Metadata.ts b/packages/node/core/abi-types/IERC20Metadata.ts deleted file mode 100755 index e3ef728..0000000 --- a/packages/node/core/abi-types/IERC20Metadata.ts +++ /dev/null @@ -1,176 +0,0 @@ -import { - ContractTransaction, - ContractInterface, - BytesLike as Arrayish, - BigNumber, - BigNumberish, -} from 'ethers'; -import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; - -export type ContractContext = EthersContractContextV5< - IERC20Metadata, - IERC20MetadataMethodNames, - IERC20MetadataEventsContext, - IERC20MetadataEvents ->; - -export declare type EventFilter = { - address?: string; - topics?: Array; - fromBlock?: string | number; - toBlock?: string | number; -}; - -export interface ContractTransactionOverrides { - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; - /** - * The price (in wei) per unit of gas - */ - gasPrice?: BigNumber | string | number | Promise; - /** - * The nonce to use in the transaction - */ - nonce?: number; - /** - * The amount to send with the transaction (i.e. msg.value) - */ - value?: BigNumber | string | number | Promise; - /** - * The chain ID (or network ID) to use - */ - chainId?: number; -} - -export interface ContractCallOverrides { - /** - * The address to execute the call as - */ - from?: string; - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; -} -export type IERC20MetadataEvents = 'Approval' | 'Transfer'; -export interface IERC20MetadataEventsContext { - Approval(...parameters: any): EventFilter; - Transfer(...parameters: any): EventFilter; -} -export type IERC20MetadataMethodNames = - | 'allowance' - | 'approve' - | 'balanceOf' - | 'decimals' - | 'name' - | 'symbol' - | 'totalSupply' - | 'transfer' - | 'transferFrom'; -export interface ApprovalEventEmittedResponse { - owner: string; - spender: string; - value: BigNumberish; -} -export interface TransferEventEmittedResponse { - from: string; - to: string; - value: BigNumberish; -} -export interface IERC20Metadata { - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param owner Type: address, Indexed: false - * @param spender Type: address, Indexed: false - */ - allowance( - owner: string, - spender: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param spender Type: address, Indexed: false - * @param amount Type: uint256, Indexed: false - */ - approve( - spender: string, - amount: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param account Type: address, Indexed: false - */ - balanceOf( - account: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - decimals(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - name(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - symbol(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - totalSupply(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param recipient Type: address, Indexed: false - * @param amount Type: uint256, Indexed: false - */ - transfer( - recipient: string, - amount: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param sender Type: address, Indexed: false - * @param recipient Type: address, Indexed: false - * @param amount Type: uint256, Indexed: false - */ - transferFrom( - sender: string, - recipient: string, - amount: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; -} diff --git a/packages/node/core/abi-types/MintController.ts b/packages/node/core/abi-types/MintController.ts deleted file mode 100755 index 8878b84..0000000 --- a/packages/node/core/abi-types/MintController.ts +++ /dev/null @@ -1,250 +0,0 @@ -import { - ContractTransaction, - ContractInterface, - BytesLike as Arrayish, - BigNumber, - BigNumberish, -} from 'ethers'; -import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; - -export type ContractContext = EthersContractContextV5< - MintController, - MintControllerMethodNames, - MintControllerEventsContext, - MintControllerEvents ->; - -export declare type EventFilter = { - address?: string; - topics?: Array; - fromBlock?: string | number; - toBlock?: string | number; -}; - -export interface ContractTransactionOverrides { - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; - /** - * The price (in wei) per unit of gas - */ - gasPrice?: BigNumber | string | number | Promise; - /** - * The nonce to use in the transaction - */ - nonce?: number; - /** - * The amount to send with the transaction (i.e. msg.value) - */ - value?: BigNumber | string | number | Promise; - /** - * The chain ID (or network ID) to use - */ - chainId?: number; -} - -export interface ContractCallOverrides { - /** - * The address to execute the call as - */ - from?: string; - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; -} -export type MintControllerEvents = - | 'MinterManagerSet' - | 'MinterConfigured' - | 'MinterRemoved' - | 'MinterAllowanceIncremented' - | 'MinterAllowanceDecremented' - | 'ControllerConfigured' - | 'ControllerRemoved' - | 'OwnershipTransferred'; -export interface MintControllerEventsContext { - MinterManagerSet(...parameters: any): EventFilter; - MinterConfigured(...parameters: any): EventFilter; - MinterRemoved(...parameters: any): EventFilter; - MinterAllowanceIncremented(...parameters: any): EventFilter; - MinterAllowanceDecremented(...parameters: any): EventFilter; - ControllerConfigured(...parameters: any): EventFilter; - ControllerRemoved(...parameters: any): EventFilter; - OwnershipTransferred(...parameters: any): EventFilter; -} -export type MintControllerMethodNames = - | 'incrementMinterAllowance' - | 'setMinterManager' - | 'decrementMinterAllowance' - | 'owner' - | 'getMinterManager' - | 'getWorker' - | 'configureController' - | 'configureMinter' - | 'removeMinter' - | 'transferOwnership' - | 'removeController' - | 'new'; -export interface MinterManagerSetEventEmittedResponse { - _oldMinterManager: string; - _newMinterManager: string; -} -export interface MinterConfiguredEventEmittedResponse { - _msgSender: string; - _minter: string; - _allowance: BigNumberish; -} -export interface MinterRemovedEventEmittedResponse { - _msgSender: string; - _minter: string; -} -export interface MinterAllowanceIncrementedEventEmittedResponse { - _msgSender: string; - _minter: string; - _increment: BigNumberish; - _newAllowance: BigNumberish; -} -export interface MinterAllowanceDecrementedEventEmittedResponse { - msgSender: string; - minter: string; - decrement: BigNumberish; - newAllowance: BigNumberish; -} -export interface ControllerConfiguredEventEmittedResponse { - _controller: string; - _worker: string; -} -export interface ControllerRemovedEventEmittedResponse { - _controller: string; -} -export interface OwnershipTransferredEventEmittedResponse { - previousOwner: string; - newOwner: string; -} -export interface MintController { - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _allowanceIncrement Type: uint256, Indexed: false - */ - incrementMinterAllowance( - _allowanceIncrement: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _newMinterManager Type: address, Indexed: false - */ - setMinterManager( - _newMinterManager: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _allowanceDecrement Type: uint256, Indexed: false - */ - decrementMinterAllowance( - _allowanceDecrement: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - owner(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - getMinterManager(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param _controller Type: address, Indexed: false - */ - getWorker( - _controller: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _controller Type: address, Indexed: false - * @param _worker Type: address, Indexed: false - */ - configureController( - _controller: string, - _worker: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _newAllowance Type: uint256, Indexed: false - */ - configureMinter( - _newAllowance: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - */ - removeMinter( - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param newOwner Type: address, Indexed: false - */ - transferOwnership( - newOwner: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _controller Type: address, Indexed: false - */ - removeController( - _controller: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: constructor - * @param _minterManager Type: address, Indexed: false - */ - 'new'( - _minterManager: string, - overrides?: ContractTransactionOverrides - ): Promise; -} diff --git a/packages/node/core/abi-types/MinterAdmin.ts b/packages/node/core/abi-types/MinterAdmin.ts deleted file mode 100755 index b164ea5..0000000 --- a/packages/node/core/abi-types/MinterAdmin.ts +++ /dev/null @@ -1,250 +0,0 @@ -import { - ContractTransaction, - ContractInterface, - BytesLike as Arrayish, - BigNumber, - BigNumberish, -} from 'ethers'; -import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; - -export type ContractContext = EthersContractContextV5< - MinterAdmin, - MinterAdminMethodNames, - MinterAdminEventsContext, - MinterAdminEvents ->; - -export declare type EventFilter = { - address?: string; - topics?: Array; - fromBlock?: string | number; - toBlock?: string | number; -}; - -export interface ContractTransactionOverrides { - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; - /** - * The price (in wei) per unit of gas - */ - gasPrice?: BigNumber | string | number | Promise; - /** - * The nonce to use in the transaction - */ - nonce?: number; - /** - * The amount to send with the transaction (i.e. msg.value) - */ - value?: BigNumber | string | number | Promise; - /** - * The chain ID (or network ID) to use - */ - chainId?: number; -} - -export interface ContractCallOverrides { - /** - * The address to execute the call as - */ - from?: string; - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; -} -export type MinterAdminEvents = - | 'MinterManagerSet' - | 'MinterConfigured' - | 'MinterRemoved' - | 'MinterAllowanceIncremented' - | 'MinterAllowanceDecremented' - | 'ControllerConfigured' - | 'ControllerRemoved' - | 'OwnershipTransferred'; -export interface MinterAdminEventsContext { - MinterManagerSet(...parameters: any): EventFilter; - MinterConfigured(...parameters: any): EventFilter; - MinterRemoved(...parameters: any): EventFilter; - MinterAllowanceIncremented(...parameters: any): EventFilter; - MinterAllowanceDecremented(...parameters: any): EventFilter; - ControllerConfigured(...parameters: any): EventFilter; - ControllerRemoved(...parameters: any): EventFilter; - OwnershipTransferred(...parameters: any): EventFilter; -} -export type MinterAdminMethodNames = - | 'incrementMinterAllowance' - | 'setMinterManager' - | 'decrementMinterAllowance' - | 'owner' - | 'getMinterManager' - | 'getWorker' - | 'configureController' - | 'configureMinter' - | 'removeMinter' - | 'transferOwnership' - | 'removeController' - | 'new'; -export interface MinterManagerSetEventEmittedResponse { - _oldMinterManager: string; - _newMinterManager: string; -} -export interface MinterConfiguredEventEmittedResponse { - _msgSender: string; - _minter: string; - _allowance: BigNumberish; -} -export interface MinterRemovedEventEmittedResponse { - _msgSender: string; - _minter: string; -} -export interface MinterAllowanceIncrementedEventEmittedResponse { - _msgSender: string; - _minter: string; - _increment: BigNumberish; - _newAllowance: BigNumberish; -} -export interface MinterAllowanceDecrementedEventEmittedResponse { - msgSender: string; - minter: string; - decrement: BigNumberish; - newAllowance: BigNumberish; -} -export interface ControllerConfiguredEventEmittedResponse { - _controller: string; - _worker: string; -} -export interface ControllerRemovedEventEmittedResponse { - _controller: string; -} -export interface OwnershipTransferredEventEmittedResponse { - previousOwner: string; - newOwner: string; -} -export interface MinterAdmin { - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _allowanceIncrement Type: uint256, Indexed: false - */ - incrementMinterAllowance( - _allowanceIncrement: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _newMinterManager Type: address, Indexed: false - */ - setMinterManager( - _newMinterManager: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _allowanceDecrement Type: uint256, Indexed: false - */ - decrementMinterAllowance( - _allowanceDecrement: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - owner(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - getMinterManager(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param _controller Type: address, Indexed: false - */ - getWorker( - _controller: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _controller Type: address, Indexed: false - * @param _worker Type: address, Indexed: false - */ - configureController( - _controller: string, - _worker: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _newAllowance Type: uint256, Indexed: false - */ - configureMinter( - _newAllowance: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - */ - removeMinter( - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param newOwner Type: address, Indexed: false - */ - transferOwnership( - newOwner: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _controller Type: address, Indexed: false - */ - removeController( - _controller: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: constructor - * @param _minterManager Type: address, Indexed: false - */ - 'new'( - _minterManager: string, - overrides?: ContractTransactionOverrides - ): Promise; -} diff --git a/packages/node/core/abi-types/MinterManagementInterface.ts b/packages/node/core/abi-types/MinterManagementInterface.ts deleted file mode 100755 index c8e395d..0000000 --- a/packages/node/core/abi-types/MinterManagementInterface.ts +++ /dev/null @@ -1,111 +0,0 @@ -import { - ContractTransaction, - ContractInterface, - BytesLike as Arrayish, - BigNumber, - BigNumberish, -} from 'ethers'; -import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; - -export type ContractContext = EthersContractContextV5< - MinterManagementInterface, - MinterManagementInterfaceMethodNames, - MinterManagementInterfaceEventsContext, - MinterManagementInterfaceEvents ->; - -export declare type EventFilter = { - address?: string; - topics?: Array; - fromBlock?: string | number; - toBlock?: string | number; -}; - -export interface ContractTransactionOverrides { - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; - /** - * The price (in wei) per unit of gas - */ - gasPrice?: BigNumber | string | number | Promise; - /** - * The nonce to use in the transaction - */ - nonce?: number; - /** - * The amount to send with the transaction (i.e. msg.value) - */ - value?: BigNumber | string | number | Promise; - /** - * The chain ID (or network ID) to use - */ - chainId?: number; -} - -export interface ContractCallOverrides { - /** - * The address to execute the call as - */ - from?: string; - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; -} -export type MinterManagementInterfaceEvents = undefined; -export interface MinterManagementInterfaceEventsContext {} -export type MinterManagementInterfaceMethodNames = - | 'removeMinter' - | 'configureMinter' - | 'minterAllowance' - | 'isMinter'; -export interface MinterManagementInterface { - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _minter Type: address, Indexed: false - */ - removeMinter( - _minter: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _minter Type: address, Indexed: false - * @param _minterAllowedAmount Type: uint256, Indexed: false - */ - configureMinter( - _minter: string, - _minterAllowedAmount: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param _minter Type: address, Indexed: false - */ - minterAllowance( - _minter: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param _account Type: address, Indexed: false - */ - isMinter( - _account: string, - overrides?: ContractCallOverrides - ): Promise; -} diff --git a/packages/node/core/abi-types/Ownable.ts b/packages/node/core/abi-types/Ownable.ts deleted file mode 100755 index ea8af86..0000000 --- a/packages/node/core/abi-types/Ownable.ts +++ /dev/null @@ -1,85 +0,0 @@ -import { - ContractTransaction, - ContractInterface, - BytesLike as Arrayish, - BigNumber, - BigNumberish, -} from 'ethers'; -import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; - -export type ContractContext = EthersContractContextV5< - Ownable, - OwnableMethodNames, - OwnableEventsContext, - OwnableEvents ->; - -export declare type EventFilter = { - address?: string; - topics?: Array; - fromBlock?: string | number; - toBlock?: string | number; -}; - -export interface ContractTransactionOverrides { - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; - /** - * The price (in wei) per unit of gas - */ - gasPrice?: BigNumber | string | number | Promise; - /** - * The nonce to use in the transaction - */ - nonce?: number; - /** - * The amount to send with the transaction (i.e. msg.value) - */ - value?: BigNumber | string | number | Promise; - /** - * The chain ID (or network ID) to use - */ - chainId?: number; -} - -export interface ContractCallOverrides { - /** - * The address to execute the call as - */ - from?: string; - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; -} -export type OwnableEvents = 'OwnershipTransferred'; -export interface OwnableEventsContext { - OwnershipTransferred(...parameters: any): EventFilter; -} -export type OwnableMethodNames = 'owner' | 'transferOwnership'; -export interface OwnershipTransferredEventEmittedResponse { - previousOwner: string; - newOwner: string; -} -export interface Ownable { - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - owner(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param newOwner Type: address, Indexed: false - */ - transferOwnership( - newOwner: string, - overrides?: ContractTransactionOverrides - ): Promise; -} diff --git a/packages/node/core/abi-types/Pausable.ts b/packages/node/core/abi-types/Pausable.ts deleted file mode 100755 index f1614cd..0000000 --- a/packages/node/core/abi-types/Pausable.ts +++ /dev/null @@ -1,143 +0,0 @@ -import { - ContractTransaction, - ContractInterface, - BytesLike as Arrayish, - BigNumber, - BigNumberish, -} from 'ethers'; -import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; - -export type ContractContext = EthersContractContextV5< - Pausable, - PausableMethodNames, - PausableEventsContext, - PausableEvents ->; - -export declare type EventFilter = { - address?: string; - topics?: Array; - fromBlock?: string | number; - toBlock?: string | number; -}; - -export interface ContractTransactionOverrides { - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; - /** - * The price (in wei) per unit of gas - */ - gasPrice?: BigNumber | string | number | Promise; - /** - * The nonce to use in the transaction - */ - nonce?: number; - /** - * The amount to send with the transaction (i.e. msg.value) - */ - value?: BigNumber | string | number | Promise; - /** - * The chain ID (or network ID) to use - */ - chainId?: number; -} - -export interface ContractCallOverrides { - /** - * The address to execute the call as - */ - from?: string; - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; -} -export type PausableEvents = - | 'OwnershipTransferred' - | 'Pause' - | 'PauserChanged' - | 'Unpause'; -export interface PausableEventsContext { - OwnershipTransferred(...parameters: any): EventFilter; - Pause(...parameters: any): EventFilter; - PauserChanged(...parameters: any): EventFilter; - Unpause(...parameters: any): EventFilter; -} -export type PausableMethodNames = - | 'owner' - | 'pause' - | 'paused' - | 'pauser' - | 'transferOwnership' - | 'unpause' - | 'updatePauser'; -export interface OwnershipTransferredEventEmittedResponse { - previousOwner: string; - newOwner: string; -} -export interface PauserChangedEventEmittedResponse { - newAddress: string; -} -export interface Pausable { - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - owner(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - */ - pause(overrides?: ContractTransactionOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - paused(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - pauser(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param newOwner Type: address, Indexed: false - */ - transferOwnership( - newOwner: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - */ - unpause( - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _newPauser Type: address, Indexed: false - */ - updatePauser( - _newPauser: string, - overrides?: ContractTransactionOverrides - ): Promise; -} diff --git a/packages/node/core/abi-types/Proxy.ts b/packages/node/core/abi-types/Proxy.ts deleted file mode 100755 index 160c8cc..0000000 --- a/packages/node/core/abi-types/Proxy.ts +++ /dev/null @@ -1,60 +0,0 @@ -import { - ContractTransaction, - ContractInterface, - BytesLike as Arrayish, - BigNumber, - BigNumberish, -} from 'ethers'; -import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; - -export type ContractContext = EthersContractContextV5< - Proxy, - ProxyMethodNames, - ProxyEventsContext, - ProxyEvents ->; - -export declare type EventFilter = { - address?: string; - topics?: Array; - fromBlock?: string | number; - toBlock?: string | number; -}; - -export interface ContractTransactionOverrides { - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; - /** - * The price (in wei) per unit of gas - */ - gasPrice?: BigNumber | string | number | Promise; - /** - * The nonce to use in the transaction - */ - nonce?: number; - /** - * The amount to send with the transaction (i.e. msg.value) - */ - value?: BigNumber | string | number | Promise; - /** - * The chain ID (or network ID) to use - */ - chainId?: number; -} - -export interface ContractCallOverrides { - /** - * The address to execute the call as - */ - from?: string; - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; -} -export type ProxyEvents = undefined; -export interface ProxyEventsContext {} -export type ProxyMethodNames = undefined; -export interface Proxy {} diff --git a/packages/node/core/abi-types/Rescuable.ts b/packages/node/core/abi-types/Rescuable.ts deleted file mode 100755 index 7a056ff..0000000 --- a/packages/node/core/abi-types/Rescuable.ts +++ /dev/null @@ -1,127 +0,0 @@ -import { - ContractTransaction, - ContractInterface, - BytesLike as Arrayish, - BigNumber, - BigNumberish, -} from 'ethers'; -import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; - -export type ContractContext = EthersContractContextV5< - Rescuable, - RescuableMethodNames, - RescuableEventsContext, - RescuableEvents ->; - -export declare type EventFilter = { - address?: string; - topics?: Array; - fromBlock?: string | number; - toBlock?: string | number; -}; - -export interface ContractTransactionOverrides { - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; - /** - * The price (in wei) per unit of gas - */ - gasPrice?: BigNumber | string | number | Promise; - /** - * The nonce to use in the transaction - */ - nonce?: number; - /** - * The amount to send with the transaction (i.e. msg.value) - */ - value?: BigNumber | string | number | Promise; - /** - * The chain ID (or network ID) to use - */ - chainId?: number; -} - -export interface ContractCallOverrides { - /** - * The address to execute the call as - */ - from?: string; - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; -} -export type RescuableEvents = 'OwnershipTransferred' | 'RescuerChanged'; -export interface RescuableEventsContext { - OwnershipTransferred(...parameters: any): EventFilter; - RescuerChanged(...parameters: any): EventFilter; -} -export type RescuableMethodNames = - | 'owner' - | 'rescueERC20' - | 'rescuer' - | 'transferOwnership' - | 'updateRescuer'; -export interface OwnershipTransferredEventEmittedResponse { - previousOwner: string; - newOwner: string; -} -export interface RescuerChangedEventEmittedResponse { - newRescuer: string; -} -export interface Rescuable { - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - owner(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param tokenContract Type: address, Indexed: false - * @param to Type: address, Indexed: false - * @param amount Type: uint256, Indexed: false - */ - rescueERC20( - tokenContract: string, - to: string, - amount: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - rescuer(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param newOwner Type: address, Indexed: false - */ - transferOwnership( - newOwner: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param newRescuer Type: address, Indexed: false - */ - updateRescuer( - newRescuer: string, - overrides?: ContractTransactionOverrides - ): Promise; -} diff --git a/packages/node/core/abi-types/SafeMath.ts b/packages/node/core/abi-types/SafeMath.ts deleted file mode 100755 index 60084a3..0000000 --- a/packages/node/core/abi-types/SafeMath.ts +++ /dev/null @@ -1,60 +0,0 @@ -import { - ContractTransaction, - ContractInterface, - BytesLike as Arrayish, - BigNumber, - BigNumberish, -} from 'ethers'; -import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; - -export type ContractContext = EthersContractContextV5< - SafeMath, - SafeMathMethodNames, - SafeMathEventsContext, - SafeMathEvents ->; - -export declare type EventFilter = { - address?: string; - topics?: Array; - fromBlock?: string | number; - toBlock?: string | number; -}; - -export interface ContractTransactionOverrides { - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; - /** - * The price (in wei) per unit of gas - */ - gasPrice?: BigNumber | string | number | Promise; - /** - * The nonce to use in the transaction - */ - nonce?: number; - /** - * The amount to send with the transaction (i.e. msg.value) - */ - value?: BigNumber | string | number | Promise; - /** - * The chain ID (or network ID) to use - */ - chainId?: number; -} - -export interface ContractCallOverrides { - /** - * The address to execute the call as - */ - from?: string; - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; -} -export type SafeMathEvents = undefined; -export interface SafeMathEventsContext {} -export type SafeMathMethodNames = undefined; -export interface SafeMath {} diff --git a/packages/node/core/abi-types/StorageSlot.ts b/packages/node/core/abi-types/StorageSlot.ts deleted file mode 100755 index ef6d654..0000000 --- a/packages/node/core/abi-types/StorageSlot.ts +++ /dev/null @@ -1,60 +0,0 @@ -import { - ContractTransaction, - ContractInterface, - BytesLike as Arrayish, - BigNumber, - BigNumberish, -} from 'ethers'; -import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; - -export type ContractContext = EthersContractContextV5< - StorageSlot, - StorageSlotMethodNames, - StorageSlotEventsContext, - StorageSlotEvents ->; - -export declare type EventFilter = { - address?: string; - topics?: Array; - fromBlock?: string | number; - toBlock?: string | number; -}; - -export interface ContractTransactionOverrides { - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; - /** - * The price (in wei) per unit of gas - */ - gasPrice?: BigNumber | string | number | Promise; - /** - * The nonce to use in the transaction - */ - nonce?: number; - /** - * The amount to send with the transaction (i.e. msg.value) - */ - value?: BigNumber | string | number | Promise; - /** - * The chain ID (or network ID) to use - */ - chainId?: number; -} - -export interface ContractCallOverrides { - /** - * The address to execute the call as - */ - from?: string; - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; -} -export type StorageSlotEvents = undefined; -export interface StorageSlotEventsContext {} -export type StorageSlotMethodNames = undefined; -export interface StorageSlot {} diff --git a/packages/node/core/abi-types/UUPSUpgradeable.ts b/packages/node/core/abi-types/UUPSUpgradeable.ts deleted file mode 100755 index af46263..0000000 --- a/packages/node/core/abi-types/UUPSUpgradeable.ts +++ /dev/null @@ -1,100 +0,0 @@ -import { - ContractTransaction, - ContractInterface, - BytesLike as Arrayish, - BigNumber, - BigNumberish, -} from 'ethers'; -import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; - -export type ContractContext = EthersContractContextV5< - UUPSUpgradeable, - UUPSUpgradeableMethodNames, - UUPSUpgradeableEventsContext, - UUPSUpgradeableEvents ->; - -export declare type EventFilter = { - address?: string; - topics?: Array; - fromBlock?: string | number; - toBlock?: string | number; -}; - -export interface ContractTransactionOverrides { - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; - /** - * The price (in wei) per unit of gas - */ - gasPrice?: BigNumber | string | number | Promise; - /** - * The nonce to use in the transaction - */ - nonce?: number; - /** - * The amount to send with the transaction (i.e. msg.value) - */ - value?: BigNumber | string | number | Promise; - /** - * The chain ID (or network ID) to use - */ - chainId?: number; -} - -export interface ContractCallOverrides { - /** - * The address to execute the call as - */ - from?: string; - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; -} -export type UUPSUpgradeableEvents = 'Upgraded'; -export interface UUPSUpgradeableEventsContext { - Upgraded(...parameters: any): EventFilter; -} -export type UUPSUpgradeableMethodNames = - | 'proxiableUUID' - | 'upgradeTo' - | 'upgradeToAndCall'; -export interface UpgradedEventEmittedResponse { - implementation: string; -} -export interface UUPSUpgradeable { - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - proxiableUUID(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param newImplementation Type: address, Indexed: false - */ - upgradeTo( - newImplementation: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: true - * Constant: false - * StateMutability: payable - * Type: function - * @param newImplementation Type: address, Indexed: false - * @param data Type: bytes, Indexed: false - */ - upgradeToAndCall( - newImplementation: string, - data: Arrayish, - overrides?: ContractTransactionOverrides - ): Promise; -} diff --git a/packages/node/core/abi-types/UUPSUpgradeableUnsafeMock.ts b/packages/node/core/abi-types/UUPSUpgradeableUnsafeMock.ts deleted file mode 100755 index 124dff8..0000000 --- a/packages/node/core/abi-types/UUPSUpgradeableUnsafeMock.ts +++ /dev/null @@ -1,780 +0,0 @@ -import { - ContractTransaction, - ContractInterface, - BytesLike as Arrayish, - BigNumber, - BigNumberish, -} from 'ethers'; -import { EthersContractContextV5 } from 'ethereum-abi-types-generator'; - -export type ContractContext = EthersContractContextV5< - UUPSUpgradeableUnsafeMock, - UUPSUpgradeableUnsafeMockMethodNames, - UUPSUpgradeableUnsafeMockEventsContext, - UUPSUpgradeableUnsafeMockEvents ->; - -export declare type EventFilter = { - address?: string; - topics?: Array; - fromBlock?: string | number; - toBlock?: string | number; -}; - -export interface ContractTransactionOverrides { - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; - /** - * The price (in wei) per unit of gas - */ - gasPrice?: BigNumber | string | number | Promise; - /** - * The nonce to use in the transaction - */ - nonce?: number; - /** - * The amount to send with the transaction (i.e. msg.value) - */ - value?: BigNumber | string | number | Promise; - /** - * The chain ID (or network ID) to use - */ - chainId?: number; -} - -export interface ContractCallOverrides { - /** - * The address to execute the call as - */ - from?: string; - /** - * The maximum units of gas for the transaction to use - */ - gasLimit?: number; -} -export type UUPSUpgradeableUnsafeMockEvents = - | 'Approval' - | 'AuthorizationCanceled' - | 'AuthorizationUsed' - | 'Blocklisted' - | 'BlocklisterChanged' - | 'Burn' - | 'Mint' - | 'MinterAdminChanged' - | 'MinterConfigured' - | 'MinterRemoved' - | 'OwnershipTransferred' - | 'Pause' - | 'PauserChanged' - | 'RescuerChanged' - | 'Transfer' - | 'UnBlocklisted' - | 'Unpause' - | 'Upgraded'; -export interface UUPSUpgradeableUnsafeMockEventsContext { - Approval(...parameters: any): EventFilter; - AuthorizationCanceled(...parameters: any): EventFilter; - AuthorizationUsed(...parameters: any): EventFilter; - Blocklisted(...parameters: any): EventFilter; - BlocklisterChanged(...parameters: any): EventFilter; - Burn(...parameters: any): EventFilter; - Mint(...parameters: any): EventFilter; - MinterAdminChanged(...parameters: any): EventFilter; - MinterConfigured(...parameters: any): EventFilter; - MinterRemoved(...parameters: any): EventFilter; - OwnershipTransferred(...parameters: any): EventFilter; - Pause(...parameters: any): EventFilter; - PauserChanged(...parameters: any): EventFilter; - RescuerChanged(...parameters: any): EventFilter; - Transfer(...parameters: any): EventFilter; - UnBlocklisted(...parameters: any): EventFilter; - Unpause(...parameters: any): EventFilter; - Upgraded(...parameters: any): EventFilter; -} -export type UUPSUpgradeableUnsafeMockMethodNames = - | 'CANCEL_AUTHORIZATION_TYPEHASH' - | 'PERMIT_TYPEHASH' - | 'RECEIVE_WITH_AUTHORIZATION_TYPEHASH' - | 'TRANSFER_WITH_AUTHORIZATION_TYPEHASH' - | '_domainSeparatorV4' - | 'allowance' - | 'approve' - | 'authorizationState' - | 'balanceOf' - | 'blocklist' - | 'blocklister' - | 'burn' - | 'cancelAuthorization' - | 'configureMinter' - | 'currency' - | 'decimals' - | 'decreaseAllowance' - | 'increaseAllowance' - | 'initialize' - | 'isBlocklisted' - | 'isMinter' - | 'mint' - | 'minterAdmin' - | 'minterAllowance' - | 'name' - | 'nonces' - | 'owner' - | 'pause' - | 'paused' - | 'pauser' - | 'permit' - | 'proxiableUUID' - | 'receiveWithAuthorization' - | 'removeMinter' - | 'rescueERC20' - | 'rescuer' - | 'symbol' - | 'totalSupply' - | 'transfer' - | 'transferFrom' - | 'transferOwnership' - | 'transferWithAuthorization' - | 'unBlocklist' - | 'unpause' - | 'updateBlocklister' - | 'updateMinterAdmin' - | 'updatePauser' - | 'updateRescuer' - | 'upgradeTo' - | 'upgradeToAndCall'; -export interface ApprovalEventEmittedResponse { - owner: string; - spender: string; - value: BigNumberish; -} -export interface AuthorizationCanceledEventEmittedResponse { - authorizer: string; - nonce: Arrayish; -} -export interface AuthorizationUsedEventEmittedResponse { - authorizer: string; - nonce: Arrayish; -} -export interface BlocklistedEventEmittedResponse { - _account: string; -} -export interface BlocklisterChangedEventEmittedResponse { - newBlocklister: string; -} -export interface BurnEventEmittedResponse { - burner: string; - amount: BigNumberish; -} -export interface MintEventEmittedResponse { - minter: string; - to: string; - amount: BigNumberish; -} -export interface MinterAdminChangedEventEmittedResponse { - newMinterAdmin: string; -} -export interface MinterConfiguredEventEmittedResponse { - minter: string; - minterAllowedAmount: BigNumberish; -} -export interface MinterRemovedEventEmittedResponse { - oldMinter: string; -} -export interface OwnershipTransferredEventEmittedResponse { - previousOwner: string; - newOwner: string; -} -export interface PauserChangedEventEmittedResponse { - newAddress: string; -} -export interface RescuerChangedEventEmittedResponse { - newRescuer: string; -} -export interface TransferEventEmittedResponse { - from: string; - to: string; - value: BigNumberish; -} -export interface UnBlocklistedEventEmittedResponse { - _account: string; -} -export interface UpgradedEventEmittedResponse { - implementation: string; -} -export interface UUPSUpgradeableUnsafeMock { - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - CANCEL_AUTHORIZATION_TYPEHASH( - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - PERMIT_TYPEHASH(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - RECEIVE_WITH_AUTHORIZATION_TYPEHASH( - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - TRANSFER_WITH_AUTHORIZATION_TYPEHASH( - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - _domainSeparatorV4(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param owner Type: address, Indexed: false - * @param spender Type: address, Indexed: false - */ - allowance( - owner: string, - spender: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param spender Type: address, Indexed: false - * @param value Type: uint256, Indexed: false - */ - approve( - spender: string, - value: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param authorizer Type: address, Indexed: false - * @param nonce Type: bytes32, Indexed: false - */ - authorizationState( - authorizer: string, - nonce: Arrayish, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param account Type: address, Indexed: false - */ - balanceOf( - account: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _account Type: address, Indexed: false - */ - blocklist( - _account: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - blocklister(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _amount Type: uint256, Indexed: false - */ - burn( - _amount: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param authorizer Type: address, Indexed: false - * @param nonce Type: bytes32, Indexed: false - * @param v Type: uint8, Indexed: false - * @param r Type: bytes32, Indexed: false - * @param s Type: bytes32, Indexed: false - */ - cancelAuthorization( - authorizer: string, - nonce: Arrayish, - v: BigNumberish, - r: Arrayish, - s: Arrayish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param minter Type: address, Indexed: false - * @param minterAllowedAmount Type: uint256, Indexed: false - */ - configureMinter( - minter: string, - minterAllowedAmount: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - currency(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - decimals(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param spender Type: address, Indexed: false - * @param decrement Type: uint256, Indexed: false - */ - decreaseAllowance( - spender: string, - decrement: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param spender Type: address, Indexed: false - * @param increment Type: uint256, Indexed: false - */ - increaseAllowance( - spender: string, - increment: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param tokenName Type: string, Indexed: false - * @param tokenSymbol Type: string, Indexed: false - * @param tokenCurrency Type: string, Indexed: false - * @param tokenDecimals Type: uint8, Indexed: false - * @param newMinterAdmin Type: address, Indexed: false - * @param newPauser Type: address, Indexed: false - * @param newBlocklister Type: address, Indexed: false - * @param newRescuer Type: address, Indexed: false - * @param newOwner Type: address, Indexed: false - */ - initialize( - tokenName: string, - tokenSymbol: string, - tokenCurrency: string, - tokenDecimals: BigNumberish, - newMinterAdmin: string, - newPauser: string, - newBlocklister: string, - newRescuer: string, - newOwner: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param _account Type: address, Indexed: false - */ - isBlocklisted( - _account: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param account Type: address, Indexed: false - */ - isMinter( - account: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _to Type: address, Indexed: false - * @param _amount Type: uint256, Indexed: false - */ - mint( - _to: string, - _amount: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - minterAdmin(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param minter Type: address, Indexed: false - */ - minterAllowance( - minter: string, - overrides?: ContractCallOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - name(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - * @param owner Type: address, Indexed: false - */ - nonces(owner: string, overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - owner(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - */ - pause(overrides?: ContractTransactionOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - paused(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - pauser(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param owner Type: address, Indexed: false - * @param spender Type: address, Indexed: false - * @param value Type: uint256, Indexed: false - * @param deadline Type: uint256, Indexed: false - * @param v Type: uint8, Indexed: false - * @param r Type: bytes32, Indexed: false - * @param s Type: bytes32, Indexed: false - */ - permit( - owner: string, - spender: string, - value: BigNumberish, - deadline: BigNumberish, - v: BigNumberish, - r: Arrayish, - s: Arrayish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - proxiableUUID(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param from Type: address, Indexed: false - * @param to Type: address, Indexed: false - * @param value Type: uint256, Indexed: false - * @param validAfter Type: uint256, Indexed: false - * @param validBefore Type: uint256, Indexed: false - * @param nonce Type: bytes32, Indexed: false - * @param v Type: uint8, Indexed: false - * @param r Type: bytes32, Indexed: false - * @param s Type: bytes32, Indexed: false - */ - receiveWithAuthorization( - from: string, - to: string, - value: BigNumberish, - validAfter: BigNumberish, - validBefore: BigNumberish, - nonce: Arrayish, - v: BigNumberish, - r: Arrayish, - s: Arrayish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param minter Type: address, Indexed: false - */ - removeMinter( - minter: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param tokenContract Type: address, Indexed: false - * @param to Type: address, Indexed: false - * @param amount Type: uint256, Indexed: false - */ - rescueERC20( - tokenContract: string, - to: string, - amount: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - rescuer(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - symbol(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: true - * StateMutability: view - * Type: function - */ - totalSupply(overrides?: ContractCallOverrides): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param to Type: address, Indexed: false - * @param value Type: uint256, Indexed: false - */ - transfer( - to: string, - value: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param from Type: address, Indexed: false - * @param to Type: address, Indexed: false - * @param value Type: uint256, Indexed: false - */ - transferFrom( - from: string, - to: string, - value: BigNumberish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param newOwner Type: address, Indexed: false - */ - transferOwnership( - newOwner: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param from Type: address, Indexed: false - * @param to Type: address, Indexed: false - * @param value Type: uint256, Indexed: false - * @param validAfter Type: uint256, Indexed: false - * @param validBefore Type: uint256, Indexed: false - * @param nonce Type: bytes32, Indexed: false - * @param v Type: uint8, Indexed: false - * @param r Type: bytes32, Indexed: false - * @param s Type: bytes32, Indexed: false - */ - transferWithAuthorization( - from: string, - to: string, - value: BigNumberish, - validAfter: BigNumberish, - validBefore: BigNumberish, - nonce: Arrayish, - v: BigNumberish, - r: Arrayish, - s: Arrayish, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _account Type: address, Indexed: false - */ - unBlocklist( - _account: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - */ - unpause( - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _newBlocklister Type: address, Indexed: false - */ - updateBlocklister( - _newBlocklister: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _newMinterAdmin Type: address, Indexed: false - */ - updateMinterAdmin( - _newMinterAdmin: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param _newPauser Type: address, Indexed: false - */ - updatePauser( - _newPauser: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param newRescuer Type: address, Indexed: false - */ - updateRescuer( - newRescuer: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: false - * Constant: false - * StateMutability: nonpayable - * Type: function - * @param newImplementation Type: address, Indexed: false - */ - upgradeTo( - newImplementation: string, - overrides?: ContractTransactionOverrides - ): Promise; - /** - * Payable: true - * Constant: false - * StateMutability: payable - * Type: function - * @param newImplementation Type: address, Indexed: false - * @param data Type: bytes, Indexed: false - */ - upgradeToAndCall( - newImplementation: string, - data: Arrayish, - overrides?: ContractTransactionOverrides - ): Promise; -} diff --git a/packages/node/core/package.json b/packages/node/core/package.json deleted file mode 100644 index a82bfc2..0000000 --- a/packages/node/core/package.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "@jpyc/sdk-core", - "description": "Core SDK for JPYC", - "repository": "https://github.com/jcam1/sdks.git", - "license": "MIT", - "version": "1.0.0", - "engines": { - "node": "^20.12.0", - "yarn": "^1.22.22" - }, - "private": true, - "scripts": { - "gen": "run-s gen:*", - "gen:abi": "cd ../../../JPYCv2 && npx hardhat compile", - "gen:abi-types": "cd ../../../JPYCv2 && abi-types-generator hardhat && mv ethereum-abi-types ../packages/node/abi-types" - }, - "devDependencies": { - "@types/node": "20.14.9", - "@typescript-eslint/eslint-plugin": "7.15.0", - "@typescript-eslint/parser": "7.15.0", - "eslint": "9.6.0", - "eslint-config-prettier": "9.1.0", - "eslint-plugin-prettier": "5.1.3", - "ethereum-abi-types-generator": "1.3.4", - "npm-run-all": "4.1.5", - "prettier": "3.3.2", - "ts-node": "10.9.2", - "tsconfig-paths": "4.2.0", - "typescript": "5.5.3" - }, - "dependencies": { - "ethers": "6.13.1" - } -} diff --git a/packages/node/core/src/addresses.ts b/packages/node/core/src/addresses.ts deleted file mode 100644 index 6aeef14..0000000 --- a/packages/node/core/src/addresses.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { SUPPORTED_CHAIN_IDS } from './chains'; - -type AddressMap = { [chainId: number]: string }; - -export const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000'; -const V2_PROXY_ADDRESS = '0x431D5dfF03120AFA4bDf332c61A6e1766eF37BDB'; - -export const V2_ADDRESSES: AddressMap = SUPPORTED_CHAIN_IDS.reduce( - (addressMap, chainId) => { - addressMap[chainId] = V2_PROXY_ADDRESS; - return addressMap; - }, - {}, -); diff --git a/packages/node/core/src/chains.ts b/packages/node/core/src/chains.ts deleted file mode 100644 index 9b71dd9..0000000 --- a/packages/node/core/src/chains.ts +++ /dev/null @@ -1,51 +0,0 @@ -export type ChainId = number; - -// Ethereum -type EthereumChainName = 'MAINNET' | 'GOERLI' | 'SEPOLIA'; -export const EthereumChains: Record = { - MAINNET: 1, - GOERLI: 5, - SEPOLIA: 11155111, -} - -// Polygon -type PolygonChainName = 'MAINNET' | 'AMOY'; -export const PolygonChains: Record = { - MAINNET: 137, - AMOY: 80002, -} - -// Gnosis -type GnosisChainName = 'MAINNET' | 'CHIADO'; -export const GnosisChains: Record = { - MAINNET: 100, - CHIADO: 10200, -} - -// Avalanche -type AvalancheChainName = 'MAINNET' | 'FUJI'; -export const AvalancheChains: Record = { - MAINNET: 43114, - FUJI: 43113, -} - -// Shiden -type ShidenChainName = 'MAINNET'; -export const ShidenChains: Record = { - MAINNET: 336, -} - -// Astar -type AstarChainName = 'MAINNET'; -export const AstarChains: Record = { - MAINNET: 592, -} - -export const SUPPORTED_CHAIN_IDS = [ - ...Object.values(EthereumChains), - ...Object.values(PolygonChains), - ...Object.values(GnosisChains), - ...Object.values(AvalancheChains), - ...Object.values(ShidenChains), - ...Object.values(AstarChains), -]; diff --git a/packages/node/core/src/index.ts b/packages/node/core/src/index.ts deleted file mode 100644 index fc91974..0000000 --- a/packages/node/core/src/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './addresses'; -export * from './chains'; diff --git a/packages/node/core/tsconfig.json b/packages/node/core/tsconfig.json deleted file mode 100644 index f62ff75..0000000 --- a/packages/node/core/tsconfig.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "include": ["src/**/*.ts"], - "exclude": ["**/*.test.ts"], - "compilerOptions": { - // output settings - "module": "es2022", - "rootDir": "./", - "outDir": "./dist/src", - "removeComments": true, - "preserveConstEnums": true, - "incremental": true, - "preserveWatchOutput": true, - "sourceMap": true, - "inlineSourceMap": false, - "declaration": true, - "declarationDir": "./dist/src/types", - "declarationMap": true, - "lib": ["es2022"], - "skipLibCheck": true, - "target": "es2022", - "importHelpers": true, - // import settings - "baseUrl": "./", - "allowSyntheticDefaultImports": true, - "moduleResolution": "bundler", - "resolveJsonModule": true, - // strict options - "strict": true, - "strictPropertyInitialization": false, - // linter options - "noUnusedParameters": true, - "noUnusedLocals": true, - "noImplicitReturns": true, - "noImplicitOverride": true, - "noFallthroughCasesInSwitch": true, - "noPropertyAccessFromIndexSignature": false, - "noUncheckedIndexedAccess": false, - "forceConsistentCasingInFileNames": true, - "allowUnreachableCode": false, - "allowUnusedLabels": false, - "exactOptionalPropertyTypes": false, - // misc - "esModuleInterop": true, - "experimentalDecorators": true, - "emitDecoratorMetadata": true - }, - "ts-node": { - "require": ["tsconfig-paths/register"] - } -} From b140a7813143b1d1a27b4ab7b5f385c76bd1eee9 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 16 Aug 2024 22:58:35 +0900 Subject: [PATCH 16/92] Remove a package for node/v0 --- packages/node/v0/.eslintignore | 3 -- packages/node/v0/.eslintrc.js | 55 ------------------------------ packages/node/v0/.prettierignore | 4 --- packages/node/v0/.prettierrc | 9 ----- packages/node/v0/examples/.gitkeep | 0 packages/node/v0/package.json | 36 ------------------- packages/node/v0/src/test.ts | 1 - packages/node/v0/tsconfig.json | 50 --------------------------- 8 files changed, 158 deletions(-) delete mode 100644 packages/node/v0/.eslintignore delete mode 100644 packages/node/v0/.eslintrc.js delete mode 100644 packages/node/v0/.prettierignore delete mode 100644 packages/node/v0/.prettierrc delete mode 100644 packages/node/v0/examples/.gitkeep delete mode 100644 packages/node/v0/package.json delete mode 100644 packages/node/v0/src/test.ts delete mode 100644 packages/node/v0/tsconfig.json diff --git a/packages/node/v0/.eslintignore b/packages/node/v0/.eslintignore deleted file mode 100644 index e485556..0000000 --- a/packages/node/v0/.eslintignore +++ /dev/null @@ -1,3 +0,0 @@ -dist -.eslintrc.js -**/*.test.ts diff --git a/packages/node/v0/.eslintrc.js b/packages/node/v0/.eslintrc.js deleted file mode 100644 index c24f109..0000000 --- a/packages/node/v0/.eslintrc.js +++ /dev/null @@ -1,55 +0,0 @@ -'use strict'; - -module.exports = { - root: true, - extends: [ - 'eslint:recommended', - 'plugin:@typescript-eslint/recommended', - 'plugin:@typescript-eslint/recommended-requiring-type-checking', - 'plugin:@typescript-eslint/strict', - 'plugin:prettier/recommended', - ], - plugins: ['@typescript-eslint/eslint-plugin'], - parserOptions: { - project: './tsconfig.json', - }, - env: { - 'node': true, - }, - rules: { - 'dot-notation': [ - 2, - { - allowKeywords: true, - allowPattern: '^[a-z]+(_[a-z]+)+$', - }, - ], - '@typescript-eslint/interface-name-prefix': 'off', - '@typescript-eslint/no-namespace': 'error', - '@typescript-eslint/no-non-null-assertion': 'error', - '@typescript-eslint/explicit-function-return-type': 'error', - '@typescript-eslint/explicit-module-boundary-types': 'error', - '@typescript-eslint/no-explicit-any': 'error', - '@typescript-eslint/require-await': 'error', - '@typescript-eslint/naming-convention': [ - 'error', - { selector: 'variableLike', format: ['camelCase'], leadingUnderscore: 'allow' }, - { selector: 'variable', format: ['camelCase', 'UPPER_CASE'] }, - { selector: 'memberLike', format: ['strictCamelCase'] }, - { selector: 'enumMember', format: ['StrictPascalCase'] }, - { selector: 'typeLike', format: ['PascalCase'] }, - { selector: 'typeParameter', format: ['strictCamelCase', 'UPPER_CASE'] }, - { selector: 'property', format: ['strictCamelCase'] }, - { selector: 'method', format: ['strictCamelCase'] }, - ], - '@typescript-eslint/no-unused-vars': [ - 'error', - { - argsIgnorePattern: '^_', - varsIgnorePattern: '^_', - caughtErrorsIgnorePattern: '^_', - destructuredArrayIgnorePattern: '^_', - }, - ], - }, -}; diff --git a/packages/node/v0/.prettierignore b/packages/node/v0/.prettierignore deleted file mode 100644 index 8e6367b..0000000 --- a/packages/node/v0/.prettierignore +++ /dev/null @@ -1,4 +0,0 @@ -.gitkeep -.env* -*.lock -dist diff --git a/packages/node/v0/.prettierrc b/packages/node/v0/.prettierrc deleted file mode 100644 index 7bf3551..0000000 --- a/packages/node/v0/.prettierrc +++ /dev/null @@ -1,9 +0,0 @@ -{ - "printWidth": 100, - "semi": true, - "singleQuote": true, - "quoteProps": "consistent", - "trailingComma": "all", - "bracketSpacing": true, - "arrowParens": "always" -} diff --git a/packages/node/v0/examples/.gitkeep b/packages/node/v0/examples/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/packages/node/v0/package.json b/packages/node/v0/package.json deleted file mode 100644 index 1296af6..0000000 --- a/packages/node/v0/package.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "name": "@jpyc/sdk-v0", - "description": "SDK (v0) for JPYC", - "repository": "https://github.com/jcam1/sdks.git", - "license": "MIT", - "version": "1.0.0", - "engines": { - "node": "^20.12.0", - "yarn": "^1.22.22" - }, - "private": true, - "scripts": { - "gen": "run-s gen:*", - "gen:abi": "cd ../../../JPYCv2 && npx hardhat compile", - "gen:abi-types": "cd ../../../JPYCv2 && abi-types-generator hardhat && mv ethereum-abi-types ../packages/node/abi-types" - }, - "dependencies": { - "@ethersproject/abi": "5.7.0", - "@ethersproject/solidity": "5.7.0", - "ethers": "6.13.1" - }, - "devDependencies": { - "@types/node": "20.14.9", - "@typescript-eslint/eslint-plugin": "7.15.0", - "@typescript-eslint/parser": "7.15.0", - "eslint": "9.6.0", - "eslint-config-prettier": "9.1.0", - "eslint-plugin-prettier": "5.1.3", - "ethereum-abi-types-generator": "1.3.4", - "npm-run-all": "4.1.5", - "prettier": "3.3.2", - "ts-node": "10.9.2", - "tsconfig-paths": "4.2.0", - "typescript": "5.5.3" - } -} diff --git a/packages/node/v0/src/test.ts b/packages/node/v0/src/test.ts deleted file mode 100644 index 3451e9b..0000000 --- a/packages/node/v0/src/test.ts +++ /dev/null @@ -1 +0,0 @@ -console.log('Hello World'); diff --git a/packages/node/v0/tsconfig.json b/packages/node/v0/tsconfig.json deleted file mode 100644 index f62ff75..0000000 --- a/packages/node/v0/tsconfig.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "include": ["src/**/*.ts"], - "exclude": ["**/*.test.ts"], - "compilerOptions": { - // output settings - "module": "es2022", - "rootDir": "./", - "outDir": "./dist/src", - "removeComments": true, - "preserveConstEnums": true, - "incremental": true, - "preserveWatchOutput": true, - "sourceMap": true, - "inlineSourceMap": false, - "declaration": true, - "declarationDir": "./dist/src/types", - "declarationMap": true, - "lib": ["es2022"], - "skipLibCheck": true, - "target": "es2022", - "importHelpers": true, - // import settings - "baseUrl": "./", - "allowSyntheticDefaultImports": true, - "moduleResolution": "bundler", - "resolveJsonModule": true, - // strict options - "strict": true, - "strictPropertyInitialization": false, - // linter options - "noUnusedParameters": true, - "noUnusedLocals": true, - "noImplicitReturns": true, - "noImplicitOverride": true, - "noFallthroughCasesInSwitch": true, - "noPropertyAccessFromIndexSignature": false, - "noUncheckedIndexedAccess": false, - "forceConsistentCasingInFileNames": true, - "allowUnreachableCode": false, - "allowUnusedLabels": false, - "exactOptionalPropertyTypes": false, - // misc - "esModuleInterop": true, - "experimentalDecorators": true, - "emitDecoratorMetadata": true - }, - "ts-node": { - "require": ["tsconfig-paths/register"] - } -} From cb6cb0051d14cb5fb24e4bbab7d0138ef89023c3 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 16 Aug 2024 22:58:56 +0900 Subject: [PATCH 17/92] Remove a package for node/v1 --- packages/node/v1/.gitkeep | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 packages/node/v1/.gitkeep diff --git a/packages/node/v1/.gitkeep b/packages/node/v1/.gitkeep deleted file mode 100644 index e69de29..0000000 From d02b81d847298045933fc74815f19663a2f7b174 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 16 Aug 2024 22:59:37 +0900 Subject: [PATCH 18/92] Modify 'tsconfig.json' --- packages/tsconfig.json | 49 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 packages/tsconfig.json diff --git a/packages/tsconfig.json b/packages/tsconfig.json new file mode 100644 index 0000000..d8e36d1 --- /dev/null +++ b/packages/tsconfig.json @@ -0,0 +1,49 @@ +{ + "include": ["**/src/**/*.ts", "v1/ignition/modules/deployments.ts", "v1/examples/total-supply.ts"], + "exclude": ["**/*.test.ts"], + "compilerOptions": { + // output settings + "module": "commonjs", + "rootDir": "./", + "outDir": "**/dist/src", + "removeComments": true, + "preserveConstEnums": true, + "incremental": true, + "preserveWatchOutput": true, + "sourceMap": true, + "inlineSourceMap": false, + "declaration": true, + "declarationDir": "**/dist/src/types", + "declarationMap": true, + "lib": ["es2022"], + "skipLibCheck": true, + "target": "es2020", + "importHelpers": true, + // import settings + "baseUrl": "./", + "allowSyntheticDefaultImports": true, + "resolveJsonModule": true, + // strict options + "strict": true, + "strictPropertyInitialization": false, + // linter options + "noUnusedParameters": true, + "noUnusedLocals": true, + "noImplicitReturns": true, + "noImplicitOverride": true, + "noFallthroughCasesInSwitch": true, + "noPropertyAccessFromIndexSignature": false, + "noUncheckedIndexedAccess": false, + "forceConsistentCasingInFileNames": true, + "allowUnreachableCode": false, + "allowUnusedLabels": false, + "exactOptionalPropertyTypes": false, + // misc + "esModuleInterop": true, + "experimentalDecorators": true, + "emitDecoratorMetadata": true + }, + "ts-node": { + "require": ["tsconfig-paths/register"] + } +} From 8135289b7b00a0da90cbf3ba733d3246f98dcf9a Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 16 Aug 2024 23:00:57 +0900 Subject: [PATCH 19/92] Add '.env.example' to sdk/core --- packages/core/.env.example | 1 + 1 file changed, 1 insertion(+) create mode 100644 packages/core/.env.example diff --git a/packages/core/.env.example b/packages/core/.env.example new file mode 100644 index 0000000..de60d2c --- /dev/null +++ b/packages/core/.env.example @@ -0,0 +1 @@ +LOCAL_PROXY_ADDRESS="0x..." From de05dd98aed69a8a32edde3bc3a68c7b51e030cb Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 16 Aug 2024 23:01:20 +0900 Subject: [PATCH 20/92] Update 'package.json' for sdk/core --- packages/core/package.json | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 packages/core/package.json diff --git a/packages/core/package.json b/packages/core/package.json new file mode 100644 index 0000000..a0650e1 --- /dev/null +++ b/packages/core/package.json @@ -0,0 +1,31 @@ +{ + "name": "@jpyc/sdk-core", + "description": "Core SDK for JPYC protocol", + "repository": "https://github.com/jcam1/sdks.git", + "license": "MIT", + "version": "1.0.0", + "engines": { + "node": "^20.12.0", + "yarn": "^1.22.22" + }, + "private": true, + "dependencies": { + "ethers": "6.13.1" + }, + "devDependencies": { + "@types/node": "20.14.9", + "@typescript-eslint/eslint-plugin": "7.15.0", + "@typescript-eslint/parser": "7.15.0", + "dotenv": "16.4.5", + "eslint": "9.6.0", + "eslint-config-prettier": "9.1.0", + "eslint-plugin-prettier": "5.1.3", + "ethereum-abi-types-generator": "1.3.4", + "npm-run-all": "4.1.5", + "prettier": "3.3.2", + "ts-node": "10.9.2", + "tsconfig-paths": "4.2.0", + "typescript": "5.5.3", + "viem": "2.19.4" + } +} From e0a70ac4e01a8abd0357ba1c9127b9b9f60365cb Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 16 Aug 2024 23:01:45 +0900 Subject: [PATCH 21/92] Add eslint settings to sdk/core --- packages/core/.eslintignore | 3 ++ packages/core/.eslintrc.js | 55 +++++++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 packages/core/.eslintignore create mode 100644 packages/core/.eslintrc.js diff --git a/packages/core/.eslintignore b/packages/core/.eslintignore new file mode 100644 index 0000000..e485556 --- /dev/null +++ b/packages/core/.eslintignore @@ -0,0 +1,3 @@ +dist +.eslintrc.js +**/*.test.ts diff --git a/packages/core/.eslintrc.js b/packages/core/.eslintrc.js new file mode 100644 index 0000000..c24f109 --- /dev/null +++ b/packages/core/.eslintrc.js @@ -0,0 +1,55 @@ +'use strict'; + +module.exports = { + root: true, + extends: [ + 'eslint:recommended', + 'plugin:@typescript-eslint/recommended', + 'plugin:@typescript-eslint/recommended-requiring-type-checking', + 'plugin:@typescript-eslint/strict', + 'plugin:prettier/recommended', + ], + plugins: ['@typescript-eslint/eslint-plugin'], + parserOptions: { + project: './tsconfig.json', + }, + env: { + 'node': true, + }, + rules: { + 'dot-notation': [ + 2, + { + allowKeywords: true, + allowPattern: '^[a-z]+(_[a-z]+)+$', + }, + ], + '@typescript-eslint/interface-name-prefix': 'off', + '@typescript-eslint/no-namespace': 'error', + '@typescript-eslint/no-non-null-assertion': 'error', + '@typescript-eslint/explicit-function-return-type': 'error', + '@typescript-eslint/explicit-module-boundary-types': 'error', + '@typescript-eslint/no-explicit-any': 'error', + '@typescript-eslint/require-await': 'error', + '@typescript-eslint/naming-convention': [ + 'error', + { selector: 'variableLike', format: ['camelCase'], leadingUnderscore: 'allow' }, + { selector: 'variable', format: ['camelCase', 'UPPER_CASE'] }, + { selector: 'memberLike', format: ['strictCamelCase'] }, + { selector: 'enumMember', format: ['StrictPascalCase'] }, + { selector: 'typeLike', format: ['PascalCase'] }, + { selector: 'typeParameter', format: ['strictCamelCase', 'UPPER_CASE'] }, + { selector: 'property', format: ['strictCamelCase'] }, + { selector: 'method', format: ['strictCamelCase'] }, + ], + '@typescript-eslint/no-unused-vars': [ + 'error', + { + argsIgnorePattern: '^_', + varsIgnorePattern: '^_', + caughtErrorsIgnorePattern: '^_', + destructuredArrayIgnorePattern: '^_', + }, + ], + }, +}; From 52d94d196c90860e53471135eaf3fe6a4c3e7853 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 16 Aug 2024 23:02:07 +0900 Subject: [PATCH 22/92] Add prettier configs to sdk/core --- packages/core/.prettierignore | 4 ++++ packages/core/.prettierrc | 9 +++++++++ 2 files changed, 13 insertions(+) create mode 100644 packages/core/.prettierignore create mode 100644 packages/core/.prettierrc diff --git a/packages/core/.prettierignore b/packages/core/.prettierignore new file mode 100644 index 0000000..8e6367b --- /dev/null +++ b/packages/core/.prettierignore @@ -0,0 +1,4 @@ +.gitkeep +.env* +*.lock +dist diff --git a/packages/core/.prettierrc b/packages/core/.prettierrc new file mode 100644 index 0000000..7bf3551 --- /dev/null +++ b/packages/core/.prettierrc @@ -0,0 +1,9 @@ +{ + "printWidth": 100, + "semi": true, + "singleQuote": true, + "quoteProps": "consistent", + "trailingComma": "all", + "bracketSpacing": true, + "arrowParens": "always" +} From 180acc1d87d4f574d3bd7f43d58cdc4f19ca31b9 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 16 Aug 2024 23:02:57 +0900 Subject: [PATCH 23/92] Add chain info --- packages/core/src/chains.ts | 57 +++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 packages/core/src/chains.ts diff --git a/packages/core/src/chains.ts b/packages/core/src/chains.ts new file mode 100644 index 0000000..cb6808f --- /dev/null +++ b/packages/core/src/chains.ts @@ -0,0 +1,57 @@ +import { Chain, defineChain } from 'viem'; +import { + mainnet, + goerli, + baseSepolia, + polygon, + polygonAmoy, + gnosis, + gnosisChiado, + avalanche, + avalancheFuji, + astar, +} from 'viem/chains'; + +// Hardhat (local) network +const hardhat = defineChain({ + id: 31337, + name: 'Hardhat', + nativeCurrency: { + decimals: 18, + name: 'Ether', + symbol: 'ETH', + }, + rpcUrls: { + default: { + http: ['http://127.0.0.1:8545/'], + webSocket: ['http://127.0.0.1:8545/'], + }, + }, +}); + +// TODO: Support Shiden network +export const SUPPORTED_CHAINS: Record> = { + local: { + mainnet: hardhat, + }, + ethereum: { + mainnet: mainnet, + goerli: goerli, + sepolia: baseSepolia, + }, + polygon: { + mainnet: polygon, + amoy: polygonAmoy, + }, + gnosis: { + mainnet: gnosis, + chiado: gnosisChiado, + }, + avalanche: { + mainnet: avalanche, + fuji: avalancheFuji, + }, + astar: { + mainnet: astar, + }, +}; From 1accdffd8a4cf0165814d0a032c1cd1fc7b7ca70 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 16 Aug 2024 23:03:13 +0900 Subject: [PATCH 24/92] Add addresses --- packages/core/src/addresses.ts | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 packages/core/src/addresses.ts diff --git a/packages/core/src/addresses.ts b/packages/core/src/addresses.ts new file mode 100644 index 0000000..b5a36af --- /dev/null +++ b/packages/core/src/addresses.ts @@ -0,0 +1,5 @@ +import { Address } from './'; + +export const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000'; +export const V2_PROXY_ADDRESS = '0x431D5dfF03120AFA4bDf332c61A6e1766eF37BDB'; +export const LOCAL_PROXY_ADDRESS: Address = process.env.LOCAL_PROXY_ADDRESS as Address; From aff6b8270ec16c95232057a895b108293ee87405 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 16 Aug 2024 23:03:26 +0900 Subject: [PATCH 25/92] Add util types --- packages/core/src/types.ts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 packages/core/src/types.ts diff --git a/packages/core/src/types.ts b/packages/core/src/types.ts new file mode 100644 index 0000000..4474739 --- /dev/null +++ b/packages/core/src/types.ts @@ -0,0 +1,19 @@ +export type Address = `0x${string}`; + +export type Endpoint = string; + +export type ChainName = + | 'local' + | 'ethereum' + | 'polygon' + | 'gnosis' + | 'avalanche' + | 'astar'; + +export type NetworkName = + | 'mainnet' + | 'goerli' + | 'sepolia' + | 'amoy' + | 'chiado' + | 'fuji'; From 3a082a5874ec15215eb5eb2640c33d7570930912 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 16 Aug 2024 23:03:50 +0900 Subject: [PATCH 26/92] Add 'index.ts' to sdk/core --- packages/core/src/index.ts | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 packages/core/src/index.ts diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts new file mode 100644 index 0000000..3fd513a --- /dev/null +++ b/packages/core/src/index.ts @@ -0,0 +1,7 @@ +import * as dotenv from 'dotenv'; + +dotenv.config(); + +export * from './addresses'; +export * from './chains'; +export * from './types'; From 729f704586848960e5b134864350b9fce1ee72b8 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 16 Aug 2024 23:05:14 +0900 Subject: [PATCH 27/92] Add '.env.example' to sdk/v1 --- packages/v1/.env.example | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 packages/v1/.env.example diff --git a/packages/v1/.env.example b/packages/v1/.env.example new file mode 100644 index 0000000..5772931 --- /dev/null +++ b/packages/v1/.env.example @@ -0,0 +1,2 @@ +SDK_ENV="local" +PRIVATE_KEY="0x..." From 42bf5761491810e111c39fc5bb1c9c1fa29a3c3b Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 16 Aug 2024 23:05:59 +0900 Subject: [PATCH 28/92] Update 'package.json' --- packages/v1/package.json | 59 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 packages/v1/package.json diff --git a/packages/v1/package.json b/packages/v1/package.json new file mode 100644 index 0000000..cfbfc06 --- /dev/null +++ b/packages/v1/package.json @@ -0,0 +1,59 @@ +{ + "name": "@jpyc/sdk-v1", + "description": "SDK v1 for JPYC v2 protocol", + "repository": "https://github.com/jcam1/sdks.git", + "license": "MIT", + "version": "1.0.0", + "engines": { + "node": "^20.12.0", + "yarn": "^1.22.22" + }, + "private": true, + "scripts": { + "compile": "npx hardhat compile", + "clean": "npx hardhat clean", + "run-node": "npx hardhat node", + "deploy": "npx hardhat run ./scripts/deployments.ts --network localhost", + "initialize": "npx hardhat run ./examples/initialize.ts --network localhost", + "mint": "npx hardhat run ./examples/mint.ts --network localhost", + "total-supply": "npx hardhat run ./examples/total-supply.ts --network localhost", + "transfer": "npx hardhat run ./examples/transfer.ts --network localhost", + "transfer-from": "npx hardhat run ./examples/transfer-from.ts --network localhost" + }, + "dependencies": { + "@ethersproject/abi": "5.7.0", + "@ethersproject/solidity": "5.7.0", + "ethers": "6.13.1" + }, + "devDependencies": { + "@nomicfoundation/hardhat-ethers": "3.0.6", + "@nomicfoundation/hardhat-ignition": "0.15.5", + "@nomicfoundation/hardhat-ignition-viem": "0.15.5", + "@nomicfoundation/hardhat-toolbox": "5.0.0", + "@nomicfoundation/hardhat-toolbox-viem": "3.0.0", + "@nomicfoundation/hardhat-verify": "2.0.9", + "@nomicfoundation/hardhat-viem": "2.0.3", + "@nomicfoundation/ignition-core": "0.15.5", + "@types/chai": "4.3.17", + "@types/mocha": "10.0.7", + "@types/node": "20.14.9", + "@typescript-eslint/eslint-plugin": "7.15.0", + "@typescript-eslint/parser": "7.15.0", + "chai": "5.1.1", + "dotenv": "16.4.5", + "eslint": "9.6.0", + "eslint-config-prettier": "9.1.0", + "eslint-plugin-prettier": "5.1.3", + "ethereum-abi-types-generator": "1.3.4", + "hardhat": "2.22.8", + "hardhat-gas-reporter": "2.2.1", + "npm-run-all": "4.1.5", + "prettier": "3.3.2", + "solidity-coverage": "0.8.12", + "soltypes": "2.0.0", + "ts-node": "10.9.2", + "tsconfig-paths": "4.2.0", + "typescript": "5.5.3", + "viem": "2.19.4" + } +} From 293c812f0221c652985690a7a49ff1475b15cd38 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 16 Aug 2024 23:06:31 +0900 Subject: [PATCH 29/92] Add eslint settings to sdk/v1 --- packages/v1/.eslintignore | 3 +++ packages/v1/.eslintrc.js | 55 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 packages/v1/.eslintignore create mode 100644 packages/v1/.eslintrc.js diff --git a/packages/v1/.eslintignore b/packages/v1/.eslintignore new file mode 100644 index 0000000..e485556 --- /dev/null +++ b/packages/v1/.eslintignore @@ -0,0 +1,3 @@ +dist +.eslintrc.js +**/*.test.ts diff --git a/packages/v1/.eslintrc.js b/packages/v1/.eslintrc.js new file mode 100644 index 0000000..c24f109 --- /dev/null +++ b/packages/v1/.eslintrc.js @@ -0,0 +1,55 @@ +'use strict'; + +module.exports = { + root: true, + extends: [ + 'eslint:recommended', + 'plugin:@typescript-eslint/recommended', + 'plugin:@typescript-eslint/recommended-requiring-type-checking', + 'plugin:@typescript-eslint/strict', + 'plugin:prettier/recommended', + ], + plugins: ['@typescript-eslint/eslint-plugin'], + parserOptions: { + project: './tsconfig.json', + }, + env: { + 'node': true, + }, + rules: { + 'dot-notation': [ + 2, + { + allowKeywords: true, + allowPattern: '^[a-z]+(_[a-z]+)+$', + }, + ], + '@typescript-eslint/interface-name-prefix': 'off', + '@typescript-eslint/no-namespace': 'error', + '@typescript-eslint/no-non-null-assertion': 'error', + '@typescript-eslint/explicit-function-return-type': 'error', + '@typescript-eslint/explicit-module-boundary-types': 'error', + '@typescript-eslint/no-explicit-any': 'error', + '@typescript-eslint/require-await': 'error', + '@typescript-eslint/naming-convention': [ + 'error', + { selector: 'variableLike', format: ['camelCase'], leadingUnderscore: 'allow' }, + { selector: 'variable', format: ['camelCase', 'UPPER_CASE'] }, + { selector: 'memberLike', format: ['strictCamelCase'] }, + { selector: 'enumMember', format: ['StrictPascalCase'] }, + { selector: 'typeLike', format: ['PascalCase'] }, + { selector: 'typeParameter', format: ['strictCamelCase', 'UPPER_CASE'] }, + { selector: 'property', format: ['strictCamelCase'] }, + { selector: 'method', format: ['strictCamelCase'] }, + ], + '@typescript-eslint/no-unused-vars': [ + 'error', + { + argsIgnorePattern: '^_', + varsIgnorePattern: '^_', + caughtErrorsIgnorePattern: '^_', + destructuredArrayIgnorePattern: '^_', + }, + ], + }, +}; From 356914228ae7d3d4000bc6a251f0967d43978501 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 16 Aug 2024 23:06:53 +0900 Subject: [PATCH 30/92] Add prettier configs to sdk/v1 --- packages/v1/.prettierignore | 4 ++++ packages/v1/.prettierrc | 9 +++++++++ 2 files changed, 13 insertions(+) create mode 100644 packages/v1/.prettierignore create mode 100644 packages/v1/.prettierrc diff --git a/packages/v1/.prettierignore b/packages/v1/.prettierignore new file mode 100644 index 0000000..8e6367b --- /dev/null +++ b/packages/v1/.prettierignore @@ -0,0 +1,4 @@ +.gitkeep +.env* +*.lock +dist diff --git a/packages/v1/.prettierrc b/packages/v1/.prettierrc new file mode 100644 index 0000000..7bf3551 --- /dev/null +++ b/packages/v1/.prettierrc @@ -0,0 +1,9 @@ +{ + "printWidth": 100, + "semi": true, + "singleQuote": true, + "quoteProps": "consistent", + "trailingComma": "all", + "bracketSpacing": true, + "arrowParens": "always" +} From 34f932f839f4382ba985859f7aed5d24066fb26c Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 16 Aug 2024 23:07:14 +0900 Subject: [PATCH 31/92] Update '.gitignore' --- packages/v1/.gitignore | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 packages/v1/.gitignore diff --git a/packages/v1/.gitignore b/packages/v1/.gitignore new file mode 100644 index 0000000..f030407 --- /dev/null +++ b/packages/v1/.gitignore @@ -0,0 +1,38 @@ +node_modules +.env + +# Hardhat files +/cache +/artifacts + +# TypeChain files +/typechain +/typechain-types + +# solidity-coverage files +/coverage +/coverage.json + +# Hardhat Ignition default folder for deployments against a local node +ignition/deployments/chain-31337 + +node_modules +.env + +# Hardhat files +/cache +/artifacts + +# TypeChain files +/typechain +/typechain-types + +# solidity-coverage files +/coverage +/coverage.json + +# Hardhat Ignition default folder for deployments against a local node +ignition/deployments/chain-31337 + +# Misc +JPYCv2 From 8d24b4b6fbdc487d5230febc6f3af537d2f05e4a Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 16 Aug 2024 23:07:53 +0900 Subject: [PATCH 32/92] Add configs for hardhat; update README --- packages/v1/README.md | 22 ++++++++++++++++++++++ packages/v1/hardhat.config.ts | 24 ++++++++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 packages/v1/README.md create mode 100644 packages/v1/hardhat.config.ts diff --git a/packages/v1/README.md b/packages/v1/README.md new file mode 100644 index 0000000..5e3b062 --- /dev/null +++ b/packages/v1/README.md @@ -0,0 +1,22 @@ +# How to Use JPYC SDK Locally + +### Available Commands + +The following commands are available as npm scripts. + +| Command | Description | +|--------:|:------------| +| `compile` | Compile contracts | +| `clean` | Delete artifacts & caches | +| `run-node` | Run hardhat node locally | +| `deploy` | Deploy compiled contracts to local hardhat network | +| `verify` | Verify locally-deployed contracts | + +#### How to Run Commands + +1. `cd` into this directory (`/packages/v1`). +2. Run the following command (`{command-name}` should be replaced by any of the available commands above). + +```sh +$ npm run {command-name} +``` diff --git a/packages/v1/hardhat.config.ts b/packages/v1/hardhat.config.ts new file mode 100644 index 0000000..51720ff --- /dev/null +++ b/packages/v1/hardhat.config.ts @@ -0,0 +1,24 @@ +import "@nomicfoundation/hardhat-ignition"; +import "@nomicfoundation/hardhat-ignition-viem"; +import type { HardhatUserConfig } from "hardhat/config"; + +const config: HardhatUserConfig = { + solidity: { + version: '0.8.11', + settings: { + optimizer: { + enabled: true, + runs: 3000, + }, + }, + }, + paths: { + root: "./", + sources: "./JPYCv2/contracts", + tests: "./JPYCv2/test", + artifacts: "./artifacts", + cache: "./cache", + }, +}; + +export default config; From ac735f78dc9f786a5775bc25926ddd373b8d842c Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 16 Aug 2024 23:08:19 +0900 Subject: [PATCH 33/92] Add deploy modules & scripts --- packages/v1/ignition/modules/jpyc-v2.ts | 11 +++++++++++ packages/v1/ignition/modules/proxy.ts | 14 ++++++++++++++ packages/v1/scripts/deployments.ts | 14 ++++++++++++++ 3 files changed, 39 insertions(+) create mode 100644 packages/v1/ignition/modules/jpyc-v2.ts create mode 100644 packages/v1/ignition/modules/proxy.ts create mode 100644 packages/v1/scripts/deployments.ts diff --git a/packages/v1/ignition/modules/jpyc-v2.ts b/packages/v1/ignition/modules/jpyc-v2.ts new file mode 100644 index 0000000..9b102de --- /dev/null +++ b/packages/v1/ignition/modules/jpyc-v2.ts @@ -0,0 +1,11 @@ +import { buildModule } from "@nomicfoundation/hardhat-ignition/modules"; + +import { proxyModule } from './proxy'; + +export const jpycV2Module = buildModule("JPYCV2Module", (m) => { + const { proxyContract } = m.useModule(proxyModule); + + const jpycV2Contract = m.contractAt("FiatTokenV1", proxyContract); + + return { jpycV2Contract }; +}); diff --git a/packages/v1/ignition/modules/proxy.ts b/packages/v1/ignition/modules/proxy.ts new file mode 100644 index 0000000..cab7ea4 --- /dev/null +++ b/packages/v1/ignition/modules/proxy.ts @@ -0,0 +1,14 @@ +import { buildModule } from "@nomicfoundation/hardhat-ignition/modules"; + +export const proxyModule = buildModule("ProxyModule", (m) => { + // Deploy JPYCv2 Contract + const jpycV2Contract = m.contract("FiatTokenV1"); + + // Deploy proxy contract + const proxyContract = m.contract("ERC1967Proxy", [ + jpycV2Contract, + "0x", + ]); + + return { proxyContract }; +}); diff --git a/packages/v1/scripts/deployments.ts b/packages/v1/scripts/deployments.ts new file mode 100644 index 0000000..3e03044 --- /dev/null +++ b/packages/v1/scripts/deployments.ts @@ -0,0 +1,14 @@ +import hre from "hardhat"; + +import { jpycV2Module } from '../ignition/modules/jpyc-v2'; + +async function main() { + await hre.ignition.deploy(jpycV2Module); +} + +main() + .then(() => process.exit(0)) + .catch((error) => { + console.error(error); + process.exit(1); + }); From f0ae6e19dfda61331cdbf87dbeaf3eec0692e985 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 16 Aug 2024 23:10:04 +0900 Subject: [PATCH 34/92] Add interfaces --- packages/v1/src/interfaces/client.ts | 12 +++ packages/v1/src/interfaces/index.ts | 2 + packages/v1/src/interfaces/jpyc.ts | 123 +++++++++++++++++++++++++++ 3 files changed, 137 insertions(+) create mode 100644 packages/v1/src/interfaces/client.ts create mode 100644 packages/v1/src/interfaces/index.ts create mode 100644 packages/v1/src/interfaces/jpyc.ts diff --git a/packages/v1/src/interfaces/client.ts b/packages/v1/src/interfaces/client.ts new file mode 100644 index 0000000..b860b14 --- /dev/null +++ b/packages/v1/src/interfaces/client.ts @@ -0,0 +1,12 @@ +import { + PrivateKeyAccount, + WalletClient, +} from 'viem'; + +export interface ISdkClient { + createPrivateKeyAccount(): PrivateKeyAccount; + + createLocalClient(params: { + account: PrivateKeyAccount, + }): WalletClient; +} diff --git a/packages/v1/src/interfaces/index.ts b/packages/v1/src/interfaces/index.ts new file mode 100644 index 0000000..11b3c9b --- /dev/null +++ b/packages/v1/src/interfaces/index.ts @@ -0,0 +1,2 @@ +export * from './client'; +export * from './jpyc'; diff --git a/packages/v1/src/interfaces/jpyc.ts b/packages/v1/src/interfaces/jpyc.ts new file mode 100644 index 0000000..26ca7b6 --- /dev/null +++ b/packages/v1/src/interfaces/jpyc.ts @@ -0,0 +1,123 @@ +import { Bytes32, Uint256, Uint8 } from 'soltypes'; +import { Hash } from 'viem'; + +import { Address } from '../../../core/src'; + +export interface IJPYC { + /** + * View Functions + */ + + isMinter(params: { + account: Address, + }): Promise; + + minterAllowance(params: { + minter: Address, + }): Promise; + + totalSupply(): Promise; + + balanceOf(params: { + account: Address, + }): Promise; + + allowance(params: { + owner: Address, + spender: Address, + }): Promise; + + /** + * Regular Functions + */ + + initialize(params: { + tokenName: string, + tokenSymbol: string, + tokenCurrency: string, + tokenDecimals: Uint8, + newMinterAdmin: Address, + newPauser: Address, + newBlocklister: Address, + newRescuer: Address, + newOwner: Address, + }): Promise; + + configureMinter(params: { + minter: Address, + minterAllowedAmount: Uint256, + }): Promise; + + mint(params: { + to: Address, + amount: Uint256, + }): Promise; + + transfer(params: { + to: Address, + value: Uint256, + }): Promise; + + transferFrom(params: { + from: Address, + to: Address, + value: Uint256, + }): Promise; + + transferWithAuthorization(params: { + from: Address, + to: Address, + value: Uint256, + validAfter: Uint256, + validBefore: Uint256, + nonce: Bytes32, + v: Uint8, + r: Bytes32, + s: Bytes32, + }): Promise; + + receiveWithAuthorization(params: { + from: Address, + to: Address, + value: Uint256, + validAfter: Uint256, + validBefore: Uint256, + nonce: Bytes32, + v: Uint8, + r: Bytes32, + s: Bytes32, + }): Promise; + + cancelAuthorization(params: { + authorizer: Address, + nonce: Bytes32, + v: number, + r: Bytes32, + s: Bytes32, + }): Promise; + + approve(params: { + spender: Address, + value: Uint256, + }): Promise; + + increaseAllowance(params: { + spender: Address, + increment: Uint256, + }): Promise; + + decreaseAllowance(params: { + spender: Address, + decrement: Uint256, + }): Promise; + + permit(params: { + owner: Address, + spender: Address, + value: Uint256, + deadline: Uint256, + v: Uint8, + r: Bytes32, + s: Bytes32, + }): Promise; +} From 607eb80ea760bbe00fc9127bf778cd4ba9b3801b Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 16 Aug 2024 23:10:24 +0900 Subject: [PATCH 35/92] Add types for ABI --- packages/v1/src/abis.ts | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 packages/v1/src/abis.ts diff --git a/packages/v1/src/abis.ts b/packages/v1/src/abis.ts new file mode 100644 index 0000000..5df67d0 --- /dev/null +++ b/packages/v1/src/abis.ts @@ -0,0 +1,3 @@ +import artifacts from "../artifacts/JPYCv2/contracts/v1/FiatTokenV1.sol/FiatTokenV1.json"; + +export const JPYC_V2_ABI = artifacts.abi; From 11235d014105952c93b8d77aa7151c065788b203 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 16 Aug 2024 23:10:43 +0900 Subject: [PATCH 36/92] Add client class for sdk/v1 --- packages/v1/src/client.ts | 58 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 packages/v1/src/client.ts diff --git a/packages/v1/src/client.ts b/packages/v1/src/client.ts new file mode 100644 index 0000000..201cfab --- /dev/null +++ b/packages/v1/src/client.ts @@ -0,0 +1,58 @@ +import { + createWalletClient, + http, + PrivateKeyAccount, + publicActions, + WalletClient, +} from 'viem'; +import { privateKeyToAccount } from 'viem/accounts'; + +import { + Address, + ChainName, + Endpoint, + NetworkName, + SUPPORTED_CHAINS, +} from '../../core/src'; +import { ISdkClient } from './'; + +export class SdkClient implements ISdkClient { + private readonly chainName: ChainName; + private readonly networkName: NetworkName; + private readonly rpcEndpoint: Endpoint; + private readonly testPrivateKey?: Address; + private account: PrivateKeyAccount; + private client: WalletClient; + + constructor(params: { + chainName: ChainName, + networkName: NetworkName, + rpcEndpoint: Endpoint, + testPrivateKey?: Address, + }) { + this.chainName = params.chainName; + this.networkName = params.networkName; + this.rpcEndpoint = params.rpcEndpoint; + this.testPrivateKey = params.testPrivateKey; + } + + createPrivateKeyAccount(): PrivateKeyAccount { + this.account = privateKeyToAccount( + this.testPrivateKey ?? process.env.PRIVATE_KEY as Address, + ); + + return this.account; + } + + createLocalClient(params: { + account: PrivateKeyAccount, + }): WalletClient { + this.client = createWalletClient({ + account: params.account, + chain: SUPPORTED_CHAINS[this.chainName][this.networkName], + transport: http(this.rpcEndpoint), + }).extend(publicActions); + + return this.client; + } +} From 80a6cf00988926cee6fec82356a9cab3602c8ac0 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 16 Aug 2024 23:11:06 +0900 Subject: [PATCH 37/92] Add contract class for sdk/v1 --- packages/v1/src/jpyc.ts | 358 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 358 insertions(+) create mode 100644 packages/v1/src/jpyc.ts diff --git a/packages/v1/src/jpyc.ts b/packages/v1/src/jpyc.ts new file mode 100644 index 0000000..90dbccf --- /dev/null +++ b/packages/v1/src/jpyc.ts @@ -0,0 +1,358 @@ +import { Bytes32, Uint256, Uint8 } from 'soltypes'; +import { + getContract, + GetContractReturnType, + Hash, + WalletClient, +} from 'viem'; + +import { Address, LOCAL_PROXY_ADDRESS, V2_PROXY_ADDRESS } from '../../core/src'; +import { JPYC_V2_ABI, IJPYC } from './'; + +export class JPYC implements IJPYC { + private readonly contractAddress: Address = process.env.SDK_ENV === 'local' ? LOCAL_PROXY_ADDRESS: V2_PROXY_ADDRESS; + private readonly contractAbi: unknown[] = JPYC_V2_ABI; + private readonly contract: GetContractReturnType; + + constructor(params: { + client: WalletClient, + }) { + this.contract = getContract({ + address: this.contractAddress, + abi: this.contractAbi, + client: params.client, + }); + } + + /** + * View Functions + */ + + async isMinter(params: { + account: Address, + }): Promise { + const resp = await this.contract.read.isMinter([ + params.account, + ]); + + return resp as boolean; + } + + async minterAllowance(params: { + minter: Address, + }): Promise { + const resp = await this.contract.read.minterAllowance([ + params.minter, + ]); + + return Uint256.from((resp as bigint).toString()); + } + + async totalSupply(): Promise { + const resp = await this.contract.read.totalSupply(); + + return Uint256.from((resp as bigint).toString()); + } + + async balanceOf(params: { + account: Address, + }): Promise { + const resp = await this.contract.read.balanceOf([ + params.account, + ]); + + return Uint256.from((resp as bigint).toString()); + } + + async allowance(params: { + owner: Address, + spender: Address, + }): Promise { + const resp = await this.contract.read.allowance([ + params.owner, + params.spender, + ]); + + return Uint256.from((resp as bigint).toString()); + } + + /** + * Regular Functions + */ + + async initialize(params: { + tokenName: string, + tokenSymbol: string, + tokenCurrency: string, + tokenDecimals: Uint8, + newMinterAdmin: Address, + newPauser: Address, + newBlocklister: Address, + newRescuer: Address, + newOwner: Address, + }): Promise { + const args = [ + params.tokenName, + params.tokenSymbol, + params.tokenCurrency, + params.tokenDecimals, + params.newMinterAdmin, + params.newPauser, + params.newBlocklister, + params.newRescuer, + params.newOwner, + ]; + + try { + await this.contract.simulate.initialize(args); + } catch (error) { + console.log(`Simulation failed: ${error}`); + } + + return await this.contract.write.initialize(args); + } + + async configureMinter(params: { + minter: Address, + minterAllowedAmount: Uint256, + }): Promise { + const args = [ + params.minter, + params.minterAllowedAmount, + ]; + + try { + await this.contract.simulate.configureMinter(args); + } catch (error) { + console.log(`Simulation failed: ${error}`); + } + + return await this.contract.write.configureMinter(args); + } + + async mint(params: { + to: Address, + amount: Uint256, + }): Promise { + const args = [ + params.to, + params.amount, + ]; + + try { + await this.contract.simulate.mint(args); + } catch (error) { + console.log(`Simulation failed: ${error}`); + } + + return await this.contract.write.mint(args); + } + + async transfer(params: { + to: Address, + value: Uint256, + }): Promise { + const args = [ + params.to, + params.value, + ]; + + try { + await this.contract.simulate.transfer(args); + } catch (error) { + console.log(`Simulation failed: ${error}`); + } + + return await this.contract.write.transfer(args); + } + + async transferFrom(params: { + from: Address, + to: Address, + value: Uint256, + }): Promise { + const args = [ + params.from, + params.to, + params.value, + ]; + + try { + await this.contract.simulate.transferFrom(args); + } catch (error) { + console.log(`Simulation failed: ${error}`); + } + + return await this.contract.write.transferFrom(args); + } + + async transferWithAuthorization(params: { + from: Address, + to: Address, + value: Uint256, + validAfter: Uint256, + validBefore: Uint256, + nonce: Bytes32, + v: Uint8, + r: Bytes32, + s: Bytes32, + }): Promise { + const args = [ + params.from, + params.to, + params.value, + params.validAfter, + params.validBefore, + params.nonce, + params.v, + params.r, + params.s, + ]; + + try { + await this.contract.simulate.transferWithAuthorization(args); + } catch (error) { + console.log(`Simulation failed: ${error}`); + } + + return await this.contract.write.transferWithAuthorization(args); + } + + async receiveWithAuthorization(params: { + from: Address, + to: Address, + value: Uint256, + validAfter: Uint256, + validBefore: Uint256, + nonce: Bytes32, + v: Uint8, + r: Bytes32, + s: Bytes32, + }): Promise { + const args = [ + params.from, + params.to, + params.value, + params.validAfter, + params.validBefore, + params.nonce, + params.v, + params.r, + params.s, + ]; + + try { + await this.contract.simulate.receiveWithAuthorization(args); + } catch (error) { + console.log(`Simulation failed: ${error}`); + } + + return await this.contract.write.receiveWithAuthorization(args); + } + + async cancelAuthorization(params: { + authorizer: Address, + nonce: Bytes32, + v: number, + r: Bytes32, + s: Bytes32, + }): Promise { + const args = [ + params.authorizer, + params.nonce, + params.v, + params.r, + params.s, + ]; + + try { + await this.contract.simulate.cancelAuthorization(args); + } catch (error) { + console.log(`Simulation failed: ${error}`); + } + + return await this.contract.write.cancelAuthorization(args); + } + + async approve(params: { + spender: Address, + value: Uint256, + }): Promise { + const args = [ + params.spender, + params.value, + ]; + + try { + await this.contract.simulate.approve(args); + } catch (error) { + console.log(`Simulation failed: ${error}`); + } + + return await this.contract.write.approve(args); + } + + async increaseAllowance(params: { + spender: Address, + increment: Uint256, + }): Promise { + const args = [ + params.spender, + params.increment, + ]; + + try { + await this.contract.simulate.increaseAllowance(args); + } catch (error) { + console.log(`Simulation failed: ${error}`); + } + + return await this.contract.write.increaseAllowance(args); + } + + async decreaseAllowance(params: { + spender: Address, + decrement: Uint256, + }): Promise { + const args = [ + params.spender, + params.decrement, + ]; + + try { + await this.contract.simulate.decreaseAllowance(args); + } catch (error) { + console.log(`Simulation failed: ${error}`); + } + + return await this.contract.write.decreaseAllowance(args); + } + + async permit(params: { + owner: Address, + spender: Address, + value: Uint256, + deadline: Uint256, + v: Uint8, + r: Bytes32, + s: Bytes32, + }): Promise { + const args = [ + params.owner, + params.spender, + params.value, + params.deadline, + params.v, + params.r, + params.s, + ]; + + try { + await this.contract.simulate.permit(args); + } catch (error) { + console.log(`Simulation failed: ${error}`); + } + + return await this.contract.write.permit(args); + } +} From 99408153213d8cd3c47816b307c5ec2b001b4347 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 16 Aug 2024 23:11:31 +0900 Subject: [PATCH 38/92] Add 'index.ts' --- packages/v1/src/index.ts | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 packages/v1/src/index.ts diff --git a/packages/v1/src/index.ts b/packages/v1/src/index.ts new file mode 100644 index 0000000..a2d2f06 --- /dev/null +++ b/packages/v1/src/index.ts @@ -0,0 +1,8 @@ +import * as dotenv from 'dotenv'; + +dotenv.config(); + +export * from './abis'; +export * from './client'; +export * from './interfaces'; +export * from './jpyc'; From 036376ce803a75b56619988465a7edf747ebc37a Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 16 Aug 2024 23:13:24 +0900 Subject: [PATCH 39/92] Add exemplary code: 'initialize' --- packages/v1/examples/initialize.ts | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 packages/v1/examples/initialize.ts diff --git a/packages/v1/examples/initialize.ts b/packages/v1/examples/initialize.ts new file mode 100644 index 0000000..934c047 --- /dev/null +++ b/packages/v1/examples/initialize.ts @@ -0,0 +1,25 @@ +import { Uint8 } from 'soltypes'; + +import { account, jpyc } from './'; + +async function main() { + // Initialize JPYC contract + await jpyc.initialize({ + tokenName: 'JPY Coin', + tokenSymbol: 'JPYC', + tokenCurrency: 'Yen', + tokenDecimals: Uint8.from('18'), + newMinterAdmin: account.address, + newPauser: account.address, + newBlocklister: account.address, + newRescuer: account.address, + newOwner: account.address, + }); +} + +main() + .then(() => process.exit(0)) + .catch((error) => { + console.error(error); + process.exit(1); + }); From 7b321baa91b58a92f0f7969c7eb07482c979b016 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 16 Aug 2024 23:13:46 +0900 Subject: [PATCH 40/92] Add exemplary code: 'mint' --- packages/v1/examples/mint.ts | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 packages/v1/examples/mint.ts diff --git a/packages/v1/examples/mint.ts b/packages/v1/examples/mint.ts new file mode 100644 index 0000000..a9da30a --- /dev/null +++ b/packages/v1/examples/mint.ts @@ -0,0 +1,24 @@ +import { Uint256 } from 'soltypes'; + +import { account, jpyc } from './'; + +async function main() { + // 1. Configure a minter + await jpyc.configureMinter({ + minter: account.address, + minterAllowedAmount: Uint256.from('1000000'), + }); + + // 2. Mint tokens + await jpyc.mint({ + to: account.address, + amount: Uint256.from('10000'), + }); +} + +main() + .then(() => process.exit(0)) + .catch((error) => { + console.error(error); + process.exit(1); + }); From b76bdd9f69f42e90d8faaf18b6384b4f8e7a927a Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 16 Aug 2024 23:13:59 +0900 Subject: [PATCH 41/92] Add exemplary code: 'total-supply' --- packages/v1/examples/total-supply.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 packages/v1/examples/total-supply.ts diff --git a/packages/v1/examples/total-supply.ts b/packages/v1/examples/total-supply.ts new file mode 100644 index 0000000..70cefa0 --- /dev/null +++ b/packages/v1/examples/total-supply.ts @@ -0,0 +1,14 @@ +import { jpyc } from '.'; + +async function main() { + // Check total supply + const totalSupply = await jpyc.totalSupply(); + console.log(`totalSupply: ${totalSupply}`); +} + +main() + .then(() => process.exit(0)) + .catch((error) => { + console.error(error); + process.exit(1); + }); From 8ffecf3c6c92a4aaa4420b75918ebd5e1525bfba Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 16 Aug 2024 23:14:14 +0900 Subject: [PATCH 42/92] Add exemplary code: 'transfer' --- packages/v1/examples/transfer.ts | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 packages/v1/examples/transfer.ts diff --git a/packages/v1/examples/transfer.ts b/packages/v1/examples/transfer.ts new file mode 100644 index 0000000..db7171d --- /dev/null +++ b/packages/v1/examples/transfer.ts @@ -0,0 +1,29 @@ +import { Uint256 } from 'soltypes'; + +import { account, jpyc, RECEIVER_ADDRESS } from './'; + +async function main() { + // 1. Transfer tokens + await jpyc.transfer({ + to: RECEIVER_ADDRESS, + value: Uint256.from('100'), + }); + + // 2. Check balances + const balanceSender = await jpyc.balanceOf({ + account: account.address, + }); + console.log(`balance (sender): ${balanceSender}`); + + const balanceReceiver = await jpyc.balanceOf({ + account: RECEIVER_ADDRESS, + }); + console.log(`balance (receiver): ${balanceReceiver}`); +} + +main() + .then(() => process.exit(0)) + .catch((error) => { + console.error(error); + process.exit(1); + }); From b30d642b3e2c20407cd5906957616be24f683b64 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 16 Aug 2024 23:14:47 +0900 Subject: [PATCH 43/92] Add exemplary code: 'transfer-from' --- packages/v1/examples/transfer-from.ts | 55 +++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 packages/v1/examples/transfer-from.ts diff --git a/packages/v1/examples/transfer-from.ts b/packages/v1/examples/transfer-from.ts new file mode 100644 index 0000000..6f640f0 --- /dev/null +++ b/packages/v1/examples/transfer-from.ts @@ -0,0 +1,55 @@ +import { Uint256 } from 'soltypes'; + +import { + account, + APPROVED_ADDRESS, + jpyc, + RECEIVER_ADDRESS, +} from './'; + +async function main() { + // 1. Approve to spend allowance + await jpyc.approve({ + spender: APPROVED_ADDRESS, + value: Uint256.from('1000'), + }); + + // 2. Check allowance + const allowance = await jpyc.allowance({ + owner: account.address, + spender: APPROVED_ADDRESS, + }); + console.log(`allowance: ${allowance}`); + + // TODO: FIx below + + // 3. Transfer tokens (from the approved address) + await jpyc.transferFrom({ + from: APPROVED_ADDRESS, + to: RECEIVER_ADDRESS, + value: Uint256.from('200'), + }); + + // 4. Check balances + const balanceSender = await jpyc.balanceOf({ + account: account.address, + }); + console.log(`balance (sender): ${balanceSender}`); + + const balanceSpender = await jpyc.balanceOf({ + account: account.address, + }); + console.log(`balance (spender): ${balanceSpender}`); + + const balanceReceiver = await jpyc.balanceOf({ + account: RECEIVER_ADDRESS, + }); + console.log(`balance (receiver): ${balanceReceiver}`); +} + +main() + .then(() => process.exit(0)) + .catch((error) => { + console.error(error); + process.exit(1); + }); From b87fe16e51b4ac4044db1940887137270e42809b Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 16 Aug 2024 23:15:03 +0900 Subject: [PATCH 44/92] Add 'index.ts' --- packages/v1/examples/index.ts | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 packages/v1/examples/index.ts diff --git a/packages/v1/examples/index.ts b/packages/v1/examples/index.ts new file mode 100644 index 0000000..6483c84 --- /dev/null +++ b/packages/v1/examples/index.ts @@ -0,0 +1,33 @@ +import { + JPYC, + SdkClient, +} from '../src'; + +// TODO: allow users to set constants dynamically +export const RECEIVER_ADDRESS = '0x70997970C51812dc3A010C7d01b50e0d17dc79C8'; +export const APPROVED_ADDRESS = '0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC'; + +/** + * SDK SetUp + */ + +// 1. Initialize SdkClient instances +// TODO: allow users to set parameters dynamically +const sdkClient = new SdkClient({ + chainName: 'local', + networkName: 'mainnet', + rpcEndpoint: 'http://127.0.0.1:8545/', +}); + +// 2. Generate accounts +export const account = sdkClient.createPrivateKeyAccount(); + +// 3. Generate local clients +const client = sdkClient.createLocalClient({ + account: account, +}); + +// 4. Initialize JPYC SDK instances +export const jpyc = new JPYC({ + client: client, +}); From 7aa0a39221ada4586a04b034cb4dc3ac9858c2ea Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Sun, 18 Aug 2024 18:47:22 +0900 Subject: [PATCH 45/92] Update git submodule --- .gitmodules | 2 +- packages/v1/.gitignore | 3 --- packages/v1/JPYCv2 | 1 + 3 files changed, 2 insertions(+), 4 deletions(-) create mode 160000 packages/v1/JPYCv2 diff --git a/.gitmodules b/.gitmodules index 952b747..abb389b 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ -[submodule "JPYCv2"] +[submodule "packages/v1/JPYCv2"] path = packages/v1/JPYCv2 url = https://github.com/jcam1/JPYCv2.git diff --git a/packages/v1/.gitignore b/packages/v1/.gitignore index f030407..29dd748 100644 --- a/packages/v1/.gitignore +++ b/packages/v1/.gitignore @@ -33,6 +33,3 @@ node_modules # Hardhat Ignition default folder for deployments against a local node ignition/deployments/chain-31337 - -# Misc -JPYCv2 diff --git a/packages/v1/JPYCv2 b/packages/v1/JPYCv2 new file mode 160000 index 0000000..e06edf5 --- /dev/null +++ b/packages/v1/JPYCv2 @@ -0,0 +1 @@ +Subproject commit e06edf5ca9a69369717c24a93e6122014a55b2dd From 60065a02ce708fff2acf99a84ac2f904468536d1 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Sun, 18 Aug 2024 21:40:47 +0900 Subject: [PATCH 46/92] Call 'initialize' function during deployment --- packages/core/.env.example | 1 - packages/core/package.json | 1 - packages/core/src/index.ts | 4 ---- packages/v1/.env.example | 1 + packages/v1/ignition/modules/proxy.ts | 26 +++++++++++++++++++++++--- 5 files changed, 24 insertions(+), 9 deletions(-) delete mode 100644 packages/core/.env.example diff --git a/packages/core/.env.example b/packages/core/.env.example deleted file mode 100644 index de60d2c..0000000 --- a/packages/core/.env.example +++ /dev/null @@ -1 +0,0 @@ -LOCAL_PROXY_ADDRESS="0x..." diff --git a/packages/core/package.json b/packages/core/package.json index a0650e1..23a6c06 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -16,7 +16,6 @@ "@types/node": "20.14.9", "@typescript-eslint/eslint-plugin": "7.15.0", "@typescript-eslint/parser": "7.15.0", - "dotenv": "16.4.5", "eslint": "9.6.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-prettier": "5.1.3", diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index 3fd513a..e5c6e4e 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -1,7 +1,3 @@ -import * as dotenv from 'dotenv'; - -dotenv.config(); - export * from './addresses'; export * from './chains'; export * from './types'; diff --git a/packages/v1/.env.example b/packages/v1/.env.example index 5772931..cc71a9c 100644 --- a/packages/v1/.env.example +++ b/packages/v1/.env.example @@ -1,2 +1,3 @@ SDK_ENV="local" +LOCAL_PROXY_ADDRESS="0x..." PRIVATE_KEY="0x..." diff --git a/packages/v1/ignition/modules/proxy.ts b/packages/v1/ignition/modules/proxy.ts index cab7ea4..cb394c0 100644 --- a/packages/v1/ignition/modules/proxy.ts +++ b/packages/v1/ignition/modules/proxy.ts @@ -1,13 +1,33 @@ import { buildModule } from "@nomicfoundation/hardhat-ignition/modules"; +import { Uint8 } from 'soltypes'; +import { encodeFunctionData } from 'viem'; + +import { JPYC_V2_ABI } from '../../src'; export const proxyModule = buildModule("ProxyModule", (m) => { - // Deploy JPYCv2 Contract + // Deploy JPYCv2 contract const jpycV2Contract = m.contract("FiatTokenV1"); - // Deploy proxy contract + // Deploy proxy contract & initialize JPYCv2 contract + const encodedInitializationCall = encodeFunctionData({ + abi: JPYC_V2_ABI, + functionName: 'initialize', + args: [ + 'JPY Coin', + 'JPYC', + 'Yen', + Uint8.from('18'), + '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266', + '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266', + '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266', + '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266', + '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266', + ], + }); + const proxyContract = m.contract("ERC1967Proxy", [ jpycV2Contract, - "0x", + encodedInitializationCall, ]); return { proxyContract }; From 5636166f019c50aeb897b1488ff77e7236105b8d Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Sun, 18 Aug 2024 23:22:20 +0900 Subject: [PATCH 47/92] Update '.gitignore' --- .gitignore | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitignore b/.gitignore index c6bba59..ac89c1c 100644 --- a/.gitignore +++ b/.gitignore @@ -128,3 +128,7 @@ dist .yarn/build-state.yml .yarn/install-state.gz .pnp.* + +# Misc +.DS_Store +.vscode From 4f9b6ea3b9bb7dadca29abd3c349bb5a944d69ff Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Sun, 18 Aug 2024 23:23:12 +0900 Subject: [PATCH 48/92] Update exemplary code --- packages/v1/.env.example | 7 ++++-- packages/v1/examples/approve.ts | 31 ++++++++++++++++++++++++ packages/v1/examples/constants.ts | 17 +++++++++++++ packages/v1/examples/index.ts | 35 ++++++++++++++++++--------- packages/v1/examples/initialize.ts | 25 ------------------- packages/v1/examples/total-supply.ts | 2 +- packages/v1/examples/transfer-from.ts | 33 +++++++------------------ packages/v1/examples/transfer.ts | 9 ++++--- packages/v1/ignition/modules/proxy.ts | 13 ++++++---- packages/v1/package.json | 5 ++-- packages/v1/src/client.ts | 2 +- packages/v1/src/interfaces/client.ts | 4 ++- 12 files changed, 107 insertions(+), 76 deletions(-) create mode 100644 packages/v1/examples/approve.ts create mode 100644 packages/v1/examples/constants.ts delete mode 100644 packages/v1/examples/initialize.ts diff --git a/packages/v1/.env.example b/packages/v1/.env.example index cc71a9c..b7eadf5 100644 --- a/packages/v1/.env.example +++ b/packages/v1/.env.example @@ -1,3 +1,6 @@ SDK_ENV="local" -LOCAL_PROXY_ADDRESS="0x..." -PRIVATE_KEY="0x..." +CHAIN_NAME="local" +NETWORK_NAME="mainnet" +RPC_ENDPOINT="http://127.0.0.1:8545/" +PRIVATE_KEY="0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80" +LOCAL_PROXY_ADDRESS="0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512" diff --git a/packages/v1/examples/approve.ts b/packages/v1/examples/approve.ts new file mode 100644 index 0000000..4e61666 --- /dev/null +++ b/packages/v1/examples/approve.ts @@ -0,0 +1,31 @@ +import { Uint256 } from 'soltypes'; + +import { + account, + jpyc, +} from '.'; +import { HARDHAT_PREDEFINED_ADDRESSES } from './constants'; + +async function main() { + const spender = HARDHAT_PREDEFINED_ADDRESSES[1]; + + // 1. Approve to spend allowance + await jpyc.approve({ + spender: spender, + value: Uint256.from('1000'), + }); + + // 2. Check allowance + const allowance = await jpyc.allowance({ + owner: account.address, + spender: spender, + }); + console.log(`spender allowance: ${allowance}`); +} + +main() + .then(() => process.exit(0)) + .catch((error) => { + console.error(error); + process.exit(1); + }); diff --git a/packages/v1/examples/constants.ts b/packages/v1/examples/constants.ts new file mode 100644 index 0000000..0b4ace4 --- /dev/null +++ b/packages/v1/examples/constants.ts @@ -0,0 +1,17 @@ +import { Address } from '../../core/src'; + +export const HARDHAT_PREDEFINED_ADDRESSES = [ + '0x70997970C51812dc3A010C7d01b50e0d17dc79C8', + '0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC', + '0x90F79bf6EB2c4f870365E785982E1f101E93b906', + '0x15d34AAf54267DB7D7c367839AAf71A00a2C6A65', + '0x9965507D1a55bcC2695C58ba16FB37d819B0A4dc', + '0x976EA74026E726554dB657fA54763abd0C3a0aa9', + '0x14dC79964da2C08b23698B3D3cc7Ca32193d9955', + '0x23618e81E3f5cdF7f54C3d65f7FBc0aBf5B21E8f', + '0xa0Ee7A142d267C1f36714E4a8F75612F20a79720', + '0xBcd4042DE499D14e55001CcbB24a551F3b954096', +] as Address[]; + +export const receiver = HARDHAT_PREDEFINED_ADDRESSES[0]; +export const spender = HARDHAT_PREDEFINED_ADDRESSES[1]; diff --git a/packages/v1/examples/index.ts b/packages/v1/examples/index.ts index 6483c84..6a7f0f5 100644 --- a/packages/v1/examples/index.ts +++ b/packages/v1/examples/index.ts @@ -1,25 +1,28 @@ +import { spender } from './constants'; import { + IJPYC, + ISdkClient, JPYC, SdkClient, } from '../src'; - -// TODO: allow users to set constants dynamically -export const RECEIVER_ADDRESS = '0x70997970C51812dc3A010C7d01b50e0d17dc79C8'; -export const APPROVED_ADDRESS = '0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC'; +import { + ChainName, + Endpoint, + NetworkName, +} from '../../core/src'; /** * SDK SetUp */ -// 1. Initialize SdkClient instances -// TODO: allow users to set parameters dynamically -const sdkClient = new SdkClient({ - chainName: 'local', - networkName: 'mainnet', - rpcEndpoint: 'http://127.0.0.1:8545/', +// 1. Initialize an SdkClient instance +const sdkClient: ISdkClient = new SdkClient({ + chainName: process.env.CHAIN_NAME as ChainName, + networkName: process.env.NETWORK_NAME as NetworkName, + rpcEndpoint: process.env.RPC_ENDPOINT as Endpoint, }); -// 2. Generate accounts +// 2. Generate an account export const account = sdkClient.createPrivateKeyAccount(); // 3. Generate local clients @@ -27,7 +30,15 @@ const client = sdkClient.createLocalClient({ account: account, }); +const clientSpender = sdkClient.createLocalClient({ + account: spender, +}); + // 4. Initialize JPYC SDK instances -export const jpyc = new JPYC({ +export const jpyc: IJPYC = new JPYC({ client: client, }); + +export const jpycSpender: IJPYC = new JPYC({ + client: clientSpender, +}); diff --git a/packages/v1/examples/initialize.ts b/packages/v1/examples/initialize.ts deleted file mode 100644 index 934c047..0000000 --- a/packages/v1/examples/initialize.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { Uint8 } from 'soltypes'; - -import { account, jpyc } from './'; - -async function main() { - // Initialize JPYC contract - await jpyc.initialize({ - tokenName: 'JPY Coin', - tokenSymbol: 'JPYC', - tokenCurrency: 'Yen', - tokenDecimals: Uint8.from('18'), - newMinterAdmin: account.address, - newPauser: account.address, - newBlocklister: account.address, - newRescuer: account.address, - newOwner: account.address, - }); -} - -main() - .then(() => process.exit(0)) - .catch((error) => { - console.error(error); - process.exit(1); - }); diff --git a/packages/v1/examples/total-supply.ts b/packages/v1/examples/total-supply.ts index 70cefa0..dd7bc91 100644 --- a/packages/v1/examples/total-supply.ts +++ b/packages/v1/examples/total-supply.ts @@ -1,4 +1,4 @@ -import { jpyc } from '.'; +import { jpyc } from './'; async function main() { // Check total supply diff --git a/packages/v1/examples/transfer-from.ts b/packages/v1/examples/transfer-from.ts index 6f640f0..6647ea6 100644 --- a/packages/v1/examples/transfer-from.ts +++ b/packages/v1/examples/transfer-from.ts @@ -2,47 +2,32 @@ import { Uint256 } from 'soltypes'; import { account, - APPROVED_ADDRESS, jpyc, - RECEIVER_ADDRESS, + jpycSpender, } from './'; +import { receiver, spender } from './constants'; async function main() { - // 1. Approve to spend allowance - await jpyc.approve({ - spender: APPROVED_ADDRESS, - value: Uint256.from('1000'), - }); - - // 2. Check allowance - const allowance = await jpyc.allowance({ - owner: account.address, - spender: APPROVED_ADDRESS, - }); - console.log(`allowance: ${allowance}`); - - // TODO: FIx below - - // 3. Transfer tokens (from the approved address) - await jpyc.transferFrom({ - from: APPROVED_ADDRESS, - to: RECEIVER_ADDRESS, + // 1. Transfer tokens (from the approved address) + await jpycSpender.transferFrom({ + from: account.address, + to: receiver, value: Uint256.from('200'), }); - // 4. Check balances + // 2. Check balances const balanceSender = await jpyc.balanceOf({ account: account.address, }); console.log(`balance (sender): ${balanceSender}`); const balanceSpender = await jpyc.balanceOf({ - account: account.address, + account: spender, }); console.log(`balance (spender): ${balanceSpender}`); const balanceReceiver = await jpyc.balanceOf({ - account: RECEIVER_ADDRESS, + account: receiver, }); console.log(`balance (receiver): ${balanceReceiver}`); } diff --git a/packages/v1/examples/transfer.ts b/packages/v1/examples/transfer.ts index db7171d..3341611 100644 --- a/packages/v1/examples/transfer.ts +++ b/packages/v1/examples/transfer.ts @@ -1,11 +1,14 @@ import { Uint256 } from 'soltypes'; -import { account, jpyc, RECEIVER_ADDRESS } from './'; +import { account, jpyc } from './'; +import { HARDHAT_PREDEFINED_ADDRESSES } from './constants'; async function main() { + const receiver = HARDHAT_PREDEFINED_ADDRESSES[0]; + // 1. Transfer tokens await jpyc.transfer({ - to: RECEIVER_ADDRESS, + to: receiver, value: Uint256.from('100'), }); @@ -16,7 +19,7 @@ async function main() { console.log(`balance (sender): ${balanceSender}`); const balanceReceiver = await jpyc.balanceOf({ - account: RECEIVER_ADDRESS, + account: receiver, }); console.log(`balance (receiver): ${balanceReceiver}`); } diff --git a/packages/v1/ignition/modules/proxy.ts b/packages/v1/ignition/modules/proxy.ts index cb394c0..ffd2ef0 100644 --- a/packages/v1/ignition/modules/proxy.ts +++ b/packages/v1/ignition/modules/proxy.ts @@ -1,14 +1,17 @@ import { buildModule } from "@nomicfoundation/hardhat-ignition/modules"; import { Uint8 } from 'soltypes'; import { encodeFunctionData } from 'viem'; +import { privateKeyToAccount } from 'viem/accounts'; import { JPYC_V2_ABI } from '../../src'; +import { Address } from '../../../core/src'; export const proxyModule = buildModule("ProxyModule", (m) => { // Deploy JPYCv2 contract const jpycV2Contract = m.contract("FiatTokenV1"); // Deploy proxy contract & initialize JPYCv2 contract + const account = privateKeyToAccount(process.env.PRIVATE_KEY as Address); const encodedInitializationCall = encodeFunctionData({ abi: JPYC_V2_ABI, functionName: 'initialize', @@ -17,11 +20,11 @@ export const proxyModule = buildModule("ProxyModule", (m) => { 'JPYC', 'Yen', Uint8.from('18'), - '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266', - '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266', - '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266', - '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266', - '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266', + account.address, + account.address, + account.address, + account.address, + account.address, ], }); diff --git a/packages/v1/package.json b/packages/v1/package.json index cfbfc06..111f643 100644 --- a/packages/v1/package.json +++ b/packages/v1/package.json @@ -10,14 +10,15 @@ }, "private": true, "scripts": { + "env": "cp .env.example .env", "compile": "npx hardhat compile", "clean": "npx hardhat clean", - "run-node": "npx hardhat node", + "node": "npx hardhat node", "deploy": "npx hardhat run ./scripts/deployments.ts --network localhost", - "initialize": "npx hardhat run ./examples/initialize.ts --network localhost", "mint": "npx hardhat run ./examples/mint.ts --network localhost", "total-supply": "npx hardhat run ./examples/total-supply.ts --network localhost", "transfer": "npx hardhat run ./examples/transfer.ts --network localhost", + "approve": "npx hardhat run ./examples/approve.ts --network localhost", "transfer-from": "npx hardhat run ./examples/transfer-from.ts --network localhost" }, "dependencies": { diff --git a/packages/v1/src/client.ts b/packages/v1/src/client.ts index 201cfab..b489f10 100644 --- a/packages/v1/src/client.ts +++ b/packages/v1/src/client.ts @@ -45,7 +45,7 @@ export class SdkClient implements ISdkClient { } createLocalClient(params: { - account: PrivateKeyAccount, + account: Address | PrivateKeyAccount, }): WalletClient { this.client = createWalletClient({ account: params.account, diff --git a/packages/v1/src/interfaces/client.ts b/packages/v1/src/interfaces/client.ts index b860b14..430432b 100644 --- a/packages/v1/src/interfaces/client.ts +++ b/packages/v1/src/interfaces/client.ts @@ -3,10 +3,12 @@ import { WalletClient, } from 'viem'; +import { Address } from '../../../core/src'; + export interface ISdkClient { createPrivateKeyAccount(): PrivateKeyAccount; createLocalClient(params: { - account: PrivateKeyAccount, + account: Address | PrivateKeyAccount, }): WalletClient; } From 89476b6f80d26e45e34c516e3af45f2355b157b4 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Sun, 18 Aug 2024 23:23:31 +0900 Subject: [PATCH 49/92] Update README --- packages/v1/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/v1/README.md b/packages/v1/README.md index 5e3b062..7d5f1e0 100644 --- a/packages/v1/README.md +++ b/packages/v1/README.md @@ -6,11 +6,11 @@ The following commands are available as npm scripts. | Command | Description | |--------:|:------------| +| `env` | Generate `.env` file | | `compile` | Compile contracts | -| `clean` | Delete artifacts & caches | -| `run-node` | Run hardhat node locally | +| `clean` | Delete artifacts | +| `node` | Run hardhat node locally | | `deploy` | Deploy compiled contracts to local hardhat network | -| `verify` | Verify locally-deployed contracts | #### How to Run Commands From b985802e85f5469ce8d0d347119f5e5c72435e0b Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Mon, 19 Aug 2024 14:49:30 +0900 Subject: [PATCH 50/92] Add validation functions --- packages/core/index.ts | 1 + packages/core/src/addresses.ts | 8 ++++++++ packages/core/src/chains.ts | 29 +++++++++++++++++++++++++++++ packages/tsconfig.json | 2 +- 4 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 packages/core/index.ts diff --git a/packages/core/index.ts b/packages/core/index.ts new file mode 100644 index 0000000..8420b10 --- /dev/null +++ b/packages/core/index.ts @@ -0,0 +1 @@ +export * from './src'; diff --git a/packages/core/src/addresses.ts b/packages/core/src/addresses.ts index b5a36af..f3ff72d 100644 --- a/packages/core/src/addresses.ts +++ b/packages/core/src/addresses.ts @@ -1,5 +1,13 @@ +import { isAddress } from 'viem'; + import { Address } from './'; export const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000'; export const V2_PROXY_ADDRESS = '0x431D5dfF03120AFA4bDf332c61A6e1766eF37BDB'; export const LOCAL_PROXY_ADDRESS: Address = process.env.LOCAL_PROXY_ADDRESS as Address; + +export function isValidAddress(params: { + address: string, +}) { + return isAddress(params.address, { strict: true }); +} diff --git a/packages/core/src/chains.ts b/packages/core/src/chains.ts index cb6808f..ba5c470 100644 --- a/packages/core/src/chains.ts +++ b/packages/core/src/chains.ts @@ -55,3 +55,32 @@ export const SUPPORTED_CHAINS: Record> = { mainnet: astar, }, }; + +export function getSupportedChainNames(): string[] { + return Object.keys(SUPPORTED_CHAINS); +} + +export function isValidChainName(params: { + chainName: string, +}): boolean { + if (Object.keys(SUPPORTED_CHAINS).some(e => e === params.chainName)) { + return true; + } + return false; +} + +export function getSupportedNetworkNames(params: { + chainName: string, +}): string[] { + return Object.keys(SUPPORTED_CHAINS[params.chainName]); +} + +export function isValidNetworkName(params: { + chainName: string, + networkName: string, +}): boolean { + if (Object.keys(SUPPORTED_CHAINS[params.chainName]).some(e => e === params.networkName)) { + return true; + } + return false; +} diff --git a/packages/tsconfig.json b/packages/tsconfig.json index d8e36d1..fe1c3f6 100644 --- a/packages/tsconfig.json +++ b/packages/tsconfig.json @@ -1,5 +1,5 @@ { - "include": ["**/src/**/*.ts", "v1/ignition/modules/deployments.ts", "v1/examples/total-supply.ts"], + "include": ["**/src/**/*.ts", "v1/ignition/modules/deployments.ts", "v1/examples/total-supply.ts", "core/index.ts"], "exclude": ["**/*.test.ts"], "compilerOptions": { // output settings From d60c56eca313b74805967f0e459381b368e41f87 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Mon, 19 Aug 2024 14:50:20 +0900 Subject: [PATCH 51/92] Add TSDoc-style comments --- packages/v1/src/interfaces/client.ts | 18 +++- packages/v1/src/interfaces/jpyc.ts | 144 ++++++++++++++++++++++++--- 2 files changed, 147 insertions(+), 15 deletions(-) diff --git a/packages/v1/src/interfaces/client.ts b/packages/v1/src/interfaces/client.ts index 430432b..2b4c593 100644 --- a/packages/v1/src/interfaces/client.ts +++ b/packages/v1/src/interfaces/client.ts @@ -3,11 +3,25 @@ import { WalletClient, } from 'viem'; -import { Address } from '../../../core/src'; +import { Address } from '../../../core'; export interface ISdkClient { - createPrivateKeyAccount(): PrivateKeyAccount; + /** + * Creates an account from a private key. + * + * @param privateKey - Private key + * @returns PrivateKeyAccount + */ + createPrivateKeyAccount(params: { + privateKey?: Address, + }): PrivateKeyAccount; + /** + * Creates a client from an account. + * + * @param account - Account + * @returns WalletClient + */ createLocalClient(params: { account: Address | PrivateKeyAccount, }): WalletClient; diff --git a/packages/v1/src/interfaces/jpyc.ts b/packages/v1/src/interfaces/jpyc.ts index 26ca7b6..08b1d55 100644 --- a/packages/v1/src/interfaces/jpyc.ts +++ b/packages/v1/src/interfaces/jpyc.ts @@ -1,27 +1,57 @@ import { Bytes32, Uint256, Uint8 } from 'soltypes'; import { Hash } from 'viem'; -import { Address } from '../../../core/src'; +import { Address } from '../../../core'; export interface IJPYC { /** * View Functions */ + /** + * Returns true if the given address is a minter. + * + * @param account - Account address + * @returns true if minter, false otherwise + */ isMinter(params: { account: Address, }): Promise; + /** + * Returns allowance of a minter (for minting). + * + * @param minter - Minter address + * @returns minter allowance + */ minterAllowance(params: { minter: Address, }): Promise; + /** + * Returns total supply of JPYC tokens. + * + * @returns total supply + */ totalSupply(): Promise; + /** + * Returns balance of an account. + * + * @param account - Account address + * @returns account balance + */ balanceOf(params: { account: Address, }): Promise; + /** + * Returns allowance of a spender over owner's tokens (for transferring). + * + * @param owner - Owner address + * @param spender - Spender address + * @returns spender allowance + */ allowance(params: { owner: Address, spender: Address, @@ -31,39 +61,70 @@ export interface IJPYC { * Regular Functions */ - initialize(params: { - tokenName: string, - tokenSymbol: string, - tokenCurrency: string, - tokenDecimals: Uint8, - newMinterAdmin: Address, - newPauser: Address, - newBlocklister: Address, - newRescuer: Address, - newOwner: Address, - }): Promise; - + /** + * Configures a minter. + * + * @param minter - Minter address + * @param minterAllowedAmount - Minter allowance + * @returns transaction hash + */ configureMinter(params: { minter: Address, minterAllowedAmount: Uint256, }): Promise; + /** + * Mints tokens. + * + * @param to - Receiver address + * @param amount - Amount of tokens to mint + * @returns transaction hash + */ mint(params: { to: Address, amount: Uint256, }): Promise; + /** + * Transfers tokens (directly). + * + * @param to - Receiver address + * @param value - Amount of tokens to transfer + * @returns transaction hash + */ transfer(params: { to: Address, value: Uint256, }): Promise; + /** + * Transfers tokens (from spender). + * + * @param from - Owner address + * @param to - Receiver address + * @param value - Amount of tokens to transfer + * @returns transaction hash + */ transferFrom(params: { from: Address, to: Address, value: Uint256, }): Promise; + /** + * Transfers tokens with authorization. + * + * @param from - Owner address + * @param to - Receiver address + * @param value - Amount of tokens to transfer + * @param validAfter - Unix time when transaction becomes valid + * @param validBefore - Unix time when transaction becomes invalid + * @param nonce - Unique nonce + * @param v - v of ECDSA + * @param r - r of ECDSA + * @param s - s of ECDSA + * @returns transaction hash + */ transferWithAuthorization(params: { from: Address, to: Address, @@ -76,6 +137,20 @@ export interface IJPYC { s: Bytes32, }): Promise; + /** + * Receives tokens with authorization. + * + * @param from - Owner address + * @param to - Receiver address + * @param value - Amount of tokens to transfer + * @param validAfter - Unix time when transaction becomes valid + * @param validBefore - Unix time when transaction becomes invalid + * @param nonce - Unique nonce + * @param v - v of ECDSA + * @param r - r of ECDSA + * @param s - s of ECDSA + * @returns transaction hash + */ receiveWithAuthorization(params: { from: Address, to: Address, @@ -88,6 +163,16 @@ export interface IJPYC { s: Bytes32, }): Promise; + /** + * Cancels authorization. + * + * @param authorizer - Owner address + * @param nonce - Unique nonce + * @param v - v of ECDSA + * @param r - r of ECDSA + * @param s - s of ECDSA + * @returns transaction hash + */ cancelAuthorization(params: { authorizer: Address, nonce: Bytes32, @@ -96,21 +181,54 @@ export interface IJPYC { s: Bytes32, }): Promise; + /** + * Sets allowance of a spender over owner's tokens. + * + * @param spender - Spender address + * @param value - Amount of allowance + * @returns transaction hash + */ approve(params: { spender: Address, value: Uint256, }): Promise; + /** + * Increases allowance. + * + * @param spender - Spender address + * @param increment - Amount of allowance to increase + * @returns transaction hash + */ increaseAllowance(params: { spender: Address, increment: Uint256, }): Promise; + /** + * Decreases allowance. + * + * @param spender - Spender address + * @param increment - Amount of allowance to decrease + * @returns transaction hash + */ decreaseAllowance(params: { spender: Address, decrement: Uint256, }): Promise; + /** + * Sets allowance of a spender over owner's tokens, given owner's signed approval. + * + * @param owner - Owner address + * @param spender - Spender address + * @param value - Amount of allowance + * @param deadline - Unix time when transaction becomes invalid + * @param v - v of ECDSA + * @param r - r of ECDSA + * @param s - s of ECDSA + * @returns transaction hash + */ permit(params: { owner: Address, spender: Address, From 42941e7b8dc036304370832c7f9abd4d68d0c54a Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Mon, 19 Aug 2024 14:51:02 +0900 Subject: [PATCH 52/92] Update error handlings; fix SDK minorly --- packages/v1/examples/approve.ts | 2 +- packages/v1/examples/constants.ts | 2 +- packages/v1/examples/index.ts | 4 +- packages/v1/src/client.ts | 25 ++++++++--- packages/v1/src/errors.ts | 39 +++++++++++++++++ packages/v1/src/index.ts | 1 + packages/v1/src/jpyc.ts | 71 +++++++++++-------------------- 7 files changed, 88 insertions(+), 56 deletions(-) create mode 100644 packages/v1/src/errors.ts diff --git a/packages/v1/examples/approve.ts b/packages/v1/examples/approve.ts index 4e61666..d6fca7a 100644 --- a/packages/v1/examples/approve.ts +++ b/packages/v1/examples/approve.ts @@ -3,7 +3,7 @@ import { Uint256 } from 'soltypes'; import { account, jpyc, -} from '.'; +} from './'; import { HARDHAT_PREDEFINED_ADDRESSES } from './constants'; async function main() { diff --git a/packages/v1/examples/constants.ts b/packages/v1/examples/constants.ts index 0b4ace4..4dd20cf 100644 --- a/packages/v1/examples/constants.ts +++ b/packages/v1/examples/constants.ts @@ -1,4 +1,4 @@ -import { Address } from '../../core/src'; +import { Address } from '../../core'; export const HARDHAT_PREDEFINED_ADDRESSES = [ '0x70997970C51812dc3A010C7d01b50e0d17dc79C8', diff --git a/packages/v1/examples/index.ts b/packages/v1/examples/index.ts index 6a7f0f5..fadc4e5 100644 --- a/packages/v1/examples/index.ts +++ b/packages/v1/examples/index.ts @@ -9,7 +9,7 @@ import { ChainName, Endpoint, NetworkName, -} from '../../core/src'; +} from '../../core'; /** * SDK SetUp @@ -23,7 +23,7 @@ const sdkClient: ISdkClient = new SdkClient({ }); // 2. Generate an account -export const account = sdkClient.createPrivateKeyAccount(); +export const account = sdkClient.createPrivateKeyAccount({}); // 3. Generate local clients const client = sdkClient.createLocalClient({ diff --git a/packages/v1/src/client.ts b/packages/v1/src/client.ts index b489f10..a48af79 100644 --- a/packages/v1/src/client.ts +++ b/packages/v1/src/client.ts @@ -11,16 +11,21 @@ import { Address, ChainName, Endpoint, + isValidChainName, + isValidNetworkName, NetworkName, SUPPORTED_CHAINS, -} from '../../core/src'; -import { ISdkClient } from './'; +} from '../../core'; +import { + ISdkClient, + InvalidChainNameError, + InvalidNetworkNameError, +} from './'; export class SdkClient implements ISdkClient { private readonly chainName: ChainName; private readonly networkName: NetworkName; private readonly rpcEndpoint: Endpoint; - private readonly testPrivateKey?: Address; private account: PrivateKeyAccount; private client: WalletClient; @@ -28,17 +33,23 @@ export class SdkClient implements ISdkClient { chainName: ChainName, networkName: NetworkName, rpcEndpoint: Endpoint, - testPrivateKey?: Address, }) { + if (!isValidChainName({ chainName: params.chainName })) { + throw new InvalidChainNameError(params.chainName); + } + if (!isValidNetworkName({ chainName: params.chainName, networkName: params.networkName })) { + throw new InvalidNetworkNameError(params.chainName, params.networkName); + } this.chainName = params.chainName; this.networkName = params.networkName; this.rpcEndpoint = params.rpcEndpoint; - this.testPrivateKey = params.testPrivateKey; } - createPrivateKeyAccount(): PrivateKeyAccount { + createPrivateKeyAccount(params: { + privateKey?: Address, + }): PrivateKeyAccount { this.account = privateKeyToAccount( - this.testPrivateKey ?? process.env.PRIVATE_KEY as Address, + params.privateKey ?? process.env.PRIVATE_KEY as Address, ); return this.account; diff --git a/packages/v1/src/errors.ts b/packages/v1/src/errors.ts new file mode 100644 index 0000000..46cd9db --- /dev/null +++ b/packages/v1/src/errors.ts @@ -0,0 +1,39 @@ +import { getSupportedChainNames, getSupportedNetworkNames } from '../../core'; + +/** + * Custom error abstract class + */ + +abstract class JpycSdkError extends Error { + constructor(message: string) { + super(message); + } +} + +/** + * Custom error classes + */ + +export class InvalidChainNameError extends JpycSdkError { + constructor(chainName: string) { + super(`Invalid chain "${chainName}" (supported chain names = {${getSupportedChainNames().join(', ')}}).`); + } +} + +export class InvalidNetworkNameError extends JpycSdkError { + constructor(chainName: string, networkName: string) { + super(`Invalid network "${networkName}" (supported network names = {${getSupportedNetworkNames({ chainName: chainName }).join(', ')}}).`); + } +} + +export class InvalidAddressError extends JpycSdkError { + constructor(address: string) { + super(`Invalid address "${address}".`); + } +} + +export class InvalidTransactionError extends JpycSdkError { + constructor(error: unknown) { + super(`Transaction simulation failed.\n${error}`); + } +} diff --git a/packages/v1/src/index.ts b/packages/v1/src/index.ts index a2d2f06..8dde08d 100644 --- a/packages/v1/src/index.ts +++ b/packages/v1/src/index.ts @@ -4,5 +4,6 @@ dotenv.config(); export * from './abis'; export * from './client'; +export * from './errors'; export * from './interfaces'; export * from './jpyc'; diff --git a/packages/v1/src/jpyc.ts b/packages/v1/src/jpyc.ts index 90dbccf..6868035 100644 --- a/packages/v1/src/jpyc.ts +++ b/packages/v1/src/jpyc.ts @@ -6,8 +6,18 @@ import { WalletClient, } from 'viem'; -import { Address, LOCAL_PROXY_ADDRESS, V2_PROXY_ADDRESS } from '../../core/src'; -import { JPYC_V2_ABI, IJPYC } from './'; +import { + Address, + isValidAddress, + LOCAL_PROXY_ADDRESS, + V2_PROXY_ADDRESS, +} from '../../core'; +import { + IJPYC, + InvalidAddressError, + InvalidTransactionError, + JPYC_V2_ABI, +} from './'; export class JPYC implements IJPYC { private readonly contractAddress: Address = process.env.SDK_ENV === 'local' ? LOCAL_PROXY_ADDRESS: V2_PROXY_ADDRESS; @@ -17,6 +27,9 @@ export class JPYC implements IJPYC { constructor(params: { client: WalletClient, }) { + if (!isValidAddress({ address: this.contractAddress })) { + throw new InvalidAddressError(this.contractAddress); + } this.contract = getContract({ address: this.contractAddress, abi: this.contractAbi, @@ -80,38 +93,6 @@ export class JPYC implements IJPYC { * Regular Functions */ - async initialize(params: { - tokenName: string, - tokenSymbol: string, - tokenCurrency: string, - tokenDecimals: Uint8, - newMinterAdmin: Address, - newPauser: Address, - newBlocklister: Address, - newRescuer: Address, - newOwner: Address, - }): Promise { - const args = [ - params.tokenName, - params.tokenSymbol, - params.tokenCurrency, - params.tokenDecimals, - params.newMinterAdmin, - params.newPauser, - params.newBlocklister, - params.newRescuer, - params.newOwner, - ]; - - try { - await this.contract.simulate.initialize(args); - } catch (error) { - console.log(`Simulation failed: ${error}`); - } - - return await this.contract.write.initialize(args); - } - async configureMinter(params: { minter: Address, minterAllowedAmount: Uint256, @@ -124,7 +105,7 @@ export class JPYC implements IJPYC { try { await this.contract.simulate.configureMinter(args); } catch (error) { - console.log(`Simulation failed: ${error}`); + throw new InvalidTransactionError(error); } return await this.contract.write.configureMinter(args); @@ -142,7 +123,7 @@ export class JPYC implements IJPYC { try { await this.contract.simulate.mint(args); } catch (error) { - console.log(`Simulation failed: ${error}`); + throw new InvalidTransactionError(error); } return await this.contract.write.mint(args); @@ -160,7 +141,7 @@ export class JPYC implements IJPYC { try { await this.contract.simulate.transfer(args); } catch (error) { - console.log(`Simulation failed: ${error}`); + throw new InvalidTransactionError(error); } return await this.contract.write.transfer(args); @@ -180,7 +161,7 @@ export class JPYC implements IJPYC { try { await this.contract.simulate.transferFrom(args); } catch (error) { - console.log(`Simulation failed: ${error}`); + throw new InvalidTransactionError(error); } return await this.contract.write.transferFrom(args); @@ -212,7 +193,7 @@ export class JPYC implements IJPYC { try { await this.contract.simulate.transferWithAuthorization(args); } catch (error) { - console.log(`Simulation failed: ${error}`); + throw new InvalidTransactionError(error); } return await this.contract.write.transferWithAuthorization(args); @@ -244,7 +225,7 @@ export class JPYC implements IJPYC { try { await this.contract.simulate.receiveWithAuthorization(args); } catch (error) { - console.log(`Simulation failed: ${error}`); + throw new InvalidTransactionError(error); } return await this.contract.write.receiveWithAuthorization(args); @@ -268,7 +249,7 @@ export class JPYC implements IJPYC { try { await this.contract.simulate.cancelAuthorization(args); } catch (error) { - console.log(`Simulation failed: ${error}`); + throw new InvalidTransactionError(error); } return await this.contract.write.cancelAuthorization(args); @@ -286,7 +267,7 @@ export class JPYC implements IJPYC { try { await this.contract.simulate.approve(args); } catch (error) { - console.log(`Simulation failed: ${error}`); + throw new InvalidTransactionError(error); } return await this.contract.write.approve(args); @@ -304,7 +285,7 @@ export class JPYC implements IJPYC { try { await this.contract.simulate.increaseAllowance(args); } catch (error) { - console.log(`Simulation failed: ${error}`); + throw new InvalidTransactionError(error); } return await this.contract.write.increaseAllowance(args); @@ -322,7 +303,7 @@ export class JPYC implements IJPYC { try { await this.contract.simulate.decreaseAllowance(args); } catch (error) { - console.log(`Simulation failed: ${error}`); + throw new InvalidTransactionError(error); } return await this.contract.write.decreaseAllowance(args); @@ -350,7 +331,7 @@ export class JPYC implements IJPYC { try { await this.contract.simulate.permit(args); } catch (error) { - console.log(`Simulation failed: ${error}`); + throw new InvalidTransactionError(error); } return await this.contract.write.permit(args); From b0b9394731310600875eada77af9de01110bbe52 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Mon, 19 Aug 2024 18:02:44 +0900 Subject: [PATCH 53/92] Add unit tests for util functions --- packages/core/src/addresses.test.ts | 18 +++++ packages/core/src/addresses.ts | 4 +- packages/core/src/chains.test.ts | 101 ++++++++++++++++++++++++++++ packages/core/src/chains.ts | 20 +++--- 4 files changed, 128 insertions(+), 15 deletions(-) create mode 100644 packages/core/src/addresses.test.ts create mode 100644 packages/core/src/chains.test.ts diff --git a/packages/core/src/addresses.test.ts b/packages/core/src/addresses.test.ts new file mode 100644 index 0000000..443d19e --- /dev/null +++ b/packages/core/src/addresses.test.ts @@ -0,0 +1,18 @@ +import { isValidAddress } from './'; + +describe('Unit tests of isValidAddress()', () => { + test('returns true if given zero address', () => { + const address = '0x0000000000000000000000000000000000000000'; + expect(isValidAddress({ address: address })).toStrictEqual(true); + }); + + test('returns true if given valid address', () => { + const address = '0x431D5dfF03120AFA4bDf332c61A6e1766eF37BDB'; + expect(isValidAddress({ address: address })).toStrictEqual(true); + }); + + test('returns false if given invalid address', () => { + const address = '0000000000000000000000000000000000000000'; + expect(isValidAddress({ address: address })).toStrictEqual(false); + }); +}); diff --git a/packages/core/src/addresses.ts b/packages/core/src/addresses.ts index f3ff72d..12024da 100644 --- a/packages/core/src/addresses.ts +++ b/packages/core/src/addresses.ts @@ -6,8 +6,6 @@ export const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000'; export const V2_PROXY_ADDRESS = '0x431D5dfF03120AFA4bDf332c61A6e1766eF37BDB'; export const LOCAL_PROXY_ADDRESS: Address = process.env.LOCAL_PROXY_ADDRESS as Address; -export function isValidAddress(params: { - address: string, -}) { +export function isValidAddress(params: { address: string }): boolean { return isAddress(params.address, { strict: true }); } diff --git a/packages/core/src/chains.test.ts b/packages/core/src/chains.test.ts new file mode 100644 index 0000000..389f9c1 --- /dev/null +++ b/packages/core/src/chains.test.ts @@ -0,0 +1,101 @@ +import { + getSupportedChainNames, + getSupportedNetworkNames, + isValidChainName, + isValidNetworkName, +} from './'; + +describe('Unit tests of chain utility functions', () => { + describe('Unit tests of getSupportedChainNames()', () => { + test('returns correct chains', () => { + const supportedChainNames = getSupportedChainNames(); + expect(supportedChainNames).toStrictEqual([ + 'local', + 'ethereum', + 'polygon', + 'gnosis', + 'avalanche', + 'astar', + ]); + }); + }); + + describe('Unit tests of isValidChainName()', () => { + test('returns true if valid chain name', () => { + const chainName = 'ethereum'; + expect(isValidChainName({ chainName: chainName })).toStrictEqual(true); + }); + + test('returns false if invalid chain name', () => { + const chainName = 'invalidchain'; + expect(isValidChainName({ chainName: chainName })).toStrictEqual(false); + }); + }); + + describe('Unit tests of getSupportedNetworkNames()', () => { + test('returns correct networks for "local" chain', () => { + const supportedNetworkNames = getSupportedNetworkNames({ chainName: 'local' }); + expect(supportedNetworkNames).toStrictEqual(['mainnet']); + }); + + test('returns correct networks for "ethereum" chain', () => { + const supportedNetworkNames = getSupportedNetworkNames({ chainName: 'ethereum' }); + expect(supportedNetworkNames).toStrictEqual(['mainnet', 'goerli', 'sepolia']); + }); + + test('returns correct networks for "polygon" chain', () => { + const supportedNetworkNames = getSupportedNetworkNames({ chainName: 'polygon' }); + expect(supportedNetworkNames).toStrictEqual(['mainnet', 'amoy']); + }); + + test('returns correct networks for "gnosis" chain', () => { + const supportedNetworkNames = getSupportedNetworkNames({ chainName: 'gnosis' }); + expect(supportedNetworkNames).toStrictEqual(['mainnet', 'chiado']); + }); + + test('returns correct networks for "avalanche" chain', () => { + const supportedNetworkNames = getSupportedNetworkNames({ chainName: 'avalanche' }); + expect(supportedNetworkNames).toStrictEqual(['mainnet', 'fuji']); + }); + + test('returns correct networks for "astar" chain', () => { + const supportedNetworkNames = getSupportedNetworkNames({ chainName: 'astar' }); + expect(supportedNetworkNames).toStrictEqual(['mainnet']); + }); + }); + + describe('Unit tests of isValidNetworkName()', () => { + test('returns true if valid network name', () => { + const chainName = 'ethereum'; + const networkName = 'goerli'; + expect( + isValidNetworkName({ + chainName: chainName, + networkName: networkName, + }), + ).toStrictEqual(true); + }); + + test('returns false if invalid chain name', () => { + const chainName = 'invalidchain'; + const networkName = 'goerli'; + expect( + isValidNetworkName({ + chainName: chainName, + networkName: networkName, + }), + ).toStrictEqual(false); + }); + + test('returns false if invalid network name', () => { + const chainName = 'ethereum'; + const networkName = 'invalidnetwork'; + expect( + isValidNetworkName({ + chainName: chainName, + networkName: networkName, + }), + ).toStrictEqual(false); + }); + }); +}); diff --git a/packages/core/src/chains.ts b/packages/core/src/chains.ts index ba5c470..93c6ed7 100644 --- a/packages/core/src/chains.ts +++ b/packages/core/src/chains.ts @@ -60,26 +60,22 @@ export function getSupportedChainNames(): string[] { return Object.keys(SUPPORTED_CHAINS); } -export function isValidChainName(params: { - chainName: string, -}): boolean { - if (Object.keys(SUPPORTED_CHAINS).some(e => e === params.chainName)) { +export function isValidChainName(params: { chainName: string }): boolean { + if (Object.keys(SUPPORTED_CHAINS).some((e) => e === params.chainName)) { return true; } return false; } -export function getSupportedNetworkNames(params: { - chainName: string, -}): string[] { +export function getSupportedNetworkNames(params: { chainName: string }): string[] { return Object.keys(SUPPORTED_CHAINS[params.chainName]); } -export function isValidNetworkName(params: { - chainName: string, - networkName: string, -}): boolean { - if (Object.keys(SUPPORTED_CHAINS[params.chainName]).some(e => e === params.networkName)) { +export function isValidNetworkName(params: { chainName: string; networkName: string }): boolean { + if ( + params.chainName in SUPPORTED_CHAINS && + Object.keys(SUPPORTED_CHAINS[params.chainName]).some((e) => e === params.networkName) + ) { return true; } return false; From e6775d85ff31386cf3bf2d9147fe727c7462f7cf Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Mon, 19 Aug 2024 18:13:39 +0900 Subject: [PATCH 54/92] Enable linter, formatter, pre-commit hooks --- .husky/pre-commit | 1 + package.json | 19 +- packages/core/.eslintignore | 5 +- packages/core/.eslintrc.js | 100 +- packages/core/.prettierignore | 1 + packages/core/package.json | 25 +- packages/core/src/types.ts | 16 +- packages/{ => core}/tsconfig.json | 8 +- packages/v1/.eslintignore | 8 +- packages/v1/.eslintrc.js | 100 +- packages/v1/.prettierignore | 1 + packages/v1/README.md | 14 +- packages/v1/examples/approve.ts | 9 +- packages/v1/examples/index.ts | 13 +- packages/v1/examples/mint.ts | 2 +- packages/v1/examples/total-supply.ts | 4 +- packages/v1/examples/transfer-from.ts | 14 +- packages/v1/examples/transfer.ts | 6 +- packages/v1/hardhat.config.ts | 26 +- packages/v1/ignition/modules/jpyc-v2.ts | 6 +- packages/v1/ignition/modules/proxy.ts | 11 +- packages/v1/package.json | 13 +- packages/v1/scripts/deployments.ts | 4 +- packages/v1/src/abis.ts | 2 +- packages/v1/src/client.ts | 32 +- packages/v1/src/errors.ts | 16 +- packages/v1/src/interfaces/client.ts | 13 +- packages/v1/src/interfaces/jpyc.ts | 113 +- packages/v1/src/jpyc.ts | 204 +- packages/v1/tsconfig.json | 49 + yarn.lock | 2631 ++++++++++++++++++----- 31 files changed, 2439 insertions(+), 1027 deletions(-) create mode 100644 .husky/pre-commit rename packages/{ => core}/tsconfig.json (84%) create mode 100644 packages/v1/tsconfig.json diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100644 index 0000000..2312dc5 --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1 @@ +npx lint-staged diff --git a/package.json b/package.json index c0f017a..3f3b2a3 100644 --- a/package.json +++ b/package.json @@ -17,9 +17,24 @@ "packages/*" ], "scripts": { - "prepare": "husky install" + "prepare": "husky" }, "devDependencies": { - "husky": "9.0.11" + "husky": "9.0.11", + "lint-staged": "15.2.9" + }, + "lint-staged": { + "packages/core/**/*.{ts,js}": [ + "npm run -w @jpyc/sdk-core lint" + ], + "packages/core/**/*.{ts,js,md,json}": [ + "npm run -w @jpyc/sdk-core format" + ], + "packages/v1/**/*.{ts,js}": [ + "npm run -w @jpyc/sdk-v1 lint" + ], + "packages/v1/**/*.{ts,js,md,json}": [ + "npm run -w @jpyc/sdk-v1 format" + ] } } diff --git a/packages/core/.eslintignore b/packages/core/.eslintignore index e485556..1426319 100644 --- a/packages/core/.eslintignore +++ b/packages/core/.eslintignore @@ -1,3 +1,4 @@ -dist -.eslintrc.js **/*.test.ts +.eslintrc.js +node_modules +dist diff --git a/packages/core/.eslintrc.js b/packages/core/.eslintrc.js index c24f109..86ecfb9 100644 --- a/packages/core/.eslintrc.js +++ b/packages/core/.eslintrc.js @@ -1,55 +1,55 @@ 'use strict'; module.exports = { - root: true, - extends: [ - 'eslint:recommended', - 'plugin:@typescript-eslint/recommended', - 'plugin:@typescript-eslint/recommended-requiring-type-checking', - 'plugin:@typescript-eslint/strict', - 'plugin:prettier/recommended', + root: true, + extends: [ + 'eslint:recommended', + 'plugin:@typescript-eslint/recommended', + 'plugin:@typescript-eslint/recommended-requiring-type-checking', + 'plugin:@typescript-eslint/strict', + 'plugin:prettier/recommended', + ], + plugins: ['@typescript-eslint/eslint-plugin'], + parserOptions: { + project: './tsconfig.json', + }, + env: { + node: true, + }, + rules: { + 'dot-notation': [ + 2, + { + allowKeywords: true, + allowPattern: '^[a-z]+(_[a-z]+)+$', + }, ], - plugins: ['@typescript-eslint/eslint-plugin'], - parserOptions: { - project: './tsconfig.json', - }, - env: { - 'node': true, - }, - rules: { - 'dot-notation': [ - 2, - { - allowKeywords: true, - allowPattern: '^[a-z]+(_[a-z]+)+$', - }, - ], - '@typescript-eslint/interface-name-prefix': 'off', - '@typescript-eslint/no-namespace': 'error', - '@typescript-eslint/no-non-null-assertion': 'error', - '@typescript-eslint/explicit-function-return-type': 'error', - '@typescript-eslint/explicit-module-boundary-types': 'error', - '@typescript-eslint/no-explicit-any': 'error', - '@typescript-eslint/require-await': 'error', - '@typescript-eslint/naming-convention': [ - 'error', - { selector: 'variableLike', format: ['camelCase'], leadingUnderscore: 'allow' }, - { selector: 'variable', format: ['camelCase', 'UPPER_CASE'] }, - { selector: 'memberLike', format: ['strictCamelCase'] }, - { selector: 'enumMember', format: ['StrictPascalCase'] }, - { selector: 'typeLike', format: ['PascalCase'] }, - { selector: 'typeParameter', format: ['strictCamelCase', 'UPPER_CASE'] }, - { selector: 'property', format: ['strictCamelCase'] }, - { selector: 'method', format: ['strictCamelCase'] }, - ], - '@typescript-eslint/no-unused-vars': [ - 'error', - { - argsIgnorePattern: '^_', - varsIgnorePattern: '^_', - caughtErrorsIgnorePattern: '^_', - destructuredArrayIgnorePattern: '^_', - }, - ], - }, + '@typescript-eslint/interface-name-prefix': 'off', + '@typescript-eslint/no-namespace': 'error', + '@typescript-eslint/no-non-null-assertion': 'error', + '@typescript-eslint/explicit-function-return-type': 'error', + '@typescript-eslint/explicit-module-boundary-types': 'error', + '@typescript-eslint/no-explicit-any': 'error', + '@typescript-eslint/require-await': 'error', + '@typescript-eslint/naming-convention': [ + 'error', + { selector: 'variableLike', format: ['camelCase'], leadingUnderscore: 'allow' }, + { selector: 'variable', format: ['camelCase', 'UPPER_CASE'] }, + { selector: 'memberLike', format: ['strictCamelCase'] }, + { selector: 'enumMember', format: ['StrictPascalCase'] }, + { selector: 'typeLike', format: ['PascalCase'] }, + { selector: 'typeParameter', format: ['strictCamelCase', 'UPPER_CASE'] }, + { selector: 'property', format: ['strictCamelCase'] }, + { selector: 'method', format: ['strictCamelCase'] }, + ], + '@typescript-eslint/no-unused-vars': [ + 'error', + { + argsIgnorePattern: '^_', + varsIgnorePattern: '^_', + caughtErrorsIgnorePattern: '^_', + destructuredArrayIgnorePattern: '^_', + }, + ], + }, }; diff --git a/packages/core/.prettierignore b/packages/core/.prettierignore index 8e6367b..54be3f0 100644 --- a/packages/core/.prettierignore +++ b/packages/core/.prettierignore @@ -2,3 +2,4 @@ .env* *.lock dist +node_modules diff --git a/packages/core/package.json b/packages/core/package.json index 23a6c06..9516b05 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -9,22 +9,39 @@ "yarn": "^1.22.22" }, "private": true, - "dependencies": { - "ethers": "6.13.1" + "scripts": { + "compile": "tsc", + "lint": "eslint . --fix ", + "lint:dry-run": "eslint .", + "format": "prettier . --write", + "format:dry-run": "prettier . --check", + "test": "jest" }, "devDependencies": { + "@types/jest": "29.5.12", "@types/node": "20.14.9", "@typescript-eslint/eslint-plugin": "7.15.0", "@typescript-eslint/parser": "7.15.0", - "eslint": "9.6.0", + "eslint": "8.57.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-prettier": "5.1.3", - "ethereum-abi-types-generator": "1.3.4", + "jest": "29.7.0", "npm-run-all": "4.1.5", "prettier": "3.3.2", + "ts-jest": "29.2.4", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", "typescript": "5.5.3", "viem": "2.19.4" + }, + "jest": { + "verbose": true, + "testEnvironment": "node", + "transform": { + "^.+.tsx?$": [ + "ts-jest", + {} + ] + } } } diff --git a/packages/core/src/types.ts b/packages/core/src/types.ts index 4474739..8a182b7 100644 --- a/packages/core/src/types.ts +++ b/packages/core/src/types.ts @@ -2,18 +2,6 @@ export type Address = `0x${string}`; export type Endpoint = string; -export type ChainName = - | 'local' - | 'ethereum' - | 'polygon' - | 'gnosis' - | 'avalanche' - | 'astar'; +export type ChainName = 'local' | 'ethereum' | 'polygon' | 'gnosis' | 'avalanche' | 'astar'; -export type NetworkName = - | 'mainnet' - | 'goerli' - | 'sepolia' - | 'amoy' - | 'chiado' - | 'fuji'; +export type NetworkName = 'mainnet' | 'goerli' | 'sepolia' | 'amoy' | 'chiado' | 'fuji'; diff --git a/packages/tsconfig.json b/packages/core/tsconfig.json similarity index 84% rename from packages/tsconfig.json rename to packages/core/tsconfig.json index fe1c3f6..8bb5e7c 100644 --- a/packages/tsconfig.json +++ b/packages/core/tsconfig.json @@ -1,11 +1,11 @@ { - "include": ["**/src/**/*.ts", "v1/ignition/modules/deployments.ts", "v1/examples/total-supply.ts", "core/index.ts"], - "exclude": ["**/*.test.ts"], + "include": ["**/*.ts"], + "exclude": ["**/*.test.ts", "node_modules", "dist"], "compilerOptions": { // output settings "module": "commonjs", "rootDir": "./", - "outDir": "**/dist/src", + "outDir": "./dist/src", "removeComments": true, "preserveConstEnums": true, "incremental": true, @@ -13,7 +13,7 @@ "sourceMap": true, "inlineSourceMap": false, "declaration": true, - "declarationDir": "**/dist/src/types", + "declarationDir": "./dist/src/types", "declarationMap": true, "lib": ["es2022"], "skipLibCheck": true, diff --git a/packages/v1/.eslintignore b/packages/v1/.eslintignore index e485556..d5f6899 100644 --- a/packages/v1/.eslintignore +++ b/packages/v1/.eslintignore @@ -1,3 +1,7 @@ -dist -.eslintrc.js **/*.test.ts +.eslintrc.js +JPYCv2 +node_modules +dist +artifacts +cache diff --git a/packages/v1/.eslintrc.js b/packages/v1/.eslintrc.js index c24f109..86ecfb9 100644 --- a/packages/v1/.eslintrc.js +++ b/packages/v1/.eslintrc.js @@ -1,55 +1,55 @@ 'use strict'; module.exports = { - root: true, - extends: [ - 'eslint:recommended', - 'plugin:@typescript-eslint/recommended', - 'plugin:@typescript-eslint/recommended-requiring-type-checking', - 'plugin:@typescript-eslint/strict', - 'plugin:prettier/recommended', + root: true, + extends: [ + 'eslint:recommended', + 'plugin:@typescript-eslint/recommended', + 'plugin:@typescript-eslint/recommended-requiring-type-checking', + 'plugin:@typescript-eslint/strict', + 'plugin:prettier/recommended', + ], + plugins: ['@typescript-eslint/eslint-plugin'], + parserOptions: { + project: './tsconfig.json', + }, + env: { + node: true, + }, + rules: { + 'dot-notation': [ + 2, + { + allowKeywords: true, + allowPattern: '^[a-z]+(_[a-z]+)+$', + }, ], - plugins: ['@typescript-eslint/eslint-plugin'], - parserOptions: { - project: './tsconfig.json', - }, - env: { - 'node': true, - }, - rules: { - 'dot-notation': [ - 2, - { - allowKeywords: true, - allowPattern: '^[a-z]+(_[a-z]+)+$', - }, - ], - '@typescript-eslint/interface-name-prefix': 'off', - '@typescript-eslint/no-namespace': 'error', - '@typescript-eslint/no-non-null-assertion': 'error', - '@typescript-eslint/explicit-function-return-type': 'error', - '@typescript-eslint/explicit-module-boundary-types': 'error', - '@typescript-eslint/no-explicit-any': 'error', - '@typescript-eslint/require-await': 'error', - '@typescript-eslint/naming-convention': [ - 'error', - { selector: 'variableLike', format: ['camelCase'], leadingUnderscore: 'allow' }, - { selector: 'variable', format: ['camelCase', 'UPPER_CASE'] }, - { selector: 'memberLike', format: ['strictCamelCase'] }, - { selector: 'enumMember', format: ['StrictPascalCase'] }, - { selector: 'typeLike', format: ['PascalCase'] }, - { selector: 'typeParameter', format: ['strictCamelCase', 'UPPER_CASE'] }, - { selector: 'property', format: ['strictCamelCase'] }, - { selector: 'method', format: ['strictCamelCase'] }, - ], - '@typescript-eslint/no-unused-vars': [ - 'error', - { - argsIgnorePattern: '^_', - varsIgnorePattern: '^_', - caughtErrorsIgnorePattern: '^_', - destructuredArrayIgnorePattern: '^_', - }, - ], - }, + '@typescript-eslint/interface-name-prefix': 'off', + '@typescript-eslint/no-namespace': 'error', + '@typescript-eslint/no-non-null-assertion': 'error', + '@typescript-eslint/explicit-function-return-type': 'error', + '@typescript-eslint/explicit-module-boundary-types': 'error', + '@typescript-eslint/no-explicit-any': 'error', + '@typescript-eslint/require-await': 'error', + '@typescript-eslint/naming-convention': [ + 'error', + { selector: 'variableLike', format: ['camelCase'], leadingUnderscore: 'allow' }, + { selector: 'variable', format: ['camelCase', 'UPPER_CASE'] }, + { selector: 'memberLike', format: ['strictCamelCase'] }, + { selector: 'enumMember', format: ['StrictPascalCase'] }, + { selector: 'typeLike', format: ['PascalCase'] }, + { selector: 'typeParameter', format: ['strictCamelCase', 'UPPER_CASE'] }, + { selector: 'property', format: ['strictCamelCase'] }, + { selector: 'method', format: ['strictCamelCase'] }, + ], + '@typescript-eslint/no-unused-vars': [ + 'error', + { + argsIgnorePattern: '^_', + varsIgnorePattern: '^_', + caughtErrorsIgnorePattern: '^_', + destructuredArrayIgnorePattern: '^_', + }, + ], + }, }; diff --git a/packages/v1/.prettierignore b/packages/v1/.prettierignore index 8e6367b..54be3f0 100644 --- a/packages/v1/.prettierignore +++ b/packages/v1/.prettierignore @@ -2,3 +2,4 @@ .env* *.lock dist +node_modules diff --git a/packages/v1/README.md b/packages/v1/README.md index 7d5f1e0..8dbdf9a 100644 --- a/packages/v1/README.md +++ b/packages/v1/README.md @@ -4,13 +4,13 @@ The following commands are available as npm scripts. -| Command | Description | -|--------:|:------------| -| `env` | Generate `.env` file | -| `compile` | Compile contracts | -| `clean` | Delete artifacts | -| `node` | Run hardhat node locally | -| `deploy` | Deploy compiled contracts to local hardhat network | +| Command | Description | +| --------: | :------------------------------------------------- | +| `env` | Generate `.env` file | +| `compile` | Compile contracts | +| `clean` | Delete artifacts | +| `node` | Run hardhat node locally | +| `deploy` | Deploy compiled contracts to local hardhat network | #### How to Run Commands diff --git a/packages/v1/examples/approve.ts b/packages/v1/examples/approve.ts index d6fca7a..0f5ce6e 100644 --- a/packages/v1/examples/approve.ts +++ b/packages/v1/examples/approve.ts @@ -1,12 +1,9 @@ import { Uint256 } from 'soltypes'; -import { - account, - jpyc, -} from './'; +import { account, jpyc } from './'; import { HARDHAT_PREDEFINED_ADDRESSES } from './constants'; -async function main() { +async function main(): Promise { const spender = HARDHAT_PREDEFINED_ADDRESSES[1]; // 1. Approve to spend allowance @@ -20,7 +17,7 @@ async function main() { owner: account.address, spender: spender, }); - console.log(`spender allowance: ${allowance}`); + console.log(`spender allowance: ${allowance.toString()}`); } main() diff --git a/packages/v1/examples/index.ts b/packages/v1/examples/index.ts index fadc4e5..2a22a10 100644 --- a/packages/v1/examples/index.ts +++ b/packages/v1/examples/index.ts @@ -1,15 +1,6 @@ import { spender } from './constants'; -import { - IJPYC, - ISdkClient, - JPYC, - SdkClient, -} from '../src'; -import { - ChainName, - Endpoint, - NetworkName, -} from '../../core'; +import { IJPYC, ISdkClient, JPYC, SdkClient } from '../src'; +import { ChainName, Endpoint, NetworkName } from '../../core'; /** * SDK SetUp diff --git a/packages/v1/examples/mint.ts b/packages/v1/examples/mint.ts index a9da30a..245b313 100644 --- a/packages/v1/examples/mint.ts +++ b/packages/v1/examples/mint.ts @@ -2,7 +2,7 @@ import { Uint256 } from 'soltypes'; import { account, jpyc } from './'; -async function main() { +async function main(): Promise { // 1. Configure a minter await jpyc.configureMinter({ minter: account.address, diff --git a/packages/v1/examples/total-supply.ts b/packages/v1/examples/total-supply.ts index dd7bc91..09567f1 100644 --- a/packages/v1/examples/total-supply.ts +++ b/packages/v1/examples/total-supply.ts @@ -1,9 +1,9 @@ import { jpyc } from './'; -async function main() { +async function main(): Promise { // Check total supply const totalSupply = await jpyc.totalSupply(); - console.log(`totalSupply: ${totalSupply}`); + console.log(`totalSupply: ${totalSupply.toString()}`); } main() diff --git a/packages/v1/examples/transfer-from.ts b/packages/v1/examples/transfer-from.ts index 6647ea6..6d14cc2 100644 --- a/packages/v1/examples/transfer-from.ts +++ b/packages/v1/examples/transfer-from.ts @@ -1,13 +1,9 @@ import { Uint256 } from 'soltypes'; -import { - account, - jpyc, - jpycSpender, -} from './'; +import { account, jpyc, jpycSpender } from './'; import { receiver, spender } from './constants'; -async function main() { +async function main(): Promise { // 1. Transfer tokens (from the approved address) await jpycSpender.transferFrom({ from: account.address, @@ -19,17 +15,17 @@ async function main() { const balanceSender = await jpyc.balanceOf({ account: account.address, }); - console.log(`balance (sender): ${balanceSender}`); + console.log(`balance (sender): ${balanceSender.toString()}`); const balanceSpender = await jpyc.balanceOf({ account: spender, }); - console.log(`balance (spender): ${balanceSpender}`); + console.log(`balance (spender): ${balanceSpender.toString()}`); const balanceReceiver = await jpyc.balanceOf({ account: receiver, }); - console.log(`balance (receiver): ${balanceReceiver}`); + console.log(`balance (receiver): ${balanceReceiver.toString()}`); } main() diff --git a/packages/v1/examples/transfer.ts b/packages/v1/examples/transfer.ts index 3341611..00dfa62 100644 --- a/packages/v1/examples/transfer.ts +++ b/packages/v1/examples/transfer.ts @@ -3,7 +3,7 @@ import { Uint256 } from 'soltypes'; import { account, jpyc } from './'; import { HARDHAT_PREDEFINED_ADDRESSES } from './constants'; -async function main() { +async function main(): Promise { const receiver = HARDHAT_PREDEFINED_ADDRESSES[0]; // 1. Transfer tokens @@ -16,12 +16,12 @@ async function main() { const balanceSender = await jpyc.balanceOf({ account: account.address, }); - console.log(`balance (sender): ${balanceSender}`); + console.log(`balance (sender): ${balanceSender.toString()}`); const balanceReceiver = await jpyc.balanceOf({ account: receiver, }); - console.log(`balance (receiver): ${balanceReceiver}`); + console.log(`balance (receiver): ${balanceReceiver.toString()}`); } main() diff --git a/packages/v1/hardhat.config.ts b/packages/v1/hardhat.config.ts index 51720ff..f6da68f 100644 --- a/packages/v1/hardhat.config.ts +++ b/packages/v1/hardhat.config.ts @@ -1,23 +1,23 @@ -import "@nomicfoundation/hardhat-ignition"; -import "@nomicfoundation/hardhat-ignition-viem"; -import type { HardhatUserConfig } from "hardhat/config"; +import '@nomicfoundation/hardhat-ignition'; +import '@nomicfoundation/hardhat-ignition-viem'; +import type { HardhatUserConfig } from 'hardhat/config'; const config: HardhatUserConfig = { solidity: { version: '0.8.11', - settings: { - optimizer: { - enabled: true, - runs: 3000, - }, + settings: { + optimizer: { + enabled: true, + runs: 3000, }, + }, }, paths: { - root: "./", - sources: "./JPYCv2/contracts", - tests: "./JPYCv2/test", - artifacts: "./artifacts", - cache: "./cache", + root: './', + sources: './JPYCv2/contracts', + tests: './JPYCv2/test', + artifacts: './artifacts', + cache: './cache', }, }; diff --git a/packages/v1/ignition/modules/jpyc-v2.ts b/packages/v1/ignition/modules/jpyc-v2.ts index 9b102de..f46b9e5 100644 --- a/packages/v1/ignition/modules/jpyc-v2.ts +++ b/packages/v1/ignition/modules/jpyc-v2.ts @@ -1,11 +1,11 @@ -import { buildModule } from "@nomicfoundation/hardhat-ignition/modules"; +import { buildModule } from '@nomicfoundation/hardhat-ignition/modules'; import { proxyModule } from './proxy'; -export const jpycV2Module = buildModule("JPYCV2Module", (m) => { +export const jpycV2Module = buildModule('JPYCV2Module', (m) => { const { proxyContract } = m.useModule(proxyModule); - const jpycV2Contract = m.contractAt("FiatTokenV1", proxyContract); + const jpycV2Contract = m.contractAt('FiatTokenV1', proxyContract); return { jpycV2Contract }; }); diff --git a/packages/v1/ignition/modules/proxy.ts b/packages/v1/ignition/modules/proxy.ts index ffd2ef0..14265a3 100644 --- a/packages/v1/ignition/modules/proxy.ts +++ b/packages/v1/ignition/modules/proxy.ts @@ -1,4 +1,4 @@ -import { buildModule } from "@nomicfoundation/hardhat-ignition/modules"; +import { buildModule } from '@nomicfoundation/hardhat-ignition/modules'; import { Uint8 } from 'soltypes'; import { encodeFunctionData } from 'viem'; import { privateKeyToAccount } from 'viem/accounts'; @@ -6,9 +6,9 @@ import { privateKeyToAccount } from 'viem/accounts'; import { JPYC_V2_ABI } from '../../src'; import { Address } from '../../../core/src'; -export const proxyModule = buildModule("ProxyModule", (m) => { +export const proxyModule = buildModule('ProxyModule', (m) => { // Deploy JPYCv2 contract - const jpycV2Contract = m.contract("FiatTokenV1"); + const jpycV2Contract = m.contract('FiatTokenV1'); // Deploy proxy contract & initialize JPYCv2 contract const account = privateKeyToAccount(process.env.PRIVATE_KEY as Address); @@ -28,10 +28,7 @@ export const proxyModule = buildModule("ProxyModule", (m) => { ], }); - const proxyContract = m.contract("ERC1967Proxy", [ - jpycV2Contract, - encodedInitializationCall, - ]); + const proxyContract = m.contract('ERC1967Proxy', [jpycV2Contract, encodedInitializationCall]); return { proxyContract }; }); diff --git a/packages/v1/package.json b/packages/v1/package.json index 111f643..a1f2284 100644 --- a/packages/v1/package.json +++ b/packages/v1/package.json @@ -11,7 +11,12 @@ "private": true, "scripts": { "env": "cp .env.example .env", - "compile": "npx hardhat compile", + "lint": "eslint . --fix ", + "lint:dry-run": "eslint .", + "format": "prettier . --write", + "format:dry-run": "prettier . --check", + "compile:sdk": "tsc", + "compile:contracts": "npx hardhat compile", "clean": "npx hardhat clean", "node": "npx hardhat node", "deploy": "npx hardhat run ./scripts/deployments.ts --network localhost", @@ -23,8 +28,7 @@ }, "dependencies": { "@ethersproject/abi": "5.7.0", - "@ethersproject/solidity": "5.7.0", - "ethers": "6.13.1" + "@ethersproject/solidity": "5.7.0" }, "devDependencies": { "@nomicfoundation/hardhat-ethers": "3.0.6", @@ -42,10 +46,9 @@ "@typescript-eslint/parser": "7.15.0", "chai": "5.1.1", "dotenv": "16.4.5", - "eslint": "9.6.0", + "eslint": "8.57.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-prettier": "5.1.3", - "ethereum-abi-types-generator": "1.3.4", "hardhat": "2.22.8", "hardhat-gas-reporter": "2.2.1", "npm-run-all": "4.1.5", diff --git a/packages/v1/scripts/deployments.ts b/packages/v1/scripts/deployments.ts index 3e03044..806006f 100644 --- a/packages/v1/scripts/deployments.ts +++ b/packages/v1/scripts/deployments.ts @@ -1,8 +1,8 @@ -import hre from "hardhat"; +import hre from 'hardhat'; import { jpycV2Module } from '../ignition/modules/jpyc-v2'; -async function main() { +async function main(): Promise { await hre.ignition.deploy(jpycV2Module); } diff --git a/packages/v1/src/abis.ts b/packages/v1/src/abis.ts index 5df67d0..0c943dd 100644 --- a/packages/v1/src/abis.ts +++ b/packages/v1/src/abis.ts @@ -1,3 +1,3 @@ -import artifacts from "../artifacts/JPYCv2/contracts/v1/FiatTokenV1.sol/FiatTokenV1.json"; +import artifacts from '../artifacts/JPYCv2/contracts/v1/FiatTokenV1.sol/FiatTokenV1.json'; export const JPYC_V2_ABI = artifacts.abi; diff --git a/packages/v1/src/client.ts b/packages/v1/src/client.ts index a48af79..2e2953e 100644 --- a/packages/v1/src/client.ts +++ b/packages/v1/src/client.ts @@ -1,10 +1,4 @@ -import { - createWalletClient, - http, - PrivateKeyAccount, - publicActions, - WalletClient, -} from 'viem'; +import { createWalletClient, http, PrivateKeyAccount, publicActions, WalletClient } from 'viem'; import { privateKeyToAccount } from 'viem/accounts'; import { @@ -16,11 +10,7 @@ import { NetworkName, SUPPORTED_CHAINS, } from '../../core'; -import { - ISdkClient, - InvalidChainNameError, - InvalidNetworkNameError, -} from './'; +import { ISdkClient, InvalidChainNameError, InvalidNetworkNameError } from './'; export class SdkClient implements ISdkClient { private readonly chainName: ChainName; @@ -29,11 +19,7 @@ export class SdkClient implements ISdkClient { private account: PrivateKeyAccount; private client: WalletClient; - constructor(params: { - chainName: ChainName, - networkName: NetworkName, - rpcEndpoint: Endpoint, - }) { + constructor(params: { chainName: ChainName; networkName: NetworkName; rpcEndpoint: Endpoint }) { if (!isValidChainName({ chainName: params.chainName })) { throw new InvalidChainNameError(params.chainName); } @@ -45,19 +31,13 @@ export class SdkClient implements ISdkClient { this.rpcEndpoint = params.rpcEndpoint; } - createPrivateKeyAccount(params: { - privateKey?: Address, - }): PrivateKeyAccount { - this.account = privateKeyToAccount( - params.privateKey ?? process.env.PRIVATE_KEY as Address, - ); + createPrivateKeyAccount(params: { privateKey?: Address }): PrivateKeyAccount { + this.account = privateKeyToAccount(params.privateKey ?? (process.env.PRIVATE_KEY as Address)); return this.account; } - createLocalClient(params: { - account: Address | PrivateKeyAccount, - }): WalletClient { + createLocalClient(params: { account: Address | PrivateKeyAccount }): WalletClient { this.client = createWalletClient({ account: params.account, chain: SUPPORTED_CHAINS[this.chainName][this.networkName], diff --git a/packages/v1/src/errors.ts b/packages/v1/src/errors.ts index 46cd9db..a675b4b 100644 --- a/packages/v1/src/errors.ts +++ b/packages/v1/src/errors.ts @@ -4,11 +4,7 @@ import { getSupportedChainNames, getSupportedNetworkNames } from '../../core'; * Custom error abstract class */ -abstract class JpycSdkError extends Error { - constructor(message: string) { - super(message); - } -} +abstract class JpycSdkError extends Error {} /** * Custom error classes @@ -16,13 +12,17 @@ abstract class JpycSdkError extends Error { export class InvalidChainNameError extends JpycSdkError { constructor(chainName: string) { - super(`Invalid chain "${chainName}" (supported chain names = {${getSupportedChainNames().join(', ')}}).`); + super( + `Invalid chain "${chainName}" (supported chain names = {${getSupportedChainNames().join(', ')}}).`, + ); } } export class InvalidNetworkNameError extends JpycSdkError { constructor(chainName: string, networkName: string) { - super(`Invalid network "${networkName}" (supported network names = {${getSupportedNetworkNames({ chainName: chainName }).join(', ')}}).`); + super( + `Invalid network "${networkName}" (supported network names = {${getSupportedNetworkNames({ chainName: chainName }).join(', ')}}).`, + ); } } @@ -34,6 +34,6 @@ export class InvalidAddressError extends JpycSdkError { export class InvalidTransactionError extends JpycSdkError { constructor(error: unknown) { - super(`Transaction simulation failed.\n${error}`); + super(`Transaction simulation failed.\n${error as string}`); } } diff --git a/packages/v1/src/interfaces/client.ts b/packages/v1/src/interfaces/client.ts index 2b4c593..692ba96 100644 --- a/packages/v1/src/interfaces/client.ts +++ b/packages/v1/src/interfaces/client.ts @@ -1,7 +1,4 @@ -import { - PrivateKeyAccount, - WalletClient, -} from 'viem'; +import { PrivateKeyAccount, WalletClient } from 'viem'; import { Address } from '../../../core'; @@ -12,9 +9,7 @@ export interface ISdkClient { * @param privateKey - Private key * @returns PrivateKeyAccount */ - createPrivateKeyAccount(params: { - privateKey?: Address, - }): PrivateKeyAccount; + createPrivateKeyAccount(params: { privateKey?: Address }): PrivateKeyAccount; /** * Creates a client from an account. @@ -22,7 +17,5 @@ export interface ISdkClient { * @param account - Account * @returns WalletClient */ - createLocalClient(params: { - account: Address | PrivateKeyAccount, - }): WalletClient; + createLocalClient(params: { account: Address | PrivateKeyAccount }): WalletClient; } diff --git a/packages/v1/src/interfaces/jpyc.ts b/packages/v1/src/interfaces/jpyc.ts index 08b1d55..4f56982 100644 --- a/packages/v1/src/interfaces/jpyc.ts +++ b/packages/v1/src/interfaces/jpyc.ts @@ -14,9 +14,7 @@ export interface IJPYC { * @param account - Account address * @returns true if minter, false otherwise */ - isMinter(params: { - account: Address, - }): Promise; + isMinter(params: { account: Address }): Promise; /** * Returns allowance of a minter (for minting). @@ -24,9 +22,7 @@ export interface IJPYC { * @param minter - Minter address * @returns minter allowance */ - minterAllowance(params: { - minter: Address, - }): Promise; + minterAllowance(params: { minter: Address }): Promise; /** * Returns total supply of JPYC tokens. @@ -41,9 +37,7 @@ export interface IJPYC { * @param account - Account address * @returns account balance */ - balanceOf(params: { - account: Address, - }): Promise; + balanceOf(params: { account: Address }): Promise; /** * Returns allowance of a spender over owner's tokens (for transferring). @@ -52,10 +46,7 @@ export interface IJPYC { * @param spender - Spender address * @returns spender allowance */ - allowance(params: { - owner: Address, - spender: Address, - }): Promise; + allowance(params: { owner: Address; spender: Address }): Promise; /** * Regular Functions @@ -68,10 +59,7 @@ export interface IJPYC { * @param minterAllowedAmount - Minter allowance * @returns transaction hash */ - configureMinter(params: { - minter: Address, - minterAllowedAmount: Uint256, - }): Promise; + configureMinter(params: { minter: Address; minterAllowedAmount: Uint256 }): Promise; /** * Mints tokens. @@ -80,10 +68,7 @@ export interface IJPYC { * @param amount - Amount of tokens to mint * @returns transaction hash */ - mint(params: { - to: Address, - amount: Uint256, - }): Promise; + mint(params: { to: Address; amount: Uint256 }): Promise; /** * Transfers tokens (directly). @@ -92,10 +77,7 @@ export interface IJPYC { * @param value - Amount of tokens to transfer * @returns transaction hash */ - transfer(params: { - to: Address, - value: Uint256, - }): Promise; + transfer(params: { to: Address; value: Uint256 }): Promise; /** * Transfers tokens (from spender). @@ -105,11 +87,7 @@ export interface IJPYC { * @param value - Amount of tokens to transfer * @returns transaction hash */ - transferFrom(params: { - from: Address, - to: Address, - value: Uint256, - }): Promise; + transferFrom(params: { from: Address; to: Address; value: Uint256 }): Promise; /** * Transfers tokens with authorization. @@ -126,15 +104,15 @@ export interface IJPYC { * @returns transaction hash */ transferWithAuthorization(params: { - from: Address, - to: Address, - value: Uint256, - validAfter: Uint256, - validBefore: Uint256, - nonce: Bytes32, - v: Uint8, - r: Bytes32, - s: Bytes32, + from: Address; + to: Address; + value: Uint256; + validAfter: Uint256; + validBefore: Uint256; + nonce: Bytes32; + v: Uint8; + r: Bytes32; + s: Bytes32; }): Promise; /** @@ -152,15 +130,15 @@ export interface IJPYC { * @returns transaction hash */ receiveWithAuthorization(params: { - from: Address, - to: Address, - value: Uint256, - validAfter: Uint256, - validBefore: Uint256, - nonce: Bytes32, - v: Uint8, - r: Bytes32, - s: Bytes32, + from: Address; + to: Address; + value: Uint256; + validAfter: Uint256; + validBefore: Uint256; + nonce: Bytes32; + v: Uint8; + r: Bytes32; + s: Bytes32; }): Promise; /** @@ -174,11 +152,11 @@ export interface IJPYC { * @returns transaction hash */ cancelAuthorization(params: { - authorizer: Address, - nonce: Bytes32, - v: number, - r: Bytes32, - s: Bytes32, + authorizer: Address; + nonce: Bytes32; + v: number; + r: Bytes32; + s: Bytes32; }): Promise; /** @@ -188,10 +166,7 @@ export interface IJPYC { * @param value - Amount of allowance * @returns transaction hash */ - approve(params: { - spender: Address, - value: Uint256, - }): Promise; + approve(params: { spender: Address; value: Uint256 }): Promise; /** * Increases allowance. @@ -200,10 +175,7 @@ export interface IJPYC { * @param increment - Amount of allowance to increase * @returns transaction hash */ - increaseAllowance(params: { - spender: Address, - increment: Uint256, - }): Promise; + increaseAllowance(params: { spender: Address; increment: Uint256 }): Promise; /** * Decreases allowance. @@ -212,10 +184,7 @@ export interface IJPYC { * @param increment - Amount of allowance to decrease * @returns transaction hash */ - decreaseAllowance(params: { - spender: Address, - decrement: Uint256, - }): Promise; + decreaseAllowance(params: { spender: Address; decrement: Uint256 }): Promise; /** * Sets allowance of a spender over owner's tokens, given owner's signed approval. @@ -230,12 +199,12 @@ export interface IJPYC { * @returns transaction hash */ permit(params: { - owner: Address, - spender: Address, - value: Uint256, - deadline: Uint256, - v: Uint8, - r: Bytes32, - s: Bytes32, + owner: Address; + spender: Address; + value: Uint256; + deadline: Uint256; + v: Uint8; + r: Bytes32; + s: Bytes32; }): Promise; } diff --git a/packages/v1/src/jpyc.ts b/packages/v1/src/jpyc.ts index 6868035..cd4c52f 100644 --- a/packages/v1/src/jpyc.ts +++ b/packages/v1/src/jpyc.ts @@ -1,32 +1,16 @@ import { Bytes32, Uint256, Uint8 } from 'soltypes'; -import { - getContract, - GetContractReturnType, - Hash, - WalletClient, -} from 'viem'; - -import { - Address, - isValidAddress, - LOCAL_PROXY_ADDRESS, - V2_PROXY_ADDRESS, -} from '../../core'; -import { - IJPYC, - InvalidAddressError, - InvalidTransactionError, - JPYC_V2_ABI, -} from './'; +import { getContract, GetContractReturnType, Hash, WalletClient } from 'viem'; + +import { Address, isValidAddress, LOCAL_PROXY_ADDRESS, V2_PROXY_ADDRESS } from '../../core'; +import { IJPYC, InvalidAddressError, InvalidTransactionError, JPYC_V2_ABI } from './'; export class JPYC implements IJPYC { - private readonly contractAddress: Address = process.env.SDK_ENV === 'local' ? LOCAL_PROXY_ADDRESS: V2_PROXY_ADDRESS; + private readonly contractAddress: Address = + process.env.SDK_ENV === 'local' ? LOCAL_PROXY_ADDRESS : V2_PROXY_ADDRESS; private readonly contractAbi: unknown[] = JPYC_V2_ABI; private readonly contract: GetContractReturnType; - constructor(params: { - client: WalletClient, - }) { + constructor(params: { client: WalletClient }) { if (!isValidAddress({ address: this.contractAddress })) { throw new InvalidAddressError(this.contractAddress); } @@ -41,22 +25,14 @@ export class JPYC implements IJPYC { * View Functions */ - async isMinter(params: { - account: Address, - }): Promise { - const resp = await this.contract.read.isMinter([ - params.account, - ]); + async isMinter(params: { account: Address }): Promise { + const resp = await this.contract.read.isMinter([params.account]); return resp as boolean; } - async minterAllowance(params: { - minter: Address, - }): Promise { - const resp = await this.contract.read.minterAllowance([ - params.minter, - ]); + async minterAllowance(params: { minter: Address }): Promise { + const resp = await this.contract.read.minterAllowance([params.minter]); return Uint256.from((resp as bigint).toString()); } @@ -67,24 +43,14 @@ export class JPYC implements IJPYC { return Uint256.from((resp as bigint).toString()); } - async balanceOf(params: { - account: Address, - }): Promise { - const resp = await this.contract.read.balanceOf([ - params.account, - ]); + async balanceOf(params: { account: Address }): Promise { + const resp = await this.contract.read.balanceOf([params.account]); return Uint256.from((resp as bigint).toString()); } - async allowance(params: { - owner: Address, - spender: Address, - }): Promise { - const resp = await this.contract.read.allowance([ - params.owner, - params.spender, - ]); + async allowance(params: { owner: Address; spender: Address }): Promise { + const resp = await this.contract.read.allowance([params.owner, params.spender]); return Uint256.from((resp as bigint).toString()); } @@ -93,14 +59,8 @@ export class JPYC implements IJPYC { * Regular Functions */ - async configureMinter(params: { - minter: Address, - minterAllowedAmount: Uint256, - }): Promise { - const args = [ - params.minter, - params.minterAllowedAmount, - ]; + async configureMinter(params: { minter: Address; minterAllowedAmount: Uint256 }): Promise { + const args = [params.minter, params.minterAllowedAmount]; try { await this.contract.simulate.configureMinter(args); @@ -111,14 +71,8 @@ export class JPYC implements IJPYC { return await this.contract.write.configureMinter(args); } - async mint(params: { - to: Address, - amount: Uint256, - }): Promise { - const args = [ - params.to, - params.amount, - ]; + async mint(params: { to: Address; amount: Uint256 }): Promise { + const args = [params.to, params.amount]; try { await this.contract.simulate.mint(args); @@ -129,14 +83,8 @@ export class JPYC implements IJPYC { return await this.contract.write.mint(args); } - async transfer(params: { - to: Address, - value: Uint256, - }): Promise { - const args = [ - params.to, - params.value, - ]; + async transfer(params: { to: Address; value: Uint256 }): Promise { + const args = [params.to, params.value]; try { await this.contract.simulate.transfer(args); @@ -147,16 +95,8 @@ export class JPYC implements IJPYC { return await this.contract.write.transfer(args); } - async transferFrom(params: { - from: Address, - to: Address, - value: Uint256, - }): Promise { - const args = [ - params.from, - params.to, - params.value, - ]; + async transferFrom(params: { from: Address; to: Address; value: Uint256 }): Promise { + const args = [params.from, params.to, params.value]; try { await this.contract.simulate.transferFrom(args); @@ -168,15 +108,15 @@ export class JPYC implements IJPYC { } async transferWithAuthorization(params: { - from: Address, - to: Address, - value: Uint256, - validAfter: Uint256, - validBefore: Uint256, - nonce: Bytes32, - v: Uint8, - r: Bytes32, - s: Bytes32, + from: Address; + to: Address; + value: Uint256; + validAfter: Uint256; + validBefore: Uint256; + nonce: Bytes32; + v: Uint8; + r: Bytes32; + s: Bytes32; }): Promise { const args = [ params.from, @@ -200,15 +140,15 @@ export class JPYC implements IJPYC { } async receiveWithAuthorization(params: { - from: Address, - to: Address, - value: Uint256, - validAfter: Uint256, - validBefore: Uint256, - nonce: Bytes32, - v: Uint8, - r: Bytes32, - s: Bytes32, + from: Address; + to: Address; + value: Uint256; + validAfter: Uint256; + validBefore: Uint256; + nonce: Bytes32; + v: Uint8; + r: Bytes32; + s: Bytes32; }): Promise { const args = [ params.from, @@ -232,19 +172,13 @@ export class JPYC implements IJPYC { } async cancelAuthorization(params: { - authorizer: Address, - nonce: Bytes32, - v: number, - r: Bytes32, - s: Bytes32, + authorizer: Address; + nonce: Bytes32; + v: number; + r: Bytes32; + s: Bytes32; }): Promise { - const args = [ - params.authorizer, - params.nonce, - params.v, - params.r, - params.s, - ]; + const args = [params.authorizer, params.nonce, params.v, params.r, params.s]; try { await this.contract.simulate.cancelAuthorization(args); @@ -255,14 +189,8 @@ export class JPYC implements IJPYC { return await this.contract.write.cancelAuthorization(args); } - async approve(params: { - spender: Address, - value: Uint256, - }): Promise { - const args = [ - params.spender, - params.value, - ]; + async approve(params: { spender: Address; value: Uint256 }): Promise { + const args = [params.spender, params.value]; try { await this.contract.simulate.approve(args); @@ -273,14 +201,8 @@ export class JPYC implements IJPYC { return await this.contract.write.approve(args); } - async increaseAllowance(params: { - spender: Address, - increment: Uint256, - }): Promise { - const args = [ - params.spender, - params.increment, - ]; + async increaseAllowance(params: { spender: Address; increment: Uint256 }): Promise { + const args = [params.spender, params.increment]; try { await this.contract.simulate.increaseAllowance(args); @@ -291,14 +213,8 @@ export class JPYC implements IJPYC { return await this.contract.write.increaseAllowance(args); } - async decreaseAllowance(params: { - spender: Address, - decrement: Uint256, - }): Promise { - const args = [ - params.spender, - params.decrement, - ]; + async decreaseAllowance(params: { spender: Address; decrement: Uint256 }): Promise { + const args = [params.spender, params.decrement]; try { await this.contract.simulate.decreaseAllowance(args); @@ -310,13 +226,13 @@ export class JPYC implements IJPYC { } async permit(params: { - owner: Address, - spender: Address, - value: Uint256, - deadline: Uint256, - v: Uint8, - r: Bytes32, - s: Bytes32, + owner: Address; + spender: Address; + value: Uint256; + deadline: Uint256; + v: Uint8; + r: Bytes32; + s: Bytes32; }): Promise { const args = [ params.owner, diff --git a/packages/v1/tsconfig.json b/packages/v1/tsconfig.json new file mode 100644 index 0000000..f9e25f2 --- /dev/null +++ b/packages/v1/tsconfig.json @@ -0,0 +1,49 @@ +{ + "include": ["**/*.ts"], + "exclude": ["**/*.test.ts", "node_modules", "dist"], + "compilerOptions": { + // output settings + "module": "commonjs", + "rootDir": "../", + "outDir": "./dist/src", + "removeComments": true, + "preserveConstEnums": true, + "incremental": true, + "preserveWatchOutput": true, + "sourceMap": true, + "inlineSourceMap": false, + "declaration": true, + "declarationDir": "./dist/src/types", + "declarationMap": true, + "lib": ["es2022"], + "skipLibCheck": true, + "target": "es2020", + "importHelpers": true, + // import settings + "baseUrl": "./", + "allowSyntheticDefaultImports": true, + "resolveJsonModule": true, + // strict options + "strict": true, + "strictPropertyInitialization": false, + // linter options + "noUnusedParameters": true, + "noUnusedLocals": true, + "noImplicitReturns": true, + "noImplicitOverride": true, + "noFallthroughCasesInSwitch": true, + "noPropertyAccessFromIndexSignature": false, + "noUncheckedIndexedAccess": false, + "forceConsistentCasingInFileNames": true, + "allowUnreachableCode": false, + "allowUnusedLabels": false, + "exactOptionalPropertyTypes": false, + // misc + "esModuleInterop": true, + "experimentalDecorators": true, + "emitDecoratorMetadata": true + }, + "ts-node": { + "require": ["tsconfig-paths/register"] + } +} diff --git a/yarn.lock b/yarn.lock index feea139..0816aea 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12,6 +12,295 @@ resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz#63430d04bd8c5e74f8d7d049338f1cd9d4f02069" integrity sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw== +"@ampproject/remapping@^2.2.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" + integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== + dependencies: + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.24" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.7.tgz#882fd9e09e8ee324e496bd040401c6f046ef4465" + integrity sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA== + dependencies: + "@babel/highlight" "^7.24.7" + picocolors "^1.0.0" + +"@babel/compat-data@^7.25.2": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.25.2.tgz#e41928bd33475305c586f6acbbb7e3ade7a6f7f5" + integrity sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ== + +"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.23.9": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.25.2.tgz#ed8eec275118d7613e77a352894cd12ded8eba77" + integrity sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.24.7" + "@babel/generator" "^7.25.0" + "@babel/helper-compilation-targets" "^7.25.2" + "@babel/helper-module-transforms" "^7.25.2" + "@babel/helpers" "^7.25.0" + "@babel/parser" "^7.25.0" + "@babel/template" "^7.25.0" + "@babel/traverse" "^7.25.2" + "@babel/types" "^7.25.2" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + +"@babel/generator@^7.25.0", "@babel/generator@^7.7.2": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.25.0.tgz#f858ddfa984350bc3d3b7f125073c9af6988f18e" + integrity sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw== + dependencies: + "@babel/types" "^7.25.0" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + jsesc "^2.5.1" + +"@babel/helper-compilation-targets@^7.25.2": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz#e1d9410a90974a3a5a66e84ff55ef62e3c02d06c" + integrity sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw== + dependencies: + "@babel/compat-data" "^7.25.2" + "@babel/helper-validator-option" "^7.24.8" + browserslist "^4.23.1" + lru-cache "^5.1.1" + semver "^6.3.1" + +"@babel/helper-module-imports@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz#f2f980392de5b84c3328fc71d38bd81bbb83042b" + integrity sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA== + dependencies: + "@babel/traverse" "^7.24.7" + "@babel/types" "^7.24.7" + +"@babel/helper-module-transforms@^7.25.2": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz#ee713c29768100f2776edf04d4eb23b8d27a66e6" + integrity sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ== + dependencies: + "@babel/helper-module-imports" "^7.24.7" + "@babel/helper-simple-access" "^7.24.7" + "@babel/helper-validator-identifier" "^7.24.7" + "@babel/traverse" "^7.25.2" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.24.7", "@babel/helper-plugin-utils@^7.8.0": + version "7.24.8" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz#94ee67e8ec0e5d44ea7baeb51e571bd26af07878" + integrity sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg== + +"@babel/helper-simple-access@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz#bcade8da3aec8ed16b9c4953b74e506b51b5edb3" + integrity sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg== + dependencies: + "@babel/traverse" "^7.24.7" + "@babel/types" "^7.24.7" + +"@babel/helper-string-parser@^7.24.8": + version "7.24.8" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz#5b3329c9a58803d5df425e5785865881a81ca48d" + integrity sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ== + +"@babel/helper-validator-identifier@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz#75b889cfaf9e35c2aaf42cf0d72c8e91719251db" + integrity sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w== + +"@babel/helper-validator-option@^7.24.8": + version "7.24.8" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz#3725cdeea8b480e86d34df15304806a06975e33d" + integrity sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q== + +"@babel/helpers@^7.25.0": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.25.0.tgz#e69beb7841cb93a6505531ede34f34e6a073650a" + integrity sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw== + dependencies: + "@babel/template" "^7.25.0" + "@babel/types" "^7.25.0" + +"@babel/highlight@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.7.tgz#a05ab1df134b286558aae0ed41e6c5f731bf409d" + integrity sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw== + dependencies: + "@babel/helper-validator-identifier" "^7.24.7" + chalk "^2.4.2" + js-tokens "^4.0.0" + picocolors "^1.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.25.0", "@babel/parser@^7.25.3": + version "7.25.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.25.3.tgz#91fb126768d944966263f0657ab222a642b82065" + integrity sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw== + dependencies: + "@babel/types" "^7.25.2" + +"@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-bigint@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" + integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" + integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-import-attributes@^7.24.7": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz#b4f9ea95a79e6912480c4b626739f86a076624ca" + integrity sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A== + dependencies: + "@babel/helper-plugin-utils" "^7.24.7" + +"@babel/plugin-syntax-import-meta@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-jsx@^7.7.2": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz#39a1fa4a7e3d3d7f34e2acc6be585b718d30e02d" + integrity sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ== + dependencies: + "@babel/helper-plugin-utils" "^7.24.7" + +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" + integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-top-level-await@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-typescript@^7.7.2": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.7.tgz#58d458271b4d3b6bb27ee6ac9525acbb259bad1c" + integrity sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA== + dependencies: + "@babel/helper-plugin-utils" "^7.24.7" + +"@babel/template@^7.25.0", "@babel/template@^7.3.3": + version "7.25.0" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.0.tgz#e733dc3134b4fede528c15bc95e89cb98c52592a" + integrity sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q== + dependencies: + "@babel/code-frame" "^7.24.7" + "@babel/parser" "^7.25.0" + "@babel/types" "^7.25.0" + +"@babel/traverse@^7.24.7", "@babel/traverse@^7.25.2": + version "7.25.3" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.3.tgz#f1b901951c83eda2f3e29450ce92743783373490" + integrity sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ== + dependencies: + "@babel/code-frame" "^7.24.7" + "@babel/generator" "^7.25.0" + "@babel/parser" "^7.25.3" + "@babel/template" "^7.25.0" + "@babel/types" "^7.25.2" + debug "^4.3.1" + globals "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.24.7", "@babel/types@^7.25.0", "@babel/types@^7.25.2", "@babel/types@^7.3.3": + version "7.25.2" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.25.2.tgz#55fb231f7dc958cd69ea141a4c2997e819646125" + integrity sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q== + dependencies: + "@babel/helper-string-parser" "^7.24.8" + "@babel/helper-validator-identifier" "^7.24.7" + to-fast-properties "^2.0.0" + +"@bcoe/v8-coverage@^0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + "@colors/colors@1.5.0": version "1.5.0" resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" @@ -36,39 +325,25 @@ resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.11.0.tgz#b0ffd0312b4a3fd2d6f77237e7248a5ad3a680ae" integrity sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A== -"@eslint/config-array@^0.17.0": - version "0.17.0" - resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.17.0.tgz#ff305e1ee618a00e6e5d0485454c8d92d94a860d" - integrity sha512-A68TBu6/1mHHuc5YJL0U0VVeGNiklLAL6rRmhTCP2B5XjWLMnrX+HkO+IAXyHvks5cyyY1jjK5ITPQ1HGS2EVA== - dependencies: - "@eslint/object-schema" "^2.1.4" - debug "^4.3.1" - minimatch "^3.1.2" - -"@eslint/eslintrc@^3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-3.1.0.tgz#dbd3482bfd91efa663cbe7aa1f506839868207b6" - integrity sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ== +"@eslint/eslintrc@^2.1.4": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" + integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== dependencies: ajv "^6.12.4" debug "^4.3.2" - espree "^10.0.1" - globals "^14.0.0" + espree "^9.6.0" + globals "^13.19.0" ignore "^5.2.0" import-fresh "^3.2.1" js-yaml "^4.1.0" minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@9.6.0": - version "9.6.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.6.0.tgz#5b0cb058cc13d9c92d4e561d3538807fa5127c95" - integrity sha512-D9B0/3vNg44ZeWbYMpBoXqNP4j6eQD5vNwIlGAuFRRzK/WtT/jvDQW3Bi9kkf3PMDMlM7Yi+73VLUsn5bJcl8A== - -"@eslint/object-schema@^2.1.4": - version "2.1.4" - resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.4.tgz#9e69f8bb4031e11df79e03db09f9dbbae1740843" - integrity sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ== +"@eslint/js@8.57.0": + version "8.57.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.0.tgz#a5417ae8427873f1dd08b70b3574b453e67b5f7f" + integrity sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g== "@ethereumjs/rlp@^4.0.1": version "4.0.1" @@ -99,7 +374,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.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz#b0a8550f88b6bf9d51f90e4795d48294630cb9ef" integrity sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw== @@ -112,7 +387,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.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz#13f4f32117868452191a4649723cb086d2b596b2" integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ== @@ -134,7 +409,7 @@ "@ethersproject/logger" "^5.6.0" "@ethersproject/rlp" "^5.6.1" -"@ethersproject/address@5.7.0", "@ethersproject/address@^5.0.2", "@ethersproject/address@^5.7.0": +"@ethersproject/address@^5.0.2", "@ethersproject/address@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.7.0.tgz#19b56c4d74a3b0a46bfdbb6cfcc0a153fc697f37" integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA== @@ -145,22 +420,14 @@ "@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.yarnpkg.com/@ethersproject/base64/-/base64-5.7.0.tgz#ac4ee92aa36c1628173e221d0d01f53692059e1c" integrity sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ== dependencies: "@ethersproject/bytes" "^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.6.0", "@ethersproject/bignumber@^5.6.2", "@ethersproject/bignumber@^5.7.0": +"@ethersproject/bignumber@^5.6.0", "@ethersproject/bignumber@^5.6.2", "@ethersproject/bignumber@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.7.0.tgz#e2f03837f268ba655ffba03a57853e18a18dc9c2" integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw== @@ -169,37 +436,21 @@ "@ethersproject/logger" "^5.7.0" bn.js "^5.2.1" -"@ethersproject/bytes@5.7.0", "@ethersproject/bytes@^5.6.1", "@ethersproject/bytes@^5.7.0": +"@ethersproject/bytes@^5.6.1", "@ethersproject/bytes@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.7.0.tgz#a00f6ea8d7e7534d6d87f47188af1148d71f155d" 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.yarnpkg.com/@ethersproject/constants/-/constants-5.7.0.tgz#df80a9705a7e08984161f09014ea012d1c75295e" integrity sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA== dependencies: "@ethersproject/bignumber" "^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": +"@ethersproject/hash@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.7.0.tgz#eb7aca84a588508369562e16e514b539ba5240a7" integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g== @@ -214,44 +465,7 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/strings" "^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.6.1", "@ethersproject/keccak256@^5.7.0": +"@ethersproject/keccak256@^5.6.1", "@ethersproject/keccak256@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.7.0.tgz#3186350c6e1cd6aba7940384ec7d6d9db01f335a" integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg== @@ -259,68 +473,26 @@ "@ethersproject/bytes" "^5.7.0" js-sha3 "0.8.0" -"@ethersproject/logger@5.7.0", "@ethersproject/logger@^5.6.0", "@ethersproject/logger@^5.7.0": +"@ethersproject/logger@^5.6.0", "@ethersproject/logger@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.7.0.tgz#6ce9ae168e74fecf287be17062b590852c311892" integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig== -"@ethersproject/networks@5.7.1", "@ethersproject/networks@^5.7.0": +"@ethersproject/networks@^5.7.0": version "5.7.1" resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.1.tgz#118e1a981d757d45ccea6bb58d9fd3d9db14ead6" integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ== dependencies: "@ethersproject/logger" "^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": +"@ethersproject/properties@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.7.0.tgz#a6e12cb0439b878aaf470f1902a176033067ed30" integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw== dependencies: "@ethersproject/logger" "^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.6.1", "@ethersproject/rlp@^5.7.0": +"@ethersproject/rlp@^5.6.1", "@ethersproject/rlp@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.7.0.tgz#de39e4d5918b9d74d46de93af80b7685a9c21304" integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w== @@ -328,7 +500,7 @@ "@ethersproject/bytes" "^5.7.0" "@ethersproject/logger" "^5.7.0" -"@ethersproject/sha2@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== @@ -337,7 +509,7 @@ "@ethersproject/logger" "^5.7.0" hash.js "1.1.7" -"@ethersproject/signing-key@5.7.0", "@ethersproject/signing-key@^5.7.0": +"@ethersproject/signing-key@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.7.0.tgz#06b2df39411b00bc57c7c09b01d1e41cf1b16ab3" integrity sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q== @@ -361,7 +533,7 @@ "@ethersproject/sha2" "^5.7.0" "@ethersproject/strings" "^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.yarnpkg.com/@ethersproject/strings/-/strings-5.7.0.tgz#54c9d2a7c57ae8f1205c88a9d3a56471e14d5ed2" integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg== @@ -370,7 +542,7 @@ "@ethersproject/constants" "^5.7.0" "@ethersproject/logger" "^5.7.0" -"@ethersproject/transactions@5.7.0", "@ethersproject/transactions@^5.7.0": +"@ethersproject/transactions@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.7.0.tgz#91318fc24063e057885a6af13fdb703e1f993d3b" integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ== @@ -385,7 +557,7 @@ "@ethersproject/rlp" "^5.7.0" "@ethersproject/signing-key" "^5.7.0" -"@ethersproject/units@5.7.0", "@ethersproject/units@^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== @@ -394,28 +566,7 @@ "@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": +"@ethersproject/web@^5.7.0": version "5.7.1" resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.7.1.tgz#de1f285b373149bee5928f4eb7bcb87ee5fbb4ae" integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w== @@ -426,31 +577,29 @@ "@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/busboy@^2.0.0": version "2.1.1" resolved "https://registry.yarnpkg.com/@fastify/busboy/-/busboy-2.1.1.tgz#b9da6a878a371829a0502c9b6c1c143ef6663f4d" integrity sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA== +"@humanwhocodes/config-array@^0.11.14": + version "0.11.14" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b" + integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== + dependencies: + "@humanwhocodes/object-schema" "^2.0.2" + debug "^4.3.1" + minimatch "^3.0.5" + "@humanwhocodes/module-importer@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== -"@humanwhocodes/retry@^0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.3.0.tgz#6d86b8cb322660f03d3f0aa94b99bdd8e172d570" - integrity sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew== +"@humanwhocodes/object-schema@^2.0.2": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#4a2868d75d6d6963e423bcf90b7fd1be343409d3" + integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== "@isaacs/cliui@^8.0.2": version "8.0.2" @@ -464,15 +613,237 @@ wrap-ansi "^8.1.0" wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" -"@jridgewell/resolve-uri@^3.0.3": +"@istanbuljs/load-nyc-config@^1.0.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" + integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== + dependencies: + camelcase "^5.3.1" + find-up "^4.1.0" + get-package-type "^0.1.0" + js-yaml "^3.13.1" + resolve-from "^5.0.0" + +"@istanbuljs/schema@^0.1.2", "@istanbuljs/schema@^0.1.3": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" + integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== + +"@jest/console@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.7.0.tgz#cd4822dbdb84529265c5a2bdb529a3c9cc950ffc" + integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + slash "^3.0.0" + +"@jest/core@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.7.0.tgz#b6cccc239f30ff36609658c5a5e2291757ce448f" + integrity sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg== + dependencies: + "@jest/console" "^29.7.0" + "@jest/reporters" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + ci-info "^3.2.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + jest-changed-files "^29.7.0" + jest-config "^29.7.0" + jest-haste-map "^29.7.0" + jest-message-util "^29.7.0" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-resolve-dependencies "^29.7.0" + jest-runner "^29.7.0" + jest-runtime "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + jest-watcher "^29.7.0" + micromatch "^4.0.4" + pretty-format "^29.7.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/environment@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.7.0.tgz#24d61f54ff1f786f3cd4073b4b94416383baf2a7" + integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw== + dependencies: + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-mock "^29.7.0" + +"@jest/expect-utils@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.7.0.tgz#023efe5d26a8a70f21677d0a1afc0f0a44e3a1c6" + integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== + dependencies: + jest-get-type "^29.6.3" + +"@jest/expect@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.7.0.tgz#76a3edb0cb753b70dfbfe23283510d3d45432bf2" + integrity sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ== + dependencies: + expect "^29.7.0" + jest-snapshot "^29.7.0" + +"@jest/fake-timers@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.7.0.tgz#fd91bf1fffb16d7d0d24a426ab1a47a49881a565" + integrity sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ== + dependencies: + "@jest/types" "^29.6.3" + "@sinonjs/fake-timers" "^10.0.2" + "@types/node" "*" + jest-message-util "^29.7.0" + jest-mock "^29.7.0" + jest-util "^29.7.0" + +"@jest/globals@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.7.0.tgz#8d9290f9ec47ff772607fa864ca1d5a2efae1d4d" + integrity sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/expect" "^29.7.0" + "@jest/types" "^29.6.3" + jest-mock "^29.7.0" + +"@jest/reporters@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.7.0.tgz#04b262ecb3b8faa83b0b3d321623972393e8f4c7" + integrity sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@jridgewell/trace-mapping" "^0.3.18" + "@types/node" "*" + chalk "^4.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.2.9" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^6.0.0" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.1.3" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + jest-worker "^29.7.0" + slash "^3.0.0" + string-length "^4.0.1" + strip-ansi "^6.0.0" + v8-to-istanbul "^9.0.1" + +"@jest/schemas@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" + integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== + dependencies: + "@sinclair/typebox" "^0.27.8" + +"@jest/source-map@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.6.3.tgz#d90ba772095cf37a34a5eb9413f1b562a08554c4" + integrity sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw== + dependencies: + "@jridgewell/trace-mapping" "^0.3.18" + callsites "^3.0.0" + graceful-fs "^4.2.9" + +"@jest/test-result@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.7.0.tgz#8db9a80aa1a097bb2262572686734baed9b1657c" + integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA== + dependencies: + "@jest/console" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-sequencer@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz#6cef977ce1d39834a3aea887a1726628a6f072ce" + integrity sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw== + dependencies: + "@jest/test-result" "^29.7.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + slash "^3.0.0" + +"@jest/transform@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.7.0.tgz#df2dd9c346c7d7768b8a06639994640c642e284c" + integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw== + dependencies: + "@babel/core" "^7.11.6" + "@jest/types" "^29.6.3" + "@jridgewell/trace-mapping" "^0.3.18" + babel-plugin-istanbul "^6.1.1" + chalk "^4.0.0" + convert-source-map "^2.0.0" + fast-json-stable-stringify "^2.1.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-regex-util "^29.6.3" + jest-util "^29.7.0" + micromatch "^4.0.4" + pirates "^4.0.4" + slash "^3.0.0" + write-file-atomic "^4.0.2" + +"@jest/types@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" + integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== + dependencies: + "@jest/schemas" "^29.6.3" + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^17.0.8" + chalk "^4.0.0" + +"@jridgewell/gen-mapping@^0.3.5": + version "0.3.5" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" + integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== + dependencies: + "@jridgewell/set-array" "^1.2.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.24" + +"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": version "3.1.2" resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== -"@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.15" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== +"@jridgewell/set-array@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" + integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" + integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== "@jridgewell/trace-mapping@0.3.9": version "0.3.9" @@ -482,6 +853,14 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" +"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": + version "0.3.25" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" + integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + "@metamask/eth-sig-util@^4.0.0": version "4.0.1" resolved "https://registry.yarnpkg.com/@metamask/eth-sig-util/-/eth-sig-util-4.0.1.tgz#3ad61f6ea9ad73ba5b19db780d40d9aae5157088" @@ -907,6 +1286,25 @@ "@sentry/types" "5.30.0" tslib "^1.9.3" +"@sinclair/typebox@^0.27.8": + version "0.27.8" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" + integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== + +"@sinonjs/commons@^3.0.0": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-3.0.1.tgz#1029357e44ca901a615585f6d27738dbc89084cd" + integrity sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ== + dependencies: + type-detect "4.0.8" + +"@sinonjs/fake-timers@^10.0.2": + version "10.3.0" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz#55fdff1ecab9f354019129daf4df0dd4d923ea66" + integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== + dependencies: + "@sinonjs/commons" "^3.0.0" + "@solidity-parser/parser@^0.18.0": version "0.18.0" resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.18.0.tgz#8e77a02a09ecce957255a2f48c9a7178ec191908" @@ -932,7 +1330,40 @@ resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== -"@types/bn.js@^4.11.3", "@types/bn.js@^4.11.6": +"@types/babel__core@^7.1.14": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" + integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== + dependencies: + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.6.8" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.8.tgz#f836c61f48b1346e7d2b0d93c6dacc5b9535d3ab" + integrity sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f" + integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": + version "7.20.6" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.6.tgz#8dc9f0ae0f202c08d8d4dab648912c8d6038e3f7" + integrity sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg== + dependencies: + "@babel/types" "^7.20.7" + +"@types/bn.js@^4.11.3": version "4.11.6" resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.6.tgz#c306c70d9358aaea33cd4eda092a742b9505967c" integrity sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg== @@ -959,6 +1390,40 @@ "@types/minimatch" "*" "@types/node" "*" +"@types/graceful-fs@^4.1.3": + version "4.1.9" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz#2a06bc0f68a20ab37b3e36aa238be6abdf49e8b4" + integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== + dependencies: + "@types/node" "*" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.6" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" + integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== + +"@types/istanbul-lib-report@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" + integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" + integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/jest@29.5.12": + version "29.5.12" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.12.tgz#7f7dc6eb4cf246d2474ed78744b05d06ce025544" + integrity sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw== + dependencies: + expect "^29.0.0" + pretty-format "^29.0.0" + "@types/lru-cache@^5.1.0": version "5.1.1" resolved "https://registry.yarnpkg.com/@types/lru-cache/-/lru-cache-5.1.1.tgz#c48c2e27b65d2a153b19bfc1a317e30872e01eef" @@ -974,18 +1439,25 @@ resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.7.tgz#4c620090f28ca7f905a94b706f74dc5b57b44f2f" integrity sha512-GN8yJ1mNTcFcah/wKEFIJckJx9iJLoMSzWcfRRuxz/Jk+U6KQNnml+etbtxFK8lPjzOw3zp4Ha/kjSst9fsHYw== -"@types/node@*", "@types/node@20.14.9": - version "20.14.9" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.14.9.tgz#12e8e765ab27f8c421a1820c99f5f313a933b420" - integrity sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg== +"@types/node@*": + version "22.4.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.4.1.tgz#9b595d292c65b94c20923159e2ce947731b6fdce" + integrity sha512-1tbpb9325+gPnKK0dMm+/LMriX0vKxf6RnB0SZUqfyVkQ4fMgUSySqhxE/y8Jvs4NyF1yHzTfG9KlnkIODxPKg== dependencies: - undici-types "~5.26.4" + undici-types "~6.19.2" "@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@20.14.9": + version "20.14.9" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.14.9.tgz#12e8e765ab27f8c421a1820c99f5f313a933b420" + integrity sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg== + dependencies: + undici-types "~5.26.4" + "@types/pbkdf2@^3.0.0": version "3.1.2" resolved "https://registry.yarnpkg.com/@types/pbkdf2/-/pbkdf2-3.1.2.tgz#2dc43808e9985a2c69ff02e2d2027bd4fe33e8dc" @@ -1000,6 +1472,23 @@ dependencies: "@types/node" "*" +"@types/stack-utils@^2.0.0": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8" + integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== + +"@types/yargs-parser@*": + version "21.0.3" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" + integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== + +"@types/yargs@^17.0.8": + version "17.0.33" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.33.tgz#8c32303da83eec050a84b3c7ae7b9f922d13e32d" + integrity sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA== + dependencies: + "@types/yargs-parser" "*" + "@typescript-eslint/eslint-plugin@7.15.0": version "7.15.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.15.0.tgz#8eaf396ac2992d2b8f874b68eb3fcd6b179cb7f3" @@ -1081,6 +1570,11 @@ "@typescript-eslint/types" "7.15.0" eslint-visitor-keys "^3.4.3" +"@ungap/structured-clone@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" + integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== + abbrev@1: version "1.1.1" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" @@ -1118,7 +1612,7 @@ acorn-walk@^8.1.1: dependencies: acorn "^8.11.0" -acorn@^8.11.0, acorn@^8.12.0, acorn@^8.4.1: +acorn@^8.11.0, acorn@^8.4.1, acorn@^8.9.0: version "8.12.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.1.tgz#71616bdccbe25e27a54439e0046e89ca76df2248" integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg== @@ -1128,11 +1622,6 @@ adm-zip@^0.4.16: resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.4.16.tgz#cf4c508fdffab02c269cbc7f471a875f05570365" integrity sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg== -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== - 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" @@ -1190,13 +1679,20 @@ ansi-colors@^4.1.1, ansi-colors@^4.1.3: resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== -ansi-escapes@^4.3.0: +ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: version "4.3.2" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== dependencies: type-fest "^0.21.3" +ansi-escapes@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-7.0.0.tgz#00fc19f491bbb18e1d481b97868204f92109bfe7" + integrity sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw== + dependencies: + environment "^1.0.0" + ansi-regex@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" @@ -1221,12 +1717,17 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: dependencies: color-convert "^2.0.1" -ansi-styles@^6.1.0: +ansi-styles@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" + integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== + +ansi-styles@^6.0.0, ansi-styles@^6.1.0, ansi-styles@^6.2.1: version "6.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== -anymatch@~3.1.2: +anymatch@^3.0.3, anymatch@~3.1.2: version "3.1.3" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== @@ -1293,16 +1794,16 @@ async@1.x: resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" integrity sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w== +async@^3.2.3: + version "3.2.5" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.5.tgz#ebd52a8fdaf7a2289a24df399f8d8485c8a46b66" + integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg== + asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== -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" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - available-typed-arrays@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" @@ -1319,6 +1820,69 @@ axios@^1.6.7: form-data "^4.0.0" proxy-from-env "^1.1.0" +babel-jest@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.7.0.tgz#f4369919225b684c56085998ac63dbd05be020d5" + integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg== + dependencies: + "@jest/transform" "^29.7.0" + "@types/babel__core" "^7.1.14" + babel-plugin-istanbul "^6.1.1" + babel-preset-jest "^29.6.3" + chalk "^4.0.0" + graceful-fs "^4.2.9" + slash "^3.0.0" + +babel-plugin-istanbul@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" + integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-instrument "^5.0.4" + test-exclude "^6.0.0" + +babel-plugin-jest-hoist@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz#aadbe943464182a8922c3c927c3067ff40d24626" + integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.1.14" + "@types/babel__traverse" "^7.0.6" + +babel-preset-current-node-syntax@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz#9a929eafece419612ef4ae4f60b1862ebad8ef30" + integrity sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw== + dependencies: + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-bigint" "^7.8.3" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-import-attributes" "^7.24.7" + "@babel/plugin-syntax-import-meta" "^7.10.4" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" + +babel-preset-jest@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz#fa05fa510e7d493896d7b0dd2033601c840f171c" + integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA== + dependencies: + babel-plugin-jest-hoist "^29.6.3" + babel-preset-current-node-syntax "^1.0.0" + balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" @@ -1331,16 +1895,6 @@ base-x@^3.0.2: dependencies: safe-buffer "^5.0.1" -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.2" - resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.2.tgz#b7c4242259c008903b13707983b5f4bbd31eda0c" - integrity sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug== - binary-extensions@^2.0.0: version "2.3.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" @@ -1429,6 +1983,23 @@ browserify-aes@^1.2.0: inherits "^2.0.1" safe-buffer "^5.0.1" +browserslist@^4.23.1: + version "4.23.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.3.tgz#debb029d3c93ebc97ffbc8d9cbb03403e227c800" + integrity sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA== + dependencies: + caniuse-lite "^1.0.30001646" + electron-to-chromium "^1.5.4" + node-releases "^2.0.18" + update-browserslist-db "^1.1.0" + +bs-logger@0.x: + version "0.2.6" + resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" + integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== + dependencies: + fast-json-stable-stringify "2.x" + bs58@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" @@ -1445,6 +2016,13 @@ bs58check@^2.1.2: create-hash "^1.1.0" safe-buffer "^5.1.2" +bser@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== + dependencies: + node-int64 "^0.4.0" + buffer-from@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" @@ -1476,7 +2054,7 @@ callsites@^3.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camelcase@^5.0.0: +camelcase@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== @@ -1486,6 +2064,11 @@ camelcase@^6.0.0, camelcase@^6.2.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== +caniuse-lite@^1.0.30001646: + version "1.0.30001651" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001651.tgz#52de59529e8b02b1aedcaaf5c05d9e23c0c28138" + integrity sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg== + cbor@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/cbor/-/cbor-8.1.0.tgz#cfc56437e770b73417a2ecbfc9caf6b771af60d5" @@ -1518,7 +2101,7 @@ chai@5.1.1: loupe "^3.1.0" pathval "^2.0.0" -chalk@4.1.2, chalk@^4.0.0, chalk@^4.1.0: +chalk@4.1.2, chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -1535,6 +2118,16 @@ chalk@^2.4.1, chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" +chalk@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385" + integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== + +char-regex@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" + integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== + "charenc@>= 0.0.1": version "0.0.2" resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" @@ -1572,6 +2165,11 @@ ci-info@^2.0.0: resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== +ci-info@^3.2.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== + cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" @@ -1580,6 +2178,11 @@ cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: inherits "^2.0.1" safe-buffer "^5.0.1" +cjs-module-lexer@^1.0.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.3.1.tgz#c485341ae8fd999ca4ee5af2d7a1c9ae01e0099c" + integrity sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q== + clean-stack@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" @@ -1590,6 +2193,13 @@ cli-boxes@^2.2.1: resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== +cli-cursor@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-5.0.0.tgz#24a4831ecf5a6b01ddeb32fb71a4b2088b0dce38" + integrity sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw== + dependencies: + restore-cursor "^5.0.0" + cli-table3@^0.6.3: version "0.6.5" resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.5.tgz#013b91351762739c16a9567c21a04632e449bf2f" @@ -1599,14 +2209,13 @@ cli-table3@^0.6.3: optionalDependencies: "@colors/colors" "1.5.0" -cliui@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" - integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== +cli-truncate@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-4.0.0.tgz#6cc28a2924fee9e25ce91e973db56c7066e6172a" + integrity sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA== dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^6.2.0" + slice-ansi "^5.0.0" + string-width "^7.0.0" cliui@^7.0.2: version "7.0.4" @@ -1617,6 +2226,25 @@ cliui@^7.0.2: strip-ansi "^6.0.0" wrap-ansi "^7.0.0" +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== + +collect-v8-coverage@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz#c0b29bcd33bcd0779a1344c2136051e6afd3d9e9" + integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q== + color-convert@^1.9.0: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" @@ -1641,10 +2269,10 @@ color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -colors@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" - integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== +colorette@^2.0.20: + version "2.0.20" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" + integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== combined-stream@^1.0.8: version "1.0.8" @@ -1663,11 +2291,21 @@ commander@^8.1.0: resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== +commander@~12.1.0: + version "12.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-12.1.0.tgz#01423b36f501259fdaac4d0e4d60c96c991585d3" + integrity sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA== + concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + cookie@^0.4.1: version "0.4.2" resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" @@ -1696,6 +2334,19 @@ create-hmac@^1.1.4, create-hmac@^1.1.7: safe-buffer "^5.0.1" sha.js "^2.4.8" +create-jest@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/create-jest/-/create-jest-29.7.0.tgz#a355c5b3cb1e1af02ba177fe7afd7feee49a5320" + integrity sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q== + dependencies: + "@jest/types" "^29.6.3" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + jest-config "^29.7.0" + jest-util "^29.7.0" + prompts "^2.0.1" + create-require@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" @@ -1712,7 +2363,7 @@ cross-spawn@^6.0.5: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^7.0.0, cross-spawn@^7.0.2: +cross-spawn@^7.0.0, 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" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== @@ -1758,30 +2409,23 @@ death@^1.1.0: resolved "https://registry.yarnpkg.com/death/-/death-1.1.0.tgz#01aa9c401edd92750514470b8266390c66c67318" integrity sha512-vsV6S4KVHvTGxbEcij7hkWRv0It+sGGWVOM67dQde/o5Xjnr+KmLjxWJii2uEObIrt1CcM9w0Yaovx+iOlIL+w== -debug@4, debug@^4.1.1, debug@^4.3.5: +debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.3.5, debug@~4.3.6: version "4.3.6" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.6.tgz#2ab2c38fbaffebf8aa95fdfe6d88438c7a13c52b" integrity sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg== dependencies: ms "2.1.2" -debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: - version "4.3.5" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.5.tgz#e83444eceb9fedd4a1da56d671ae2446a01a6e1e" - integrity sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg== - dependencies: - ms "2.1.2" - -decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== - decamelize@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== +dedent@^1.0.0: + version "1.5.3" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.3.tgz#99aee19eb9bae55a67327717b6e848d0bf777e5a" + integrity sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ== + deep-eql@^5.0.1: version "5.0.2" resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-5.0.2.tgz#4b756d8d770a9257300825d52a2c2cff99c3a341" @@ -1792,6 +2436,11 @@ deep-is@^0.1.3, deep-is@~0.1.3: resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== +deepmerge@^4.2.2: + version "4.3.1" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== + define-data-property@^1.0.1, define-data-property@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" @@ -1820,6 +2469,16 @@ depd@2.0.0: resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== +detect-newline@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" + integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== + +diff-sequences@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" + integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== + diff@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" @@ -1844,21 +2503,35 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + dotenv@16.4.5: version "16.4.5" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.5.tgz#cdd3b3b604cb327e286b4762e13502f717cb099f" integrity sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg== -dotenv@^8.2.0: - version "8.6.0" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.6.0.tgz#061af664d19f7f4d8fc6e4ff9b584ce237adcb8b" - integrity sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== - eastasianwidth@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== +ejs@^3.1.10: + version "3.1.10" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.10.tgz#69ab8358b14e896f80cc39e62087b88500c3ac3b" + integrity sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA== + dependencies: + jake "^10.8.5" + +electron-to-chromium@^1.5.4: + version "1.5.11" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.11.tgz#258077f1077a1c72f2925cd5b326c470a7f5adef" + integrity sha512-R1CccCDYqndR25CaXFd6hp/u9RaaMcftMkphmvuepXr5b1vfLkRml6aWVeBhXJ7rbevHkKEMJtz8XqPf7ffmew== + elliptic@6.5.4: version "6.5.4" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" @@ -1885,6 +2558,16 @@ elliptic@^6.5.2, elliptic@^6.5.4: minimalistic-assert "^1.0.1" minimalistic-crypto-utils "^1.0.1" +emittery@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" + integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== + +emoji-regex@^10.3.0: + version "10.3.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-10.3.0.tgz#76998b9268409eb3dae3de989254d456e70cfe23" + integrity sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw== + emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" @@ -1908,6 +2591,11 @@ env-paths@^2.2.0: resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== +environment@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/environment/-/environment-1.1.0.tgz#8e86c66b180f363c7ab311787e0259665f45a9f1" + integrity sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q== + error-ex@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" @@ -2004,7 +2692,7 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -escalade@^3.1.1: +escalade@^3.1.1, escalade@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== @@ -2014,6 +2702,11 @@ escape-string-regexp@^1.0.5: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + escape-string-regexp@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" @@ -2044,55 +2737,54 @@ eslint-plugin-prettier@5.1.3: prettier-linter-helpers "^1.0.0" synckit "^0.8.6" -eslint-scope@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-8.0.1.tgz#a9601e4b81a0b9171657c343fb13111688963cfc" - integrity sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og== +eslint-scope@^7.2.2: + version "7.2.2" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" + integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== dependencies: esrecurse "^4.3.0" estraverse "^5.2.0" -eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.3: +eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: version "3.4.3" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== -eslint-visitor-keys@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz#e3adc021aa038a2a8e0b2f8b0ce8f66b9483b1fb" - integrity sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw== - -eslint@9.6.0: - version "9.6.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.6.0.tgz#9f54373afa15e1ba356656a8d96233182027fb49" - integrity sha512-ElQkdLMEEqQNM9Njff+2Y4q2afHk7JpkPvrd7Xh7xefwgQynqPxwf55J7di9+MEibWUGdNjFF9ITG9Pck5M84w== +eslint@8.57.0: + version "8.57.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.0.tgz#c786a6fd0e0b68941aaf624596fb987089195668" + integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.6.1" - "@eslint/config-array" "^0.17.0" - "@eslint/eslintrc" "^3.1.0" - "@eslint/js" "9.6.0" + "@eslint/eslintrc" "^2.1.4" + "@eslint/js" "8.57.0" + "@humanwhocodes/config-array" "^0.11.14" "@humanwhocodes/module-importer" "^1.0.1" - "@humanwhocodes/retry" "^0.3.0" "@nodelib/fs.walk" "^1.2.8" + "@ungap/structured-clone" "^1.2.0" ajv "^6.12.4" chalk "^4.0.0" cross-spawn "^7.0.2" debug "^4.3.2" + doctrine "^3.0.0" escape-string-regexp "^4.0.0" - eslint-scope "^8.0.1" - eslint-visitor-keys "^4.0.0" - espree "^10.1.0" - esquery "^1.5.0" + eslint-scope "^7.2.2" + eslint-visitor-keys "^3.4.3" + espree "^9.6.1" + esquery "^1.4.2" esutils "^2.0.2" fast-deep-equal "^3.1.3" - file-entry-cache "^8.0.0" + file-entry-cache "^6.0.1" find-up "^5.0.0" glob-parent "^6.0.2" + globals "^13.19.0" + graphemer "^1.4.0" ignore "^5.2.0" imurmurhash "^0.1.4" is-glob "^4.0.0" is-path-inside "^3.0.3" + js-yaml "^4.1.0" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" lodash.merge "^4.6.2" @@ -2102,14 +2794,14 @@ eslint@9.6.0: strip-ansi "^6.0.1" text-table "^0.2.0" -espree@^10.0.1, espree@^10.1.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-10.1.0.tgz#8788dae611574c0f070691f522e4116c5a11fc56" - integrity sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA== +espree@^9.6.0, espree@^9.6.1: + version "9.6.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" + integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== dependencies: - acorn "^8.12.0" + acorn "^8.9.0" acorn-jsx "^5.3.2" - eslint-visitor-keys "^4.0.0" + eslint-visitor-keys "^3.4.1" esprima@2.7.x, esprima@^2.7.1: version "2.7.3" @@ -2121,10 +2813,10 @@ esprima@^4.0.0: resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== -esquery@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" - integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== +esquery@^1.4.2: + version "1.6.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7" + integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg== dependencies: estraverse "^5.1.0" @@ -2150,22 +2842,6 @@ esutils@^2.0.2: resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== -ethereum-abi-types-generator@1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/ethereum-abi-types-generator/-/ethereum-abi-types-generator-1.3.4.tgz#3b950ed2ef05480b03e6956442d21a8c7ea56a67" - integrity sha512-5O775BQ9ZkLEJfX7uWkCt8kzt3HcLL/UVp8s6D4wjh6TWW5n1+xjR6jXUXNpCtZSr+gPqj2r2U6sUQ8yZ1+Odw== - dependencies: - "@types/bn.js" "^4.11.6" - bignumber.js "^9.0.0" - colors "^1.4.0" - dotenv "^8.2.0" - ethers "^4.0.47" - ethersv5 "npm:ethers@^5.0.32" - fs-extra "^9.0.0" - prettier "^2.0.5" - reflect-metadata "^0.1.13" - yargs "^15.3.1" - ethereum-bloom-filters@^1.0.6: version "1.2.0" resolved "https://registry.yarnpkg.com/ethereum-bloom-filters/-/ethereum-bloom-filters-1.2.0.tgz#8294f074c1a6cbd32c39d2cc77ce86ff14797dab" @@ -2235,34 +2911,6 @@ ethereumjs-util@^6.0.0, ethereumjs-util@^6.2.1: ethjs-util "0.1.6" rlp "^2.2.3" -ethers@6.13.1: - version "6.13.1" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.13.1.tgz#2b9f9c7455cde9d38b30fe6589972eb083652961" - integrity sha512-hdJ2HOxg/xx97Lm9HdCWk949BfYqYWpyw4//78SiwOLgASyfrNszfMUNB2joKjvGUdwhHfaiMMFFwacVVoLR9A== - dependencies: - "@adraffy/ens-normalize" "1.10.1" - "@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.17.1" - -ethers@^4.0.47: - version "4.0.49" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.49.tgz#0eb0e9161a0c8b4761be547396bbe2fb121a8894" - integrity sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg== - dependencies: - aes-js "3.0.0" - bn.js "^4.11.9" - elliptic "6.5.4" - hash.js "1.1.3" - js-sha3 "0.5.7" - scrypt-js "2.0.4" - setimmediate "1.0.4" - uuid "2.0.1" - xmlhttprequest "1.8.0" - ethers@^6.7.0: version "6.13.2" resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.13.2.tgz#4b67d4b49e69b59893931a032560999e5e4419fe" @@ -2276,42 +2924,6 @@ ethers@^6.7.0: tslib "2.4.0" ws "8.17.1" -"ethersv5@npm:ethers@^5.0.32": - version "5.7.2" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.2.tgz#3a7deeabbb8c030d4126b24f84e525466145872e" - integrity sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg== - dependencies: - "@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" resolved "https://registry.yarnpkg.com/ethjs-unit/-/ethjs-unit-0.1.6.tgz#c665921e476e87bce2a9d588a6fe0405b2c41699" @@ -2328,6 +2940,11 @@ ethjs-util@0.1.6, ethjs-util@^0.1.6: is-hex-prefixed "1.0.0" strip-hex-prefix "1.0.0" +eventemitter3@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4" + integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== + evp_bytestokey@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" @@ -2336,6 +2953,52 @@ evp_bytestokey@^1.0.3: md5.js "^1.3.4" safe-buffer "^5.1.1" +execa@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + +execa@~8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-8.0.1.tgz#51f6a5943b580f963c3ca9c6321796db8cc39b8c" + integrity sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^8.0.1" + human-signals "^5.0.0" + is-stream "^3.0.0" + merge-stream "^2.0.0" + npm-run-path "^5.1.0" + onetime "^6.0.0" + signal-exit "^4.1.0" + strip-final-newline "^3.0.0" + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== + +expect@^29.0.0, expect@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-29.7.0.tgz#578874590dcb3214514084c08115d8aee61e11bc" + integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== + dependencies: + "@jest/expect-utils" "^29.7.0" + jest-get-type "^29.6.3" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" @@ -2357,7 +3020,7 @@ fast-glob@^3.0.3, fast-glob@^3.2.9: merge2 "^1.3.0" micromatch "^4.0.4" -fast-json-stable-stringify@^2.0.0: +fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== @@ -2379,12 +3042,26 @@ fastq@^1.6.0: dependencies: reusify "^1.0.4" -file-entry-cache@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-8.0.0.tgz#7787bddcf1131bffb92636c69457bbc0edd6d81f" - integrity sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ== +fb-watchman@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" + integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== + dependencies: + bser "2.1.1" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +filelist@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5" + integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== dependencies: - flat-cache "^4.0.0" + minimatch "^5.0.1" fill-range@^7.1.1: version "7.1.1" @@ -2400,7 +3077,7 @@ find-up@^2.1.0: dependencies: locate-path "^2.0.0" -find-up@^4.1.0: +find-up@^4.0.0, find-up@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== @@ -2416,13 +3093,14 @@ find-up@^5.0.0: locate-path "^6.0.0" path-exists "^4.0.0" -flat-cache@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-4.0.1.tgz#0ece39fcb14ee012f4b0410bd33dd9c1f011127c" - integrity sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw== +flat-cache@^3.0.4: + version "3.2.0" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" + integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== dependencies: flatted "^3.2.9" - keyv "^4.5.4" + keyv "^4.5.3" + rimraf "^3.0.2" flat@^5.0.2: version "5.0.2" @@ -2500,22 +3178,12 @@ fs-extra@^8.1.0: jsonfile "^4.0.0" universalify "^0.1.0" -fs-extra@^9.0.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== -fsevents@~2.3.2: +fsevents@^2.3.2, fsevents@~2.3.2: version "2.3.3" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== @@ -2540,11 +3208,21 @@ functions-have-names@^1.2.3: resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== -get-caller-file@^2.0.1, get-caller-file@^2.0.5: +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-caller-file@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== +get-east-asian-width@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz#5e6ebd9baee6fb8b7b6bd505221065f0cd91f64e" + integrity sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA== + get-func-name@^2.0.1, get-func-name@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.2.tgz#0d7cf20cd13fda808669ffa88f4ffc7a3943fc41" @@ -2561,6 +3239,21 @@ get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.3, get-intrinsic@ has-symbols "^1.0.3" hasown "^2.0.0" +get-package-type@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" + integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== + +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +get-stream@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-8.0.1.tgz#def9dfd71742cd7754a7761ed43749a27d02eca2" + integrity sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== + get-symbol-description@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.2.tgz#533744d5aa20aca4e079c8e5daf7fd44202821f5" @@ -2627,7 +3320,7 @@ glob@^5.0.15: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.0, glob@^7.1.3: +glob@^7.0.0, glob@^7.1.3, glob@^7.1.4: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== @@ -2666,10 +3359,17 @@ global-prefix@^3.0.0: kind-of "^6.0.2" which "^1.3.1" -globals@^14.0.0: - version "14.0.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-14.0.0.tgz#898d7413c29babcf6bafe56fcadded858ada724e" - integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ== +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globals@^13.19.0: + version "13.24.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" + integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== + dependencies: + type-fest "^0.20.2" globalthis@^1.0.3: version "1.0.4" @@ -2712,7 +3412,7 @@ gopd@^1.0.1: dependencies: get-intrinsic "^1.1.3" -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.9: version "4.2.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== @@ -2857,14 +3557,6 @@ hash-base@^3.0.0: readable-stream "^3.6.0" safe-buffer "^5.2.0" -hash.js@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.3.tgz#340dedbe6290187151c1ea1d777a3448935df846" - integrity sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.0" - hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" @@ -2904,6 +3596,11 @@ hosted-git-info@^2.1.4: resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + http-errors@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" @@ -2923,6 +3620,16 @@ https-proxy-agent@^5.0.0: agent-base "6" debug "4" +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + +human-signals@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-5.0.0.tgz#42665a284f9ae0dade3ba41ebc37eb4b852f3a28" + integrity sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== + husky@9.0.11: version "9.0.11" resolved "https://registry.yarnpkg.com/husky/-/husky-9.0.11.tgz#fc91df4c756050de41b3e478b2158b87c1e79af9" @@ -2935,16 +3642,11 @@ iconv-lite@0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" -ignore@^5.1.1: +ignore@^5.1.1, ignore@^5.2.0, ignore@^5.3.1: version "5.3.2" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== -ignore@^5.2.0, ignore@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" - integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== - immer@10.0.2: version "10.0.2" resolved "https://registry.yarnpkg.com/immer/-/immer-10.0.2.tgz#11636c5b77acf529e059582d76faf338beb56141" @@ -2963,6 +3665,14 @@ import-fresh@^3.2.1: parent-module "^1.0.0" resolve-from "^4.0.0" +import-local@^3.0.2: + version "3.2.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.2.0.tgz#c3d5c745798c02a6f8b897726aba5100186ee260" + integrity sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" @@ -3053,9 +3763,9 @@ is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== is-core-module@^2.13.0: - version "2.14.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.14.0.tgz#43b8ef9f46a6a08888db67b1ffd4ec9e3dfd59d1" - integrity sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A== + version "2.15.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.15.0.tgz#71c72ec5442ace7e76b306e9d48db361f22699ea" + integrity sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA== dependencies: hasown "^2.0.2" @@ -3083,6 +3793,23 @@ is-fullwidth-code-point@^3.0.0: resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== +is-fullwidth-code-point@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz#fae3167c729e7463f8461ce512b080a49268aa88" + integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== + +is-fullwidth-code-point@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz#9609efced7c2f97da7b60145ef481c787c7ba704" + integrity sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA== + dependencies: + get-east-asian-width "^1.0.0" + +is-generator-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" + integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== + is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" @@ -3135,81 +3862,512 @@ is-shared-array-buffer@^1.0.2, is-shared-array-buffer@^1.0.3: resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz#1237f1cba059cdb62431d378dcc37d9680181688" integrity sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg== dependencies: - call-bind "^1.0.7" + call-bind "^1.0.7" + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" + integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== + +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +is-typed-array@^1.1.13: + version "1.1.13" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.13.tgz#d6c5ca56df62334959322d7d7dd1cca50debe229" + integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== + dependencies: + which-typed-array "^1.1.14" + +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + +is-weakref@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +isows@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/isows/-/isows-1.0.3.tgz#93c1cf0575daf56e7120bab5c8c448b0809d0d74" + integrity sha512-2cKei4vlmg2cxEjm3wVSqn8pcoRF/LX/wpifuuNquFO4SQmPwarClT+SUCA2lt+l581tTeZIPIZuIDo2jWN1fg== + +isows@1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/isows/-/isows-1.0.4.tgz#810cd0d90cc4995c26395d2aa4cfa4037ebdf061" + integrity sha512-hEzjY+x9u9hPmBom9IIAqdJCwNLax+xrPb51vEPpERoFlIxgmZcHzsT5jKG06nvInKOBGvReAVz80Umed5CczQ== + +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" + integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== + +istanbul-lib-instrument@^5.0.4: + version "5.2.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" + integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== + dependencies: + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.2.0" + semver "^6.3.0" + +istanbul-lib-instrument@^6.0.0: + version "6.0.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz#fa15401df6c15874bcb2105f773325d78c666765" + integrity sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q== + dependencies: + "@babel/core" "^7.23.9" + "@babel/parser" "^7.23.9" + "@istanbuljs/schema" "^0.1.3" + istanbul-lib-coverage "^3.2.0" + semver "^7.5.4" + +istanbul-lib-report@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#908305bac9a5bd175ac6a74489eafd0fc2445a7d" + integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^4.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" + integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.1.3: + version "3.1.7" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.7.tgz#daed12b9e1dca518e15c056e1e537e741280fa0b" + integrity sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +jackspeak@^3.1.2: + version "3.4.3" + resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-3.4.3.tgz#8833a9d89ab4acde6188942bd1c53b6390ed5a8a" + integrity sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw== + dependencies: + "@isaacs/cliui" "^8.0.2" + optionalDependencies: + "@pkgjs/parseargs" "^0.11.0" + +jake@^10.8.5: + version "10.9.2" + resolved "https://registry.yarnpkg.com/jake/-/jake-10.9.2.tgz#6ae487e6a69afec3a5e167628996b59f35ae2b7f" + integrity sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA== + dependencies: + async "^3.2.3" + chalk "^4.0.2" + filelist "^1.0.4" + minimatch "^3.1.2" + +jest-changed-files@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.7.0.tgz#1c06d07e77c78e1585d020424dedc10d6e17ac3a" + integrity sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w== + dependencies: + execa "^5.0.0" + jest-util "^29.7.0" + p-limit "^3.1.0" + +jest-circus@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.7.0.tgz#b6817a45fcc835d8b16d5962d0c026473ee3668a" + integrity sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/expect" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + dedent "^1.0.0" + is-generator-fn "^2.0.0" + jest-each "^29.7.0" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-runtime "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + p-limit "^3.1.0" + pretty-format "^29.7.0" + pure-rand "^6.0.0" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-cli@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.7.0.tgz#5592c940798e0cae677eec169264f2d839a37995" + integrity sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg== + dependencies: + "@jest/core" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + chalk "^4.0.0" + create-jest "^29.7.0" + exit "^0.1.2" + import-local "^3.0.2" + jest-config "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + yargs "^17.3.1" + +jest-config@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.7.0.tgz#bcbda8806dbcc01b1e316a46bb74085a84b0245f" + integrity sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ== + dependencies: + "@babel/core" "^7.11.6" + "@jest/test-sequencer" "^29.7.0" + "@jest/types" "^29.6.3" + babel-jest "^29.7.0" + chalk "^4.0.0" + ci-info "^3.2.0" + deepmerge "^4.2.2" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-circus "^29.7.0" + jest-environment-node "^29.7.0" + jest-get-type "^29.6.3" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-runner "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + micromatch "^4.0.4" + parse-json "^5.2.0" + pretty-format "^29.7.0" + slash "^3.0.0" + strip-json-comments "^3.1.1" + +jest-diff@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.7.0.tgz#017934a66ebb7ecf6f205e84699be10afd70458a" + integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== + dependencies: + chalk "^4.0.0" + diff-sequences "^29.6.3" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-docblock@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.7.0.tgz#8fddb6adc3cdc955c93e2a87f61cfd350d5d119a" + integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g== + dependencies: + detect-newline "^3.0.0" + +jest-each@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.7.0.tgz#162a9b3f2328bdd991beaabffbb74745e56577d1" + integrity sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ== + dependencies: + "@jest/types" "^29.6.3" + chalk "^4.0.0" + jest-get-type "^29.6.3" + jest-util "^29.7.0" + pretty-format "^29.7.0" + +jest-environment-node@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.7.0.tgz#0b93e111dda8ec120bc8300e6d1fb9576e164376" + integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-mock "^29.7.0" + jest-util "^29.7.0" + +jest-get-type@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1" + integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== + +jest-haste-map@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.7.0.tgz#3c2396524482f5a0506376e6c858c3bbcc17b104" + integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA== + dependencies: + "@jest/types" "^29.6.3" + "@types/graceful-fs" "^4.1.3" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.9" + jest-regex-util "^29.6.3" + jest-util "^29.7.0" + jest-worker "^29.7.0" + micromatch "^4.0.4" + walker "^1.0.8" + optionalDependencies: + fsevents "^2.3.2" -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== +jest-leak-detector@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz#5b7ec0dadfdfec0ca383dc9aa016d36b5ea4c728" + integrity sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw== dependencies: - has-tostringtag "^1.0.0" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== +jest-matcher-utils@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz#ae8fec79ff249fd592ce80e3ee474e83a6c44f12" + integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== dependencies: - has-symbols "^1.0.2" + chalk "^4.0.0" + jest-diff "^29.7.0" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-message-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.7.0.tgz#8bc392e204e95dfe7564abbe72a404e28e51f7f3" + integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== + dependencies: + "@babel/code-frame" "^7.12.13" + "@jest/types" "^29.6.3" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.9" + micromatch "^4.0.4" + pretty-format "^29.7.0" + slash "^3.0.0" + stack-utils "^2.0.3" -is-typed-array@^1.1.13: - version "1.1.13" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.13.tgz#d6c5ca56df62334959322d7d7dd1cca50debe229" - integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== +jest-mock@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.7.0.tgz#4e836cf60e99c6fcfabe9f99d017f3fdd50a6347" + integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw== dependencies: - which-typed-array "^1.1.14" + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-util "^29.7.0" -is-unicode-supported@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" - integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== +jest-pnp-resolver@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" + integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== -is-weakref@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== +jest-regex-util@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.6.3.tgz#4a556d9c776af68e1c5f48194f4d0327d24e8a52" + integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg== + +jest-resolve-dependencies@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz#1b04f2c095f37fc776ff40803dc92921b1e88428" + integrity sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA== dependencies: - call-bind "^1.0.2" + jest-regex-util "^29.6.3" + jest-snapshot "^29.7.0" -isarray@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== +jest-resolve@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.7.0.tgz#64d6a8992dd26f635ab0c01e5eef4399c6bcbc30" + integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA== + dependencies: + chalk "^4.0.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-pnp-resolver "^1.2.2" + jest-util "^29.7.0" + jest-validate "^29.7.0" + resolve "^1.20.0" + resolve.exports "^2.0.0" + slash "^3.0.0" -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== +jest-runner@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.7.0.tgz#809af072d408a53dcfd2e849a4c976d3132f718e" + integrity sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ== + dependencies: + "@jest/console" "^29.7.0" + "@jest/environment" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.13.1" + graceful-fs "^4.2.9" + jest-docblock "^29.7.0" + jest-environment-node "^29.7.0" + jest-haste-map "^29.7.0" + jest-leak-detector "^29.7.0" + jest-message-util "^29.7.0" + jest-resolve "^29.7.0" + jest-runtime "^29.7.0" + jest-util "^29.7.0" + jest-watcher "^29.7.0" + jest-worker "^29.7.0" + p-limit "^3.1.0" + source-map-support "0.5.13" + +jest-runtime@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.7.0.tgz#efecb3141cf7d3767a3a0cc8f7c9990587d3d817" + integrity sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/globals" "^29.7.0" + "@jest/source-map" "^29.6.3" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + cjs-module-lexer "^1.0.0" + collect-v8-coverage "^1.0.0" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-message-util "^29.7.0" + jest-mock "^29.7.0" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + slash "^3.0.0" + strip-bom "^4.0.0" + +jest-snapshot@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.7.0.tgz#c2c574c3f51865da1bb329036778a69bf88a6be5" + integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw== + dependencies: + "@babel/core" "^7.11.6" + "@babel/generator" "^7.7.2" + "@babel/plugin-syntax-jsx" "^7.7.2" + "@babel/plugin-syntax-typescript" "^7.7.2" + "@babel/types" "^7.3.3" + "@jest/expect-utils" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + babel-preset-current-node-syntax "^1.0.0" + chalk "^4.0.0" + expect "^29.7.0" + graceful-fs "^4.2.9" + jest-diff "^29.7.0" + jest-get-type "^29.6.3" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + natural-compare "^1.4.0" + pretty-format "^29.7.0" + semver "^7.5.3" -isows@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/isows/-/isows-1.0.3.tgz#93c1cf0575daf56e7120bab5c8c448b0809d0d74" - integrity sha512-2cKei4vlmg2cxEjm3wVSqn8pcoRF/LX/wpifuuNquFO4SQmPwarClT+SUCA2lt+l581tTeZIPIZuIDo2jWN1fg== +jest-util@^29.0.0, jest-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" + integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" -isows@1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/isows/-/isows-1.0.4.tgz#810cd0d90cc4995c26395d2aa4cfa4037ebdf061" - integrity sha512-hEzjY+x9u9hPmBom9IIAqdJCwNLax+xrPb51vEPpERoFlIxgmZcHzsT5jKG06nvInKOBGvReAVz80Umed5CczQ== +jest-validate@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.7.0.tgz#7bf705511c64da591d46b15fce41400d52147d9c" + integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw== + dependencies: + "@jest/types" "^29.6.3" + camelcase "^6.2.0" + chalk "^4.0.0" + jest-get-type "^29.6.3" + leven "^3.1.0" + pretty-format "^29.7.0" -jackspeak@^3.1.2: - version "3.4.3" - resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-3.4.3.tgz#8833a9d89ab4acde6188942bd1c53b6390ed5a8a" - integrity sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw== +jest-watcher@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.7.0.tgz#7810d30d619c3a62093223ce6bb359ca1b28a2f2" + integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g== dependencies: - "@isaacs/cliui" "^8.0.2" - optionalDependencies: - "@pkgjs/parseargs" "^0.11.0" + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + emittery "^0.13.1" + jest-util "^29.7.0" + string-length "^4.0.1" + +jest-worker@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a" + integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== + dependencies: + "@types/node" "*" + jest-util "^29.7.0" + merge-stream "^2.0.0" + supports-color "^8.0.0" -js-sha3@0.5.7: - version "0.5.7" - resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.5.7.tgz#0d4ffd8002d5333aabaf4a23eed2f6374c9f28e7" - integrity sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g== +jest@29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-29.7.0.tgz#994676fc24177f088f1c5e3737f5697204ff2613" + integrity sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw== + dependencies: + "@jest/core" "^29.7.0" + "@jest/types" "^29.6.3" + import-local "^3.0.2" + jest-cli "^29.7.0" js-sha3@0.8.0, js-sha3@^0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== -js-yaml@3.x: +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@3.x, js-yaml@^3.13.1: version "3.14.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== @@ -3224,6 +4382,11 @@ js-yaml@^4.1.0: dependencies: argparse "^2.0.1" +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + json-buffer@3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" @@ -3234,6 +4397,11 @@ json-parse-better-errors@^1.0.1: resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" @@ -3254,7 +4422,7 @@ json-stringify-safe@^5.0.1: resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== -json5@^2.2.2: +json5@^2.2.2, json5@^2.2.3: version "2.2.3" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== @@ -3289,7 +4457,7 @@ keccak@^3.0.0, keccak@^3.0.2: node-gyp-build "^4.2.0" readable-stream "^3.6.0" -keyv@^4.5.4: +keyv@^4.5.3: version "4.5.4" resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== @@ -3306,6 +4474,11 @@ kleur@^3.0.3: resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + levn@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" @@ -3322,6 +4495,44 @@ levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" +lilconfig@~3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.2.tgz#e4a7c3cb549e3a606c8dcc32e5ae1005e62c05cb" + integrity sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow== + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +lint-staged@15.2.9: + version "15.2.9" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-15.2.9.tgz#bf70d40b6b192df6ad756fb89822211615e0f4da" + integrity sha512-BZAt8Lk3sEnxw7tfxM7jeZlPRuT4M68O0/CwZhhaw6eeWu0Lz5eERE3m386InivXB64fp/mDID452h48tvKlRQ== + dependencies: + chalk "~5.3.0" + commander "~12.1.0" + debug "~4.3.6" + execa "~8.0.1" + lilconfig "~3.1.2" + listr2 "~8.2.4" + micromatch "~4.0.7" + pidtree "~0.6.0" + string-argv "~0.3.2" + yaml "~2.5.0" + +listr2@~8.2.4: + version "8.2.4" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-8.2.4.tgz#486b51cbdb41889108cb7e2c90eeb44519f5a77f" + integrity sha512-opevsywziHd3zHCVQGAj8zu+Z3yHNkkoYhWIGnq54RrCVwLz0MozotJEDnKsIBLvkfLGN6BLOyAeRrYI0pKA4g== + dependencies: + cli-truncate "^4.0.0" + colorette "^2.0.20" + eventemitter3 "^5.0.1" + log-update "^6.1.0" + rfdc "^1.4.1" + wrap-ansi "^9.0.0" + load-json-file@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" @@ -3364,7 +4575,7 @@ lodash.isequal@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== -lodash.memoize@^4.1.2: +lodash.memoize@4.x, lodash.memoize@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== @@ -3392,6 +4603,17 @@ log-symbols@^4.1.0: chalk "^4.1.0" is-unicode-supported "^0.1.0" +log-update@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-6.1.0.tgz#1a04ff38166f94647ae1af562f4bd6a15b1b7cd4" + integrity sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w== + dependencies: + ansi-escapes "^7.0.0" + cli-cursor "^5.0.0" + slice-ansi "^7.1.0" + strip-ansi "^7.1.0" + wrap-ansi "^9.0.0" + loupe@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/loupe/-/loupe-3.1.1.tgz#71d038d59007d890e3247c5db97c1ec5a92edc54" @@ -3404,16 +4626,37 @@ lru-cache@^10.2.0: resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + lru_map@^0.3.3: version "0.3.3" resolved "https://registry.yarnpkg.com/lru_map/-/lru_map-0.3.3.tgz#b5c8351b9464cbd750335a79650a0ec0e56118dd" integrity sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ== -make-error@^1.1.1: +make-dir@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e" + integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== + dependencies: + semver "^7.5.3" + +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== +makeerror@1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" + integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== + dependencies: + tmpl "1.0.5" + markdown-table@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-2.0.0.tgz#194a90ced26d31fe753d8b9434430214c011865b" @@ -3435,6 +4678,11 @@ memorystream@^0.3.1: resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" integrity sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw== +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + merge2@^1.2.3, merge2@^1.3.0, merge2@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" @@ -3445,7 +4693,7 @@ micro-ftch@^0.3.1: resolved "https://registry.yarnpkg.com/micro-ftch/-/micro-ftch-0.3.1.tgz#6cb83388de4c1f279a034fb0cf96dfc050853c5f" integrity sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg== -micromatch@^4.0.4: +micromatch@^4.0.4, micromatch@~4.0.7: version "4.0.7" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.7.tgz#33e8190d9fe474a9895525f5618eee136d46c2e5" integrity sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q== @@ -3465,6 +4713,21 @@ mime-types@^2.1.12: dependencies: mime-db "1.52.0" +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +mimic-fn@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" + integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== + +mimic-function@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/mimic-function/-/mimic-function-5.0.1.tgz#acbe2b3349f99b9deaca7fb70e48b83e94e67076" + integrity sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA== + minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" @@ -3599,6 +4862,16 @@ node-gyp-build@^4.2.0: resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.1.tgz#976d3ad905e71b76086f4f0b0d3637fe79b6cda5" integrity sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw== +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== + +node-releases@^2.0.18: + version "2.0.18" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f" + integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g== + nofilter@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-3.1.0.tgz#c757ba68801d41ff930ba2ec55bab52ca184aa66" @@ -3641,6 +4914,20 @@ npm-run-all@4.1.5: shell-quote "^1.6.1" string.prototype.padend "^3.0.0" +npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +npm-run-path@^5.1.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.3.0.tgz#e23353d0ebb9317f174e93417e4a4d82d0249e9f" + integrity sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ== + dependencies: + path-key "^4.0.0" + number-to-bn@1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/number-to-bn/-/number-to-bn-1.7.0.tgz#bb3623592f7e5f9e0030b1977bd41a0c53fe1ea0" @@ -3681,6 +4968,27 @@ once@1.x, once@^1.3.0: dependencies: wrappy "1" +onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +onetime@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" + integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== + dependencies: + mimic-fn "^4.0.0" + +onetime@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-7.0.0.tgz#9f16c92d8c9ef5120e3acd9dd9957cceecc1ab60" + integrity sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ== + dependencies: + mimic-function "^5.0.0" + optionator@^0.8.1: version "0.8.3" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" @@ -3724,7 +5032,7 @@ p-limit@^2.2.0: dependencies: p-try "^2.0.0" -p-limit@^3.0.2: +p-limit@^3.0.2, p-limit@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== @@ -3789,6 +5097,16 @@ parse-json@^4.0.0: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" +parse-json@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" @@ -3809,11 +5127,16 @@ path-key@^2.0.1: resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== -path-key@^3.1.0: +path-key@^3.0.0, path-key@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== +path-key@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" + integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== + path-parse@^1.0.6, path-parse@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" @@ -3855,7 +5178,12 @@ pbkdf2@^3.0.17: safe-buffer "^5.0.1" sha.js "^2.4.8" -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: +picocolors@^1.0.0, picocolors@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1" + integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== @@ -3865,6 +5193,11 @@ pidtree@^0.3.0: resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.3.1.tgz#ef09ac2cc0533df1f3250ccf2c4d366b0d12114a" integrity sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA== +pidtree@~0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c" + integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== + pify@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" @@ -3875,6 +5208,18 @@ pify@^4.0.1: resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== +pirates@^4.0.4: + version "4.0.6" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" + integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== + +pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + possible-typed-array-names@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" @@ -3902,12 +5247,16 @@ prettier@3.3.2: resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.3.2.tgz#03ff86dc7c835f2d2559ee76876a3914cec4a90a" integrity sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA== -prettier@^2.0.5: - version "2.8.8" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" - integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== +pretty-format@^29.0.0, pretty-format@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" + integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== + dependencies: + "@jest/schemas" "^29.6.3" + ansi-styles "^5.0.0" + react-is "^18.0.0" -prompts@^2.4.2: +prompts@^2.0.1, prompts@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== @@ -3925,6 +5274,11 @@ punycode@^2.1.0: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== +pure-rand@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.1.0.tgz#d173cf23258231976ccbdb05247c9787957604f2" + integrity sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA== + queue-microtask@^1.2.2: version "1.2.3" resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" @@ -3947,6 +5301,11 @@ raw-body@^2.4.1: iconv-lite "0.4.24" unpipe "1.0.0" +react-is@^18.0.0: + version "18.3.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" + integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== + read-pkg@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" @@ -3986,11 +5345,6 @@ recursive-readdir@^2.2.2: dependencies: minimatch "^3.0.5" -reflect-metadata@^0.1.13: - version "0.1.14" - resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.14.tgz#24cf721fe60677146bb77eeb0e1f9dece3d65859" - integrity sha512-ZhYeb6nRaXCfhnndflDK8qI6ZQ/YcWZCISRAWICW9XYqMUwjZM9Z0DveWX/ABN01oxSHwVxKQmxeYZSsm0jh5A== - regexp.prototype.flags@^1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz#138f644a3350f981a858c44f6bb1a61ff59be334" @@ -4016,16 +5370,28 @@ require-from-string@^2.0.2: resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" resolve-from@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve.exports@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" + integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== + resolve@1.1.x: version "1.1.7" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" @@ -4038,7 +5404,7 @@ resolve@1.17.0: dependencies: path-parse "^1.0.6" -resolve@^1.1.6, resolve@^1.10.0: +resolve@^1.1.6, resolve@^1.10.0, resolve@^1.20.0: version "1.22.8" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== @@ -4047,11 +5413,31 @@ resolve@^1.1.6, resolve@^1.10.0: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" +restore-cursor@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-5.1.0.tgz#0766d95699efacb14150993f55baf0953ea1ebe7" + integrity sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA== + dependencies: + onetime "^7.0.0" + signal-exit "^4.1.0" + reusify@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== +rfdc@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.4.1.tgz#778f76c4fb731d93414e8f925fbecf64cce7f6ca" + integrity sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA== + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + ripemd160@^2.0.0, ripemd160@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" @@ -4123,12 +5509,7 @@ sc-istanbul@^0.4.5: which "^1.1.1" wordwrap "^1.0.0" -scrypt-js@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-2.0.4.tgz#32f8c5149f0797672e551c07e230f834b6af5f16" - integrity sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw== - -scrypt-js@3.0.1, scrypt-js@^3.0.0: +scrypt-js@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== @@ -4147,21 +5528,16 @@ secp256k1@^4.0.1: resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== -semver@^6.3.0: +semver@^6.3.0, semver@^6.3.1: version "6.3.1" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.4: +semver@^7.3.4, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0: version "7.6.3" resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== -semver@^7.6.0: - version "7.6.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.2.tgz#1e3b34759f896e8f14d6134732ce798aeb0c6e13" - integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== - serialize-javascript@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" @@ -4169,11 +5545,6 @@ serialize-javascript@^6.0.2: dependencies: randombytes "^2.1.0" -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== - set-function-length@^1.2.1: version "1.2.2" resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" @@ -4196,11 +5567,6 @@ set-function-name@^2.0.1: functions-have-names "^1.2.3" has-property-descriptors "^1.0.2" -setimmediate@1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.4.tgz#20e81de622d4a02588ce0c8da8973cbcf1d3138f" - integrity sha512-/TjEmXQVEzdod/FFskf3o7oOAsGhHf2j1dZqRFbDzq4F3mvvxflIIi4Hd3bLQE9y/CpwqfSQam5JakI/mi3Pog== - setimmediate@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" @@ -4275,7 +5641,12 @@ side-channel@^1.0.4: get-intrinsic "^1.2.4" object-inspect "^1.13.1" -signal-exit@^4.0.1: +signal-exit@^3.0.3, signal-exit@^3.0.7: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +signal-exit@^4.0.1, signal-exit@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== @@ -4299,6 +5670,22 @@ slice-ansi@^4.0.0: astral-regex "^2.0.0" is-fullwidth-code-point "^3.0.0" +slice-ansi@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-5.0.0.tgz#b73063c57aa96f9cd881654b15294d95d285c42a" + integrity sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== + dependencies: + ansi-styles "^6.0.0" + is-fullwidth-code-point "^4.0.0" + +slice-ansi@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-7.1.0.tgz#cd6b4655e298a8d1bdeb04250a433094b347b9a9" + integrity sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg== + dependencies: + ansi-styles "^6.2.1" + is-fullwidth-code-point "^5.0.0" + solc@0.8.26: version "0.8.26" resolved "https://registry.yarnpkg.com/solc/-/solc-0.8.26.tgz#afc78078953f6ab3e727c338a2fefcd80dd5b01a" @@ -4345,6 +5732,14 @@ soltypes@2.0.0: "@ethersproject/bignumber" "^5.6.0" js-sha3 "^0.8.0" +source-map-support@0.5.13: + version "0.5.13" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" + integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + source-map-support@^0.5.13: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" @@ -4403,6 +5798,13 @@ sprintf-js@~1.0.2: resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== +stack-utils@^2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" + integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== + dependencies: + escape-string-regexp "^2.0.0" + stacktrace-parser@^0.1.10: version "0.1.10" resolved "https://registry.yarnpkg.com/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz#29fb0cae4e0d0b85155879402857a1639eb6051a" @@ -4415,6 +5817,19 @@ statuses@2.0.1: resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== +string-argv@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.2.tgz#2b6d0ef24b656274d957d54e0a4bbf6153dc02b6" + integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== + +string-length@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" + integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== + dependencies: + char-regex "^1.0.2" + strip-ansi "^6.0.0" + "string-width-cjs@npm:string-width@^4.2.0": version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" @@ -4442,6 +5857,15 @@ string-width@^5.0.1, string-width@^5.1.2: emoji-regex "^9.2.2" strip-ansi "^7.0.1" +string-width@^7.0.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-7.2.0.tgz#b5bb8e2165ce275d4d43476dd2700ad9091db6dc" + integrity sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ== + dependencies: + emoji-regex "^10.3.0" + get-east-asian-width "^1.0.0" + strip-ansi "^7.1.0" + string.prototype.padend@^3.0.0: version "3.1.6" resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.1.6.tgz#ba79cf8992609a91c872daa47c6bb144ee7f62a5" @@ -4501,7 +5925,7 @@ strip-ansi@^6.0.0, strip-ansi@^6.0.1: dependencies: ansi-regex "^5.0.1" -strip-ansi@^7.0.1: +strip-ansi@^7.0.1, strip-ansi@^7.1.0: version "7.1.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== @@ -4513,6 +5937,21 @@ strip-bom@^3.0.0: resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== +strip-bom@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-final-newline@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" + integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== + strip-hex-prefix@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz#0c5f155fef1151373377de9dbb588da05500e36f" @@ -4546,7 +5985,7 @@ supports-color@^7.1.0: dependencies: has-flag "^4.0.0" -supports-color@^8.1.1: +supports-color@^8.0.0, supports-color@^8.1.1: version "8.1.1" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== @@ -4577,6 +6016,15 @@ table@^6.8.0: string-width "^4.2.3" strip-ansi "^6.0.1" +test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" + integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== + dependencies: + "@istanbuljs/schema" "^0.1.2" + glob "^7.1.4" + minimatch "^3.0.4" + text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" @@ -4596,6 +6044,16 @@ tmp@0.0.33: dependencies: os-tmpdir "~1.0.2" +tmpl@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" + integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + to-regex-range@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" @@ -4613,6 +6071,21 @@ ts-api-utils@^1.3.0: resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz#4b490e27129f1e8e686b45cc4ab63714dc60eea1" integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== +ts-jest@29.2.4: + version "29.2.4" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.2.4.tgz#38ccf487407d7a63054a72689f6f99b075e296e5" + integrity sha512-3d6tgDyhCI29HlpwIq87sNuI+3Q6GLTTCeYRHCs7vDz+/3GCMwEtV9jezLyl4ZtnBgx00I7hm8PCP8cTksMGrw== + dependencies: + bs-logger "0.x" + ejs "^3.1.10" + fast-json-stable-stringify "2.x" + jest-util "^29.0.0" + json5 "^2.2.3" + lodash.memoize "4.x" + make-error "1.x" + semver "^7.5.3" + yargs-parser "^21.0.1" + ts-node@10.9.2: version "10.9.2" resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" @@ -4685,6 +6158,11 @@ type-check@~0.3.2: dependencies: prelude-ls "~1.1.2" +type-detect@4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + type-fest@^0.20.2: version "0.20.2" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" @@ -4769,6 +6247,11 @@ undici-types@~5.26.4: resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== +undici-types@~6.19.2: + version "6.19.6" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.6.tgz#e218c3df0987f4c0e0008ca00d6b6472d9b89b36" + integrity sha512-e/vggGopEfTKSvj4ihnOLTsqhrKRN3LeO6qSN/GxohhuRv8qH9bNQ4B8W7e/vFL+0XTnmHPB4/kegunZGA4Org== + undici@^5.14.0: version "5.28.4" resolved "https://registry.yarnpkg.com/undici/-/undici-5.28.4.tgz#6b280408edb6a1a604a9b20340f45b422e373068" @@ -4791,6 +6274,14 @@ unpipe@1.0.0: resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== +update-browserslist-db@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz#7ca61c0d8650766090728046e416a8cde682859e" + integrity sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ== + dependencies: + escalade "^3.1.2" + picocolors "^1.0.1" + uri-js@^4.2.2: version "4.4.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" @@ -4808,11 +6299,6 @@ util-deprecate@^1.0.1: resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== -uuid@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.1.tgz#c2a30dedb3e535d72ccf82e343941a50ba8533ac" - integrity sha512-nWg9+Oa3qD2CQzHIP4qKUqwNfzKn8P0LtFhotaCTFchsV7ZfDhAybeip/HZVeMIpZi9JgY1E3nUlwaCmZT1sEg== - uuid@^8.3.2: version "8.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" @@ -4823,6 +6309,15 @@ v8-compile-cache-lib@^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.3.0" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz#b9572abfa62bd556c16d75fdebc1a411d5ff3175" + integrity sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA== + dependencies: + "@jridgewell/trace-mapping" "^0.3.12" + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^2.0.0" + validate-npm-package-license@^3.0.1: version "3.0.4" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" @@ -4860,6 +6355,13 @@ viem@2.7.14: isows "1.0.3" ws "8.13.0" +walker@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" + integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== + dependencies: + makeerror "1.0.12" + web3-utils@^1.3.6: version "1.10.4" resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.10.4.tgz#0daee7d6841641655d8b3726baf33b08eda1cbec" @@ -4893,11 +6395,6 @@ which-boxed-primitive@^1.0.2: is-string "^1.0.5" is-symbol "^1.0.3" -which-module@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409" - integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== - which-typed-array@^1.1.14, which-typed-array@^1.1.15: version "1.1.15" resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.15.tgz#264859e9b11a649b388bfaaf4f767df1f779b38d" @@ -4954,15 +6451,6 @@ workerpool@^6.5.1: string-width "^4.1.0" strip-ansi "^6.0.0" -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" @@ -4981,15 +6469,27 @@ wrap-ansi@^8.1.0: string-width "^5.0.1" strip-ansi "^7.0.1" +wrap-ansi@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-9.0.0.tgz#1a3dc8b70d85eeb8398ddfb1e4a02cd186e58b3e" + integrity sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q== + dependencies: + ansi-styles "^6.2.1" + string-width "^7.0.0" + strip-ansi "^7.1.0" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== -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== +write-file-atomic@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" + integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== + dependencies: + imurmurhash "^0.1.4" + signal-exit "^3.0.7" ws@8.13.0: version "8.13.0" @@ -5006,34 +6506,31 @@ ws@^7.4.6: resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9" integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== -xmlhttprequest@1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz#67fe075c5c24fef39f9d65f5f7b7fe75171968fc" - integrity sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA== - -y18n@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" - integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== - y18n@^5.0.5: version "5.0.8" resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== -yargs-parser@^18.1.2: - version "18.1.3" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" - integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yaml@~2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.5.0.tgz#c6165a721cf8000e91c36490a41d7be25176cf5d" + integrity sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw== yargs-parser@^20.2.2, yargs-parser@^20.2.9: version "20.2.9" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== +yargs-parser@^21.0.1, yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + yargs-unparser@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" @@ -5044,23 +6541,6 @@ yargs-unparser@^2.0.0: flat "^5.0.2" is-plain-obj "^2.1.0" -yargs@^15.3.1: - version "15.4.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" - integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== - dependencies: - cliui "^6.0.0" - decamelize "^1.2.0" - find-up "^4.1.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^4.2.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^18.1.2" - yargs@^16.2.0: version "16.2.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" @@ -5074,6 +6554,19 @@ yargs@^16.2.0: y18n "^5.0.5" yargs-parser "^20.2.2" +yargs@^17.3.1: + version "17.7.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" + yn@3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" From b3c5822f805ca114934333f3227e8590c41e31d0 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Tue, 20 Aug 2024 14:57:01 +0900 Subject: [PATCH 55/92] Add more exemplary code --- packages/core/src/types.ts | 1 + packages/v1/.eslintrc.js | 3 +- packages/v1/examples/approve.ts | 5 +- packages/v1/examples/cancel-authorization.ts | 115 ++++++++++++++++++ packages/v1/examples/constants.ts | 3 - packages/v1/examples/index.ts | 18 ++- packages/v1/examples/mint.ts | 10 +- packages/v1/examples/permit.ts | 75 ++++++++++++ .../v1/examples/receive-with-authorization.ts | 87 +++++++++++++ packages/v1/examples/transfer-from.ts | 3 +- .../examples/transfer-with-authorization.ts | 92 ++++++++++++++ packages/v1/examples/transfer.ts | 5 +- packages/v1/package.json | 7 +- packages/v1/src/interfaces/jpyc.ts | 6 +- packages/v1/src/jpyc.ts | 12 +- yarn.lock | 5 + 16 files changed, 419 insertions(+), 28 deletions(-) create mode 100644 packages/v1/examples/cancel-authorization.ts create mode 100644 packages/v1/examples/permit.ts create mode 100644 packages/v1/examples/receive-with-authorization.ts create mode 100644 packages/v1/examples/transfer-with-authorization.ts diff --git a/packages/core/src/types.ts b/packages/core/src/types.ts index 8a182b7..452b711 100644 --- a/packages/core/src/types.ts +++ b/packages/core/src/types.ts @@ -1,4 +1,5 @@ export type Address = `0x${string}`; +export type Bytes32 = `0x${string}`; export type Endpoint = string; diff --git a/packages/v1/.eslintrc.js b/packages/v1/.eslintrc.js index 86ecfb9..bb6ff79 100644 --- a/packages/v1/.eslintrc.js +++ b/packages/v1/.eslintrc.js @@ -39,7 +39,7 @@ module.exports = { { selector: 'enumMember', format: ['StrictPascalCase'] }, { selector: 'typeLike', format: ['PascalCase'] }, { selector: 'typeParameter', format: ['strictCamelCase', 'UPPER_CASE'] }, - { selector: 'property', format: ['strictCamelCase'] }, + { selector: 'property', format: ['strictCamelCase', 'PascalCase'] }, { selector: 'method', format: ['strictCamelCase'] }, ], '@typescript-eslint/no-unused-vars': [ @@ -51,5 +51,6 @@ module.exports = { destructuredArrayIgnorePattern: '^_', }, ], + '@typescript-eslint/restrict-template-expressions': 'off', }, }; diff --git a/packages/v1/examples/approve.ts b/packages/v1/examples/approve.ts index 0f5ce6e..88a912c 100644 --- a/packages/v1/examples/approve.ts +++ b/packages/v1/examples/approve.ts @@ -1,11 +1,8 @@ import { Uint256 } from 'soltypes'; -import { account, jpyc } from './'; -import { HARDHAT_PREDEFINED_ADDRESSES } from './constants'; +import { account, jpyc, spender } from './'; async function main(): Promise { - const spender = HARDHAT_PREDEFINED_ADDRESSES[1]; - // 1. Approve to spend allowance await jpyc.approve({ spender: spender, diff --git a/packages/v1/examples/cancel-authorization.ts b/packages/v1/examples/cancel-authorization.ts new file mode 100644 index 0000000..b903d07 --- /dev/null +++ b/packages/v1/examples/cancel-authorization.ts @@ -0,0 +1,115 @@ +import { randomBytes } from 'crypto'; +import { Uint8, Uint256 } from 'soltypes'; +import { hexToNumber, slice, toHex } from 'viem'; + +import { account, client, jpyc, jpycSpender, receiver } from './'; +import { LOCAL_PROXY_ADDRESS, SUPPORTED_CHAINS } from '../../core'; + +async function main(): Promise { + // 1. Prepare typed data (for transfer) + const domain = { + name: 'JPY Coin', + version: '1', + chainId: BigInt(SUPPORTED_CHAINS.local.mainnet.id), + verifyingContract: LOCAL_PROXY_ADDRESS, + } as const; + const value = 100n; + const validAfter = 0n; + const validBefore = BigInt(Date.now()) / 1000n + 3600n; + const nonce = toHex(randomBytes(32)); + + // 2. Sign data (for transfer) + const signatureTransfer = await client.signTypedData({ + account, + domain, + types: { + EIP712Domain: [ + { name: 'name', type: 'string' }, + { name: 'version', type: 'string' }, + { name: 'chainId', type: 'uint256' }, + { name: 'verifyingContract', type: 'address' }, + ], + TransferWithAuthorization: [ + { name: 'from', type: 'address' }, + { name: 'to', type: 'address' }, + { name: 'value', type: 'uint256' }, + { name: 'validAfter', type: 'uint256' }, + { name: 'validBefore', type: 'uint256' }, + { name: 'nonce', type: 'bytes32' }, + ], + }, + primaryType: 'TransferWithAuthorization', + message: { + from: account.address, + to: receiver, + value: value, + validAfter: validAfter, + validBefore: validBefore, + nonce: nonce, + }, + }); + + const vTransfer = slice(signatureTransfer, 64, 65); + const rTransfer = slice(signatureTransfer, 0, 32); + const sTransfer = slice(signatureTransfer, 32, 64); + + // 3. Sign data (for cancellation) + const signatureCancellation = await client.signTypedData({ + account, + domain, + types: { + EIP712Domain: [ + { name: 'name', type: 'string' }, + { name: 'version', type: 'string' }, + { name: 'chainId', type: 'uint256' }, + { name: 'verifyingContract', type: 'address' }, + ], + CancelAuthorization: [ + { name: 'authorizer', type: 'address' }, + { name: 'nonce', type: 'bytes32' }, + ], + }, + primaryType: 'CancelAuthorization', + message: { + authorizer: account.address, + nonce: nonce, + }, + }); + + const vCancellation = slice(signatureCancellation, 64, 65); + const rCancellation = slice(signatureCancellation, 0, 32); + const sCancellation = slice(signatureCancellation, 32, 64); + + // 4. Cancel authorization + await jpyc.cancelAuthorization({ + authorizer: account.address, + nonce: nonce, + v: Uint8.from(hexToNumber(vCancellation).toString()), + r: rCancellation, + s: sCancellation, + }); + + // 5. Check if transfer has been cancelled + try { + await jpycSpender.transferWithAuthorization({ + from: account.address, + to: receiver, + value: Uint256.from(value.toString()), + validAfter: Uint256.from(validAfter.toString()), + validBefore: Uint256.from(validBefore.toString()), + nonce: nonce, + v: Uint8.from(hexToNumber(vTransfer).toString()), + r: rTransfer, + s: sTransfer, + }); + } catch (error) { + console.log(`Meta-transaction has been cancelled.\n\n${error}`); + } +} + +main() + .then(() => process.exit(0)) + .catch((error) => { + console.error(error); + process.exit(1); + }); diff --git a/packages/v1/examples/constants.ts b/packages/v1/examples/constants.ts index 4dd20cf..2104be0 100644 --- a/packages/v1/examples/constants.ts +++ b/packages/v1/examples/constants.ts @@ -12,6 +12,3 @@ export const HARDHAT_PREDEFINED_ADDRESSES = [ '0xa0Ee7A142d267C1f36714E4a8F75612F20a79720', '0xBcd4042DE499D14e55001CcbB24a551F3b954096', ] as Address[]; - -export const receiver = HARDHAT_PREDEFINED_ADDRESSES[0]; -export const spender = HARDHAT_PREDEFINED_ADDRESSES[1]; diff --git a/packages/v1/examples/index.ts b/packages/v1/examples/index.ts index 2a22a10..66c6558 100644 --- a/packages/v1/examples/index.ts +++ b/packages/v1/examples/index.ts @@ -1,4 +1,4 @@ -import { spender } from './constants'; +import { HARDHAT_PREDEFINED_ADDRESSES } from './constants'; import { IJPYC, ISdkClient, JPYC, SdkClient } from '../src'; import { ChainName, Endpoint, NetworkName } from '../../core'; @@ -13,15 +13,19 @@ const sdkClient: ISdkClient = new SdkClient({ rpcEndpoint: process.env.RPC_ENDPOINT as Endpoint, }); -// 2. Generate an account +// 2. Generate accounts export const account = sdkClient.createPrivateKeyAccount({}); +export const receiver = HARDHAT_PREDEFINED_ADDRESSES[0]; +export const spender = HARDHAT_PREDEFINED_ADDRESSES[1]; // 3. Generate local clients -const client = sdkClient.createLocalClient({ +export const client = sdkClient.createLocalClient({ account: account, }); - -const clientSpender = sdkClient.createLocalClient({ +export const clientReceiver = sdkClient.createLocalClient({ + account: receiver, +}); +export const clientSpender = sdkClient.createLocalClient({ account: spender, }); @@ -29,7 +33,9 @@ const clientSpender = sdkClient.createLocalClient({ export const jpyc: IJPYC = new JPYC({ client: client, }); - +export const jpycReceiver: IJPYC = new JPYC({ + client: clientReceiver, +}); export const jpycSpender: IJPYC = new JPYC({ client: clientSpender, }); diff --git a/packages/v1/examples/mint.ts b/packages/v1/examples/mint.ts index 245b313..1072c68 100644 --- a/packages/v1/examples/mint.ts +++ b/packages/v1/examples/mint.ts @@ -9,11 +9,19 @@ async function main(): Promise { minterAllowedAmount: Uint256.from('1000000'), }); - // 2. Mint tokens + // 2. Check minter allowance + const minterAllowance = await jpyc.minterAllowance({ minter: account.address }); + console.log(`minterAllowance: ${minterAllowance.toString()}`); + + // 3. Mint tokens await jpyc.mint({ to: account.address, amount: Uint256.from('10000'), }); + + // 4. Check total supply + const totalSupply = await jpyc.totalSupply(); + console.log(`new totalSupply: ${totalSupply.toString()}`); } main() diff --git a/packages/v1/examples/permit.ts b/packages/v1/examples/permit.ts new file mode 100644 index 0000000..35676ad --- /dev/null +++ b/packages/v1/examples/permit.ts @@ -0,0 +1,75 @@ +import { Uint8, Uint256 } from 'soltypes'; +import { hexToNumber, slice } from 'viem'; + +import { account, client, jpyc, spender } from './'; +import { LOCAL_PROXY_ADDRESS, SUPPORTED_CHAINS } from '../../core'; + +// TODO: fix this +async function main(): Promise { + // 1. Prepare typed data + const domain = { + name: 'JPY Coin', + version: '1', + chainId: BigInt(SUPPORTED_CHAINS.local.mainnet.id), + verifyingContract: LOCAL_PROXY_ADDRESS, + } as const; + const types = { + EIP712Domain: [ + { name: 'name', type: 'string' }, + { name: 'version', type: 'string' }, + { name: 'chainId', type: 'uint256' }, + { name: 'verifyingContract', type: 'address' }, + ], + Permit: [ + { name: 'owner', type: 'address' }, + { name: 'spender', type: 'address' }, + { name: 'value', type: 'uint256' }, + { name: 'deadline', type: 'uint256' }, + ], + } as const; + const value = 100n; + const deadline = BigInt(Date.now()) / 1000n + 3600n; + + // 2. Sign data + const signature = await client.signTypedData({ + account, + domain, + types, + primaryType: 'Permit', + message: { + owner: account.address, + spender: spender, + value: value, + deadline: deadline, + }, + }); + + const v = slice(signature, 64, 65); + const r = slice(signature, 0, 32); + const s = slice(signature, 32, 64); + + // 3. Permit (allows approvals via signatures) + await jpyc.permit({ + owner: account.address, + spender: spender, + value: Uint256.from(value.toString()), + deadline: Uint256.from(deadline.toString()), + v: Uint8.from(hexToNumber(v).toString()), + r: r, + s: s, + }); + + // 4. Check allowance + const allowance = await jpyc.allowance({ + owner: account.address, + spender: spender, + }); + console.log(`spender allowance: ${allowance.toString()}`); +} + +main() + .then(() => process.exit(0)) + .catch((error) => { + console.error(error); + process.exit(1); + }); diff --git a/packages/v1/examples/receive-with-authorization.ts b/packages/v1/examples/receive-with-authorization.ts new file mode 100644 index 0000000..f2323f3 --- /dev/null +++ b/packages/v1/examples/receive-with-authorization.ts @@ -0,0 +1,87 @@ +import { randomBytes } from 'crypto'; +import { Uint8, Uint256 } from 'soltypes'; +import { hexToNumber, slice, toHex } from 'viem'; + +import { account, client, jpyc, jpycReceiver, receiver } from './'; +import { LOCAL_PROXY_ADDRESS, SUPPORTED_CHAINS } from '../../core'; + +async function main(): Promise { + // 1. Prepare typed data + const domain = { + name: 'JPY Coin', + version: '1', + chainId: BigInt(SUPPORTED_CHAINS.local.mainnet.id), + verifyingContract: LOCAL_PROXY_ADDRESS, + } as const; + const types = { + EIP712Domain: [ + { name: 'name', type: 'string' }, + { name: 'version', type: 'string' }, + { name: 'chainId', type: 'uint256' }, + { name: 'verifyingContract', type: 'address' }, + ], + ReceiveWithAuthorization: [ + { name: 'from', type: 'address' }, + { name: 'to', type: 'address' }, + { name: 'value', type: 'uint256' }, + { name: 'validAfter', type: 'uint256' }, + { name: 'validBefore', type: 'uint256' }, + { name: 'nonce', type: 'bytes32' }, + ], + } as const; + const value = 100n; + const validAfter = 0n; + const validBefore = BigInt(Date.now()) / 1000n + 3600n; + const nonce = toHex(randomBytes(32)); + + // 2. Sign data + const signature = await client.signTypedData({ + account, + domain, + types, + primaryType: 'ReceiveWithAuthorization', + message: { + from: account.address, + to: receiver, + value: value, + validAfter: validAfter, + validBefore: validBefore, + nonce: nonce, + }, + }); + + const v = slice(signature, 64, 65); + const r = slice(signature, 0, 32); + const s = slice(signature, 32, 64); + + // 3. Receive tokens with signature + await jpycReceiver.receiveWithAuthorization({ + from: account.address, + to: receiver, + value: Uint256.from(value.toString()), + validAfter: Uint256.from(validAfter.toString()), + validBefore: Uint256.from(validBefore.toString()), + nonce: nonce, + v: Uint8.from(hexToNumber(v).toString()), + r: r, + s: s, + }); + + // 4. Check balances + const balanceSender = await jpyc.balanceOf({ + account: account.address, + }); + console.log(`balance (sender): ${balanceSender.toString()}`); + + const balanceReceiver = await jpyc.balanceOf({ + account: receiver, + }); + console.log(`balance (receiver): ${balanceReceiver.toString()}`); +} + +main() + .then(() => process.exit(0)) + .catch((error) => { + console.error(error); + process.exit(1); + }); diff --git a/packages/v1/examples/transfer-from.ts b/packages/v1/examples/transfer-from.ts index 6d14cc2..a3b6cf0 100644 --- a/packages/v1/examples/transfer-from.ts +++ b/packages/v1/examples/transfer-from.ts @@ -1,7 +1,6 @@ import { Uint256 } from 'soltypes'; -import { account, jpyc, jpycSpender } from './'; -import { receiver, spender } from './constants'; +import { account, jpyc, jpycSpender, receiver, spender } from './'; async function main(): Promise { // 1. Transfer tokens (from the approved address) diff --git a/packages/v1/examples/transfer-with-authorization.ts b/packages/v1/examples/transfer-with-authorization.ts new file mode 100644 index 0000000..4f385a7 --- /dev/null +++ b/packages/v1/examples/transfer-with-authorization.ts @@ -0,0 +1,92 @@ +import { randomBytes } from 'crypto'; +import { Uint8, Uint256 } from 'soltypes'; +import { hexToNumber, slice, toHex } from 'viem'; + +import { account, client, jpyc, jpycSpender, receiver, spender } from './'; +import { LOCAL_PROXY_ADDRESS, SUPPORTED_CHAINS } from '../../core'; + +async function main(): Promise { + // 1. Prepare typed data + const domain = { + name: 'JPY Coin', + version: '1', + chainId: BigInt(SUPPORTED_CHAINS.local.mainnet.id), + verifyingContract: LOCAL_PROXY_ADDRESS, + } as const; + const types = { + EIP712Domain: [ + { name: 'name', type: 'string' }, + { name: 'version', type: 'string' }, + { name: 'chainId', type: 'uint256' }, + { name: 'verifyingContract', type: 'address' }, + ], + TransferWithAuthorization: [ + { name: 'from', type: 'address' }, + { name: 'to', type: 'address' }, + { name: 'value', type: 'uint256' }, + { name: 'validAfter', type: 'uint256' }, + { name: 'validBefore', type: 'uint256' }, + { name: 'nonce', type: 'bytes32' }, + ], + } as const; + const value = 100n; + const validAfter = 0n; + const validBefore = BigInt(Date.now()) / 1000n + 3600n; + const nonce = toHex(randomBytes(32)); + + // 2. Sign data + const signature = await client.signTypedData({ + account, + domain, + types, + primaryType: 'TransferWithAuthorization', + message: { + from: account.address, + to: receiver, + value: value, + validAfter: validAfter, + validBefore: validBefore, + nonce: nonce, + }, + }); + + const v = slice(signature, 64, 65); + const r = slice(signature, 0, 32); + const s = slice(signature, 32, 64); + + // 3. Transfer tokens with signature + await jpycSpender.transferWithAuthorization({ + from: account.address, + to: receiver, + value: Uint256.from(value.toString()), + validAfter: Uint256.from(validAfter.toString()), + validBefore: Uint256.from(validBefore.toString()), + nonce: nonce, + v: Uint8.from(hexToNumber(v).toString()), + r: r, + s: s, + }); + + // 4. Check balances + const balanceSender = await jpyc.balanceOf({ + account: account.address, + }); + console.log(`balance (sender): ${balanceSender.toString()}`); + + const balanceSpender = await jpyc.balanceOf({ + account: spender, + }); + console.log(`balance (spender): ${balanceSpender.toString()}`); + + const balanceReceiver = await jpyc.balanceOf({ + account: receiver, + }); + console.log(`balance (receiver): ${balanceReceiver.toString()}`); +} + +main() + .then(() => process.exit(0)) + .catch((error) => { + console.error(error); + process.exit(1); + }); diff --git a/packages/v1/examples/transfer.ts b/packages/v1/examples/transfer.ts index 00dfa62..6b61519 100644 --- a/packages/v1/examples/transfer.ts +++ b/packages/v1/examples/transfer.ts @@ -1,11 +1,8 @@ import { Uint256 } from 'soltypes'; -import { account, jpyc } from './'; -import { HARDHAT_PREDEFINED_ADDRESSES } from './constants'; +import { account, jpyc, receiver } from './'; async function main(): Promise { - const receiver = HARDHAT_PREDEFINED_ADDRESSES[0]; - // 1. Transfer tokens await jpyc.transfer({ to: receiver, diff --git a/packages/v1/package.json b/packages/v1/package.json index a1f2284..2896494 100644 --- a/packages/v1/package.json +++ b/packages/v1/package.json @@ -24,7 +24,11 @@ "total-supply": "npx hardhat run ./examples/total-supply.ts --network localhost", "transfer": "npx hardhat run ./examples/transfer.ts --network localhost", "approve": "npx hardhat run ./examples/approve.ts --network localhost", - "transfer-from": "npx hardhat run ./examples/transfer-from.ts --network localhost" + "permit": "npx hardhat run ./examples/permit.ts --network localhost", + "transfer-from": "npx hardhat run ./examples/transfer-from.ts --network localhost", + "transfer-with-authorization": "npx hardhat run ./examples/transfer-with-authorization.ts --network localhost", + "receive-with-authorization": "npx hardhat run ./examples/receive-with-authorization.ts --network localhost", + "cancel-authorization": "npx hardhat run ./examples/cancel-authorization.ts --network localhost" }, "dependencies": { "@ethersproject/abi": "5.7.0", @@ -45,6 +49,7 @@ "@typescript-eslint/eslint-plugin": "7.15.0", "@typescript-eslint/parser": "7.15.0", "chai": "5.1.1", + "crypto": "1.0.1", "dotenv": "16.4.5", "eslint": "8.57.0", "eslint-config-prettier": "9.1.0", diff --git a/packages/v1/src/interfaces/jpyc.ts b/packages/v1/src/interfaces/jpyc.ts index 4f56982..0c61bd6 100644 --- a/packages/v1/src/interfaces/jpyc.ts +++ b/packages/v1/src/interfaces/jpyc.ts @@ -1,7 +1,7 @@ -import { Bytes32, Uint256, Uint8 } from 'soltypes'; +import { Uint256, Uint8 } from 'soltypes'; import { Hash } from 'viem'; -import { Address } from '../../../core'; +import { Address, Bytes32 } from '../../../core'; export interface IJPYC { /** @@ -154,7 +154,7 @@ export interface IJPYC { cancelAuthorization(params: { authorizer: Address; nonce: Bytes32; - v: number; + v: Uint8; r: Bytes32; s: Bytes32; }): Promise; diff --git a/packages/v1/src/jpyc.ts b/packages/v1/src/jpyc.ts index cd4c52f..7f5c14a 100644 --- a/packages/v1/src/jpyc.ts +++ b/packages/v1/src/jpyc.ts @@ -1,7 +1,13 @@ -import { Bytes32, Uint256, Uint8 } from 'soltypes'; +import { Uint256, Uint8 } from 'soltypes'; import { getContract, GetContractReturnType, Hash, WalletClient } from 'viem'; -import { Address, isValidAddress, LOCAL_PROXY_ADDRESS, V2_PROXY_ADDRESS } from '../../core'; +import { + Address, + Bytes32, + isValidAddress, + LOCAL_PROXY_ADDRESS, + V2_PROXY_ADDRESS, +} from '../../core'; import { IJPYC, InvalidAddressError, InvalidTransactionError, JPYC_V2_ABI } from './'; export class JPYC implements IJPYC { @@ -174,7 +180,7 @@ export class JPYC implements IJPYC { async cancelAuthorization(params: { authorizer: Address; nonce: Bytes32; - v: number; + v: Uint8; r: Bytes32; s: Bytes32; }): Promise { diff --git a/yarn.lock b/yarn.lock index 0816aea..93cd9b3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2377,6 +2377,11 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" integrity sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow== +crypto@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/crypto/-/crypto-1.0.1.tgz#2af1b7cad8175d24c8a1b0778255794a21803037" + integrity sha512-VxBKmeNcqQdiUQUW2Tzq0t377b54N2bMtXO/qiLa+6eRRmmC4qT3D4OnTGoT/U6O9aklQ/jTwbOtRMTTY8G0Ig== + data-view-buffer@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.1.tgz#8ea6326efec17a2e42620696e671d7d5a8bc66b2" From acaa82f7c1b3011bbb80732a4c192070c362ed37 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Tue, 20 Aug 2024 15:49:03 +0900 Subject: [PATCH 56/92] Fix exemplary code for 'permit()' --- packages/v1/examples/permit.ts | 4 +++- packages/v1/src/interfaces/jpyc.ts | 8 ++++++++ packages/v1/src/jpyc.ts | 6 ++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/packages/v1/examples/permit.ts b/packages/v1/examples/permit.ts index 35676ad..1b0e892 100644 --- a/packages/v1/examples/permit.ts +++ b/packages/v1/examples/permit.ts @@ -4,7 +4,6 @@ import { hexToNumber, slice } from 'viem'; import { account, client, jpyc, spender } from './'; import { LOCAL_PROXY_ADDRESS, SUPPORTED_CHAINS } from '../../core'; -// TODO: fix this async function main(): Promise { // 1. Prepare typed data const domain = { @@ -24,11 +23,13 @@ async function main(): Promise { { name: 'owner', type: 'address' }, { name: 'spender', type: 'address' }, { name: 'value', type: 'uint256' }, + { name: 'nonce', type: 'uint256' }, { name: 'deadline', type: 'uint256' }, ], } as const; const value = 100n; const deadline = BigInt(Date.now()) / 1000n + 3600n; + const nonce = await jpyc.nonces({ owner: account.address }); // 2. Sign data const signature = await client.signTypedData({ @@ -40,6 +41,7 @@ async function main(): Promise { owner: account.address, spender: spender, value: value, + nonce: BigInt(nonce.toString()), deadline: deadline, }, }); diff --git a/packages/v1/src/interfaces/jpyc.ts b/packages/v1/src/interfaces/jpyc.ts index 0c61bd6..6b862b5 100644 --- a/packages/v1/src/interfaces/jpyc.ts +++ b/packages/v1/src/interfaces/jpyc.ts @@ -48,6 +48,14 @@ export interface IJPYC { */ allowance(params: { owner: Address; spender: Address }): Promise; + /** + * Returns nonce for EIP2612's `permit`. + * + * @param owner - Owner address + * @returns owner nonce + */ + nonces(params: { owner: Address }): Promise; + /** * Regular Functions */ diff --git a/packages/v1/src/jpyc.ts b/packages/v1/src/jpyc.ts index 7f5c14a..7b30132 100644 --- a/packages/v1/src/jpyc.ts +++ b/packages/v1/src/jpyc.ts @@ -61,6 +61,12 @@ export class JPYC implements IJPYC { return Uint256.from((resp as bigint).toString()); } + async nonces(params: { owner: Address }): Promise { + const resp = await this.contract.read.nonces([params.owner]); + + return Uint256.from((resp as bigint).toString()); + } + /** * Regular Functions */ From 355ccd10511f9f6b615aee2e3fafdfd59fa944b1 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Tue, 20 Aug 2024 16:35:05 +0900 Subject: [PATCH 57/92] Add 'README's --- README.md | 23 +++++++++++++++-------- packages/core/README.md | 16 ++++++++++++++++ packages/v1/README.md | 41 +++++++++++++++++++++++------------------ 3 files changed, 54 insertions(+), 26 deletions(-) create mode 100644 packages/core/README.md diff --git a/README.md b/README.md index 41b40da..061b536 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# JPYC SDKs +# JPYC Node SDKs -Monorepo for JPYC SDKs. +Monorepo for JPYC Node SDKs. ## 🔨 Development @@ -26,12 +26,6 @@ To run NPM scripts defined in workspaces, run the following. $ npm run -w ``` -Please see a list of NPM scripts below. - -| Command | Workspace | Description | -|--------:|:----------|:------------| -| `gen` | `@jpyc/node-sdk-v0` | Generate types for ABIs | - ### Dependencies To add dependencies, run one of the following. To prevent unexpected behaviors, always pin the exact versions of the dependencies to be installed. @@ -56,3 +50,16 @@ $ yarn workspace remove # Remove dependencies from the workspaces root $ yarn remove -W ``` + +## 🌈 Available SDKs + +Please refer to `README`s of each SDK for version specific details. + +| SDK | `README` | +|----:|:---------| +| `core` | [packages/core](./packages/core/README.md) | +| `v1` | [packages/v1](./packages/v1/README.md) | + +## 🔥 How to Contribute + +Feel free to create new issues from [here](https://github.com/jcam1/sdks/issues/new/choose) to propose/request new features or report bugs. diff --git a/packages/core/README.md b/packages/core/README.md new file mode 100644 index 0000000..7adfea0 --- /dev/null +++ b/packages/core/README.md @@ -0,0 +1,16 @@ +# JPYC Core SDK + +JPYC core SDK implements a set of constants, types and functions, commonly used across different SDK versions. + +## 🤖 Available Commands + +The following commands are available as npm scripts. + +| Command | Description | +| ---------------: | :----------------------------------- | +| `compile` | Compile (transpile) TypeScript files | +| `lint` | Run Eslint | +| `lint:dry-run` | Run Eslint without fixing | +| `format` | Run Prettier | +| `format:dry-run` | Run Prettier without fixing | +| `test` | Run unit tests (via jest) | diff --git a/packages/v1/README.md b/packages/v1/README.md index 8dbdf9a..39b0ccf 100644 --- a/packages/v1/README.md +++ b/packages/v1/README.md @@ -1,22 +1,27 @@ -# How to Use JPYC SDK Locally +# JPYC V1 SDK -### Available Commands +## Available Commands The following commands are available as npm scripts. -| Command | Description | -| --------: | :------------------------------------------------- | -| `env` | Generate `.env` file | -| `compile` | Compile contracts | -| `clean` | Delete artifacts | -| `node` | Run hardhat node locally | -| `deploy` | Deploy compiled contracts to local hardhat network | - -#### How to Run Commands - -1. `cd` into this directory (`/packages/v1`). -2. Run the following command (`{command-name}` should be replaced by any of the available commands above). - -```sh -$ npm run {command-name} -``` +| Command | Description | +| ----------------------------: | :------------------------------------------------------ | +| `env` | Generate `.env` file | +| `lint` | Run Eslint | +| `lint:dry-run` | Run Eslint without fixing | +| `format` | Run Prettier | +| `format:dry-run` | Run Prettier without fixing | +| `compile:sdk` | Compile (transpile) TypeScript files | +| `compile:contracts` | Compile contracts | +| `clean` | Delete contract artifacts | +| `node` | Run hardhat network & node locally | +| `deploy` | Deploy compiled contracts to local hardhat network | +| `mint` | Example code: mint new tokens | +| `total-supply` | Example code: get total-supply | +| `transfer` | Example code: transfer tokens | +| `approve` | Example code: approve allowance | +| `permit` | Example code: permit allowance (EIP2612) | +| `transfer-from` | Example code: transfer tokens from spender | +| `transfer-with-authorization` | Example code: transfer tokens with signatures (EIP3009) | +| `receive-with-authorization` | Example code: receive tokens with signatures (EIP3009) | +| `cancel-authorization` | Example code: cancel token authorization (EIP3009) | From 2fb631a83fdbd4dc3300948221a9168250057045 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Wed, 21 Aug 2024 13:45:33 +0900 Subject: [PATCH 58/92] Update '.gitignore' --- packages/v1/.gitignore | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/packages/v1/.gitignore b/packages/v1/.gitignore index 29dd748..a518a6c 100644 --- a/packages/v1/.gitignore +++ b/packages/v1/.gitignore @@ -4,6 +4,7 @@ node_modules # Hardhat files /cache /artifacts +!/artifacts/JPYCv2/contracts/v1/FiatTokenV1.sol/FiatTokenV1.json # TypeChain files /typechain @@ -19,10 +20,6 @@ ignition/deployments/chain-31337 node_modules .env -# Hardhat files -/cache -/artifacts - # TypeChain files /typechain /typechain-types From 8f5e7f0dade919d34ae24828dff4f8f6ab8883ca Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Wed, 21 Aug 2024 13:46:21 +0900 Subject: [PATCH 59/92] Update 'README's --- README.md | 18 ++++---- packages/core/README.md | 2 +- packages/v1/README.md | 80 +++++++++++++++++++++++++++++++++- packages/v1/examples/README.md | 52 ++++++++++++++++++++++ 4 files changed, 140 insertions(+), 12 deletions(-) create mode 100644 packages/v1/examples/README.md diff --git a/README.md b/README.md index 061b536..4190c1e 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,15 @@ Monorepo for JPYC Node SDKs. +## 🌈 Available SDKs + +Please refer to `README`s of each SDK for version specific details. + +| SDK | `README` | +|----:|:---------| +| `core` | [packages/core](./packages/core/README.md) | +| `v1` | [packages/v1](./packages/v1/README.md) | + ## 🔨 Development ### Git Submodules @@ -51,15 +60,6 @@ $ yarn workspace remove $ yarn remove -W ``` -## 🌈 Available SDKs - -Please refer to `README`s of each SDK for version specific details. - -| SDK | `README` | -|----:|:---------| -| `core` | [packages/core](./packages/core/README.md) | -| `v1` | [packages/v1](./packages/v1/README.md) | - ## 🔥 How to Contribute Feel free to create new issues from [here](https://github.com/jcam1/sdks/issues/new/choose) to propose/request new features or report bugs. diff --git a/packages/core/README.md b/packages/core/README.md index 7adfea0..896ebc0 100644 --- a/packages/core/README.md +++ b/packages/core/README.md @@ -4,7 +4,7 @@ JPYC core SDK implements a set of constants, types and functions, commonly used ## 🤖 Available Commands -The following commands are available as npm scripts. +The following commands are available as npm scripts for local development & testing. | Command | Description | | ---------------: | :----------------------------------- | diff --git a/packages/v1/README.md b/packages/v1/README.md index 39b0ccf..8e8f954 100644 --- a/packages/v1/README.md +++ b/packages/v1/README.md @@ -1,8 +1,84 @@ # JPYC V1 SDK -## Available Commands +JPYC V1 SDK implements an interface to interact with [JPYCv2 contracts](https://github.com/jcam1/JPYCv2) on different chains. Supported chains are Ethereum, Polygon, Gnosis, Avalanche, and Astar. Please note that **Shiden Network is not yet supported**. -The following commands are available as npm scripts. +## 💡 How to Use + +Please follow the following steps to configure our SDK. + +#### 1. Install Packages + +Install npm packages. + +```sh +# yarn +$ yarn add @jpyc/sdk-core @jpyc/sdk-v1 + +# npm +$ npm i @jpyc/sdk-core @jpyc/sdk-v1 +``` + +#### 2. Set Environment Variables + +Some data, such as configuration variables (e.g., chain name) or sensitive data (e.g., private key), are embedded as environment variables. You need to set the following environment variables. + +| Variable | Description & Instructions | +| --------------------: | :-------------------------------------------------------------------------------------------------------------------------------- | +| `SDK_ENV` | SDK environment. Set to `local` for local environment or any other sensible string for production environment. | +| `CHAIN_NAME` | Chain name. Set to one of the following\: `local`, `ethereum`, `polygon`, `gnosis`, `avalanche` or `astar`. | +| `NETWORK_NAME` | Network name within the specified chain. Set to one of the following\: `mainnet`, `goerli`, `sepolia`, `amoy`, `chiado` or `fuji` | +| `RPC_ENDPOINT` | RPC endpoint to send transactions. | +| `PRIVATE_KEY` | Private key of an account. | +| `LOCAL_PROXY_ADDRESS` | Proxy contract address in local environment. | + +#### 3. Instantiate SDK + +Initialize an SDK instance that implements an abstracted interface to JPYCv2 contracts. + +```ts +import { ChainName, Endpoint, NetworkName } from '@jpyc/sdk-core'; +import { IJPYC, ISdkClient, JPYC, SdkClient } from '@jpyc/sdk-v1'; + +// 1. Initialize an SdkClient instance +const sdkClient: ISdkClient = new SdkClient({ + chainName: process.env.CHAIN_NAME as ChainName, + networkName: process.env.NETWORK_NAME as NetworkName, + rpcEndpoint: process.env.RPC_ENDPOINT as Endpoint, +}); + +// 2. Generate an account from a private key +export const account = sdkClient.createPrivateKeyAccount({}); + +// 3. Generate a client with the account +export const client = sdkClient.createLocalClient({ + account: account, +}); + +// 4. Initialize an SDK instance +export const jpyc: IJPYC = new JPYC({ + client: client, +}); +``` + +#### 4. Use SDK + +Use the initialized SDK wherever you would like. + +```ts +import { jpyc } from './YOUR/PATH/TO/INITIALIZATION/FILE'; + +// Fetch `totalSupply` from `JPYCv2` contract +const totalSupply = await jpyc.totalSupply(); +console.log(`totalSupply: ${totalSupply.toString()}`); +``` + +## ✨ Code Examples + +For your reference, we provide code examples in `examples` directory. Please follow the instructions on [`README`](./examples/README.md) file. + +## 🤖 Available Commands + +The following commands are available as npm scripts for local development & testing. | Command | Description | | ----------------------------: | :------------------------------------------------------ | diff --git a/packages/v1/examples/README.md b/packages/v1/examples/README.md new file mode 100644 index 0000000..fc263db --- /dev/null +++ b/packages/v1/examples/README.md @@ -0,0 +1,52 @@ +# Code Examples for JPYC V1 SDK + +We provide code examples that use JPYC V1 SDK as an interface to locally-deployed `JPYCv2` contracts. Please read and follow the instructions below to learn how to set up local environment as well as how to run our code examples. + +### 1. Run Local Network + +Run the following command to start running local Hardhat network and its accompanying node. + +```sh +$ npm run node +``` + +### 2. Deploy Contracts + +**Open a different window** and run the following command to deploy JPYCv2 contracts to the local network. Once successfully deployed, a new directory will be created, and you can find deployed contract addresses at `/packages/v1/ignition/deployments/chain-31337/deployed_addresses.json`. + +```sh +$ npm run deploy +``` + +### 3. Set Environment Variables + +Run the following commands, and edit the generated `.env` file accordingly. Set `LOCAL_PROXY_ADDRESS` to the value of `JPYCV2Module#FiatTokenV1` at [here](../ignition/deployments/chain-31337/deployed_addresses.json). See [here](../README.md/) for more details. + +```sh +# cd into this directory +$ cd /packages/v1 +# copy `.env.example` to `.env` +$ npm run env +``` + +### 4. Run Code Examples + +Run the following commands to execute our code examples. + +| Command | Description | +| ----------------------------: | :------------------------------------------------------ | +| `mint` | Example code: mint new tokens | +| `total-supply` | Example code: get total-supply | +| `transfer` | Example code: transfer tokens | +| `approve` | Example code: approve allowance | +| `permit` | Example code: permit allowance (EIP2612) | +| `transfer-from` | Example code: transfer tokens from spender | +| `transfer-with-authorization` | Example code: transfer tokens with signatures (EIP3009) | +| `receive-with-authorization` | Example code: receive tokens with signatures (EIP3009) | +| `cancel-authorization` | Example code: cancel token authorization (EIP3009) | + +For example, to mint JPYC tokens on local network, run the following. + +```sh +$ npm run mint +``` From 19d67168c37cd1d015c90a4ac28401afbec7389d Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Wed, 21 Aug 2024 13:47:56 +0900 Subject: [PATCH 60/92] Update import paths --- packages/core/index.ts | 4 ++++ packages/core/package.json | 1 + packages/v1/examples/cancel-authorization.ts | 2 +- packages/v1/examples/constants.ts | 2 +- packages/v1/examples/index.ts | 4 ++-- packages/v1/examples/permit.ts | 2 +- packages/v1/examples/receive-with-authorization.ts | 2 +- packages/v1/examples/transfer-with-authorization.ts | 2 +- packages/v1/ignition/modules/proxy.ts | 4 ++-- packages/v1/index.ts | 5 +++++ packages/v1/src/client.ts | 2 +- packages/v1/src/errors.ts | 2 +- packages/v1/src/interfaces/client.ts | 2 +- packages/v1/src/interfaces/jpyc.ts | 2 +- packages/v1/src/jpyc.ts | 2 +- packages/v1/tsconfig.json | 6 +++++- 16 files changed, 29 insertions(+), 15 deletions(-) create mode 100644 packages/v1/index.ts diff --git a/packages/core/index.ts b/packages/core/index.ts index 8420b10..9f7b4d8 100644 --- a/packages/core/index.ts +++ b/packages/core/index.ts @@ -1 +1,5 @@ +import * as dotenv from 'dotenv'; + +dotenv.config(); + export * from './src'; diff --git a/packages/core/package.json b/packages/core/package.json index 9516b05..b9ced9e 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -22,6 +22,7 @@ "@types/node": "20.14.9", "@typescript-eslint/eslint-plugin": "7.15.0", "@typescript-eslint/parser": "7.15.0", + "dotenv": "16.4.5", "eslint": "8.57.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-prettier": "5.1.3", diff --git a/packages/v1/examples/cancel-authorization.ts b/packages/v1/examples/cancel-authorization.ts index b903d07..5c675ba 100644 --- a/packages/v1/examples/cancel-authorization.ts +++ b/packages/v1/examples/cancel-authorization.ts @@ -2,8 +2,8 @@ import { randomBytes } from 'crypto'; import { Uint8, Uint256 } from 'soltypes'; import { hexToNumber, slice, toHex } from 'viem'; +import { LOCAL_PROXY_ADDRESS, SUPPORTED_CHAINS } from '@jpyc/sdk-core'; import { account, client, jpyc, jpycSpender, receiver } from './'; -import { LOCAL_PROXY_ADDRESS, SUPPORTED_CHAINS } from '../../core'; async function main(): Promise { // 1. Prepare typed data (for transfer) diff --git a/packages/v1/examples/constants.ts b/packages/v1/examples/constants.ts index 2104be0..8fc57df 100644 --- a/packages/v1/examples/constants.ts +++ b/packages/v1/examples/constants.ts @@ -1,4 +1,4 @@ -import { Address } from '../../core'; +import { Address } from '@jpyc/sdk-core'; export const HARDHAT_PREDEFINED_ADDRESSES = [ '0x70997970C51812dc3A010C7d01b50e0d17dc79C8', diff --git a/packages/v1/examples/index.ts b/packages/v1/examples/index.ts index 66c6558..b20f0cd 100644 --- a/packages/v1/examples/index.ts +++ b/packages/v1/examples/index.ts @@ -1,6 +1,6 @@ +import { ChainName, Endpoint, NetworkName } from '@jpyc/sdk-core'; +import { IJPYC, ISdkClient, JPYC, SdkClient } from '@jpyc/sdk-v1'; import { HARDHAT_PREDEFINED_ADDRESSES } from './constants'; -import { IJPYC, ISdkClient, JPYC, SdkClient } from '../src'; -import { ChainName, Endpoint, NetworkName } from '../../core'; /** * SDK SetUp diff --git a/packages/v1/examples/permit.ts b/packages/v1/examples/permit.ts index 1b0e892..be7a347 100644 --- a/packages/v1/examples/permit.ts +++ b/packages/v1/examples/permit.ts @@ -1,8 +1,8 @@ import { Uint8, Uint256 } from 'soltypes'; import { hexToNumber, slice } from 'viem'; +import { LOCAL_PROXY_ADDRESS, SUPPORTED_CHAINS } from '@jpyc/sdk-core'; import { account, client, jpyc, spender } from './'; -import { LOCAL_PROXY_ADDRESS, SUPPORTED_CHAINS } from '../../core'; async function main(): Promise { // 1. Prepare typed data diff --git a/packages/v1/examples/receive-with-authorization.ts b/packages/v1/examples/receive-with-authorization.ts index f2323f3..7e0f498 100644 --- a/packages/v1/examples/receive-with-authorization.ts +++ b/packages/v1/examples/receive-with-authorization.ts @@ -2,8 +2,8 @@ import { randomBytes } from 'crypto'; import { Uint8, Uint256 } from 'soltypes'; import { hexToNumber, slice, toHex } from 'viem'; +import { LOCAL_PROXY_ADDRESS, SUPPORTED_CHAINS } from '@jpyc/sdk-core'; import { account, client, jpyc, jpycReceiver, receiver } from './'; -import { LOCAL_PROXY_ADDRESS, SUPPORTED_CHAINS } from '../../core'; async function main(): Promise { // 1. Prepare typed data diff --git a/packages/v1/examples/transfer-with-authorization.ts b/packages/v1/examples/transfer-with-authorization.ts index 4f385a7..de4497b 100644 --- a/packages/v1/examples/transfer-with-authorization.ts +++ b/packages/v1/examples/transfer-with-authorization.ts @@ -2,8 +2,8 @@ import { randomBytes } from 'crypto'; import { Uint8, Uint256 } from 'soltypes'; import { hexToNumber, slice, toHex } from 'viem'; +import { LOCAL_PROXY_ADDRESS, SUPPORTED_CHAINS } from '@jpyc/sdk-core'; import { account, client, jpyc, jpycSpender, receiver, spender } from './'; -import { LOCAL_PROXY_ADDRESS, SUPPORTED_CHAINS } from '../../core'; async function main(): Promise { // 1. Prepare typed data diff --git a/packages/v1/ignition/modules/proxy.ts b/packages/v1/ignition/modules/proxy.ts index 14265a3..22e202a 100644 --- a/packages/v1/ignition/modules/proxy.ts +++ b/packages/v1/ignition/modules/proxy.ts @@ -3,8 +3,8 @@ import { Uint8 } from 'soltypes'; import { encodeFunctionData } from 'viem'; import { privateKeyToAccount } from 'viem/accounts'; -import { JPYC_V2_ABI } from '../../src'; -import { Address } from '../../../core/src'; +import { Address } from '@jpyc/sdk-core'; +import { JPYC_V2_ABI } from '@jpyc/sdk-v1'; export const proxyModule = buildModule('ProxyModule', (m) => { // Deploy JPYCv2 contract diff --git a/packages/v1/index.ts b/packages/v1/index.ts new file mode 100644 index 0000000..9f7b4d8 --- /dev/null +++ b/packages/v1/index.ts @@ -0,0 +1,5 @@ +import * as dotenv from 'dotenv'; + +dotenv.config(); + +export * from './src'; diff --git a/packages/v1/src/client.ts b/packages/v1/src/client.ts index 2e2953e..64d1e51 100644 --- a/packages/v1/src/client.ts +++ b/packages/v1/src/client.ts @@ -9,7 +9,7 @@ import { isValidNetworkName, NetworkName, SUPPORTED_CHAINS, -} from '../../core'; +} from '@jpyc/sdk-core'; import { ISdkClient, InvalidChainNameError, InvalidNetworkNameError } from './'; export class SdkClient implements ISdkClient { diff --git a/packages/v1/src/errors.ts b/packages/v1/src/errors.ts index a675b4b..35a69ea 100644 --- a/packages/v1/src/errors.ts +++ b/packages/v1/src/errors.ts @@ -1,4 +1,4 @@ -import { getSupportedChainNames, getSupportedNetworkNames } from '../../core'; +import { getSupportedChainNames, getSupportedNetworkNames } from '@jpyc/sdk-core'; /** * Custom error abstract class diff --git a/packages/v1/src/interfaces/client.ts b/packages/v1/src/interfaces/client.ts index 692ba96..9749b37 100644 --- a/packages/v1/src/interfaces/client.ts +++ b/packages/v1/src/interfaces/client.ts @@ -1,6 +1,6 @@ import { PrivateKeyAccount, WalletClient } from 'viem'; -import { Address } from '../../../core'; +import { Address } from '@jpyc/sdk-core'; export interface ISdkClient { /** diff --git a/packages/v1/src/interfaces/jpyc.ts b/packages/v1/src/interfaces/jpyc.ts index 6b862b5..8b84ac3 100644 --- a/packages/v1/src/interfaces/jpyc.ts +++ b/packages/v1/src/interfaces/jpyc.ts @@ -1,7 +1,7 @@ import { Uint256, Uint8 } from 'soltypes'; import { Hash } from 'viem'; -import { Address, Bytes32 } from '../../../core'; +import { Address, Bytes32 } from '@jpyc/sdk-core'; export interface IJPYC { /** diff --git a/packages/v1/src/jpyc.ts b/packages/v1/src/jpyc.ts index 7b30132..be1b666 100644 --- a/packages/v1/src/jpyc.ts +++ b/packages/v1/src/jpyc.ts @@ -7,7 +7,7 @@ import { isValidAddress, LOCAL_PROXY_ADDRESS, V2_PROXY_ADDRESS, -} from '../../core'; +} from '@jpyc/sdk-core'; import { IJPYC, InvalidAddressError, InvalidTransactionError, JPYC_V2_ABI } from './'; export class JPYC implements IJPYC { diff --git a/packages/v1/tsconfig.json b/packages/v1/tsconfig.json index f9e25f2..13897ab 100644 --- a/packages/v1/tsconfig.json +++ b/packages/v1/tsconfig.json @@ -41,7 +41,11 @@ // misc "esModuleInterop": true, "experimentalDecorators": true, - "emitDecoratorMetadata": true + "emitDecoratorMetadata": true, + "paths": { + "@jpyc/sdk-core/*": ["../core/"], + "@jpyc/sdk-v1/*": ["./src/"] + } }, "ts-node": { "require": ["tsconfig-paths/register"] From dd546355f5475b9bea21f606fc9c2464f0bb24c0 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Wed, 21 Aug 2024 13:48:51 +0900 Subject: [PATCH 61/92] Include specific contract artifacts --- .../v1/FiatTokenV1.sol/FiatTokenV1.json | 1260 +++++++++++++++++ 1 file changed, 1260 insertions(+) create mode 100644 packages/v1/artifacts/JPYCv2/contracts/v1/FiatTokenV1.sol/FiatTokenV1.json diff --git a/packages/v1/artifacts/JPYCv2/contracts/v1/FiatTokenV1.sol/FiatTokenV1.json b/packages/v1/artifacts/JPYCv2/contracts/v1/FiatTokenV1.sol/FiatTokenV1.json new file mode 100644 index 0000000..e82de78 --- /dev/null +++ b/packages/v1/artifacts/JPYCv2/contracts/v1/FiatTokenV1.sol/FiatTokenV1.json @@ -0,0 +1,1260 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "FiatTokenV1", + "sourceName": "JPYCv2/contracts/v1/FiatTokenV1.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "authorizer", + "type": "address" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "nonce", + "type": "bytes32" + } + ], + "name": "AuthorizationCanceled", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "authorizer", + "type": "address" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "nonce", + "type": "bytes32" + } + ], + "name": "AuthorizationUsed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "Blocklisted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newBlocklister", + "type": "address" + } + ], + "name": "BlocklisterChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "burner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Burn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "minter", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Mint", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newMinterAdmin", + "type": "address" + } + ], + "name": "MinterAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "minter", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "minterAllowedAmount", + "type": "uint256" + } + ], + "name": "MinterConfigured", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "oldMinter", + "type": "address" + } + ], + "name": "MinterRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "Pause", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newAddress", + "type": "address" + } + ], + "name": "PauserChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newRescuer", + "type": "address" + } + ], + "name": "RescuerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "UnBlocklisted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "Unpause", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "inputs": [], + "name": "CANCEL_AUTHORIZATION_TYPEHASH", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "PERMIT_TYPEHASH", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "RECEIVE_WITH_AUTHORIZATION_TYPEHASH", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "TRANSFER_WITH_AUTHORIZATION_TYPEHASH", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_domainSeparatorV4", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "authorizer", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "nonce", + "type": "bytes32" + } + ], + "name": "authorizationState", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "blocklist", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "blocklister", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "authorizer", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "nonce", + "type": "bytes32" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "cancelAuthorization", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "minter", + "type": "address" + }, + { + "internalType": "uint256", + "name": "minterAllowedAmount", + "type": "uint256" + } + ], + "name": "configureMinter", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "currency", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "decrement", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "increment", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "tokenName", + "type": "string" + }, + { + "internalType": "string", + "name": "tokenSymbol", + "type": "string" + }, + { + "internalType": "string", + "name": "tokenCurrency", + "type": "string" + }, + { + "internalType": "uint8", + "name": "tokenDecimals", + "type": "uint8" + }, + { + "internalType": "address", + "name": "newMinterAdmin", + "type": "address" + }, + { + "internalType": "address", + "name": "newPauser", + "type": "address" + }, + { + "internalType": "address", + "name": "newBlocklister", + "type": "address" + }, + { + "internalType": "address", + "name": "newRescuer", + "type": "address" + }, + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "isBlocklisted", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "isMinter", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "minterAdmin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "minter", + "type": "address" + } + ], + "name": "minterAllowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "nonces", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "paused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pauser", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "permit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "proxiableUUID", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "validAfter", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "validBefore", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "nonce", + "type": "bytes32" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "receiveWithAuthorization", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "minter", + "type": "address" + } + ], + "name": "removeMinter", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IERC20", + "name": "tokenContract", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "rescueERC20", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "rescuer", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "validAfter", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "validBefore", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "nonce", + "type": "bytes32" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "transferWithAuthorization", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "unBlocklist", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "unpause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newBlocklister", + "type": "address" + } + ], + "name": "updateBlocklister", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newMinterAdmin", + "type": "address" + } + ], + "name": "updateMinterAdmin", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newPauser", + "type": "address" + } + ], + "name": "updatePauser", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newRescuer", + "type": "address" + } + ], + "name": "updateRescuer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ], + "bytecode": "0x60a0604052306080523480156200001557600080fd5b50620000213362000027565b62000077565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b608051614e33620000af600039600081816111da0152818161127001528181611f0e01528181611fa4015261209f0152614e336000f3fe6080604052600436106103295760003560e01c80637ecebe00116101a5578063aa271e1a116100ec578063e3ee160e11610095578063e94a01021161006f578063e94a0102146109d7578063ef55bec614610a1e578063f2fde38b14610a3e578063f9b5aa9214610a5e57600080fd5b8063e3ee160e14610982578063e5a6b10f146109a2578063e5c7160b146109b757600080fd5b8063d505accf116100c6578063d505accf146108e7578063d916948714610907578063dd62ed3e1461093b57600080fd5b8063aa271e1a1461086d578063b2118a8d146108a7578063b54d9497146108c757600080fd5b806395d89b411161014e578063a457c2d711610128578063a457c2d71461080c578063a754d48f1461082c578063a9059cbb1461084d57600080fd5b806395d89b41146107a35780639fd0506d146107b8578063a0cc6a68146107d857600080fd5b80638a6db9c31161017f5780638a6db9c3146107155780638da5cb5b1461074c5780638e204c431461076a57600080fd5b80637ecebe00146106955780637f2eecc3146106cc5780638456cb591461070057600080fd5b80633f4ba83a1161027457806352d1902d1161021d5780635c975abb116101f75780635c975abb1461060857806370a082311461062957806374ebf673146106605780637b134b4c1461068057600080fd5b806352d1902d146105b3578063554bab3c146105c85780635a049a70146105e857600080fd5b8063439531fd1161024e578063439531fd146105605780634e44d956146105805780634f1ef286146105a057600080fd5b80633f4ba83a1461050b57806340c10f191461052057806342966c681461054057600080fd5b806330adf81f116102d65780633659cfe6116102b05780633659cfe61461049357806338a63183146104b357806339509351146104eb57600080fd5b806330adf81f1461040b578063313ce5671461043f57806331b230201461047357600080fd5b806323b872dd1161030757806323b872dd146103a95780632ab60045146103c95780633092afd5146103eb57600080fd5b806306fdde031461032e578063095ea7b31461035957806318160ddd14610389575b600080fd5b34801561033a57600080fd5b50610343610a7e565b604051610350919061481c565b60405180910390f35b34801561036557600080fd5b5061037961037436600461486f565b610b0d565b6040519015158152602001610350565b34801561039557600080fd5b50610202545b604051908152602001610350565b3480156103b557600080fd5b506103796103c436600461489b565b610c59565b3480156103d557600080fd5b506103e96103e43660046148dc565b610eed565b005b3480156103f757600080fd5b506103796104063660046148dc565b611029565b34801561041757600080fd5b5061039b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b34801561044b57600080fd5b506102035461046190600160a01b900460ff1681565b60405160ff9091168152602001610350565b34801561047f57600080fd5b506103e961048e3660046148dc565b61110b565b34801561049f57600080fd5b506103e96104ae3660046148dc565b6111cf565b3480156104bf57600080fd5b50609a546104d3906001600160a01b031681565b6040516001600160a01b039091168152602001610350565b3480156104f757600080fd5b5061037961050636600461486f565b61136d565b34801561051757600080fd5b506103e96114a9565b34801561052c57600080fd5b5061037961053b36600461486f565b61157c565b34801561054c57600080fd5b506103e961055b3660046148f9565b6119a7565b34801561056c57600080fd5b506103e961057b3660046148dc565b611c89565b34801561058c57600080fd5b5061037961059b36600461486f565b611dc6565b6103e96105ae3660046149b7565b611f03565b3480156105bf57600080fd5b5061039b612092565b3480156105d457600080fd5b506103e96105e33660046148dc565b612157565b3480156105f457600080fd5b506103e9610603366004614a2c565b612293565b34801561061457600080fd5b5060335461037990600160a01b900460ff1681565b34801561063557600080fd5b5061039b6106443660046148dc565b6001600160a01b03166000908152610204602052604090205490565b34801561066c57600080fd5b506103e961067b366004614a9c565b6122f4565b34801561068c57600080fd5b5061039b612838565b3480156106a157600080fd5b5061039b6106b03660046148dc565b6001600160a01b03166000908152610168602052604090205490565b3480156106d857600080fd5b5061039b7fd099cc98ef71107a616c4f0f941f04c322d8e254fe26b3c6668db87aae413de881565b34801561070c57600080fd5b506103e96129de565b34801561072157600080fd5b5061039b6107303660046148dc565b6001600160a01b03166000908152610207602052604090205490565b34801561075857600080fd5b506000546001600160a01b03166104d3565b34801561077657600080fd5b506103796107853660046148dc565b6001600160a01b031660009081526067602052604090205460011490565b3480156107af57600080fd5b50610343612ab7565b3480156107c457600080fd5b506033546104d3906001600160a01b031681565b3480156107e457600080fd5b5061039b7f7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a226781565b34801561081857600080fd5b5061037961082736600461486f565b612ac5565b34801561083857600080fd5b50610203546104d3906001600160a01b031681565b34801561085957600080fd5b5061037961086836600461486f565b612c01565b34801561087957600080fd5b506103796108883660046148dc565b6001600160a01b03166000908152610206602052604090205460ff1690565b3480156108b357600080fd5b506103e96108c236600461489b565b612d3d565b3480156108d357600080fd5b506066546104d3906001600160a01b031681565b3480156108f357600080fd5b506103e9610902366004614b89565b612e4e565b34801561091357600080fd5b5061039b7f158b0a9edf7a828aad02f63cd515c68ef2f50ba807396f6d12842833a159742981565b34801561094757600080fd5b5061039b610956366004614bf7565b6001600160a01b0391821660009081526102056020908152604080832093909416825291909152205490565b34801561098e57600080fd5b506103e961099d366004614c30565b612fa1565b3480156109ae57600080fd5b506103436130f8565b3480156109c357600080fd5b506103e96109d23660046148dc565b613106565b3480156109e357600080fd5b506103796109f236600461486f565b6001600160a01b0391909116600090815261013560209081526040808320938352929052205460011490565b348015610a2a57600080fd5b506103e9610a39366004614c30565b6131cb565b348015610a4a57600080fd5b506103e9610a593660046148dc565b613315565b348015610a6a57600080fd5b506103e9610a793660046148dc565b613403565b6101ff8054610a8c90614cb2565b80601f0160208091040260200160405190810160405280929190818152602001828054610ab890614cb2565b8015610b055780601f10610ada57610100808354040283529160200191610b05565b820191906000526020600020905b815481529060010190602001808311610ae857829003601f168201915b505050505081565b603354600090600160a01b900460ff1615610b625760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064015b60405180910390fd5b3360008181526067602052604090205415610bcd5760405162461bcd60e51b815260206004820152602560248201527f426c6f636b6c69737461626c653a206163636f756e7420697320626c6f636b6c6044820152641a5cdd195960da1b6064820152608401610b59565b6001600160a01b038416600090815260676020526040902054849015610c435760405162461bcd60e51b815260206004820152602560248201527f426c6f636b6c69737461626c653a206163636f756e7420697320626c6f636b6c6044820152641a5cdd195960da1b6064820152608401610b59565b610c4e33868661353f565b506001949350505050565b603354600090600160a01b900460ff1615610ca95760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610b59565b3360008181526067602052604090205415610d145760405162461bcd60e51b815260206004820152602560248201527f426c6f636b6c69737461626c653a206163636f756e7420697320626c6f636b6c6044820152641a5cdd195960da1b6064820152608401610b59565b6001600160a01b038516600090815260676020526040902054859015610d8a5760405162461bcd60e51b815260206004820152602560248201527f426c6f636b6c69737461626c653a206163636f756e7420697320626c6f636b6c6044820152641a5cdd195960da1b6064820152608401610b59565b6001600160a01b038516600090815260676020526040902054859015610e005760405162461bcd60e51b815260206004820152602560248201527f426c6f636b6c69737461626c653a206163636f756e7420697320626c6f636b6c6044820152641a5cdd195960da1b6064820152608401610b59565b6001600160a01b0387166000908152610205602090815260408083203384529091529020546000198114610ed45785811015610ea45760405162461bcd60e51b815260206004820152602c60248201527f46696174546f6b656e3a207472616e7366657220616d6f756e7420657863656560448201527f647320616c6c6f77616e636500000000000000000000000000000000000000006064820152608401610b59565b610eae8682614d35565b6001600160a01b0389166000908152610205602090815260408083203384529091529020555b610edf888888613691565b506001979650505050505050565b33610f006000546001600160a01b031690565b6001600160a01b031614610f565760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b59565b6001600160a01b038116610fd25760405162461bcd60e51b815260206004820152602a60248201527f526573637561626c653a206e6577207265736375657220697320746865207a6560448201527f726f2061646472657373000000000000000000000000000000000000000000006064820152608401610b59565b609a805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040517fe475e580d85111348e40d8ca33cfdd74c30fe1655c2d8537a13abc10065ffa5a90600090a250565b610203546000906001600160a01b031633146110ad5760405162461bcd60e51b815260206004820152602860248201527f46696174546f6b656e3a2063616c6c6572206973206e6f7420746865206d696e60448201527f74657241646d696e0000000000000000000000000000000000000000000000006064820152608401610b59565b6001600160a01b038216600081815261020660209081526040808320805460ff19169055610207909152808220829055517fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb666929190a25060015b919050565b6066546001600160a01b0316331461118b5760405162461bcd60e51b815260206004820152602c60248201527f426c6f636b6c69737461626c653a2063616c6c6572206973206e6f742074686560448201527f20626c6f636b6c697374657200000000000000000000000000000000000000006064820152608401610b59565b6001600160a01b038116600081815260676020526040808220829055517fbc3fe0fc667d12a7a22748747f024a7d971127ffc48f6622675d3e97a2591a519190a250565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561126e5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610b59565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166112c97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146113455760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610b59565b61134e816138b7565b6040805160008082526020820190925261136a91839190613920565b50565b603354600090600160a01b900460ff16156113bd5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610b59565b33600081815260676020526040902054156114285760405162461bcd60e51b815260206004820152602560248201527f426c6f636b6c69737461626c653a206163636f756e7420697320626c6f636b6c6044820152641a5cdd195960da1b6064820152608401610b59565b6001600160a01b03841660009081526067602052604090205484901561149e5760405162461bcd60e51b815260206004820152602560248201527f426c6f636b6c69737461626c653a206163636f756e7420697320626c6f636b6c6044820152641a5cdd195960da1b6064820152608401610b59565b610c4e338686613ac5565b6033546001600160a01b031633146115295760405162461bcd60e51b815260206004820152602260248201527f5061757361626c653a2063616c6c6572206973206e6f7420746865207061757360448201527f65720000000000000000000000000000000000000000000000000000000000006064820152608401610b59565b603380547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b603354600090600160a01b900460ff16156115cc5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610b59565b336000908152610206602052604090205460ff166116525760405162461bcd60e51b815260206004820152602160248201527f46696174546f6b656e3a2063616c6c6572206973206e6f742061206d696e746560448201527f72000000000000000000000000000000000000000000000000000000000000006064820152608401610b59565b33600081815260676020526040902054156116bd5760405162461bcd60e51b815260206004820152602560248201527f426c6f636b6c69737461626c653a206163636f756e7420697320626c6f636b6c6044820152641a5cdd195960da1b6064820152608401610b59565b6001600160a01b0384166000908152606760205260409020548490156117335760405162461bcd60e51b815260206004820152602560248201527f426c6f636b6c69737461626c653a206163636f756e7420697320626c6f636b6c6044820152641a5cdd195960da1b6064820152608401610b59565b6001600160a01b0385166117af5760405162461bcd60e51b815260206004820152602360248201527f46696174546f6b656e3a206d696e7420746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610b59565b600084116118255760405162461bcd60e51b815260206004820152602960248201527f46696174546f6b656e3a206d696e7420616d6f756e74206e6f7420677265617460448201527f6572207468616e203000000000000000000000000000000000000000000000006064820152608401610b59565b3360009081526102076020526040902054808511156118ac5760405162461bcd60e51b815260206004820152602e60248201527f46696174546f6b656e3a206d696e7420616d6f756e742065786365656473206d60448201527f696e746572416c6c6f77616e63650000000000000000000000000000000000006064820152608401610b59565b84610202546118bb9190614d4c565b610202556001600160a01b038616600090815261020460205260409020546118e4908690614d4c565b6001600160a01b038716600090815261020460205260409020556119088582614d35565b336000818152610207602090815260409182902093909355518781526001600160a01b038916927fab8530f87dc9b59234c4623bf917212bb2536d647574c8e7e5da92c2ede0c9f8910160405180910390a36040518581526001600160a01b038716906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a350600195945050505050565b603354600160a01b900460ff16156119f45760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610b59565b336000908152610206602052604090205460ff16611a7a5760405162461bcd60e51b815260206004820152602160248201527f46696174546f6b656e3a2063616c6c6572206973206e6f742061206d696e746560448201527f72000000000000000000000000000000000000000000000000000000000000006064820152608401610b59565b3360008181526067602052604090205415611ae55760405162461bcd60e51b815260206004820152602560248201527f426c6f636b6c69737461626c653a206163636f756e7420697320626c6f636b6c6044820152641a5cdd195960da1b6064820152608401610b59565b336000908152610204602052604090205482611b695760405162461bcd60e51b815260206004820152602960248201527f46696174546f6b656e3a206275726e20616d6f756e74206e6f7420677265617460448201527f6572207468616e203000000000000000000000000000000000000000000000006064820152608401610b59565b82811015611bdf5760405162461bcd60e51b815260206004820152602660248201527f46696174546f6b656e3a206275726e20616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610b59565b8261020254611bee9190614d35565b61020255611bfc8382614d35565b3360008181526102046020526040908190209290925590517fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca590611c439086815260200190565b60405180910390a260405183815260009033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a3505050565b33611c9c6000546001600160a01b031690565b6001600160a01b031614611cf25760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b59565b6001600160a01b038116611d6e5760405162461bcd60e51b815260206004820152602e60248201527f46696174546f6b656e3a206e6577206d696e74657241646d696e20697320746860448201527f65207a65726f20616464726573730000000000000000000000000000000000006064820152608401610b59565b610203805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040517f4e6db312b79f0cdadbee5f76e2473786c1e81cba2356eacccc2aa5b5e6e3664c90600090a250565b603354600090600160a01b900460ff1615611e165760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610b59565b610203546001600160a01b03163314611e975760405162461bcd60e51b815260206004820152602860248201527f46696174546f6b656e3a2063616c6c6572206973206e6f7420746865206d696e60448201527f74657241646d696e0000000000000000000000000000000000000000000000006064820152608401610b59565b6001600160a01b038316600081815261020660209081526040808320805460ff1916600117905561020782529182902085905590518481527f46980fca912ef9bcdbd36877427b6b90e860769f604e89c0e67720cece530d20910160405180910390a250600192915050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415611fa25760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610b59565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611ffd7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146120795760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610b59565b612082826138b7565b61208e82826001613920565b5050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146121325760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610b59565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b3361216a6000546001600160a01b031690565b6001600160a01b0316146121c05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b59565b6001600160a01b03811661223c5760405162461bcd60e51b815260206004820152602860248201527f5061757361626c653a206e65772070617573657220697320746865207a65726f60448201527f20616464726573730000000000000000000000000000000000000000000000006064820152608401610b59565b6033805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040517fb80482a293ca2e013eda8683c9bd7fc8347cfdaeea5ede58cba46df502c2a60490600090a250565b603354600160a01b900460ff16156122e05760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610b59565b6122ed8585858585613b04565b5050505050565b610203547501000000000000000000000000000000000000000000900460ff16156123875760405162461bcd60e51b815260206004820152602a60248201527f46696174546f6b656e3a20636f6e747261637420697320616c7265616479206960448201527f6e697469616c697a6564000000000000000000000000000000000000000000006064820152608401610b59565b6001600160a01b0385166124035760405162461bcd60e51b815260206004820152602e60248201527f46696174546f6b656e3a206e6577206d696e74657241646d696e20697320746860448201527f65207a65726f20616464726573730000000000000000000000000000000000006064820152608401610b59565b6001600160a01b03841661247f5760405162461bcd60e51b815260206004820152602960248201527f46696174546f6b656e3a206e65772070617573657220697320746865207a657260448201527f6f206164647265737300000000000000000000000000000000000000000000006064820152608401610b59565b6001600160a01b0383166124fb5760405162461bcd60e51b815260206004820152602e60248201527f46696174546f6b656e3a206e657720626c6f636b6c697374657220697320746860448201527f65207a65726f20616464726573730000000000000000000000000000000000006064820152608401610b59565b6001600160a01b0382166125775760405162461bcd60e51b815260206004820152602a60248201527f46696174546f6b656e3a206e6577207265736375657220697320746865207a6560448201527f726f2061646472657373000000000000000000000000000000000000000000006064820152608401610b59565b6001600160a01b0381166125f35760405162461bcd60e51b815260206004820152602860248201527f46696174546f6b656e3a206e6577206f776e657220697320746865207a65726f60448201527f20616464726573730000000000000000000000000000000000000000000000006064820152608401610b59565b8851612607906101ff9060208c0190614757565b50875161261c906102009060208b0190614757565b508651612631906102019060208a0190614757565b5061020380547fffffffffffffffffffffff00000000000000000000000000000000000000000016600160a01b60ff89160273ffffffffffffffffffffffffffffffffffffffff19908116919091176001600160a01b0388811691909117909255603380548216878416179055606680548216868416179055609a80549091169184169190911790556126c381613c25565b30600081815260676020908152604091829020600190819055825180840184529081527f3100000000000000000000000000000000000000000000000000000000000000908201528b518c82012082517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81840152808401919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606082015246608082015260a0808201949094528251808203909401845260c001909152815191012060ff55466101005588516127a5906101019060208c0190614757565b506040805180820190915260018082527f310000000000000000000000000000000000000000000000000000000000000060209092019182526127eb9161010291614757565b505061020380547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff1675010000000000000000000000000000000000000000001790555050505050505050565b60006101005446141561284c575060ff5490565b6129d9610101805461285d90614cb2565b80601f016020809104026020016040519081016040528092919081815260200182805461288990614cb2565b80156128d65780601f106128ab576101008083540402835291602001916128d6565b820191906000526020600020905b8154815290600101906020018083116128b957829003601f168201915b505050505061010280546128e990614cb2565b80601f016020809104026020016040519081016040528092919081815260200182805461291590614cb2565b80156129625780601f1061293757610100808354040283529160200191612962565b820191906000526020600020905b81548152906001019060200180831161294557829003601f168201915b50505050508151602092830120815191830191909120604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818601528082019390935260608301919091524660808301523060a0808401919091528151808403909101815260c09092019052805191012090565b905090565b6033546001600160a01b03163314612a5e5760405162461bcd60e51b815260206004820152602260248201527f5061757361626c653a2063616c6c6572206973206e6f7420746865207061757360448201527f65720000000000000000000000000000000000000000000000000000000000006064820152608401610b59565b603380547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16600160a01b1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b6102008054610a8c90614cb2565b603354600090600160a01b900460ff1615612b155760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610b59565b3360008181526067602052604090205415612b805760405162461bcd60e51b815260206004820152602560248201527f426c6f636b6c69737461626c653a206163636f756e7420697320626c6f636b6c6044820152641a5cdd195960da1b6064820152608401610b59565b6001600160a01b038416600090815260676020526040902054849015612bf65760405162461bcd60e51b815260206004820152602560248201527f426c6f636b6c69737461626c653a206163636f756e7420697320626c6f636b6c6044820152641a5cdd195960da1b6064820152608401610b59565b610c4e338686613c82565b603354600090600160a01b900460ff1615612c515760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610b59565b3360008181526067602052604090205415612cbc5760405162461bcd60e51b815260206004820152602560248201527f426c6f636b6c69737461626c653a206163636f756e7420697320626c6f636b6c6044820152641a5cdd195960da1b6064820152608401610b59565b6001600160a01b038416600090815260676020526040902054849015612d325760405162461bcd60e51b815260206004820152602560248201527f426c6f636b6c69737461626c653a206163636f756e7420697320626c6f636b6c6044820152641a5cdd195960da1b6064820152608401610b59565b610c4e338686613691565b609a546001600160a01b03163314612dbc5760405162461bcd60e51b8152602060048201526024808201527f526573637561626c653a2063616c6c6572206973206e6f74207468652072657360448201527f63756572000000000000000000000000000000000000000000000000000000006064820152608401610b59565b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af1158015612e24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e489190614d64565b50505050565b603354600160a01b900460ff1615612e9b5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610b59565b6001600160a01b038716600090815260676020526040902054879015612f115760405162461bcd60e51b815260206004820152602560248201527f426c6f636b6c69737461626c653a206163636f756e7420697320626c6f636b6c6044820152641a5cdd195960da1b6064820152608401610b59565b6001600160a01b038716600090815260676020526040902054879015612f875760405162461bcd60e51b815260206004820152602560248201527f426c6f636b6c69737461626c653a206163636f756e7420697320626c6f636b6c6044820152641a5cdd195960da1b6064820152608401610b59565b612f9689898989898989613d2e565b505050505050505050565b603354600160a01b900460ff1615612fee5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610b59565b6001600160a01b0389166000908152606760205260409020548990156130645760405162461bcd60e51b815260206004820152602560248201527f426c6f636b6c69737461626c653a206163636f756e7420697320626c6f636b6c6044820152641a5cdd195960da1b6064820152608401610b59565b6001600160a01b0389166000908152606760205260409020548990156130da5760405162461bcd60e51b815260206004820152602560248201527f426c6f636b6c69737461626c653a206163636f756e7420697320626c6f636b6c6044820152641a5cdd195960da1b6064820152608401610b59565b6130eb8b8b8b8b8b8b8b8b8b613e99565b5050505050505050505050565b6102018054610a8c90614cb2565b6066546001600160a01b031633146131865760405162461bcd60e51b815260206004820152602c60248201527f426c6f636b6c69737461626c653a2063616c6c6572206973206e6f742074686560448201527f20626c6f636b6c697374657200000000000000000000000000000000000000006064820152608401610b59565b6001600160a01b03811660008181526067602052604080822060019055517f917c251bb231c4b997a420bebe47edad5c20e70715da16c38e9b2e172e44ab929190a250565b603354600160a01b900460ff16156132185760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610b59565b6001600160a01b03891660009081526067602052604090205489901561328e5760405162461bcd60e51b815260206004820152602560248201527f426c6f636b6c69737461626c653a206163636f756e7420697320626c6f636b6c6044820152641a5cdd195960da1b6064820152608401610b59565b6001600160a01b0389166000908152606760205260409020548990156133045760405162461bcd60e51b815260206004820152602560248201527f426c6f636b6c69737461626c653a206163636f756e7420697320626c6f636b6c6044820152641a5cdd195960da1b6064820152608401610b59565b6130eb8b8b8b8b8b8b8b8b8b613faa565b336133286000546001600160a01b031690565b6001600160a01b03161461337e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b59565b6001600160a01b0381166133fa5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610b59565b61136a81613c25565b336134166000546001600160a01b031690565b6001600160a01b03161461346c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b59565b6001600160a01b0381166134e85760405162461bcd60e51b815260206004820152603260248201527f426c6f636b6c69737461626c653a206e657720626c6f636b6c6973746572206960448201527f7320746865207a65726f206164647265737300000000000000000000000000006064820152608401610b59565b6066805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040517f68f10ceb42d30acc930aaaedf5b94559e14fc4f22496dc2c1b38b1b1b5231f9890600090a250565b6001600160a01b0383166135bb5760405162461bcd60e51b815260206004820152602860248201527f46696174546f6b656e3a20617070726f76652066726f6d20746865207a65726f60448201527f20616464726573730000000000000000000000000000000000000000000000006064820152608401610b59565b6001600160a01b0382166136375760405162461bcd60e51b815260206004820152602660248201527f46696174546f6b656e3a20617070726f766520746f20746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610b59565b6001600160a01b038381166000818152610205602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259101611c7c565b6001600160a01b03831661370d5760405162461bcd60e51b815260206004820152602960248201527f46696174546f6b656e3a207472616e736665722066726f6d20746865207a657260448201527f6f206164647265737300000000000000000000000000000000000000000000006064820152608401610b59565b6001600160a01b0382166137895760405162461bcd60e51b815260206004820152602760248201527f46696174546f6b656e3a207472616e7366657220746f20746865207a65726f2060448201527f61646472657373000000000000000000000000000000000000000000000000006064820152608401610b59565b6001600160a01b03831660009081526102046020526040902054808211156138195760405162461bcd60e51b815260206004820152602a60248201527f46696174546f6b656e3a207472616e7366657220616d6f756e7420657863656560448201527f64732062616c616e6365000000000000000000000000000000000000000000006064820152608401610b59565b6138238282614d35565b6001600160a01b03808616600090815261020460205260408082209390935590851681522054613854908390614d4c565b6001600160a01b038085166000818152610204602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906138a99086815260200190565b60405180910390a350505050565b336138ca6000546001600160a01b031690565b6001600160a01b03161461136a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b59565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561395857613953836140a0565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156139b2575060408051601f3d908101601f191682019092526139af91810190614d86565b60015b613a245760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610b59565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114613ab95760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610b59565b50613953838383614162565b6001600160a01b03808416600090815261020560209081526040808320938616835292905220546139539084908490613aff908590614d4c565b61353f565b613b0e8585614187565b604080517f158b0a9edf7a828aad02f63cd515c68ef2f50ba807396f6d12842833a159742960208201526001600160a01b038716818301819052606080830188905283518084039091018152608090920190925290613b77613b6e612838565b8686868661421f565b6001600160a01b031614613bcd5760405162461bcd60e51b815260206004820152601a60248201527f454950333030393a20696e76616c6964207369676e61747572650000000000006044820152606401610b59565b6001600160a01b03861660008181526101356020908152604080832089845290915280822060019055518792917f1cdd46ff242716cdaa72d159d339a485b3438398348d68f09d7c8c0a59353d8191a3505050505050565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038084166000908152610205602090815260408083209386168352929052205480821115613d1f5760405162461bcd60e51b815260206004820152602960248201527f46696174546f6b656e3a2064656372656173656420616c6c6f77616e6365206260448201527f656c6f77207a65726f00000000000000000000000000000000000000000000006064820152608401610b59565b612e488484613aff8585614d35565b42841015613d7e5760405162461bcd60e51b815260206004820152601a60248201527f454950323631323a207065726d697420697320657870697265640000000000006044820152606401610b59565b6001600160a01b03871660009081526101686020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918a918a918a919086613dcc83614d9f565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040529050876001600160a01b0316613e2e613b6e612838565b6001600160a01b031614613e845760405162461bcd60e51b815260206004820152601a60248201527f454950323631323a20696e76616c6964207369676e61747572650000000000006044820152606401610b59565b613e8f88888861353f565b5050505050505050565b613ea58985888861429c565b604080517f7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a226760208201526001600160a01b03808c169282019290925290891660608201526080810188905260a0810187905260c0810186905260e08101859052600090610100015b6040516020818303038152906040529050896001600160a01b0316613f33613b6e612838565b6001600160a01b031614613f895760405162461bcd60e51b815260206004820152601a60248201527f454950333030393a20696e76616c6964207369676e61747572650000000000006044820152606401610b59565b613f938a86614390565b613f9e8a8a8a613691565b50505050505050505050565b6001600160a01b03881633146140285760405162461bcd60e51b815260206004820152602160248201527f454950333030393a2063616c6c6572206d75737420626520746865207061796560448201527f65000000000000000000000000000000000000000000000000000000000000006064820152608401610b59565b6140348985888861429c565b604080517fd099cc98ef71107a616c4f0f941f04c322d8e254fe26b3c6668db87aae413de860208201526001600160a01b03808c169282019290925290891660608201526080810188905260a0810187905260c0810186905260e0810185905260009061010001613f0d565b803b6141145760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610b59565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b61416b836143e4565b6000825111806141785750805b1561395357612e488383614424565b6001600160a01b0382166000908152610135602090815260408083208484529091529020541561208e5760405162461bcd60e51b815260206004820152602a60248201527f454950333030393a20617574686f72697a6174696f6e2069732075736564206f60448201527f722063616e63656c6564000000000000000000000000000000000000000000006064820152608401610b59565b60008086838051906020012060405160200161426d9291907f190100000000000000000000000000000000000000000000000000000000000081526002810192909252602282015260420190565b60405160208183030381529060405280519060200120905061429181878787614450565b979650505050505050565b8142116143115760405162461bcd60e51b815260206004820152602760248201527f454950333030393a20617574686f72697a6174696f6e206973206e6f7420796560448201527f742076616c6964000000000000000000000000000000000000000000000000006064820152608401610b59565b8042106143865760405162461bcd60e51b815260206004820152602160248201527f454950333030393a20617574686f72697a6174696f6e2069732065787069726560448201527f64000000000000000000000000000000000000000000000000000000000000006064820152608401610b59565b612e488484614187565b6001600160a01b03821660008181526101356020908152604080832085845290915280822060019055518392917f98de503528ee59b575ef0c0a2576a82497bfc029a5685b209e9ec333479b10a591a35050565b6143ed816140a0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606144498383604051806060016040528060278152602001614dd760279139614633565b9392505050565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08211156144e85760405162461bcd60e51b815260206004820152602660248201527f45435265636f7665723a20696e76616c6964207369676e61747572652027732760448201527f2076616c756500000000000000000000000000000000000000000000000000006064820152608401610b59565b8360ff16601b1415801561450057508360ff16601c14155b156145735760405162461bcd60e51b815260206004820152602660248201527f45435265636f7665723a20696e76616c6964207369676e61747572652027762760448201527f2076616c756500000000000000000000000000000000000000000000000000006064820152608401610b59565b6040805160008082526020820180845288905260ff871692820192909252606081018590526080810184905260019060a0016020604051602081039080840390855afa1580156145c7573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661462a5760405162461bcd60e51b815260206004820152601c60248201527f45435265636f7665723a20696e76616c6964207369676e6174757265000000006044820152606401610b59565b95945050505050565b6060833b6146a95760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610b59565b600080856001600160a01b0316856040516146c49190614dba565b600060405180830381855af49150503d80600081146146ff576040519150601f19603f3d011682016040523d82523d6000602084013e614704565b606091505b509150915061471482828661471e565b9695505050505050565b6060831561472d575081614449565b82511561473d5782518084602001fd5b8160405162461bcd60e51b8152600401610b59919061481c565b82805461476390614cb2565b90600052602060002090601f01602090048101928261478557600085556147cb565b82601f1061479e57805160ff19168380011785556147cb565b828001600101855582156147cb579182015b828111156147cb5782518255916020019190600101906147b0565b506147d79291506147db565b5090565b5b808211156147d757600081556001016147dc565b60005b8381101561480b5781810151838201526020016147f3565b83811115612e485750506000910152565b602081526000825180602084015261483b8160408501602087016147f0565b601f01601f19169190910160400192915050565b6001600160a01b038116811461136a57600080fd5b80356111068161484f565b6000806040838503121561488257600080fd5b823561488d8161484f565b946020939093013593505050565b6000806000606084860312156148b057600080fd5b83356148bb8161484f565b925060208401356148cb8161484f565b929592945050506040919091013590565b6000602082840312156148ee57600080fd5b81356144498161484f565b60006020828403121561490b57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600067ffffffffffffffff8084111561495c5761495c614912565b604051601f8501601f19908116603f0116810190828211818310171561498457614984614912565b8160405280935085815286868601111561499d57600080fd5b858560208301376000602087830101525050509392505050565b600080604083850312156149ca57600080fd5b82356149d58161484f565b9150602083013567ffffffffffffffff8111156149f157600080fd5b8301601f81018513614a0257600080fd5b614a1185823560208401614941565b9150509250929050565b803560ff8116811461110657600080fd5b600080600080600060a08688031215614a4457600080fd5b8535614a4f8161484f565b945060208601359350614a6460408701614a1b565b94979396509394606081013594506080013592915050565b600082601f830112614a8d57600080fd5b61444983833560208501614941565b60008060008060008060008060006101208a8c031215614abb57600080fd5b893567ffffffffffffffff80821115614ad357600080fd5b614adf8d838e01614a7c565b9a5060208c0135915080821115614af557600080fd5b614b018d838e01614a7c565b995060408c0135915080821115614b1757600080fd5b50614b248c828d01614a7c565b975050614b3360608b01614a1b565b9550614b4160808b01614864565b9450614b4f60a08b01614864565b9350614b5d60c08b01614864565b9250614b6b60e08b01614864565b9150614b7a6101008b01614864565b90509295985092959850929598565b600080600080600080600060e0888a031215614ba457600080fd5b8735614baf8161484f565b96506020880135614bbf8161484f565b95506040880135945060608801359350614bdb60808901614a1b565b925060a0880135915060c0880135905092959891949750929550565b60008060408385031215614c0a57600080fd5b8235614c158161484f565b91506020830135614c258161484f565b809150509250929050565b60008060008060008060008060006101208a8c031215614c4f57600080fd5b8935614c5a8161484f565b985060208a0135614c6a8161484f565b975060408a0135965060608a0135955060808a0135945060a08a01359350614c9460c08b01614a1b565b925060e08a013591506101008a013590509295985092959850929598565b600181811c90821680614cc657607f821691505b60208210811415614d00577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082821015614d4757614d47614d06565b500390565b60008219821115614d5f57614d5f614d06565b500190565b600060208284031215614d7657600080fd5b8151801515811461444957600080fd5b600060208284031215614d9857600080fd5b5051919050565b6000600019821415614db357614db3614d06565b5060010190565b60008251614dcc8184602087016147f0565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122088b0c5194b9eca0801c00f098997e6c9042e68a8d796e28173d6611567e0d9a464736f6c634300080b0033", + "deployedBytecode": "0x6080604052600436106103295760003560e01c80637ecebe00116101a5578063aa271e1a116100ec578063e3ee160e11610095578063e94a01021161006f578063e94a0102146109d7578063ef55bec614610a1e578063f2fde38b14610a3e578063f9b5aa9214610a5e57600080fd5b8063e3ee160e14610982578063e5a6b10f146109a2578063e5c7160b146109b757600080fd5b8063d505accf116100c6578063d505accf146108e7578063d916948714610907578063dd62ed3e1461093b57600080fd5b8063aa271e1a1461086d578063b2118a8d146108a7578063b54d9497146108c757600080fd5b806395d89b411161014e578063a457c2d711610128578063a457c2d71461080c578063a754d48f1461082c578063a9059cbb1461084d57600080fd5b806395d89b41146107a35780639fd0506d146107b8578063a0cc6a68146107d857600080fd5b80638a6db9c31161017f5780638a6db9c3146107155780638da5cb5b1461074c5780638e204c431461076a57600080fd5b80637ecebe00146106955780637f2eecc3146106cc5780638456cb591461070057600080fd5b80633f4ba83a1161027457806352d1902d1161021d5780635c975abb116101f75780635c975abb1461060857806370a082311461062957806374ebf673146106605780637b134b4c1461068057600080fd5b806352d1902d146105b3578063554bab3c146105c85780635a049a70146105e857600080fd5b8063439531fd1161024e578063439531fd146105605780634e44d956146105805780634f1ef286146105a057600080fd5b80633f4ba83a1461050b57806340c10f191461052057806342966c681461054057600080fd5b806330adf81f116102d65780633659cfe6116102b05780633659cfe61461049357806338a63183146104b357806339509351146104eb57600080fd5b806330adf81f1461040b578063313ce5671461043f57806331b230201461047357600080fd5b806323b872dd1161030757806323b872dd146103a95780632ab60045146103c95780633092afd5146103eb57600080fd5b806306fdde031461032e578063095ea7b31461035957806318160ddd14610389575b600080fd5b34801561033a57600080fd5b50610343610a7e565b604051610350919061481c565b60405180910390f35b34801561036557600080fd5b5061037961037436600461486f565b610b0d565b6040519015158152602001610350565b34801561039557600080fd5b50610202545b604051908152602001610350565b3480156103b557600080fd5b506103796103c436600461489b565b610c59565b3480156103d557600080fd5b506103e96103e43660046148dc565b610eed565b005b3480156103f757600080fd5b506103796104063660046148dc565b611029565b34801561041757600080fd5b5061039b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b34801561044b57600080fd5b506102035461046190600160a01b900460ff1681565b60405160ff9091168152602001610350565b34801561047f57600080fd5b506103e961048e3660046148dc565b61110b565b34801561049f57600080fd5b506103e96104ae3660046148dc565b6111cf565b3480156104bf57600080fd5b50609a546104d3906001600160a01b031681565b6040516001600160a01b039091168152602001610350565b3480156104f757600080fd5b5061037961050636600461486f565b61136d565b34801561051757600080fd5b506103e96114a9565b34801561052c57600080fd5b5061037961053b36600461486f565b61157c565b34801561054c57600080fd5b506103e961055b3660046148f9565b6119a7565b34801561056c57600080fd5b506103e961057b3660046148dc565b611c89565b34801561058c57600080fd5b5061037961059b36600461486f565b611dc6565b6103e96105ae3660046149b7565b611f03565b3480156105bf57600080fd5b5061039b612092565b3480156105d457600080fd5b506103e96105e33660046148dc565b612157565b3480156105f457600080fd5b506103e9610603366004614a2c565b612293565b34801561061457600080fd5b5060335461037990600160a01b900460ff1681565b34801561063557600080fd5b5061039b6106443660046148dc565b6001600160a01b03166000908152610204602052604090205490565b34801561066c57600080fd5b506103e961067b366004614a9c565b6122f4565b34801561068c57600080fd5b5061039b612838565b3480156106a157600080fd5b5061039b6106b03660046148dc565b6001600160a01b03166000908152610168602052604090205490565b3480156106d857600080fd5b5061039b7fd099cc98ef71107a616c4f0f941f04c322d8e254fe26b3c6668db87aae413de881565b34801561070c57600080fd5b506103e96129de565b34801561072157600080fd5b5061039b6107303660046148dc565b6001600160a01b03166000908152610207602052604090205490565b34801561075857600080fd5b506000546001600160a01b03166104d3565b34801561077657600080fd5b506103796107853660046148dc565b6001600160a01b031660009081526067602052604090205460011490565b3480156107af57600080fd5b50610343612ab7565b3480156107c457600080fd5b506033546104d3906001600160a01b031681565b3480156107e457600080fd5b5061039b7f7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a226781565b34801561081857600080fd5b5061037961082736600461486f565b612ac5565b34801561083857600080fd5b50610203546104d3906001600160a01b031681565b34801561085957600080fd5b5061037961086836600461486f565b612c01565b34801561087957600080fd5b506103796108883660046148dc565b6001600160a01b03166000908152610206602052604090205460ff1690565b3480156108b357600080fd5b506103e96108c236600461489b565b612d3d565b3480156108d357600080fd5b506066546104d3906001600160a01b031681565b3480156108f357600080fd5b506103e9610902366004614b89565b612e4e565b34801561091357600080fd5b5061039b7f158b0a9edf7a828aad02f63cd515c68ef2f50ba807396f6d12842833a159742981565b34801561094757600080fd5b5061039b610956366004614bf7565b6001600160a01b0391821660009081526102056020908152604080832093909416825291909152205490565b34801561098e57600080fd5b506103e961099d366004614c30565b612fa1565b3480156109ae57600080fd5b506103436130f8565b3480156109c357600080fd5b506103e96109d23660046148dc565b613106565b3480156109e357600080fd5b506103796109f236600461486f565b6001600160a01b0391909116600090815261013560209081526040808320938352929052205460011490565b348015610a2a57600080fd5b506103e9610a39366004614c30565b6131cb565b348015610a4a57600080fd5b506103e9610a593660046148dc565b613315565b348015610a6a57600080fd5b506103e9610a793660046148dc565b613403565b6101ff8054610a8c90614cb2565b80601f0160208091040260200160405190810160405280929190818152602001828054610ab890614cb2565b8015610b055780601f10610ada57610100808354040283529160200191610b05565b820191906000526020600020905b815481529060010190602001808311610ae857829003601f168201915b505050505081565b603354600090600160a01b900460ff1615610b625760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064015b60405180910390fd5b3360008181526067602052604090205415610bcd5760405162461bcd60e51b815260206004820152602560248201527f426c6f636b6c69737461626c653a206163636f756e7420697320626c6f636b6c6044820152641a5cdd195960da1b6064820152608401610b59565b6001600160a01b038416600090815260676020526040902054849015610c435760405162461bcd60e51b815260206004820152602560248201527f426c6f636b6c69737461626c653a206163636f756e7420697320626c6f636b6c6044820152641a5cdd195960da1b6064820152608401610b59565b610c4e33868661353f565b506001949350505050565b603354600090600160a01b900460ff1615610ca95760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610b59565b3360008181526067602052604090205415610d145760405162461bcd60e51b815260206004820152602560248201527f426c6f636b6c69737461626c653a206163636f756e7420697320626c6f636b6c6044820152641a5cdd195960da1b6064820152608401610b59565b6001600160a01b038516600090815260676020526040902054859015610d8a5760405162461bcd60e51b815260206004820152602560248201527f426c6f636b6c69737461626c653a206163636f756e7420697320626c6f636b6c6044820152641a5cdd195960da1b6064820152608401610b59565b6001600160a01b038516600090815260676020526040902054859015610e005760405162461bcd60e51b815260206004820152602560248201527f426c6f636b6c69737461626c653a206163636f756e7420697320626c6f636b6c6044820152641a5cdd195960da1b6064820152608401610b59565b6001600160a01b0387166000908152610205602090815260408083203384529091529020546000198114610ed45785811015610ea45760405162461bcd60e51b815260206004820152602c60248201527f46696174546f6b656e3a207472616e7366657220616d6f756e7420657863656560448201527f647320616c6c6f77616e636500000000000000000000000000000000000000006064820152608401610b59565b610eae8682614d35565b6001600160a01b0389166000908152610205602090815260408083203384529091529020555b610edf888888613691565b506001979650505050505050565b33610f006000546001600160a01b031690565b6001600160a01b031614610f565760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b59565b6001600160a01b038116610fd25760405162461bcd60e51b815260206004820152602a60248201527f526573637561626c653a206e6577207265736375657220697320746865207a6560448201527f726f2061646472657373000000000000000000000000000000000000000000006064820152608401610b59565b609a805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040517fe475e580d85111348e40d8ca33cfdd74c30fe1655c2d8537a13abc10065ffa5a90600090a250565b610203546000906001600160a01b031633146110ad5760405162461bcd60e51b815260206004820152602860248201527f46696174546f6b656e3a2063616c6c6572206973206e6f7420746865206d696e60448201527f74657241646d696e0000000000000000000000000000000000000000000000006064820152608401610b59565b6001600160a01b038216600081815261020660209081526040808320805460ff19169055610207909152808220829055517fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb666929190a25060015b919050565b6066546001600160a01b0316331461118b5760405162461bcd60e51b815260206004820152602c60248201527f426c6f636b6c69737461626c653a2063616c6c6572206973206e6f742074686560448201527f20626c6f636b6c697374657200000000000000000000000000000000000000006064820152608401610b59565b6001600160a01b038116600081815260676020526040808220829055517fbc3fe0fc667d12a7a22748747f024a7d971127ffc48f6622675d3e97a2591a519190a250565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561126e5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610b59565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166112c97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146113455760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610b59565b61134e816138b7565b6040805160008082526020820190925261136a91839190613920565b50565b603354600090600160a01b900460ff16156113bd5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610b59565b33600081815260676020526040902054156114285760405162461bcd60e51b815260206004820152602560248201527f426c6f636b6c69737461626c653a206163636f756e7420697320626c6f636b6c6044820152641a5cdd195960da1b6064820152608401610b59565b6001600160a01b03841660009081526067602052604090205484901561149e5760405162461bcd60e51b815260206004820152602560248201527f426c6f636b6c69737461626c653a206163636f756e7420697320626c6f636b6c6044820152641a5cdd195960da1b6064820152608401610b59565b610c4e338686613ac5565b6033546001600160a01b031633146115295760405162461bcd60e51b815260206004820152602260248201527f5061757361626c653a2063616c6c6572206973206e6f7420746865207061757360448201527f65720000000000000000000000000000000000000000000000000000000000006064820152608401610b59565b603380547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b603354600090600160a01b900460ff16156115cc5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610b59565b336000908152610206602052604090205460ff166116525760405162461bcd60e51b815260206004820152602160248201527f46696174546f6b656e3a2063616c6c6572206973206e6f742061206d696e746560448201527f72000000000000000000000000000000000000000000000000000000000000006064820152608401610b59565b33600081815260676020526040902054156116bd5760405162461bcd60e51b815260206004820152602560248201527f426c6f636b6c69737461626c653a206163636f756e7420697320626c6f636b6c6044820152641a5cdd195960da1b6064820152608401610b59565b6001600160a01b0384166000908152606760205260409020548490156117335760405162461bcd60e51b815260206004820152602560248201527f426c6f636b6c69737461626c653a206163636f756e7420697320626c6f636b6c6044820152641a5cdd195960da1b6064820152608401610b59565b6001600160a01b0385166117af5760405162461bcd60e51b815260206004820152602360248201527f46696174546f6b656e3a206d696e7420746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610b59565b600084116118255760405162461bcd60e51b815260206004820152602960248201527f46696174546f6b656e3a206d696e7420616d6f756e74206e6f7420677265617460448201527f6572207468616e203000000000000000000000000000000000000000000000006064820152608401610b59565b3360009081526102076020526040902054808511156118ac5760405162461bcd60e51b815260206004820152602e60248201527f46696174546f6b656e3a206d696e7420616d6f756e742065786365656473206d60448201527f696e746572416c6c6f77616e63650000000000000000000000000000000000006064820152608401610b59565b84610202546118bb9190614d4c565b610202556001600160a01b038616600090815261020460205260409020546118e4908690614d4c565b6001600160a01b038716600090815261020460205260409020556119088582614d35565b336000818152610207602090815260409182902093909355518781526001600160a01b038916927fab8530f87dc9b59234c4623bf917212bb2536d647574c8e7e5da92c2ede0c9f8910160405180910390a36040518581526001600160a01b038716906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a350600195945050505050565b603354600160a01b900460ff16156119f45760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610b59565b336000908152610206602052604090205460ff16611a7a5760405162461bcd60e51b815260206004820152602160248201527f46696174546f6b656e3a2063616c6c6572206973206e6f742061206d696e746560448201527f72000000000000000000000000000000000000000000000000000000000000006064820152608401610b59565b3360008181526067602052604090205415611ae55760405162461bcd60e51b815260206004820152602560248201527f426c6f636b6c69737461626c653a206163636f756e7420697320626c6f636b6c6044820152641a5cdd195960da1b6064820152608401610b59565b336000908152610204602052604090205482611b695760405162461bcd60e51b815260206004820152602960248201527f46696174546f6b656e3a206275726e20616d6f756e74206e6f7420677265617460448201527f6572207468616e203000000000000000000000000000000000000000000000006064820152608401610b59565b82811015611bdf5760405162461bcd60e51b815260206004820152602660248201527f46696174546f6b656e3a206275726e20616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610b59565b8261020254611bee9190614d35565b61020255611bfc8382614d35565b3360008181526102046020526040908190209290925590517fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca590611c439086815260200190565b60405180910390a260405183815260009033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a3505050565b33611c9c6000546001600160a01b031690565b6001600160a01b031614611cf25760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b59565b6001600160a01b038116611d6e5760405162461bcd60e51b815260206004820152602e60248201527f46696174546f6b656e3a206e6577206d696e74657241646d696e20697320746860448201527f65207a65726f20616464726573730000000000000000000000000000000000006064820152608401610b59565b610203805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040517f4e6db312b79f0cdadbee5f76e2473786c1e81cba2356eacccc2aa5b5e6e3664c90600090a250565b603354600090600160a01b900460ff1615611e165760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610b59565b610203546001600160a01b03163314611e975760405162461bcd60e51b815260206004820152602860248201527f46696174546f6b656e3a2063616c6c6572206973206e6f7420746865206d696e60448201527f74657241646d696e0000000000000000000000000000000000000000000000006064820152608401610b59565b6001600160a01b038316600081815261020660209081526040808320805460ff1916600117905561020782529182902085905590518481527f46980fca912ef9bcdbd36877427b6b90e860769f604e89c0e67720cece530d20910160405180910390a250600192915050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415611fa25760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610b59565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611ffd7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146120795760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610b59565b612082826138b7565b61208e82826001613920565b5050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146121325760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610b59565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b3361216a6000546001600160a01b031690565b6001600160a01b0316146121c05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b59565b6001600160a01b03811661223c5760405162461bcd60e51b815260206004820152602860248201527f5061757361626c653a206e65772070617573657220697320746865207a65726f60448201527f20616464726573730000000000000000000000000000000000000000000000006064820152608401610b59565b6033805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040517fb80482a293ca2e013eda8683c9bd7fc8347cfdaeea5ede58cba46df502c2a60490600090a250565b603354600160a01b900460ff16156122e05760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610b59565b6122ed8585858585613b04565b5050505050565b610203547501000000000000000000000000000000000000000000900460ff16156123875760405162461bcd60e51b815260206004820152602a60248201527f46696174546f6b656e3a20636f6e747261637420697320616c7265616479206960448201527f6e697469616c697a6564000000000000000000000000000000000000000000006064820152608401610b59565b6001600160a01b0385166124035760405162461bcd60e51b815260206004820152602e60248201527f46696174546f6b656e3a206e6577206d696e74657241646d696e20697320746860448201527f65207a65726f20616464726573730000000000000000000000000000000000006064820152608401610b59565b6001600160a01b03841661247f5760405162461bcd60e51b815260206004820152602960248201527f46696174546f6b656e3a206e65772070617573657220697320746865207a657260448201527f6f206164647265737300000000000000000000000000000000000000000000006064820152608401610b59565b6001600160a01b0383166124fb5760405162461bcd60e51b815260206004820152602e60248201527f46696174546f6b656e3a206e657720626c6f636b6c697374657220697320746860448201527f65207a65726f20616464726573730000000000000000000000000000000000006064820152608401610b59565b6001600160a01b0382166125775760405162461bcd60e51b815260206004820152602a60248201527f46696174546f6b656e3a206e6577207265736375657220697320746865207a6560448201527f726f2061646472657373000000000000000000000000000000000000000000006064820152608401610b59565b6001600160a01b0381166125f35760405162461bcd60e51b815260206004820152602860248201527f46696174546f6b656e3a206e6577206f776e657220697320746865207a65726f60448201527f20616464726573730000000000000000000000000000000000000000000000006064820152608401610b59565b8851612607906101ff9060208c0190614757565b50875161261c906102009060208b0190614757565b508651612631906102019060208a0190614757565b5061020380547fffffffffffffffffffffff00000000000000000000000000000000000000000016600160a01b60ff89160273ffffffffffffffffffffffffffffffffffffffff19908116919091176001600160a01b0388811691909117909255603380548216878416179055606680548216868416179055609a80549091169184169190911790556126c381613c25565b30600081815260676020908152604091829020600190819055825180840184529081527f3100000000000000000000000000000000000000000000000000000000000000908201528b518c82012082517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81840152808401919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606082015246608082015260a0808201949094528251808203909401845260c001909152815191012060ff55466101005588516127a5906101019060208c0190614757565b506040805180820190915260018082527f310000000000000000000000000000000000000000000000000000000000000060209092019182526127eb9161010291614757565b505061020380547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff1675010000000000000000000000000000000000000000001790555050505050505050565b60006101005446141561284c575060ff5490565b6129d9610101805461285d90614cb2565b80601f016020809104026020016040519081016040528092919081815260200182805461288990614cb2565b80156128d65780601f106128ab576101008083540402835291602001916128d6565b820191906000526020600020905b8154815290600101906020018083116128b957829003601f168201915b505050505061010280546128e990614cb2565b80601f016020809104026020016040519081016040528092919081815260200182805461291590614cb2565b80156129625780601f1061293757610100808354040283529160200191612962565b820191906000526020600020905b81548152906001019060200180831161294557829003601f168201915b50505050508151602092830120815191830191909120604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818601528082019390935260608301919091524660808301523060a0808401919091528151808403909101815260c09092019052805191012090565b905090565b6033546001600160a01b03163314612a5e5760405162461bcd60e51b815260206004820152602260248201527f5061757361626c653a2063616c6c6572206973206e6f7420746865207061757360448201527f65720000000000000000000000000000000000000000000000000000000000006064820152608401610b59565b603380547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16600160a01b1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b6102008054610a8c90614cb2565b603354600090600160a01b900460ff1615612b155760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610b59565b3360008181526067602052604090205415612b805760405162461bcd60e51b815260206004820152602560248201527f426c6f636b6c69737461626c653a206163636f756e7420697320626c6f636b6c6044820152641a5cdd195960da1b6064820152608401610b59565b6001600160a01b038416600090815260676020526040902054849015612bf65760405162461bcd60e51b815260206004820152602560248201527f426c6f636b6c69737461626c653a206163636f756e7420697320626c6f636b6c6044820152641a5cdd195960da1b6064820152608401610b59565b610c4e338686613c82565b603354600090600160a01b900460ff1615612c515760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610b59565b3360008181526067602052604090205415612cbc5760405162461bcd60e51b815260206004820152602560248201527f426c6f636b6c69737461626c653a206163636f756e7420697320626c6f636b6c6044820152641a5cdd195960da1b6064820152608401610b59565b6001600160a01b038416600090815260676020526040902054849015612d325760405162461bcd60e51b815260206004820152602560248201527f426c6f636b6c69737461626c653a206163636f756e7420697320626c6f636b6c6044820152641a5cdd195960da1b6064820152608401610b59565b610c4e338686613691565b609a546001600160a01b03163314612dbc5760405162461bcd60e51b8152602060048201526024808201527f526573637561626c653a2063616c6c6572206973206e6f74207468652072657360448201527f63756572000000000000000000000000000000000000000000000000000000006064820152608401610b59565b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af1158015612e24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e489190614d64565b50505050565b603354600160a01b900460ff1615612e9b5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610b59565b6001600160a01b038716600090815260676020526040902054879015612f115760405162461bcd60e51b815260206004820152602560248201527f426c6f636b6c69737461626c653a206163636f756e7420697320626c6f636b6c6044820152641a5cdd195960da1b6064820152608401610b59565b6001600160a01b038716600090815260676020526040902054879015612f875760405162461bcd60e51b815260206004820152602560248201527f426c6f636b6c69737461626c653a206163636f756e7420697320626c6f636b6c6044820152641a5cdd195960da1b6064820152608401610b59565b612f9689898989898989613d2e565b505050505050505050565b603354600160a01b900460ff1615612fee5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610b59565b6001600160a01b0389166000908152606760205260409020548990156130645760405162461bcd60e51b815260206004820152602560248201527f426c6f636b6c69737461626c653a206163636f756e7420697320626c6f636b6c6044820152641a5cdd195960da1b6064820152608401610b59565b6001600160a01b0389166000908152606760205260409020548990156130da5760405162461bcd60e51b815260206004820152602560248201527f426c6f636b6c69737461626c653a206163636f756e7420697320626c6f636b6c6044820152641a5cdd195960da1b6064820152608401610b59565b6130eb8b8b8b8b8b8b8b8b8b613e99565b5050505050505050505050565b6102018054610a8c90614cb2565b6066546001600160a01b031633146131865760405162461bcd60e51b815260206004820152602c60248201527f426c6f636b6c69737461626c653a2063616c6c6572206973206e6f742074686560448201527f20626c6f636b6c697374657200000000000000000000000000000000000000006064820152608401610b59565b6001600160a01b03811660008181526067602052604080822060019055517f917c251bb231c4b997a420bebe47edad5c20e70715da16c38e9b2e172e44ab929190a250565b603354600160a01b900460ff16156132185760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610b59565b6001600160a01b03891660009081526067602052604090205489901561328e5760405162461bcd60e51b815260206004820152602560248201527f426c6f636b6c69737461626c653a206163636f756e7420697320626c6f636b6c6044820152641a5cdd195960da1b6064820152608401610b59565b6001600160a01b0389166000908152606760205260409020548990156133045760405162461bcd60e51b815260206004820152602560248201527f426c6f636b6c69737461626c653a206163636f756e7420697320626c6f636b6c6044820152641a5cdd195960da1b6064820152608401610b59565b6130eb8b8b8b8b8b8b8b8b8b613faa565b336133286000546001600160a01b031690565b6001600160a01b03161461337e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b59565b6001600160a01b0381166133fa5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610b59565b61136a81613c25565b336134166000546001600160a01b031690565b6001600160a01b03161461346c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b59565b6001600160a01b0381166134e85760405162461bcd60e51b815260206004820152603260248201527f426c6f636b6c69737461626c653a206e657720626c6f636b6c6973746572206960448201527f7320746865207a65726f206164647265737300000000000000000000000000006064820152608401610b59565b6066805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040517f68f10ceb42d30acc930aaaedf5b94559e14fc4f22496dc2c1b38b1b1b5231f9890600090a250565b6001600160a01b0383166135bb5760405162461bcd60e51b815260206004820152602860248201527f46696174546f6b656e3a20617070726f76652066726f6d20746865207a65726f60448201527f20616464726573730000000000000000000000000000000000000000000000006064820152608401610b59565b6001600160a01b0382166136375760405162461bcd60e51b815260206004820152602660248201527f46696174546f6b656e3a20617070726f766520746f20746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610b59565b6001600160a01b038381166000818152610205602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259101611c7c565b6001600160a01b03831661370d5760405162461bcd60e51b815260206004820152602960248201527f46696174546f6b656e3a207472616e736665722066726f6d20746865207a657260448201527f6f206164647265737300000000000000000000000000000000000000000000006064820152608401610b59565b6001600160a01b0382166137895760405162461bcd60e51b815260206004820152602760248201527f46696174546f6b656e3a207472616e7366657220746f20746865207a65726f2060448201527f61646472657373000000000000000000000000000000000000000000000000006064820152608401610b59565b6001600160a01b03831660009081526102046020526040902054808211156138195760405162461bcd60e51b815260206004820152602a60248201527f46696174546f6b656e3a207472616e7366657220616d6f756e7420657863656560448201527f64732062616c616e6365000000000000000000000000000000000000000000006064820152608401610b59565b6138238282614d35565b6001600160a01b03808616600090815261020460205260408082209390935590851681522054613854908390614d4c565b6001600160a01b038085166000818152610204602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906138a99086815260200190565b60405180910390a350505050565b336138ca6000546001600160a01b031690565b6001600160a01b03161461136a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b59565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561395857613953836140a0565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156139b2575060408051601f3d908101601f191682019092526139af91810190614d86565b60015b613a245760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610b59565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114613ab95760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610b59565b50613953838383614162565b6001600160a01b03808416600090815261020560209081526040808320938616835292905220546139539084908490613aff908590614d4c565b61353f565b613b0e8585614187565b604080517f158b0a9edf7a828aad02f63cd515c68ef2f50ba807396f6d12842833a159742960208201526001600160a01b038716818301819052606080830188905283518084039091018152608090920190925290613b77613b6e612838565b8686868661421f565b6001600160a01b031614613bcd5760405162461bcd60e51b815260206004820152601a60248201527f454950333030393a20696e76616c6964207369676e61747572650000000000006044820152606401610b59565b6001600160a01b03861660008181526101356020908152604080832089845290915280822060019055518792917f1cdd46ff242716cdaa72d159d339a485b3438398348d68f09d7c8c0a59353d8191a3505050505050565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038084166000908152610205602090815260408083209386168352929052205480821115613d1f5760405162461bcd60e51b815260206004820152602960248201527f46696174546f6b656e3a2064656372656173656420616c6c6f77616e6365206260448201527f656c6f77207a65726f00000000000000000000000000000000000000000000006064820152608401610b59565b612e488484613aff8585614d35565b42841015613d7e5760405162461bcd60e51b815260206004820152601a60248201527f454950323631323a207065726d697420697320657870697265640000000000006044820152606401610b59565b6001600160a01b03871660009081526101686020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918a918a918a919086613dcc83614d9f565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040529050876001600160a01b0316613e2e613b6e612838565b6001600160a01b031614613e845760405162461bcd60e51b815260206004820152601a60248201527f454950323631323a20696e76616c6964207369676e61747572650000000000006044820152606401610b59565b613e8f88888861353f565b5050505050505050565b613ea58985888861429c565b604080517f7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a226760208201526001600160a01b03808c169282019290925290891660608201526080810188905260a0810187905260c0810186905260e08101859052600090610100015b6040516020818303038152906040529050896001600160a01b0316613f33613b6e612838565b6001600160a01b031614613f895760405162461bcd60e51b815260206004820152601a60248201527f454950333030393a20696e76616c6964207369676e61747572650000000000006044820152606401610b59565b613f938a86614390565b613f9e8a8a8a613691565b50505050505050505050565b6001600160a01b03881633146140285760405162461bcd60e51b815260206004820152602160248201527f454950333030393a2063616c6c6572206d75737420626520746865207061796560448201527f65000000000000000000000000000000000000000000000000000000000000006064820152608401610b59565b6140348985888861429c565b604080517fd099cc98ef71107a616c4f0f941f04c322d8e254fe26b3c6668db87aae413de860208201526001600160a01b03808c169282019290925290891660608201526080810188905260a0810187905260c0810186905260e0810185905260009061010001613f0d565b803b6141145760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610b59565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b61416b836143e4565b6000825111806141785750805b1561395357612e488383614424565b6001600160a01b0382166000908152610135602090815260408083208484529091529020541561208e5760405162461bcd60e51b815260206004820152602a60248201527f454950333030393a20617574686f72697a6174696f6e2069732075736564206f60448201527f722063616e63656c6564000000000000000000000000000000000000000000006064820152608401610b59565b60008086838051906020012060405160200161426d9291907f190100000000000000000000000000000000000000000000000000000000000081526002810192909252602282015260420190565b60405160208183030381529060405280519060200120905061429181878787614450565b979650505050505050565b8142116143115760405162461bcd60e51b815260206004820152602760248201527f454950333030393a20617574686f72697a6174696f6e206973206e6f7420796560448201527f742076616c6964000000000000000000000000000000000000000000000000006064820152608401610b59565b8042106143865760405162461bcd60e51b815260206004820152602160248201527f454950333030393a20617574686f72697a6174696f6e2069732065787069726560448201527f64000000000000000000000000000000000000000000000000000000000000006064820152608401610b59565b612e488484614187565b6001600160a01b03821660008181526101356020908152604080832085845290915280822060019055518392917f98de503528ee59b575ef0c0a2576a82497bfc029a5685b209e9ec333479b10a591a35050565b6143ed816140a0565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606144498383604051806060016040528060278152602001614dd760279139614633565b9392505050565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08211156144e85760405162461bcd60e51b815260206004820152602660248201527f45435265636f7665723a20696e76616c6964207369676e61747572652027732760448201527f2076616c756500000000000000000000000000000000000000000000000000006064820152608401610b59565b8360ff16601b1415801561450057508360ff16601c14155b156145735760405162461bcd60e51b815260206004820152602660248201527f45435265636f7665723a20696e76616c6964207369676e61747572652027762760448201527f2076616c756500000000000000000000000000000000000000000000000000006064820152608401610b59565b6040805160008082526020820180845288905260ff871692820192909252606081018590526080810184905260019060a0016020604051602081039080840390855afa1580156145c7573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661462a5760405162461bcd60e51b815260206004820152601c60248201527f45435265636f7665723a20696e76616c6964207369676e6174757265000000006044820152606401610b59565b95945050505050565b6060833b6146a95760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610b59565b600080856001600160a01b0316856040516146c49190614dba565b600060405180830381855af49150503d80600081146146ff576040519150601f19603f3d011682016040523d82523d6000602084013e614704565b606091505b509150915061471482828661471e565b9695505050505050565b6060831561472d575081614449565b82511561473d5782518084602001fd5b8160405162461bcd60e51b8152600401610b59919061481c565b82805461476390614cb2565b90600052602060002090601f01602090048101928261478557600085556147cb565b82601f1061479e57805160ff19168380011785556147cb565b828001600101855582156147cb579182015b828111156147cb5782518255916020019190600101906147b0565b506147d79291506147db565b5090565b5b808211156147d757600081556001016147dc565b60005b8381101561480b5781810151838201526020016147f3565b83811115612e485750506000910152565b602081526000825180602084015261483b8160408501602087016147f0565b601f01601f19169190910160400192915050565b6001600160a01b038116811461136a57600080fd5b80356111068161484f565b6000806040838503121561488257600080fd5b823561488d8161484f565b946020939093013593505050565b6000806000606084860312156148b057600080fd5b83356148bb8161484f565b925060208401356148cb8161484f565b929592945050506040919091013590565b6000602082840312156148ee57600080fd5b81356144498161484f565b60006020828403121561490b57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600067ffffffffffffffff8084111561495c5761495c614912565b604051601f8501601f19908116603f0116810190828211818310171561498457614984614912565b8160405280935085815286868601111561499d57600080fd5b858560208301376000602087830101525050509392505050565b600080604083850312156149ca57600080fd5b82356149d58161484f565b9150602083013567ffffffffffffffff8111156149f157600080fd5b8301601f81018513614a0257600080fd5b614a1185823560208401614941565b9150509250929050565b803560ff8116811461110657600080fd5b600080600080600060a08688031215614a4457600080fd5b8535614a4f8161484f565b945060208601359350614a6460408701614a1b565b94979396509394606081013594506080013592915050565b600082601f830112614a8d57600080fd5b61444983833560208501614941565b60008060008060008060008060006101208a8c031215614abb57600080fd5b893567ffffffffffffffff80821115614ad357600080fd5b614adf8d838e01614a7c565b9a5060208c0135915080821115614af557600080fd5b614b018d838e01614a7c565b995060408c0135915080821115614b1757600080fd5b50614b248c828d01614a7c565b975050614b3360608b01614a1b565b9550614b4160808b01614864565b9450614b4f60a08b01614864565b9350614b5d60c08b01614864565b9250614b6b60e08b01614864565b9150614b7a6101008b01614864565b90509295985092959850929598565b600080600080600080600060e0888a031215614ba457600080fd5b8735614baf8161484f565b96506020880135614bbf8161484f565b95506040880135945060608801359350614bdb60808901614a1b565b925060a0880135915060c0880135905092959891949750929550565b60008060408385031215614c0a57600080fd5b8235614c158161484f565b91506020830135614c258161484f565b809150509250929050565b60008060008060008060008060006101208a8c031215614c4f57600080fd5b8935614c5a8161484f565b985060208a0135614c6a8161484f565b975060408a0135965060608a0135955060808a0135945060a08a01359350614c9460c08b01614a1b565b925060e08a013591506101008a013590509295985092959850929598565b600181811c90821680614cc657607f821691505b60208210811415614d00577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082821015614d4757614d47614d06565b500390565b60008219821115614d5f57614d5f614d06565b500190565b600060208284031215614d7657600080fd5b8151801515811461444957600080fd5b600060208284031215614d9857600080fd5b5051919050565b6000600019821415614db357614db3614d06565b5060010190565b60008251614dcc8184602087016147f0565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122088b0c5194b9eca0801c00f098997e6c9042e68a8d796e28173d6611567e0d9a464736f6c634300080b0033", + "linkReferences": {}, + "deployedLinkReferences": {} +} From 10a5c8874629bafc3b37de3225aec6d9b6be4afe Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Wed, 21 Aug 2024 14:32:33 +0900 Subject: [PATCH 62/92] Add github workflows for static code analysis --- .github/workflows/check-core.yml | 43 ++++++++++++++++++++++++++++++++ .github/workflows/check-v1.yml | 33 ++++++++++++++++++++++++ packages/v1/.prettierignore | 1 + 3 files changed, 77 insertions(+) create mode 100644 .github/workflows/check-core.yml create mode 100644 .github/workflows/check-v1.yml diff --git a/.github/workflows/check-core.yml b/.github/workflows/check-core.yml new file mode 100644 index 0000000..3ef66d2 --- /dev/null +++ b/.github/workflows/check-core.yml @@ -0,0 +1,43 @@ +name: static checks for core package + +on: + push: + branches: + - main + - develop + pull_request: + branches: + - main + - develop + paths: + - "packages/core/**" + - ".github/workflows/check-core.yml" + +defaults: + run: + working-directory: ./packages/core + +jobs: + check: + runs-on: ubuntu-latest + timeout-minutes: 5 + steps: + - uses: actions/checkout@v4 + - name: Install Dependencies + run: yarn + - name: Compile + run: npm run compile + - name: Lint + run: npm run lint:dry-run + - name: Format + run: npm run format:dry-run + + test: + runs-on: ubuntu-latest + timeout-minutes: 5 + steps: + - uses: actions/checkout@v4 + - name: Install Dependencies + run: yarn + - name: Run tests + run: npm run test diff --git a/.github/workflows/check-v1.yml b/.github/workflows/check-v1.yml new file mode 100644 index 0000000..0b14f2e --- /dev/null +++ b/.github/workflows/check-v1.yml @@ -0,0 +1,33 @@ +name: static checks for v1 package + +on: + push: + branches: + - main + - develop + pull_request: + branches: + - main + - develop + paths: + - "packages/v1/**" + - ".github/workflows/check-v1.yml" + +defaults: + run: + working-directory: ./packages/v1 + +jobs: + check: + runs-on: ubuntu-latest + timeout-minutes: 5 + steps: + - uses: actions/checkout@v4 + - name: Install Dependencies + run: yarn + - name: Compile + run: npm run compile:sdk + - name: Lint + run: npm run lint:dry-run + - name: Format + run: npm run format:dry-run diff --git a/packages/v1/.prettierignore b/packages/v1/.prettierignore index 54be3f0..a8fb200 100644 --- a/packages/v1/.prettierignore +++ b/packages/v1/.prettierignore @@ -3,3 +3,4 @@ *.lock dist node_modules +JPYCv2 From f8359f1a675f63f87fe0622ec9d3fc892971f6c6 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Wed, 21 Aug 2024 14:33:46 +0900 Subject: [PATCH 63/92] Update 'README' --- README.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 4190c1e..3b9646a 100644 --- a/README.md +++ b/README.md @@ -27,9 +27,18 @@ $ git clone --recursive https://github.com/jcam1/sdks.git This repo uses [Yarn Workspaces](https://yarnpkg.com/features/workspaces) primarily as a monorepo management tool. Please refer to the inserted link for details. +To install dependencies for all the workspaces, run the following. + +```sh +# cd into this repo +$ cd sdks +# Install dependencies +$ yarn +``` + ### NPM Scripts -To run NPM scripts defined in workspaces, run the following. +To run npm scripts defined in workspaces, run the following. ```sh $ npm run -w From 351889cbb5bf94993c880fc107e3781c33225f96 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Wed, 21 Aug 2024 14:50:56 +0900 Subject: [PATCH 64/92] Fix workflows --- .github/workflows/check-core.yml | 6 ++++++ .github/workflows/check-v1.yml | 3 +++ 2 files changed, 9 insertions(+) diff --git a/.github/workflows/check-core.yml b/.github/workflows/check-core.yml index 3ef66d2..f307fc4 100644 --- a/.github/workflows/check-core.yml +++ b/.github/workflows/check-core.yml @@ -23,6 +23,9 @@ jobs: timeout-minutes: 5 steps: - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: 20 - name: Install Dependencies run: yarn - name: Compile @@ -37,6 +40,9 @@ jobs: timeout-minutes: 5 steps: - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: 20 - name: Install Dependencies run: yarn - name: Run tests diff --git a/.github/workflows/check-v1.yml b/.github/workflows/check-v1.yml index 0b14f2e..b4eb799 100644 --- a/.github/workflows/check-v1.yml +++ b/.github/workflows/check-v1.yml @@ -23,6 +23,9 @@ jobs: timeout-minutes: 5 steps: - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: 20 - name: Install Dependencies run: yarn - name: Compile From 6e390d0f7c3f8fdc1d559fcf640756ab43ae3128 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Wed, 21 Aug 2024 14:51:31 +0900 Subject: [PATCH 65/92] Update package version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3f3b2a3..36aef3e 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ ], "repository": "https://github.com/jcam1/sdks.git", "license": "MIT", - "version": "0.0.0", + "version": "1.0.0", "engines": { "node": "^20.12.0", "yarn": "^1.22.22" From ecabcf525a637add8295d5e355e455ca2f91fb7d Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Wed, 21 Aug 2024 16:15:31 +0900 Subject: [PATCH 66/92] Fix typos: npm --> yarn --- .github/workflows/check-core.yml | 16 ++++++++-------- .github/workflows/check-v1.yml | 10 +++++----- .npmrc | 1 - README.md | 6 +++--- package.json | 8 ++++---- packages/core/README.md | 2 +- packages/core/package.json | 3 +++ packages/v1/README.md | 4 ++-- packages/v1/examples/README.md | 8 ++++---- packages/v1/package.json | 3 +++ yarnrc.yml | 3 +++ 11 files changed, 36 insertions(+), 28 deletions(-) delete mode 100644 .npmrc create mode 100644 yarnrc.yml diff --git a/.github/workflows/check-core.yml b/.github/workflows/check-core.yml index f307fc4..303e5d4 100644 --- a/.github/workflows/check-core.yml +++ b/.github/workflows/check-core.yml @@ -26,14 +26,14 @@ jobs: - uses: actions/setup-node@v4 with: node-version: 20 - - name: Install Dependencies - run: yarn + - name: Install dependencies + run: yarn --frozen-lockfile - name: Compile - run: npm run compile + run: yarn run compile - name: Lint - run: npm run lint:dry-run + run: yarn run lint:dry-run - name: Format - run: npm run format:dry-run + run: yarn run format:dry-run test: runs-on: ubuntu-latest @@ -43,7 +43,7 @@ jobs: - uses: actions/setup-node@v4 with: node-version: 20 - - name: Install Dependencies - run: yarn + - name: Install dependencies + run: yarn --frozen-lockfile - name: Run tests - run: npm run test + run: yarn run test diff --git a/.github/workflows/check-v1.yml b/.github/workflows/check-v1.yml index b4eb799..4e3dae8 100644 --- a/.github/workflows/check-v1.yml +++ b/.github/workflows/check-v1.yml @@ -26,11 +26,11 @@ jobs: - uses: actions/setup-node@v4 with: node-version: 20 - - name: Install Dependencies - run: yarn + - name: Install dependencies + run: yarn --frozen-lockfile - name: Compile - run: npm run compile:sdk + run: yarn run compile:sdk - name: Lint - run: npm run lint:dry-run + run: yarn run lint:dry-run - name: Format - run: npm run format:dry-run + run: yarn run format:dry-run diff --git a/.npmrc b/.npmrc deleted file mode 100644 index c42da84..0000000 --- a/.npmrc +++ /dev/null @@ -1 +0,0 @@ -engine-strict = true diff --git a/README.md b/README.md index 3b9646a..04aa476 100644 --- a/README.md +++ b/README.md @@ -36,12 +36,12 @@ $ cd sdks $ yarn ``` -### NPM Scripts +### Yarn Scripts -To run npm scripts defined in workspaces, run the following. +To run yarn scripts defined in workspaces, run the following. ```sh -$ npm run -w +$ yarn workspace run ``` ### Dependencies diff --git a/package.json b/package.json index 36aef3e..ebbad94 100644 --- a/package.json +++ b/package.json @@ -25,16 +25,16 @@ }, "lint-staged": { "packages/core/**/*.{ts,js}": [ - "npm run -w @jpyc/sdk-core lint" + "yarn workspace @jpyc/sdk-core run lint" ], "packages/core/**/*.{ts,js,md,json}": [ - "npm run -w @jpyc/sdk-core format" + "yarn workspace @jpyc/sdk-core run format" ], "packages/v1/**/*.{ts,js}": [ - "npm run -w @jpyc/sdk-v1 lint" + "yarn workspace @jpyc/sdk-v1 run lint" ], "packages/v1/**/*.{ts,js,md,json}": [ - "npm run -w @jpyc/sdk-v1 format" + "yarn workspace @jpyc/sdk-v1 run format" ] } } diff --git a/packages/core/README.md b/packages/core/README.md index 896ebc0..200f175 100644 --- a/packages/core/README.md +++ b/packages/core/README.md @@ -4,7 +4,7 @@ JPYC core SDK implements a set of constants, types and functions, commonly used ## 🤖 Available Commands -The following commands are available as npm scripts for local development & testing. +The following commands are available as yarn scripts for local development & testing. | Command | Description | | ---------------: | :----------------------------------- | diff --git a/packages/core/package.json b/packages/core/package.json index b9ced9e..98d696a 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -4,6 +4,9 @@ "repository": "https://github.com/jcam1/sdks.git", "license": "MIT", "version": "1.0.0", + "publishConfig": { + "access": "public" + }, "engines": { "node": "^20.12.0", "yarn": "^1.22.22" diff --git a/packages/v1/README.md b/packages/v1/README.md index 8e8f954..990ea8f 100644 --- a/packages/v1/README.md +++ b/packages/v1/README.md @@ -8,7 +8,7 @@ Please follow the following steps to configure our SDK. #### 1. Install Packages -Install npm packages. +Install packages. ```sh # yarn @@ -78,7 +78,7 @@ For your reference, we provide code examples in `examples` directory. Please fol ## 🤖 Available Commands -The following commands are available as npm scripts for local development & testing. +The following commands are available as yarn scripts for local development & testing. | Command | Description | | ----------------------------: | :------------------------------------------------------ | diff --git a/packages/v1/examples/README.md b/packages/v1/examples/README.md index fc263db..9c73f1a 100644 --- a/packages/v1/examples/README.md +++ b/packages/v1/examples/README.md @@ -7,7 +7,7 @@ We provide code examples that use JPYC V1 SDK as an interface to locally-deploye Run the following command to start running local Hardhat network and its accompanying node. ```sh -$ npm run node +$ yarn run node ``` ### 2. Deploy Contracts @@ -15,7 +15,7 @@ $ npm run node **Open a different window** and run the following command to deploy JPYCv2 contracts to the local network. Once successfully deployed, a new directory will be created, and you can find deployed contract addresses at `/packages/v1/ignition/deployments/chain-31337/deployed_addresses.json`. ```sh -$ npm run deploy +$ yarn run deploy ``` ### 3. Set Environment Variables @@ -26,7 +26,7 @@ Run the following commands, and edit the generated `.env` file accordingly. Set # cd into this directory $ cd /packages/v1 # copy `.env.example` to `.env` -$ npm run env +$ yarn run env ``` ### 4. Run Code Examples @@ -48,5 +48,5 @@ Run the following commands to execute our code examples. For example, to mint JPYC tokens on local network, run the following. ```sh -$ npm run mint +$ yarn run mint ``` diff --git a/packages/v1/package.json b/packages/v1/package.json index 2896494..90f0e0f 100644 --- a/packages/v1/package.json +++ b/packages/v1/package.json @@ -4,6 +4,9 @@ "repository": "https://github.com/jcam1/sdks.git", "license": "MIT", "version": "1.0.0", + "publishConfig": { + "access": "public" + }, "engines": { "node": "^20.12.0", "yarn": "^1.22.22" diff --git a/yarnrc.yml b/yarnrc.yml new file mode 100644 index 0000000..527fbe1 --- /dev/null +++ b/yarnrc.yml @@ -0,0 +1,3 @@ +npmAlwaysAuth: true +npmAuthToken: "${NODE_AUTH_TOKEN}" +npmPublishRegistry: "https://registry.npmjs.org" From 9d495465a3da5918031f453bdcdcce973041a853 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Wed, 21 Aug 2024 16:31:25 +0900 Subject: [PATCH 67/92] Apply formatter to root-level directories --- .github/pull_request_template.md | 2 +- .github/workflows/check-core.yml | 4 ++-- .github/workflows/check-v1.yml | 4 ++-- .prettierrc | 9 +++++++++ README.md | 14 +++++++------- package.json | 23 +++++++++++++++++------ yarn.lock | 5 +++++ yarnrc.yml | 4 ++-- 8 files changed, 45 insertions(+), 20 deletions(-) create mode 100644 .prettierrc diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 6c54f05..418641e 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -8,7 +8,7 @@ -- +- ## 📚 References diff --git a/.github/workflows/check-core.yml b/.github/workflows/check-core.yml index 303e5d4..fa19b49 100644 --- a/.github/workflows/check-core.yml +++ b/.github/workflows/check-core.yml @@ -10,8 +10,8 @@ on: - main - develop paths: - - "packages/core/**" - - ".github/workflows/check-core.yml" + - 'packages/core/**' + - '.github/workflows/check-core.yml' defaults: run: diff --git a/.github/workflows/check-v1.yml b/.github/workflows/check-v1.yml index 4e3dae8..c49984d 100644 --- a/.github/workflows/check-v1.yml +++ b/.github/workflows/check-v1.yml @@ -10,8 +10,8 @@ on: - main - develop paths: - - "packages/v1/**" - - ".github/workflows/check-v1.yml" + - 'packages/v1/**' + - '.github/workflows/check-v1.yml' defaults: run: diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..7bf3551 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,9 @@ +{ + "printWidth": 100, + "semi": true, + "singleQuote": true, + "quoteProps": "consistent", + "trailingComma": "all", + "bracketSpacing": true, + "arrowParens": "always" +} diff --git a/README.md b/README.md index 04aa476..a692907 100644 --- a/README.md +++ b/README.md @@ -6,18 +6,18 @@ Monorepo for JPYC Node SDKs. Please refer to `README`s of each SDK for version specific details. -| SDK | `README` | -|----:|:---------| +| SDK | `README` | +| -----: | :----------------------------------------- | | `core` | [packages/core](./packages/core/README.md) | -| `v1` | [packages/v1](./packages/v1/README.md) | +| `v1` | [packages/v1](./packages/v1/README.md) | ## 🔨 Development ### Git Submodules -This repo uses [Git Submodules](https://git-scm.com/book/en/v2/Git-Tools-Submodules) to be in sync with [JPYCv2](https://github.com/jcam1/JPYCv2/tree/main) repo. +This repo uses [Git Submodules](https://git-scm.com/book/en/v2/Git-Tools-Submodules) to be in sync with [JPYCv2](https://github.com/jcam1/JPYCv2/tree/main) repo. -To include submodules when cloning the repo, add `--recursive` option like below. +To include submodules when cloning the repo, add `--recursive` option like below. ```sh $ git clone --recursive https://github.com/jcam1/sdks.git @@ -38,7 +38,7 @@ $ yarn ### Yarn Scripts -To run yarn scripts defined in workspaces, run the following. +To run yarn scripts defined in workspaces, run the following. ```sh $ yarn workspace run @@ -46,7 +46,7 @@ $ yarn workspace run ### Dependencies -To add dependencies, run one of the following. To prevent unexpected behaviors, always pin the exact versions of the dependencies to be installed. +To add dependencies, run one of the following. To prevent unexpected behaviors, always pin the exact versions of the dependencies to be installed. ```sh # Add dependencies to the specified workspace diff --git a/package.json b/package.json index ebbad94..6e4e085 100644 --- a/package.json +++ b/package.json @@ -17,23 +17,34 @@ "packages/*" ], "scripts": { - "prepare": "husky" + "prepare": "husky", + "format": "prettier --write", + "format:dry-run": "prettier --check" }, "devDependencies": { "husky": "9.0.11", - "lint-staged": "15.2.9" + "lint-staged": "15.2.9", + "prettier": "3.3.3" }, "lint-staged": { + "*.{md,json,yml}": [ + "yarn run format" + ], + ".github/**/*.{md,json,yml}": [ + "yarn run format" + ], "packages/core/**/*.{ts,js}": [ - "yarn workspace @jpyc/sdk-core run lint" + "yarn workspace @jpyc/sdk-core run lint", + "yarn workspace @jpyc/sdk-core run format" ], - "packages/core/**/*.{ts,js,md,json}": [ + "packages/core/**/*.{md,json}": [ "yarn workspace @jpyc/sdk-core run format" ], "packages/v1/**/*.{ts,js}": [ - "yarn workspace @jpyc/sdk-v1 run lint" + "yarn workspace @jpyc/sdk-v1 run lint", + "yarn workspace @jpyc/sdk-v1 run format" ], - "packages/v1/**/*.{ts,js,md,json}": [ + "packages/v1/**/*.{md,json}": [ "yarn workspace @jpyc/sdk-v1 run format" ] } diff --git a/yarn.lock b/yarn.lock index 93cd9b3..4b77a6f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5252,6 +5252,11 @@ prettier@3.3.2: resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.3.2.tgz#03ff86dc7c835f2d2559ee76876a3914cec4a90a" integrity sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA== +prettier@3.3.3: + version "3.3.3" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.3.3.tgz#30c54fe0be0d8d12e6ae61dbb10109ea00d53105" + integrity sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew== + pretty-format@^29.0.0, pretty-format@^29.7.0: version "29.7.0" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" diff --git a/yarnrc.yml b/yarnrc.yml index 527fbe1..8a2a5eb 100644 --- a/yarnrc.yml +++ b/yarnrc.yml @@ -1,3 +1,3 @@ npmAlwaysAuth: true -npmAuthToken: "${NODE_AUTH_TOKEN}" -npmPublishRegistry: "https://registry.npmjs.org" +npmAuthToken: '${NODE_AUTH_TOKEN}' +npmPublishRegistry: 'https://registry.npmjs.org' From fb3271edcb4273264601a32e739be97c86fb0b22 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Wed, 21 Aug 2024 16:45:27 +0900 Subject: [PATCH 68/92] Modify workflows & precommit hooks --- .github/workflows/check-core.yml | 1 - .github/workflows/check-root.yml | 32 ++++++++++++++++++++++++++++++++ .github/workflows/check-v1.yml | 1 - package.json | 7 +++++-- 4 files changed, 37 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/check-root.yml diff --git a/.github/workflows/check-core.yml b/.github/workflows/check-core.yml index fa19b49..d27b9bd 100644 --- a/.github/workflows/check-core.yml +++ b/.github/workflows/check-core.yml @@ -11,7 +11,6 @@ on: - develop paths: - 'packages/core/**' - - '.github/workflows/check-core.yml' defaults: run: diff --git a/.github/workflows/check-root.yml b/.github/workflows/check-root.yml new file mode 100644 index 0000000..d6a7a66 --- /dev/null +++ b/.github/workflows/check-root.yml @@ -0,0 +1,32 @@ +name: static checks for core package + +on: + push: + branches: + - main + - develop + pull_request: + branches: + - main + - develop + paths: + - '.github/**' + - 'docs/**' + - 'README.md' + - 'yarnrc.yml' + +defaults: + run: + working-directory: ./ + +jobs: + check: + runs-on: ubuntu-latest + timeout-minutes: 5 + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: 20 + - name: Format + run: yarn run format:dry-run .github docs README.md yarnrc.yml diff --git a/.github/workflows/check-v1.yml b/.github/workflows/check-v1.yml index c49984d..5b9b7c0 100644 --- a/.github/workflows/check-v1.yml +++ b/.github/workflows/check-v1.yml @@ -11,7 +11,6 @@ on: - develop paths: - 'packages/v1/**' - - '.github/workflows/check-v1.yml' defaults: run: diff --git a/package.json b/package.json index 6e4e085..014cd62 100644 --- a/package.json +++ b/package.json @@ -28,10 +28,13 @@ }, "lint-staged": { "*.{md,json,yml}": [ - "yarn run format" + "yarn run format README.md yarnrc.yml" ], ".github/**/*.{md,json,yml}": [ - "yarn run format" + "yarn run format .github" + ], + ".docs/**/*.{md,json,yml}": [ + "yarn run format docs" ], "packages/core/**/*.{ts,js}": [ "yarn workspace @jpyc/sdk-core run lint", From f7fcc7f16d009f83b28a353df7094493665c7296 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Wed, 21 Aug 2024 16:47:41 +0900 Subject: [PATCH 69/92] Fix workflow --- .github/workflows/check-root.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/check-root.yml b/.github/workflows/check-root.yml index d6a7a66..02acee2 100644 --- a/.github/workflows/check-root.yml +++ b/.github/workflows/check-root.yml @@ -1,4 +1,4 @@ -name: static checks for core package +name: static checks for root-level directories & files on: push: @@ -28,5 +28,7 @@ jobs: - uses: actions/setup-node@v4 with: node-version: 20 + - name: Install dependencies + run: yarn --frozen-lockfile - name: Format run: yarn run format:dry-run .github docs README.md yarnrc.yml From 1225b713d5cb72b8bb695aa1a043acb3b8c02e53 Mon Sep 17 00:00:00 2001 From: mameta Date: Thu, 22 Aug 2024 12:20:45 +0900 Subject: [PATCH 70/92] Update Solidity compiler versions --- packages/v1/hardhat.config.ts | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/packages/v1/hardhat.config.ts b/packages/v1/hardhat.config.ts index f6da68f..6e2f17e 100644 --- a/packages/v1/hardhat.config.ts +++ b/packages/v1/hardhat.config.ts @@ -4,13 +4,26 @@ import type { HardhatUserConfig } from 'hardhat/config'; const config: HardhatUserConfig = { solidity: { - version: '0.8.11', - settings: { - optimizer: { - enabled: true, - runs: 3000, + compilers: [ + { + version: '0.8.11', + settings: { + optimizer: { + enabled: true, + runs: 3000, + }, + }, }, - }, + { + version: '0.4.24', + settings: { + optimizer: { + enabled: true, + runs: 3000, + }, + }, + }, + ], }, paths: { root: './', From fb816d3fd8e62af5538700e04dd91ce2b6957cda Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Thu, 22 Aug 2024 14:34:16 +0900 Subject: [PATCH 71/92] Add 'publish' workflows --- .github/workflows/check-root.yml | 2 +- .github/workflows/publish-core.yml | 30 ++++++++++++++++++++++++++ .github/workflows/publish-v1.yml | 30 ++++++++++++++++++++++++++ package.json | 6 +++--- yarnrc.yml => packages/core/yarnrc.yml | 0 packages/v1/yarnrc.yml | 3 +++ 6 files changed, 67 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/publish-core.yml create mode 100644 .github/workflows/publish-v1.yml rename yarnrc.yml => packages/core/yarnrc.yml (100%) create mode 100644 packages/v1/yarnrc.yml diff --git a/.github/workflows/check-root.yml b/.github/workflows/check-root.yml index 02acee2..ca1d3f2 100644 --- a/.github/workflows/check-root.yml +++ b/.github/workflows/check-root.yml @@ -31,4 +31,4 @@ jobs: - name: Install dependencies run: yarn --frozen-lockfile - name: Format - run: yarn run format:dry-run .github docs README.md yarnrc.yml + run: yarn run format:dry-run .github docs README.md diff --git a/.github/workflows/publish-core.yml b/.github/workflows/publish-core.yml new file mode 100644 index 0000000..6823ca0 --- /dev/null +++ b/.github/workflows/publish-core.yml @@ -0,0 +1,30 @@ +name: publish @jpyc/sdk-core to npm registry + +on: + push: + branches: + - main + paths: + - 'packages/core/**' + +defaults: + run: + working-directory: ./packages/core + +jobs: + publish: + runs-on: ubuntu-latest + timeout-minutes: 10 + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: 20 + registry-url: 'https://registry.npmjs.org' + scope: '@jpyc' + - name: Install dependencies + run: yarn --frozen-lockfile + - name: Publish package + run: yarn publish + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/.github/workflows/publish-v1.yml b/.github/workflows/publish-v1.yml new file mode 100644 index 0000000..0bd66cb --- /dev/null +++ b/.github/workflows/publish-v1.yml @@ -0,0 +1,30 @@ +name: publish @jpyc/sdk-v1 to npm registry + +on: + push: + branches: + - main + paths: + - 'packages/v1/**' + +defaults: + run: + working-directory: ./packages/v1 + +jobs: + publish: + runs-on: ubuntu-latest + timeout-minutes: 10 + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: 20 + registry-url: 'https://registry.npmjs.org' + scope: '@jpyc' + - name: Install dependencies + run: yarn --frozen-lockfile + - name: Publish package + run: yarn publish + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/package.json b/package.json index 014cd62..1a7ae68 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ }, "lint-staged": { "*.{md,json,yml}": [ - "yarn run format README.md yarnrc.yml" + "yarn run format README.md" ], ".github/**/*.{md,json,yml}": [ "yarn run format .github" @@ -40,14 +40,14 @@ "yarn workspace @jpyc/sdk-core run lint", "yarn workspace @jpyc/sdk-core run format" ], - "packages/core/**/*.{md,json}": [ + "packages/core/**/*.{md,json,yml}": [ "yarn workspace @jpyc/sdk-core run format" ], "packages/v1/**/*.{ts,js}": [ "yarn workspace @jpyc/sdk-v1 run lint", "yarn workspace @jpyc/sdk-v1 run format" ], - "packages/v1/**/*.{md,json}": [ + "packages/v1/**/*.{md,json,yml}": [ "yarn workspace @jpyc/sdk-v1 run format" ] } diff --git a/yarnrc.yml b/packages/core/yarnrc.yml similarity index 100% rename from yarnrc.yml rename to packages/core/yarnrc.yml diff --git a/packages/v1/yarnrc.yml b/packages/v1/yarnrc.yml new file mode 100644 index 0000000..8a2a5eb --- /dev/null +++ b/packages/v1/yarnrc.yml @@ -0,0 +1,3 @@ +npmAlwaysAuth: true +npmAuthToken: '${NODE_AUTH_TOKEN}' +npmPublishRegistry: 'https://registry.npmjs.org' From 2010a90ce5253887edba36a73b9fa60a91efa850 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Thu, 22 Aug 2024 14:34:35 +0900 Subject: [PATCH 72/92] Update 'README' --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a692907..82d79da 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Monorepo for JPYC Node SDKs. ## 🌈 Available SDKs -Please refer to `README`s of each SDK for version specific details. +Please refer to `README`s of each SDK for the version specific details. | SDK | `README` | | -----: | :----------------------------------------- | From 43d0aab3268dfa92d30b792f7a9a22b91e66870d Mon Sep 17 00:00:00 2001 From: mameta Date: Thu, 22 Aug 2024 15:34:54 +0900 Subject: [PATCH 73/92] Error handling and allowance checking for transferFrom --- packages/v1/examples/permit.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/v1/examples/permit.ts b/packages/v1/examples/permit.ts index be7a347..c6ddcb2 100644 --- a/packages/v1/examples/permit.ts +++ b/packages/v1/examples/permit.ts @@ -27,7 +27,7 @@ async function main(): Promise { { name: 'deadline', type: 'uint256' }, ], } as const; - const value = 100n; + const value = 300n; const deadline = BigInt(Date.now()) / 1000n + 3600n; const nonce = await jpyc.nonces({ owner: account.address }); From d080040f167cf1d7fd2d972623824694e2e98830 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Thu, 22 Aug 2024 17:40:47 +0900 Subject: [PATCH 74/92] Remove 'npx' prefix; delete stale deployment artifacts upon deployments --- packages/v1/package.json | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/packages/v1/package.json b/packages/v1/package.json index 90f0e0f..b33f468 100644 --- a/packages/v1/package.json +++ b/packages/v1/package.json @@ -19,19 +19,19 @@ "format": "prettier . --write", "format:dry-run": "prettier . --check", "compile:sdk": "tsc", - "compile:contracts": "npx hardhat compile", - "clean": "npx hardhat clean", - "node": "npx hardhat node", - "deploy": "npx hardhat run ./scripts/deployments.ts --network localhost", - "mint": "npx hardhat run ./examples/mint.ts --network localhost", - "total-supply": "npx hardhat run ./examples/total-supply.ts --network localhost", - "transfer": "npx hardhat run ./examples/transfer.ts --network localhost", - "approve": "npx hardhat run ./examples/approve.ts --network localhost", - "permit": "npx hardhat run ./examples/permit.ts --network localhost", - "transfer-from": "npx hardhat run ./examples/transfer-from.ts --network localhost", - "transfer-with-authorization": "npx hardhat run ./examples/transfer-with-authorization.ts --network localhost", - "receive-with-authorization": "npx hardhat run ./examples/receive-with-authorization.ts --network localhost", - "cancel-authorization": "npx hardhat run ./examples/cancel-authorization.ts --network localhost" + "compile:contracts": "hardhat compile", + "clean": "hardhat clean", + "node": "hardhat node", + "deploy": "rm -r ignition/deployments && hardhat run ./scripts/deployments.ts --network localhost", + "mint": "hardhat run ./examples/mint.ts --network localhost", + "total-supply": "hardhat run ./examples/total-supply.ts --network localhost", + "transfer": "hardhat run ./examples/transfer.ts --network localhost", + "approve": "hardhat run ./examples/approve.ts --network localhost", + "permit": "hardhat run ./examples/permit.ts --network localhost", + "transfer-from": "hardhat run ./examples/transfer-from.ts --network localhost", + "transfer-with-authorization": "hardhat run ./examples/transfer-with-authorization.ts --network localhost", + "receive-with-authorization": "hardhat run ./examples/receive-with-authorization.ts --network localhost", + "cancel-authorization": "hardhat run ./examples/cancel-authorization.ts --network localhost" }, "dependencies": { "@ethersproject/abi": "5.7.0", From 36bc2ac28902367fc9ba1a0b0fcca78e053eb857 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Thu, 22 Aug 2024 17:56:54 +0900 Subject: [PATCH 75/92] Fix 'publish' workflows --- .github/workflows/publish-core.yml | 4 ++-- .github/workflows/publish-v1.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish-core.yml b/.github/workflows/publish-core.yml index 6823ca0..823f8de 100644 --- a/.github/workflows/publish-core.yml +++ b/.github/workflows/publish-core.yml @@ -4,8 +4,8 @@ on: push: branches: - main - paths: - - 'packages/core/**' + paths: + - 'packages/core/**' defaults: run: diff --git a/.github/workflows/publish-v1.yml b/.github/workflows/publish-v1.yml index 0bd66cb..0979ce1 100644 --- a/.github/workflows/publish-v1.yml +++ b/.github/workflows/publish-v1.yml @@ -4,8 +4,8 @@ on: push: branches: - main - paths: - - 'packages/v1/**' + paths: + - 'packages/v1/**' defaults: run: From 6b267c7ca08842d15681549995c8364d6e4941db Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 23 Aug 2024 06:25:17 +0900 Subject: [PATCH 76/92] Fix tsconfigs to minimize bundle size --- packages/core/tsconfig.json | 8 ++++---- packages/v1/tsconfig.json | 10 +++++----- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json index 8bb5e7c..c64b818 100644 --- a/packages/core/tsconfig.json +++ b/packages/core/tsconfig.json @@ -1,11 +1,11 @@ { - "include": ["**/*.ts"], - "exclude": ["**/*.test.ts", "node_modules", "dist"], + "include": ["./src/**/*.ts"], + "exclude": ["./src/**/*.test.ts", "node_modules", "dist"], "compilerOptions": { // output settings "module": "commonjs", "rootDir": "./", - "outDir": "./dist/src", + "outDir": "./dist", "removeComments": true, "preserveConstEnums": true, "incremental": true, @@ -13,7 +13,7 @@ "sourceMap": true, "inlineSourceMap": false, "declaration": true, - "declarationDir": "./dist/src/types", + "declarationDir": "./dist/types", "declarationMap": true, "lib": ["es2022"], "skipLibCheck": true, diff --git a/packages/v1/tsconfig.json b/packages/v1/tsconfig.json index 13897ab..c8795cc 100644 --- a/packages/v1/tsconfig.json +++ b/packages/v1/tsconfig.json @@ -1,11 +1,11 @@ { - "include": ["**/*.ts"], - "exclude": ["**/*.test.ts", "node_modules", "dist"], + "include": ["./src/**/*.ts"], + "exclude": ["./src/**/*.test.ts", "node_modules", "dist"], "compilerOptions": { // output settings "module": "commonjs", - "rootDir": "../", - "outDir": "./dist/src", + "rootDir": "./", + "outDir": "./dist", "removeComments": true, "preserveConstEnums": true, "incremental": true, @@ -13,7 +13,7 @@ "sourceMap": true, "inlineSourceMap": false, "declaration": true, - "declarationDir": "./dist/src/types", + "declarationDir": "./dist/types", "declarationMap": true, "lib": ["es2022"], "skipLibCheck": true, From bcfe08c18dfb68a5659f936c7a87f8b35503ac73 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 23 Aug 2024 06:45:46 +0900 Subject: [PATCH 77/92] Modify lint/format commands --- packages/core/package.json | 8 ++++---- packages/v1/package.json | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/core/package.json b/packages/core/package.json index 98d696a..2ecbfa4 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -14,10 +14,10 @@ "private": true, "scripts": { "compile": "tsc", - "lint": "eslint . --fix ", - "lint:dry-run": "eslint .", - "format": "prettier . --write", - "format:dry-run": "prettier . --check", + "lint": "eslint --fix ./src", + "lint:dry-run": "eslint ./src", + "format": "prettier --write .", + "format:dry-run": "prettier --check .", "test": "jest" }, "devDependencies": { diff --git a/packages/v1/package.json b/packages/v1/package.json index 90f0e0f..491576a 100644 --- a/packages/v1/package.json +++ b/packages/v1/package.json @@ -14,10 +14,10 @@ "private": true, "scripts": { "env": "cp .env.example .env", - "lint": "eslint . --fix ", - "lint:dry-run": "eslint .", - "format": "prettier . --write", - "format:dry-run": "prettier . --check", + "lint": "eslint --fix ./src", + "lint:dry-run": "eslint ./src", + "format": "prettier --write .", + "format:dry-run": "prettier --check .", "compile:sdk": "tsc", "compile:contracts": "npx hardhat compile", "clean": "npx hardhat clean", From ea6f00ba2a24b5112adb65e93aa82f94fcbdae2f Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 23 Aug 2024 07:05:34 +0900 Subject: [PATCH 78/92] Add 'Feature Request' issue template --- .github/ISSUE_TEMPLATE/feature_request.md | 25 +++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..899dee9 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,25 @@ +--- +name: Feature Request +about: Submit a feature request +title: '' +labels: ['feature request'] +assignees: '' +--- + + + +## 🌈 Overview + + + +## ❓ Motivation + + + +## 🎨 Description + + + +## 📚 References + + From f0ce9e4e7c300c05c666e3aa6353e216d047f14f Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 23 Aug 2024 14:20:29 +0900 Subject: [PATCH 79/92] Add workflow: 'create-release-pr' --- .github/.git-pr-release | 4 ++++ .github/workflows/create-release-pr.yml | 27 +++++++++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 .github/.git-pr-release create mode 100644 .github/workflows/create-release-pr.yml diff --git a/.github/.git-pr-release b/.github/.git-pr-release new file mode 100644 index 0000000..0eea285 --- /dev/null +++ b/.github/.git-pr-release @@ -0,0 +1,4 @@ +Release <%= Time.now %> +<% pull_requests.each do |pr| -%> +- <%= pr.number %> <%= pr.title %> <%= pr.mention %> +<% end -%> diff --git a/.github/workflows/create-release-pr.yml b/.github/workflows/create-release-pr.yml new file mode 100644 index 0000000..aa2c315 --- /dev/null +++ b/.github/workflows/create-release-pr.yml @@ -0,0 +1,27 @@ +name: create a release PR from `develop` to `main` + +on: + push: + branches: + - develop + +jobs: + create-release-pr: + runs-on: ubuntu-latest + timeout-minutes: 10 + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-ruby@v1 + with: + ruby-version: 3.3 + - name: git-pr-release + env: + GIT_PR_RELEASE_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GIT_PR_RELEASE_BRANCH_PRODUCTION: main + GIT_PR_RELEASE_BRANCH_STAGING: develop + GIT_PR_RELEASE_TEMPLATE: .github/.git-pr-release + GIT_PR_RELEASE_LABELS: release + TZ: Asia/Tokyo + run: | + gem install -N git-pr-release -v "2.2.0" + git-pr-release --no-fetch From 82021bffcb223814de49e63f592f3c12e3c05a11 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 23 Aug 2024 14:23:17 +0900 Subject: [PATCH 80/92] Modify job-step name --- .github/workflows/create-release-pr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/create-release-pr.yml b/.github/workflows/create-release-pr.yml index aa2c315..54b3112 100644 --- a/.github/workflows/create-release-pr.yml +++ b/.github/workflows/create-release-pr.yml @@ -14,7 +14,7 @@ jobs: - uses: actions/setup-ruby@v1 with: ruby-version: 3.3 - - name: git-pr-release + - name: Create a release PR env: GIT_PR_RELEASE_TOKEN: ${{ secrets.GITHUB_TOKEN }} GIT_PR_RELEASE_BRANCH_PRODUCTION: main From 62f053ed2c99dc311937eee040e50b0481a0100a Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 23 Aug 2024 14:29:45 +0900 Subject: [PATCH 81/92] Fix 'create-release-pr' workflow --- .github/workflows/create-release-pr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/create-release-pr.yml b/.github/workflows/create-release-pr.yml index 54b3112..0724dc5 100644 --- a/.github/workflows/create-release-pr.yml +++ b/.github/workflows/create-release-pr.yml @@ -11,7 +11,7 @@ jobs: timeout-minutes: 10 steps: - uses: actions/checkout@v4 - - uses: actions/setup-ruby@v1 + - uses: ruby/setup-ruby@v1 with: ruby-version: 3.3 - name: Create a release PR From eae741ff490ead69e61b03a97908094fdf9f44c0 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Fri, 23 Aug 2024 14:34:50 +0900 Subject: [PATCH 82/92] Fix '.git-pr-release' --- .github/.git-pr-release | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/.git-pr-release b/.github/.git-pr-release index 0eea285..d1f36c1 100644 --- a/.github/.git-pr-release +++ b/.github/.git-pr-release @@ -1,4 +1,4 @@ Release <%= Time.now %> <% pull_requests.each do |pr| -%> -- <%= pr.number %> <%= pr.title %> <%= pr.mention %> +- #<%= pr.number %> <%= pr.title %> <%= pr.mention %> <% end -%> From a09fe4bade03a957ce289c0a4b186ebbe2d0a332 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Sat, 24 Aug 2024 16:00:56 +0900 Subject: [PATCH 83/92] Simplify workflows using composite actions --- .../actions/install-dependencies/action.yml | 13 +++ .github/actions/publish-package/action.yml | 14 +++ .github/workflows/check-core.yml | 48 ---------- .github/workflows/check-root.yml | 34 ------- .github/workflows/check-v1.yml | 35 -------- .github/workflows/check.yml | 88 +++++++++++++++++++ .github/workflows/create-release-pr.yml | 4 +- .github/workflows/publish-core.yml | 30 ------- .github/workflows/publish-v1.yml | 30 ------- .github/workflows/publish.yml | 59 +++++++++++++ 10 files changed, 176 insertions(+), 179 deletions(-) create mode 100644 .github/actions/install-dependencies/action.yml create mode 100644 .github/actions/publish-package/action.yml delete mode 100644 .github/workflows/check-core.yml delete mode 100644 .github/workflows/check-root.yml delete mode 100644 .github/workflows/check-v1.yml create mode 100644 .github/workflows/check.yml delete mode 100644 .github/workflows/publish-core.yml delete mode 100644 .github/workflows/publish-v1.yml create mode 100644 .github/workflows/publish.yml diff --git a/.github/actions/install-dependencies/action.yml b/.github/actions/install-dependencies/action.yml new file mode 100644 index 0000000..4e7d0ef --- /dev/null +++ b/.github/actions/install-dependencies/action.yml @@ -0,0 +1,13 @@ +name: install dependencies +description: set up node & install dependencies + +runs: + using: composite + steps: + - uses: actions/setup-node@v4 + with: + node-version: 20 + registry-url: 'https://registry.npmjs.org' + scope: '@jpyc' + - name: Install dependencies + run: yarn --frozen-lockfile diff --git a/.github/actions/publish-package/action.yml b/.github/actions/publish-package/action.yml new file mode 100644 index 0000000..4c016f4 --- /dev/null +++ b/.github/actions/publish-package/action.yml @@ -0,0 +1,14 @@ +name: publish package +description: publish an npm package +inputs: + node-auth-token: + description: 'node token for authorization' + required: true + +runs: + using: composite + steps: + - name: Publish package + run: yarn publish + env: + NODE_AUTH_TOKEN: ${{ inputs.node-auth-token }} diff --git a/.github/workflows/check-core.yml b/.github/workflows/check-core.yml deleted file mode 100644 index d27b9bd..0000000 --- a/.github/workflows/check-core.yml +++ /dev/null @@ -1,48 +0,0 @@ -name: static checks for core package - -on: - push: - branches: - - main - - develop - pull_request: - branches: - - main - - develop - paths: - - 'packages/core/**' - -defaults: - run: - working-directory: ./packages/core - -jobs: - check: - runs-on: ubuntu-latest - timeout-minutes: 5 - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 - with: - node-version: 20 - - name: Install dependencies - run: yarn --frozen-lockfile - - name: Compile - run: yarn run compile - - name: Lint - run: yarn run lint:dry-run - - name: Format - run: yarn run format:dry-run - - test: - runs-on: ubuntu-latest - timeout-minutes: 5 - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 - with: - node-version: 20 - - name: Install dependencies - run: yarn --frozen-lockfile - - name: Run tests - run: yarn run test diff --git a/.github/workflows/check-root.yml b/.github/workflows/check-root.yml deleted file mode 100644 index ca1d3f2..0000000 --- a/.github/workflows/check-root.yml +++ /dev/null @@ -1,34 +0,0 @@ -name: static checks for root-level directories & files - -on: - push: - branches: - - main - - develop - pull_request: - branches: - - main - - develop - paths: - - '.github/**' - - 'docs/**' - - 'README.md' - - 'yarnrc.yml' - -defaults: - run: - working-directory: ./ - -jobs: - check: - runs-on: ubuntu-latest - timeout-minutes: 5 - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 - with: - node-version: 20 - - name: Install dependencies - run: yarn --frozen-lockfile - - name: Format - run: yarn run format:dry-run .github docs README.md diff --git a/.github/workflows/check-v1.yml b/.github/workflows/check-v1.yml deleted file mode 100644 index 5b9b7c0..0000000 --- a/.github/workflows/check-v1.yml +++ /dev/null @@ -1,35 +0,0 @@ -name: static checks for v1 package - -on: - push: - branches: - - main - - develop - pull_request: - branches: - - main - - develop - paths: - - 'packages/v1/**' - -defaults: - run: - working-directory: ./packages/v1 - -jobs: - check: - runs-on: ubuntu-latest - timeout-minutes: 5 - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 - with: - node-version: 20 - - name: Install dependencies - run: yarn --frozen-lockfile - - name: Compile - run: yarn run compile:sdk - - name: Lint - run: yarn run lint:dry-run - - name: Format - run: yarn run format:dry-run diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml new file mode 100644 index 0000000..1ca059b --- /dev/null +++ b/.github/workflows/check.yml @@ -0,0 +1,88 @@ +name: static checks + +on: + push: + branches: + - main + - develop + pull_request: + branches: + - main + - develop + +jobs: + detect-changes: + runs-on: ubuntu-latest + timeout-minutes: 3 + permissions: + pull-requests: read + outputs: + root: ${{ steps.filter.outputs.root }} + core: ${{ steps.filter.outputs.core }} + v1: ${{ steps.filter.outputs.v1 }} + steps: + - uses: actions/checkout@v4 + - uses: dorny/paths-filter@v3 + id: filter + with: + filters: | + root: + - '.github/**' + - 'docs/**' + - 'README.md' + core: + - 'packages/core/**' + v1: + - 'packages/v1/**' + + check-root: + needs: detect-changes + if: ${{ needs.detect-changes.outputs.root == 'true' }} + runs-on: ubuntu-latest + defaults: + run: + working-directory: ./ + timeout-minutes: 5 + steps: + - uses: actions/checkout@v4 + - uses: ./.github/actions/install-dependencies + - name: Format + run: yarn run format:dry-run .github docs README.md + + check-core: + needs: detect-changes + if: ${{ needs.detect-changes.outputs.core == 'true' }} + runs-on: ubuntu-latest + defaults: + run: + working-directory: ./packages/core + timeout-minutes: 5 + steps: + - uses: actions/checkout@v4 + - uses: ./.github/actions/install-dependencies + - name: Compile + run: yarn run compile + - name: Lint + run: yarn run lint:dry-run + - name: Format + run: yarn run format:dry-run + - name: Run tests + run: yarn run test + + check-v1: + needs: detect-changes + if: ${{ needs.detect-changes.outputs.v1 == 'true' }} + runs-on: ubuntu-latest + defaults: + run: + working-directory: ./packages/v1 + timeout-minutes: 5 + steps: + - uses: actions/checkout@v4 + - uses: ./.github/actions/install-dependencies + - name: Compile + run: yarn run compile:sdk + - name: Lint + run: yarn run lint:dry-run + - name: Format + run: yarn run format:dry-run diff --git a/.github/workflows/create-release-pr.yml b/.github/workflows/create-release-pr.yml index 0724dc5..0e428b1 100644 --- a/.github/workflows/create-release-pr.yml +++ b/.github/workflows/create-release-pr.yml @@ -1,4 +1,4 @@ -name: create a release PR from `develop` to `main` +name: create a release pr from `develop` to `main` on: push: @@ -8,7 +8,7 @@ on: jobs: create-release-pr: runs-on: ubuntu-latest - timeout-minutes: 10 + timeout-minutes: 5 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 diff --git a/.github/workflows/publish-core.yml b/.github/workflows/publish-core.yml deleted file mode 100644 index 823f8de..0000000 --- a/.github/workflows/publish-core.yml +++ /dev/null @@ -1,30 +0,0 @@ -name: publish @jpyc/sdk-core to npm registry - -on: - push: - branches: - - main - paths: - - 'packages/core/**' - -defaults: - run: - working-directory: ./packages/core - -jobs: - publish: - runs-on: ubuntu-latest - timeout-minutes: 10 - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 - with: - node-version: 20 - registry-url: 'https://registry.npmjs.org' - scope: '@jpyc' - - name: Install dependencies - run: yarn --frozen-lockfile - - name: Publish package - run: yarn publish - env: - NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/.github/workflows/publish-v1.yml b/.github/workflows/publish-v1.yml deleted file mode 100644 index 0979ce1..0000000 --- a/.github/workflows/publish-v1.yml +++ /dev/null @@ -1,30 +0,0 @@ -name: publish @jpyc/sdk-v1 to npm registry - -on: - push: - branches: - - main - paths: - - 'packages/v1/**' - -defaults: - run: - working-directory: ./packages/v1 - -jobs: - publish: - runs-on: ubuntu-latest - timeout-minutes: 10 - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 - with: - node-version: 20 - registry-url: 'https://registry.npmjs.org' - scope: '@jpyc' - - name: Install dependencies - run: yarn --frozen-lockfile - - name: Publish package - run: yarn publish - env: - NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..eaba717 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,59 @@ +name: publish packages to npm registry + +on: + push: + branches: + - main + paths: + - 'packages/core/**' + - 'packages/v1/**' + +jobs: + detect-changes: + runs-on: ubuntu-latest + timeout-minutes: 3 + permissions: + pull-requests: read + outputs: + core: ${{ steps.filter.outputs.core }} + v1: ${{ steps.filter.outputs.v1 }} + steps: + - uses: actions/checkout@v4 + - uses: dorny/paths-filter@v3 + id: filter + with: + filters: | + core: + - 'packages/core/**' + v1: + - 'packages/v1/**' + + publish-core: + needs: detect-changes + if: ${{ needs.detect-changes.outputs.core == 'true' }} + runs-on: ubuntu-latest + defaults: + run: + working-directory: ./packages/core + timeout-minutes: 5 + steps: + - uses: actions/checkout@v4 + - uses: ./.github/actions/install-dependencies + - uses: ./.github/actions/publish-package + with: + node-auth-token: ${{ secrets.NPM_TOKEN }} + + publish-v1: + needs: detect-changes + if: ${{ needs.detect-changes.outputs.v1 == 'true' }} + runs-on: ubuntu-latest + defaults: + run: + working-directory: ./packages/v1 + timeout-minutes: 5 + steps: + - uses: actions/checkout@v4 + - uses: ./.github/actions/install-dependencies + - uses: ./.github/actions/publish-package + with: + node-auth-token: ${{ secrets.NPM_TOKEN }} From d3de14081144a69403e024559ac671c0f3fc425b Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Sat, 24 Aug 2024 16:03:34 +0900 Subject: [PATCH 84/92] Fix workflows --- .github/actions/install-dependencies/action.yml | 1 + .github/actions/publish-package/action.yml | 1 + 2 files changed, 2 insertions(+) diff --git a/.github/actions/install-dependencies/action.yml b/.github/actions/install-dependencies/action.yml index 4e7d0ef..a7b8cdf 100644 --- a/.github/actions/install-dependencies/action.yml +++ b/.github/actions/install-dependencies/action.yml @@ -10,4 +10,5 @@ runs: registry-url: 'https://registry.npmjs.org' scope: '@jpyc' - name: Install dependencies + shell: bash run: yarn --frozen-lockfile diff --git a/.github/actions/publish-package/action.yml b/.github/actions/publish-package/action.yml index 4c016f4..d1cd003 100644 --- a/.github/actions/publish-package/action.yml +++ b/.github/actions/publish-package/action.yml @@ -10,5 +10,6 @@ runs: steps: - name: Publish package run: yarn publish + shell: bash env: NODE_AUTH_TOKEN: ${{ inputs.node-auth-token }} From bde84b80bb40baf32193b0581cd8c25caaf1b752 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Mon, 26 Aug 2024 02:06:15 +0900 Subject: [PATCH 85/92] Add 'push-git-tag' & 'publish-release-note' jobs to 'publish' workflow --- .github/release-drafter.yml | 6 +++++ .github/workflows/publish.yml | 46 +++++++++++++++++++++++++++++++++-- 2 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 .github/release-drafter.yml diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml new file mode 100644 index 0000000..18468e1 --- /dev/null +++ b/.github/release-drafter.yml @@ -0,0 +1,6 @@ +template: | + ## What's Changed + + $CHANGES + + **Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...v$RESOLVED_VERSION diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index eaba717..9bef1c7 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -28,8 +28,50 @@ jobs: v1: - 'packages/v1/**' + push-git-tag: + runs-on: ubuntu-latest + defaults: + run: + working-directory: ./ + timeout-minutes: 3 + outputs: + tag-name: ${{ 'v' }}${{ env.GIT_TAG_VERSION }} + tag-version: ${{ env.GIT_TAG_VERSION }} + tag-exists: ${{ steps.create-tag.outputs.tag_exists }} + steps: + - uses: actions/checkout@v4 + - uses: ./.github/actions/install-dependencies + - name: get version from `package.json` + run: node -p -e '`GIT_TAG_VERSION=${require("./package.json").version}`' >> $GITHUB_ENV + - uses: rickstaa/action-create-tag@v1 + id: create-tag + with: + tag: ${{ 'v' }}${{ env.GIT_TAG_VERSION }} + + publish-release-note: + needs: push-git-tag + if: ${{ needs.push-git-tag.outputs.tag-exists == 'false' }} + runs-on: ubuntu-latest + defaults: + run: + working-directory: ./ + timeout-minutes: 5 + permissions: + contents: write + pull-requests: read + steps: + - uses: actions/checkout@v4 + - uses: release-drafter/release-drafter@v6 + with: + name: ${{ needs.push-git-tag.outputs.tag-name }} + tag: ${{ needs.push-git-tag.outputs.tag-name }} + version: ${{ needs.push-git-tag.outputs.tag-version }} + publish: 'true' + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + publish-core: - needs: detect-changes + needs: [detect-changes, publish-release-note] if: ${{ needs.detect-changes.outputs.core == 'true' }} runs-on: ubuntu-latest defaults: @@ -44,7 +86,7 @@ jobs: node-auth-token: ${{ secrets.NPM_TOKEN }} publish-v1: - needs: detect-changes + needs: [detect-changes, publish-release-note] if: ${{ needs.detect-changes.outputs.v1 == 'true' }} runs-on: ubuntu-latest defaults: From 563112cfb885b40dd2eaf8f35e0ca5668dae4ddc Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Mon, 26 Aug 2024 02:33:02 +0900 Subject: [PATCH 86/92] Add repo badges --- README.md | 3 +++ packages/core/README.md | 3 +++ packages/v1/README.md | 3 +++ 3 files changed, 9 insertions(+) diff --git a/README.md b/README.md index a692907..35e62e8 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,8 @@ # JPYC Node SDKs +[![HitCount](https://hits.dwyl.com/jcam1/sdks.svg?style=flat-square)](http://hits.dwyl.com/jcam1/sdks) +[![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/jcam1/sdks/issues/new/choose) + Monorepo for JPYC Node SDKs. ## 🌈 Available SDKs diff --git a/packages/core/README.md b/packages/core/README.md index 200f175..2d2587b 100644 --- a/packages/core/README.md +++ b/packages/core/README.md @@ -1,5 +1,8 @@ # JPYC Core SDK +![build](https://github.com/jcam1/sdks/actions/workflows/check/badge.svg) +[![Node version](https://img.shields.io/node/v/@jpyc/sdk-core.svg?style=flat)](https://nodejs.org/download/) + JPYC core SDK implements a set of constants, types and functions, commonly used across different SDK versions. ## 🤖 Available Commands diff --git a/packages/v1/README.md b/packages/v1/README.md index 990ea8f..e3fb0a7 100644 --- a/packages/v1/README.md +++ b/packages/v1/README.md @@ -1,5 +1,8 @@ # JPYC V1 SDK +![build](https://github.com/jcam1/sdks/actions/workflows/check/badge.svg) +[![Node version](https://img.shields.io/node/v/@jpyc/sdk-v1.svg?style=flat)](https://nodejs.org/download/) + JPYC V1 SDK implements an interface to interact with [JPYCv2 contracts](https://github.com/jcam1/JPYCv2) on different chains. Supported chains are Ethereum, Polygon, Gnosis, Avalanche, and Astar. Please note that **Shiden Network is not yet supported**. ## 💡 How to Use From 10c5df601fcba48669ba02dfc15b8d708d0e1651 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Mon, 26 Aug 2024 03:05:44 +0900 Subject: [PATCH 87/92] Fix repo badges --- packages/core/README.md | 2 +- packages/v1/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/core/README.md b/packages/core/README.md index 2d2587b..5d2e0c6 100644 --- a/packages/core/README.md +++ b/packages/core/README.md @@ -1,6 +1,6 @@ # JPYC Core SDK -![build](https://github.com/jcam1/sdks/actions/workflows/check/badge.svg) +![build](https://github.com/jcam1/sdks/actions/workflows/check.yml/badge.svg) [![Node version](https://img.shields.io/node/v/@jpyc/sdk-core.svg?style=flat)](https://nodejs.org/download/) JPYC core SDK implements a set of constants, types and functions, commonly used across different SDK versions. diff --git a/packages/v1/README.md b/packages/v1/README.md index e3fb0a7..ac6a7a5 100644 --- a/packages/v1/README.md +++ b/packages/v1/README.md @@ -1,6 +1,6 @@ # JPYC V1 SDK -![build](https://github.com/jcam1/sdks/actions/workflows/check/badge.svg) +![build](https://github.com/jcam1/sdks/actions/workflows/check.yml/badge.svg) [![Node version](https://img.shields.io/node/v/@jpyc/sdk-v1.svg?style=flat)](https://nodejs.org/download/) JPYC V1 SDK implements an interface to interact with [JPYCv2 contracts](https://github.com/jcam1/JPYCv2) on different chains. Supported chains are Ethereum, Polygon, Gnosis, Avalanche, and Astar. Please note that **Shiden Network is not yet supported**. From 30a458097273f9153f1e5c47ec2aa6b486eaf784 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Mon, 26 Aug 2024 04:10:58 +0900 Subject: [PATCH 88/92] Add typedoc for auto-documentation --- .husky/pre-commit | 1 + README.md | 5 +- docs/.gitkeep | 0 docs/core/README.md | 23 + docs/core/functions/getSupportedChainNames.md | 17 + .../functions/getSupportedNetworkNames.md | 23 + docs/core/functions/isValidAddress.md | 23 + docs/core/functions/isValidChainName.md | 23 + docs/core/functions/isValidNetworkName.md | 25 + docs/core/globals.md | 28 + docs/core/type-aliases/Address.md | 13 + docs/core/type-aliases/Bytes32.md | 13 + docs/core/type-aliases/ChainName.md | 13 + docs/core/type-aliases/Endpoint.md | 13 + docs/core/type-aliases/NetworkName.md | 13 + docs/core/variables/LOCAL_PROXY_ADDRESS.md | 13 + docs/core/variables/SUPPORTED_CHAINS.md | 13 + docs/core/variables/V2_PROXY_ADDRESS.md | 13 + docs/core/variables/ZERO_ADDRESS.md | 13 + docs/v1/README.md | 110 ++ docs/v1/_media/README.md | 52 + docs/v1/classes/InvalidAddressError.md | 159 +++ docs/v1/classes/InvalidChainNameError.md | 161 +++ docs/v1/classes/InvalidNetworkNameError.md | 161 +++ docs/v1/classes/InvalidTransactionError.md | 159 +++ docs/v1/classes/JPYC.md | 1166 +++++++++++++++++ docs/v1/classes/SdkClient.md | 1066 +++++++++++++++ docs/v1/globals.md | 23 + docs/v1/interfaces/IJPYC.md | 479 +++++++ docs/v1/interfaces/ISdkClient.md | 1030 +++++++++++++++ docs/v1/variables/JPYC_V2_ABI.md | 13 + package.json | 3 +- packages/core/README.md | 17 +- packages/core/package.json | 3 + packages/core/typedoc.json | 6 + packages/v1/README.md | 1 + packages/v1/package.json | 3 + packages/v1/typedoc.json | 6 + typedoc.json | 4 + yarn.lock | 91 +- 40 files changed, 4986 insertions(+), 12 deletions(-) delete mode 100644 docs/.gitkeep create mode 100644 docs/core/README.md create mode 100644 docs/core/functions/getSupportedChainNames.md create mode 100644 docs/core/functions/getSupportedNetworkNames.md create mode 100644 docs/core/functions/isValidAddress.md create mode 100644 docs/core/functions/isValidChainName.md create mode 100644 docs/core/functions/isValidNetworkName.md create mode 100644 docs/core/globals.md create mode 100644 docs/core/type-aliases/Address.md create mode 100644 docs/core/type-aliases/Bytes32.md create mode 100644 docs/core/type-aliases/ChainName.md create mode 100644 docs/core/type-aliases/Endpoint.md create mode 100644 docs/core/type-aliases/NetworkName.md create mode 100644 docs/core/variables/LOCAL_PROXY_ADDRESS.md create mode 100644 docs/core/variables/SUPPORTED_CHAINS.md create mode 100644 docs/core/variables/V2_PROXY_ADDRESS.md create mode 100644 docs/core/variables/ZERO_ADDRESS.md create mode 100644 docs/v1/README.md create mode 100644 docs/v1/_media/README.md create mode 100644 docs/v1/classes/InvalidAddressError.md create mode 100644 docs/v1/classes/InvalidChainNameError.md create mode 100644 docs/v1/classes/InvalidNetworkNameError.md create mode 100644 docs/v1/classes/InvalidTransactionError.md create mode 100644 docs/v1/classes/JPYC.md create mode 100644 docs/v1/classes/SdkClient.md create mode 100644 docs/v1/globals.md create mode 100644 docs/v1/interfaces/IJPYC.md create mode 100644 docs/v1/interfaces/ISdkClient.md create mode 100644 docs/v1/variables/JPYC_V2_ABI.md create mode 100644 packages/core/typedoc.json create mode 100644 packages/v1/typedoc.json create mode 100644 typedoc.json diff --git a/.husky/pre-commit b/.husky/pre-commit index 2312dc5..2674dc4 100644 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1 +1,2 @@ +yarn run docs npx lint-staged diff --git a/README.md b/README.md index 4064f0e..8ccf916 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # JPYC Node SDKs -[![HitCount](https://hits.dwyl.com/jcam1/sdks.svg?style=flat-square)](http://hits.dwyl.com/jcam1/sdks) +[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE) [![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/jcam1/sdks/issues/new/choose) Monorepo for JPYC Node SDKs. @@ -30,6 +30,9 @@ $ git clone --recursive https://github.com/jcam1/sdks.git This repo uses [Yarn Workspaces](https://yarnpkg.com/features/workspaces) primarily as a monorepo management tool. Please refer to the inserted link for details. +> [!NOTE] +> Please use Node `v20.12.0` for this repo. + To install dependencies for all the workspaces, run the following. ```sh diff --git a/docs/.gitkeep b/docs/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/docs/core/README.md b/docs/core/README.md new file mode 100644 index 0000000..ad622c2 --- /dev/null +++ b/docs/core/README.md @@ -0,0 +1,23 @@ +**@jpyc/sdk-core** • [**Docs**](globals.md) + +--- + +# JPYC Core SDK + +![build](https://github.com/jcam1/sdks/actions/workflows/check.yml/badge.svg) +[![Node version](https://img.shields.io/node/v/@jpyc/sdk-core.svg?style=flat)](https://nodejs.org/download/) + +JPYC core SDK implements a set of constants, types and functions, commonly used across different SDK versions. + +## 🤖 Available Commands + +The following commands are available as yarn scripts for local development & testing. + +| Command | Description | +| ---------------: | :----------------------------------- | +| `compile` | Compile (transpile) TypeScript files | +| `lint` | Run Eslint | +| `lint:dry-run` | Run Eslint without fixing | +| `format` | Run Prettier | +| `format:dry-run` | Run Prettier without fixing | +| `test` | Run unit tests (via jest) | diff --git a/docs/core/functions/getSupportedChainNames.md b/docs/core/functions/getSupportedChainNames.md new file mode 100644 index 0000000..40a54a6 --- /dev/null +++ b/docs/core/functions/getSupportedChainNames.md @@ -0,0 +1,17 @@ +[**@jpyc/sdk-core**](../README.md) • **Docs** + +--- + +[@jpyc/sdk-core](../globals.md) / getSupportedChainNames + +# Function: getSupportedChainNames() + +> **getSupportedChainNames**(): `string`[] + +## Returns + +`string`[] + +## Defined in + +[chains.ts:59](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/core/src/chains.ts#L59) diff --git a/docs/core/functions/getSupportedNetworkNames.md b/docs/core/functions/getSupportedNetworkNames.md new file mode 100644 index 0000000..57bb500 --- /dev/null +++ b/docs/core/functions/getSupportedNetworkNames.md @@ -0,0 +1,23 @@ +[**@jpyc/sdk-core**](../README.md) • **Docs** + +--- + +[@jpyc/sdk-core](../globals.md) / getSupportedNetworkNames + +# Function: getSupportedNetworkNames() + +> **getSupportedNetworkNames**(`params`): `string`[] + +## Parameters + +• **params** + +• **params.chainName**: `string` + +## Returns + +`string`[] + +## Defined in + +[chains.ts:70](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/core/src/chains.ts#L70) diff --git a/docs/core/functions/isValidAddress.md b/docs/core/functions/isValidAddress.md new file mode 100644 index 0000000..21be88e --- /dev/null +++ b/docs/core/functions/isValidAddress.md @@ -0,0 +1,23 @@ +[**@jpyc/sdk-core**](../README.md) • **Docs** + +--- + +[@jpyc/sdk-core](../globals.md) / isValidAddress + +# Function: isValidAddress() + +> **isValidAddress**(`params`): `boolean` + +## Parameters + +• **params** + +• **params.address**: `string` + +## Returns + +`boolean` + +## Defined in + +[addresses.ts:9](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/core/src/addresses.ts#L9) diff --git a/docs/core/functions/isValidChainName.md b/docs/core/functions/isValidChainName.md new file mode 100644 index 0000000..703d9c4 --- /dev/null +++ b/docs/core/functions/isValidChainName.md @@ -0,0 +1,23 @@ +[**@jpyc/sdk-core**](../README.md) • **Docs** + +--- + +[@jpyc/sdk-core](../globals.md) / isValidChainName + +# Function: isValidChainName() + +> **isValidChainName**(`params`): `boolean` + +## Parameters + +• **params** + +• **params.chainName**: `string` + +## Returns + +`boolean` + +## Defined in + +[chains.ts:63](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/core/src/chains.ts#L63) diff --git a/docs/core/functions/isValidNetworkName.md b/docs/core/functions/isValidNetworkName.md new file mode 100644 index 0000000..8b4e87a --- /dev/null +++ b/docs/core/functions/isValidNetworkName.md @@ -0,0 +1,25 @@ +[**@jpyc/sdk-core**](../README.md) • **Docs** + +--- + +[@jpyc/sdk-core](../globals.md) / isValidNetworkName + +# Function: isValidNetworkName() + +> **isValidNetworkName**(`params`): `boolean` + +## Parameters + +• **params** + +• **params.chainName**: `string` + +• **params.networkName**: `string` + +## Returns + +`boolean` + +## Defined in + +[chains.ts:74](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/core/src/chains.ts#L74) diff --git a/docs/core/globals.md b/docs/core/globals.md new file mode 100644 index 0000000..623436d --- /dev/null +++ b/docs/core/globals.md @@ -0,0 +1,28 @@ +[**@jpyc/sdk-core**](README.md) • **Docs** + +--- + +# @jpyc/sdk-core + +## Type Aliases + +- [Address](type-aliases/Address.md) +- [Bytes32](type-aliases/Bytes32.md) +- [ChainName](type-aliases/ChainName.md) +- [Endpoint](type-aliases/Endpoint.md) +- [NetworkName](type-aliases/NetworkName.md) + +## Variables + +- [LOCAL_PROXY_ADDRESS](variables/LOCAL_PROXY_ADDRESS.md) +- [SUPPORTED_CHAINS](variables/SUPPORTED_CHAINS.md) +- [V2_PROXY_ADDRESS](variables/V2_PROXY_ADDRESS.md) +- [ZERO_ADDRESS](variables/ZERO_ADDRESS.md) + +## Functions + +- [getSupportedChainNames](functions/getSupportedChainNames.md) +- [getSupportedNetworkNames](functions/getSupportedNetworkNames.md) +- [isValidAddress](functions/isValidAddress.md) +- [isValidChainName](functions/isValidChainName.md) +- [isValidNetworkName](functions/isValidNetworkName.md) diff --git a/docs/core/type-aliases/Address.md b/docs/core/type-aliases/Address.md new file mode 100644 index 0000000..9e0eec9 --- /dev/null +++ b/docs/core/type-aliases/Address.md @@ -0,0 +1,13 @@ +[**@jpyc/sdk-core**](../README.md) • **Docs** + +--- + +[@jpyc/sdk-core](../globals.md) / Address + +# Type Alias: Address + +> **Address**: \`0x$\{string\}\` + +## Defined in + +[types.ts:1](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/core/src/types.ts#L1) diff --git a/docs/core/type-aliases/Bytes32.md b/docs/core/type-aliases/Bytes32.md new file mode 100644 index 0000000..7e154b7 --- /dev/null +++ b/docs/core/type-aliases/Bytes32.md @@ -0,0 +1,13 @@ +[**@jpyc/sdk-core**](../README.md) • **Docs** + +--- + +[@jpyc/sdk-core](../globals.md) / Bytes32 + +# Type Alias: Bytes32 + +> **Bytes32**: \`0x$\{string\}\` + +## Defined in + +[types.ts:2](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/core/src/types.ts#L2) diff --git a/docs/core/type-aliases/ChainName.md b/docs/core/type-aliases/ChainName.md new file mode 100644 index 0000000..ec0e227 --- /dev/null +++ b/docs/core/type-aliases/ChainName.md @@ -0,0 +1,13 @@ +[**@jpyc/sdk-core**](../README.md) • **Docs** + +--- + +[@jpyc/sdk-core](../globals.md) / ChainName + +# Type Alias: ChainName + +> **ChainName**: `"local"` \| `"ethereum"` \| `"polygon"` \| `"gnosis"` \| `"avalanche"` \| `"astar"` + +## Defined in + +[types.ts:6](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/core/src/types.ts#L6) diff --git a/docs/core/type-aliases/Endpoint.md b/docs/core/type-aliases/Endpoint.md new file mode 100644 index 0000000..4be3718 --- /dev/null +++ b/docs/core/type-aliases/Endpoint.md @@ -0,0 +1,13 @@ +[**@jpyc/sdk-core**](../README.md) • **Docs** + +--- + +[@jpyc/sdk-core](../globals.md) / Endpoint + +# Type Alias: Endpoint + +> **Endpoint**: `string` + +## Defined in + +[types.ts:4](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/core/src/types.ts#L4) diff --git a/docs/core/type-aliases/NetworkName.md b/docs/core/type-aliases/NetworkName.md new file mode 100644 index 0000000..24d4ea0 --- /dev/null +++ b/docs/core/type-aliases/NetworkName.md @@ -0,0 +1,13 @@ +[**@jpyc/sdk-core**](../README.md) • **Docs** + +--- + +[@jpyc/sdk-core](../globals.md) / NetworkName + +# Type Alias: NetworkName + +> **NetworkName**: `"mainnet"` \| `"goerli"` \| `"sepolia"` \| `"amoy"` \| `"chiado"` \| `"fuji"` + +## Defined in + +[types.ts:8](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/core/src/types.ts#L8) diff --git a/docs/core/variables/LOCAL_PROXY_ADDRESS.md b/docs/core/variables/LOCAL_PROXY_ADDRESS.md new file mode 100644 index 0000000..b9f49c9 --- /dev/null +++ b/docs/core/variables/LOCAL_PROXY_ADDRESS.md @@ -0,0 +1,13 @@ +[**@jpyc/sdk-core**](../README.md) • **Docs** + +--- + +[@jpyc/sdk-core](../globals.md) / LOCAL_PROXY_ADDRESS + +# Variable: LOCAL_PROXY_ADDRESS + +> `const` **LOCAL_PROXY_ADDRESS**: [`Address`](../type-aliases/Address.md) + +## Defined in + +[addresses.ts:7](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/core/src/addresses.ts#L7) diff --git a/docs/core/variables/SUPPORTED_CHAINS.md b/docs/core/variables/SUPPORTED_CHAINS.md new file mode 100644 index 0000000..9728b8a --- /dev/null +++ b/docs/core/variables/SUPPORTED_CHAINS.md @@ -0,0 +1,13 @@ +[**@jpyc/sdk-core**](../README.md) • **Docs** + +--- + +[@jpyc/sdk-core](../globals.md) / SUPPORTED_CHAINS + +# Variable: SUPPORTED_CHAINS + +> `const` **SUPPORTED_CHAINS**: `Record`\<`string`, `Record`\<`string`, `Chain`\>\> + +## Defined in + +[chains.ts:33](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/core/src/chains.ts#L33) diff --git a/docs/core/variables/V2_PROXY_ADDRESS.md b/docs/core/variables/V2_PROXY_ADDRESS.md new file mode 100644 index 0000000..da159c0 --- /dev/null +++ b/docs/core/variables/V2_PROXY_ADDRESS.md @@ -0,0 +1,13 @@ +[**@jpyc/sdk-core**](../README.md) • **Docs** + +--- + +[@jpyc/sdk-core](../globals.md) / V2_PROXY_ADDRESS + +# Variable: V2_PROXY_ADDRESS + +> `const` **V2_PROXY_ADDRESS**: `"0x431D5dfF03120AFA4bDf332c61A6e1766eF37BDB"` = `'0x431D5dfF03120AFA4bDf332c61A6e1766eF37BDB'` + +## Defined in + +[addresses.ts:6](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/core/src/addresses.ts#L6) diff --git a/docs/core/variables/ZERO_ADDRESS.md b/docs/core/variables/ZERO_ADDRESS.md new file mode 100644 index 0000000..9f193b4 --- /dev/null +++ b/docs/core/variables/ZERO_ADDRESS.md @@ -0,0 +1,13 @@ +[**@jpyc/sdk-core**](../README.md) • **Docs** + +--- + +[@jpyc/sdk-core](../globals.md) / ZERO_ADDRESS + +# Variable: ZERO_ADDRESS + +> `const` **ZERO_ADDRESS**: `"0x0000000000000000000000000000000000000000"` = `'0x0000000000000000000000000000000000000000'` + +## Defined in + +[addresses.ts:5](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/core/src/addresses.ts#L5) diff --git a/docs/v1/README.md b/docs/v1/README.md new file mode 100644 index 0000000..f4a8f3f --- /dev/null +++ b/docs/v1/README.md @@ -0,0 +1,110 @@ +**@jpyc/sdk-v1** • [**Docs**](globals.md) + +--- + +# JPYC V1 SDK + +![build](https://github.com/jcam1/sdks/actions/workflows/check.yml/badge.svg) +[![Node version](https://img.shields.io/node/v/@jpyc/sdk-v1.svg?style=flat)](https://nodejs.org/download/) + +JPYC V1 SDK implements an interface to interact with [JPYCv2 contracts](https://github.com/jcam1/JPYCv2) on different chains. Supported chains are Ethereum, Polygon, Gnosis, Avalanche, and Astar. Please note that **Shiden Network is not yet supported**. + +## 💡 How to Use + +Please follow the following steps to configure our SDK. + +#### 1. Install Packages + +Install packages. + +```sh +# yarn +$ yarn add @jpyc/sdk-core @jpyc/sdk-v1 + +# npm +$ npm i @jpyc/sdk-core @jpyc/sdk-v1 +``` + +#### 2. Set Environment Variables + +Some data, such as configuration variables (e.g., chain name) or sensitive data (e.g., private key), are embedded as environment variables. You need to set the following environment variables. + +| Variable | Description & Instructions | +| --------------------: | :-------------------------------------------------------------------------------------------------------------------------------- | +| `SDK_ENV` | SDK environment. Set to `local` for local environment or any other sensible string for production environment. | +| `CHAIN_NAME` | Chain name. Set to one of the following\: `local`, `ethereum`, `polygon`, `gnosis`, `avalanche` or `astar`. | +| `NETWORK_NAME` | Network name within the specified chain. Set to one of the following\: `mainnet`, `goerli`, `sepolia`, `amoy`, `chiado` or `fuji` | +| `RPC_ENDPOINT` | RPC endpoint to send transactions. | +| `PRIVATE_KEY` | Private key of an account. | +| `LOCAL_PROXY_ADDRESS` | Proxy contract address in local environment. | + +#### 3. Instantiate SDK + +Initialize an SDK instance that implements an abstracted interface to JPYCv2 contracts. + +```ts +import { ChainName, Endpoint, NetworkName } from '@jpyc/sdk-core'; +import { IJPYC, ISdkClient, JPYC, SdkClient } from '@jpyc/sdk-v1'; + +// 1. Initialize an SdkClient instance +const sdkClient: ISdkClient = new SdkClient({ + chainName: process.env.CHAIN_NAME as ChainName, + networkName: process.env.NETWORK_NAME as NetworkName, + rpcEndpoint: process.env.RPC_ENDPOINT as Endpoint, +}); + +// 2. Generate an account from a private key +export const account = sdkClient.createPrivateKeyAccount({}); + +// 3. Generate a client with the account +export const client = sdkClient.createLocalClient({ + account: account, +}); + +// 4. Initialize an SDK instance +export const jpyc: IJPYC = new JPYC({ + client: client, +}); +``` + +#### 4. Use SDK + +Use the initialized SDK wherever you would like. + +```ts +import { jpyc } from './YOUR/PATH/TO/INITIALIZATION/FILE'; + +// Fetch `totalSupply` from `JPYCv2` contract +const totalSupply = await jpyc.totalSupply(); +console.log(`totalSupply: ${totalSupply.toString()}`); +``` + +## ✨ Code Examples + +For your reference, we provide code examples in `examples` directory. Please follow the instructions on [`README`](_media/README.md) file. + +## 🤖 Available Commands + +The following commands are available as yarn scripts for local development & testing. + +| Command | Description | +| ----------------------------: | :------------------------------------------------------ | +| `env` | Generate `.env` file | +| `lint` | Run Eslint | +| `lint:dry-run` | Run Eslint without fixing | +| `format` | Run Prettier | +| `format:dry-run` | Run Prettier without fixing | +| `compile:sdk` | Compile (transpile) TypeScript files | +| `compile:contracts` | Compile contracts | +| `clean` | Delete contract artifacts | +| `node` | Run hardhat network & node locally | +| `deploy` | Deploy compiled contracts to local hardhat network | +| `mint` | Example code: mint new tokens | +| `total-supply` | Example code: get total-supply | +| `transfer` | Example code: transfer tokens | +| `approve` | Example code: approve allowance | +| `permit` | Example code: permit allowance (EIP2612) | +| `transfer-from` | Example code: transfer tokens from spender | +| `transfer-with-authorization` | Example code: transfer tokens with signatures (EIP3009) | +| `receive-with-authorization` | Example code: receive tokens with signatures (EIP3009) | +| `cancel-authorization` | Example code: cancel token authorization (EIP3009) | diff --git a/docs/v1/_media/README.md b/docs/v1/_media/README.md new file mode 100644 index 0000000..9c73f1a --- /dev/null +++ b/docs/v1/_media/README.md @@ -0,0 +1,52 @@ +# Code Examples for JPYC V1 SDK + +We provide code examples that use JPYC V1 SDK as an interface to locally-deployed `JPYCv2` contracts. Please read and follow the instructions below to learn how to set up local environment as well as how to run our code examples. + +### 1. Run Local Network + +Run the following command to start running local Hardhat network and its accompanying node. + +```sh +$ yarn run node +``` + +### 2. Deploy Contracts + +**Open a different window** and run the following command to deploy JPYCv2 contracts to the local network. Once successfully deployed, a new directory will be created, and you can find deployed contract addresses at `/packages/v1/ignition/deployments/chain-31337/deployed_addresses.json`. + +```sh +$ yarn run deploy +``` + +### 3. Set Environment Variables + +Run the following commands, and edit the generated `.env` file accordingly. Set `LOCAL_PROXY_ADDRESS` to the value of `JPYCV2Module#FiatTokenV1` at [here](../ignition/deployments/chain-31337/deployed_addresses.json). See [here](../README.md/) for more details. + +```sh +# cd into this directory +$ cd /packages/v1 +# copy `.env.example` to `.env` +$ yarn run env +``` + +### 4. Run Code Examples + +Run the following commands to execute our code examples. + +| Command | Description | +| ----------------------------: | :------------------------------------------------------ | +| `mint` | Example code: mint new tokens | +| `total-supply` | Example code: get total-supply | +| `transfer` | Example code: transfer tokens | +| `approve` | Example code: approve allowance | +| `permit` | Example code: permit allowance (EIP2612) | +| `transfer-from` | Example code: transfer tokens from spender | +| `transfer-with-authorization` | Example code: transfer tokens with signatures (EIP3009) | +| `receive-with-authorization` | Example code: receive tokens with signatures (EIP3009) | +| `cancel-authorization` | Example code: cancel token authorization (EIP3009) | + +For example, to mint JPYC tokens on local network, run the following. + +```sh +$ yarn run mint +``` diff --git a/docs/v1/classes/InvalidAddressError.md b/docs/v1/classes/InvalidAddressError.md new file mode 100644 index 0000000..e38dee0 --- /dev/null +++ b/docs/v1/classes/InvalidAddressError.md @@ -0,0 +1,159 @@ +[**@jpyc/sdk-v1**](../README.md) • **Docs** + +--- + +[@jpyc/sdk-v1](../globals.md) / InvalidAddressError + +# Class: InvalidAddressError + +## Extends + +- `JpycSdkError` + +## Constructors + +### new InvalidAddressError() + +> **new InvalidAddressError**(`address`): [`InvalidAddressError`](InvalidAddressError.md) + +#### Parameters + +• **address**: `string` + +#### Returns + +[`InvalidAddressError`](InvalidAddressError.md) + +#### Overrides + +`JpycSdkError.constructor` + +#### Defined in + +[packages/v1/src/errors.ts:30](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/errors.ts#L30) + +## Properties + +### cause? + +> `optional` **cause**: `unknown` + +#### Inherited from + +`JpycSdkError.cause` + +#### Defined in + +node_modules/typescript/lib/lib.es2022.error.d.ts:24 + +--- + +### message + +> **message**: `string` + +#### Inherited from + +`JpycSdkError.message` + +#### Defined in + +node_modules/typescript/lib/lib.es5.d.ts:1077 + +--- + +### name + +> **name**: `string` + +#### Inherited from + +`JpycSdkError.name` + +#### Defined in + +node_modules/typescript/lib/lib.es5.d.ts:1076 + +--- + +### stack? + +> `optional` **stack**: `string` + +#### Inherited from + +`JpycSdkError.stack` + +#### Defined in + +node_modules/typescript/lib/lib.es5.d.ts:1078 + +--- + +### prepareStackTrace()? + +> `static` `optional` **prepareStackTrace**: (`err`, `stackTraces`) => `any` + +Optional override for formatting stack traces + +#### Parameters + +• **err**: `Error` + +• **stackTraces**: `CallSite`[] + +#### Returns + +`any` + +#### See + +https://v8.dev/docs/stack-trace-api#customizing-stack-traces + +#### Inherited from + +`JpycSdkError.prepareStackTrace` + +#### Defined in + +packages/v1/node_modules/@types/node/globals.d.ts:28 + +--- + +### stackTraceLimit + +> `static` **stackTraceLimit**: `number` + +#### Inherited from + +`JpycSdkError.stackTraceLimit` + +#### Defined in + +packages/v1/node_modules/@types/node/globals.d.ts:30 + +## Methods + +### captureStackTrace() + +> `static` **captureStackTrace**(`targetObject`, `constructorOpt`?): `void` + +Create .stack property on a target object + +#### Parameters + +• **targetObject**: `object` + +• **constructorOpt?**: `Function` + +#### Returns + +`void` + +#### Inherited from + +`JpycSdkError.captureStackTrace` + +#### Defined in + +packages/v1/node_modules/@types/node/globals.d.ts:21 diff --git a/docs/v1/classes/InvalidChainNameError.md b/docs/v1/classes/InvalidChainNameError.md new file mode 100644 index 0000000..6840e11 --- /dev/null +++ b/docs/v1/classes/InvalidChainNameError.md @@ -0,0 +1,161 @@ +[**@jpyc/sdk-v1**](../README.md) • **Docs** + +--- + +[@jpyc/sdk-v1](../globals.md) / InvalidChainNameError + +# Class: InvalidChainNameError + +Custom error classes + +## Extends + +- `JpycSdkError` + +## Constructors + +### new InvalidChainNameError() + +> **new InvalidChainNameError**(`chainName`): [`InvalidChainNameError`](InvalidChainNameError.md) + +#### Parameters + +• **chainName**: `string` + +#### Returns + +[`InvalidChainNameError`](InvalidChainNameError.md) + +#### Overrides + +`JpycSdkError.constructor` + +#### Defined in + +[packages/v1/src/errors.ts:14](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/errors.ts#L14) + +## Properties + +### cause? + +> `optional` **cause**: `unknown` + +#### Inherited from + +`JpycSdkError.cause` + +#### Defined in + +node_modules/typescript/lib/lib.es2022.error.d.ts:24 + +--- + +### message + +> **message**: `string` + +#### Inherited from + +`JpycSdkError.message` + +#### Defined in + +node_modules/typescript/lib/lib.es5.d.ts:1077 + +--- + +### name + +> **name**: `string` + +#### Inherited from + +`JpycSdkError.name` + +#### Defined in + +node_modules/typescript/lib/lib.es5.d.ts:1076 + +--- + +### stack? + +> `optional` **stack**: `string` + +#### Inherited from + +`JpycSdkError.stack` + +#### Defined in + +node_modules/typescript/lib/lib.es5.d.ts:1078 + +--- + +### prepareStackTrace()? + +> `static` `optional` **prepareStackTrace**: (`err`, `stackTraces`) => `any` + +Optional override for formatting stack traces + +#### Parameters + +• **err**: `Error` + +• **stackTraces**: `CallSite`[] + +#### Returns + +`any` + +#### See + +https://v8.dev/docs/stack-trace-api#customizing-stack-traces + +#### Inherited from + +`JpycSdkError.prepareStackTrace` + +#### Defined in + +packages/v1/node_modules/@types/node/globals.d.ts:28 + +--- + +### stackTraceLimit + +> `static` **stackTraceLimit**: `number` + +#### Inherited from + +`JpycSdkError.stackTraceLimit` + +#### Defined in + +packages/v1/node_modules/@types/node/globals.d.ts:30 + +## Methods + +### captureStackTrace() + +> `static` **captureStackTrace**(`targetObject`, `constructorOpt`?): `void` + +Create .stack property on a target object + +#### Parameters + +• **targetObject**: `object` + +• **constructorOpt?**: `Function` + +#### Returns + +`void` + +#### Inherited from + +`JpycSdkError.captureStackTrace` + +#### Defined in + +packages/v1/node_modules/@types/node/globals.d.ts:21 diff --git a/docs/v1/classes/InvalidNetworkNameError.md b/docs/v1/classes/InvalidNetworkNameError.md new file mode 100644 index 0000000..8634059 --- /dev/null +++ b/docs/v1/classes/InvalidNetworkNameError.md @@ -0,0 +1,161 @@ +[**@jpyc/sdk-v1**](../README.md) • **Docs** + +--- + +[@jpyc/sdk-v1](../globals.md) / InvalidNetworkNameError + +# Class: InvalidNetworkNameError + +## Extends + +- `JpycSdkError` + +## Constructors + +### new InvalidNetworkNameError() + +> **new InvalidNetworkNameError**(`chainName`, `networkName`): [`InvalidNetworkNameError`](InvalidNetworkNameError.md) + +#### Parameters + +• **chainName**: `string` + +• **networkName**: `string` + +#### Returns + +[`InvalidNetworkNameError`](InvalidNetworkNameError.md) + +#### Overrides + +`JpycSdkError.constructor` + +#### Defined in + +[packages/v1/src/errors.ts:22](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/errors.ts#L22) + +## Properties + +### cause? + +> `optional` **cause**: `unknown` + +#### Inherited from + +`JpycSdkError.cause` + +#### Defined in + +node_modules/typescript/lib/lib.es2022.error.d.ts:24 + +--- + +### message + +> **message**: `string` + +#### Inherited from + +`JpycSdkError.message` + +#### Defined in + +node_modules/typescript/lib/lib.es5.d.ts:1077 + +--- + +### name + +> **name**: `string` + +#### Inherited from + +`JpycSdkError.name` + +#### Defined in + +node_modules/typescript/lib/lib.es5.d.ts:1076 + +--- + +### stack? + +> `optional` **stack**: `string` + +#### Inherited from + +`JpycSdkError.stack` + +#### Defined in + +node_modules/typescript/lib/lib.es5.d.ts:1078 + +--- + +### prepareStackTrace()? + +> `static` `optional` **prepareStackTrace**: (`err`, `stackTraces`) => `any` + +Optional override for formatting stack traces + +#### Parameters + +• **err**: `Error` + +• **stackTraces**: `CallSite`[] + +#### Returns + +`any` + +#### See + +https://v8.dev/docs/stack-trace-api#customizing-stack-traces + +#### Inherited from + +`JpycSdkError.prepareStackTrace` + +#### Defined in + +packages/v1/node_modules/@types/node/globals.d.ts:28 + +--- + +### stackTraceLimit + +> `static` **stackTraceLimit**: `number` + +#### Inherited from + +`JpycSdkError.stackTraceLimit` + +#### Defined in + +packages/v1/node_modules/@types/node/globals.d.ts:30 + +## Methods + +### captureStackTrace() + +> `static` **captureStackTrace**(`targetObject`, `constructorOpt`?): `void` + +Create .stack property on a target object + +#### Parameters + +• **targetObject**: `object` + +• **constructorOpt?**: `Function` + +#### Returns + +`void` + +#### Inherited from + +`JpycSdkError.captureStackTrace` + +#### Defined in + +packages/v1/node_modules/@types/node/globals.d.ts:21 diff --git a/docs/v1/classes/InvalidTransactionError.md b/docs/v1/classes/InvalidTransactionError.md new file mode 100644 index 0000000..5777712 --- /dev/null +++ b/docs/v1/classes/InvalidTransactionError.md @@ -0,0 +1,159 @@ +[**@jpyc/sdk-v1**](../README.md) • **Docs** + +--- + +[@jpyc/sdk-v1](../globals.md) / InvalidTransactionError + +# Class: InvalidTransactionError + +## Extends + +- `JpycSdkError` + +## Constructors + +### new InvalidTransactionError() + +> **new InvalidTransactionError**(`error`): [`InvalidTransactionError`](InvalidTransactionError.md) + +#### Parameters + +• **error**: `unknown` + +#### Returns + +[`InvalidTransactionError`](InvalidTransactionError.md) + +#### Overrides + +`JpycSdkError.constructor` + +#### Defined in + +[packages/v1/src/errors.ts:36](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/errors.ts#L36) + +## Properties + +### cause? + +> `optional` **cause**: `unknown` + +#### Inherited from + +`JpycSdkError.cause` + +#### Defined in + +node_modules/typescript/lib/lib.es2022.error.d.ts:24 + +--- + +### message + +> **message**: `string` + +#### Inherited from + +`JpycSdkError.message` + +#### Defined in + +node_modules/typescript/lib/lib.es5.d.ts:1077 + +--- + +### name + +> **name**: `string` + +#### Inherited from + +`JpycSdkError.name` + +#### Defined in + +node_modules/typescript/lib/lib.es5.d.ts:1076 + +--- + +### stack? + +> `optional` **stack**: `string` + +#### Inherited from + +`JpycSdkError.stack` + +#### Defined in + +node_modules/typescript/lib/lib.es5.d.ts:1078 + +--- + +### prepareStackTrace()? + +> `static` `optional` **prepareStackTrace**: (`err`, `stackTraces`) => `any` + +Optional override for formatting stack traces + +#### Parameters + +• **err**: `Error` + +• **stackTraces**: `CallSite`[] + +#### Returns + +`any` + +#### See + +https://v8.dev/docs/stack-trace-api#customizing-stack-traces + +#### Inherited from + +`JpycSdkError.prepareStackTrace` + +#### Defined in + +packages/v1/node_modules/@types/node/globals.d.ts:28 + +--- + +### stackTraceLimit + +> `static` **stackTraceLimit**: `number` + +#### Inherited from + +`JpycSdkError.stackTraceLimit` + +#### Defined in + +packages/v1/node_modules/@types/node/globals.d.ts:30 + +## Methods + +### captureStackTrace() + +> `static` **captureStackTrace**(`targetObject`, `constructorOpt`?): `void` + +Create .stack property on a target object + +#### Parameters + +• **targetObject**: `object` + +• **constructorOpt?**: `Function` + +#### Returns + +`void` + +#### Inherited from + +`JpycSdkError.captureStackTrace` + +#### Defined in + +packages/v1/node_modules/@types/node/globals.d.ts:21 diff --git a/docs/v1/classes/JPYC.md b/docs/v1/classes/JPYC.md new file mode 100644 index 0000000..e76396a --- /dev/null +++ b/docs/v1/classes/JPYC.md @@ -0,0 +1,1166 @@ +[**@jpyc/sdk-v1**](../README.md) • **Docs** + +--- + +[@jpyc/sdk-v1](../globals.md) / JPYC + +# Class: JPYC + +## Implements + +- [`IJPYC`](../interfaces/IJPYC.md) + +## Constructors + +### new JPYC() + +> **new JPYC**(`params`): [`JPYC`](JPYC.md) + +#### Parameters + +• **params** + +• **params.client** + +• **params.client.account**: `undefined` \| `Account` + +The Account of the Client. + +• **params.client.addChain** + +Adds an EVM chain to the wallet. + +- Docs: https://viem.sh/docs/actions/wallet/addChain +- JSON-RPC Methods: [`eth_addEthereumChain`](https://eips.ethereum.org/EIPS/eip-3085) + +**Example** + +```ts +import { createWalletClient, custom } from 'viem'; +import { optimism } from 'viem/chains'; + +const client = createWalletClient({ + transport: custom(window.ethereum), +}); +await client.addChain({ chain: optimism }); +``` + +• **params.client.batch?** + +Flags for batch settings. + +• **params.client.batch.multicall?**: `boolean` \| `object` + +Toggle to enable `eth_call` multicall aggregation. + +• **params.client.cacheTime**: `number` + +Time (in ms) that cached data will remain in memory. + +• **params.client.ccipRead?**: `false` \| `object` + +[CCIP Read](https://eips.ethereum.org/EIPS/eip-3668) configuration. + +• **params.client.chain**: `undefined` \| `Chain` + +Chain for the client. + +• **params.client.deployContract** + +Deploys a contract to the network, given bytecode and constructor arguments. + +- Docs: https://viem.sh/docs/contract/deployContract +- Examples: https://stackblitz.com/github/wevm/viem/tree/main/examples/contracts/deploying-contracts + +**Example** + +```ts +import { createWalletClient, http } from 'viem' +import { privateKeyToAccount } from 'viem/accounts' +import { mainnet } from 'viem/chains' + +const client = createWalletClient({ + account: privateKeyToAccount('0x…'), + chain: mainnet, + transport: http(), +}) +const hash = await client.deployContract({ + abi: [], + account: '0x…, + bytecode: '0x608060405260405161083e38038061083e833981016040819052610...', +}) +``` + +• **params.client.extend** + +• **params.client.getAddresses** + +Returns a list of account addresses owned by the wallet or client. + +- Docs: https://viem.sh/docs/actions/wallet/getAddresses +- JSON-RPC Methods: [`eth_accounts`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_accounts) + +**Example** + +```ts +import { createWalletClient, custom } from 'viem'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}); +const accounts = await client.getAddresses(); +``` + +• **params.client.getChainId** + +Returns the chain ID associated with the current network. + +- Docs: https://viem.sh/docs/actions/public/getChainId +- JSON-RPC Methods: [`eth_chainId`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_chainid) + +**Example** + +```ts +import { createWalletClient, http } from 'viem'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}); +const chainId = await client.getChainId(); +// 1 +``` + +• **params.client.getPermissions** + +Gets the wallets current permissions. + +- Docs: https://viem.sh/docs/actions/wallet/getPermissions +- JSON-RPC Methods: [`wallet_getPermissions`](https://eips.ethereum.org/EIPS/eip-2255) + +**Example** + +```ts +import { createWalletClient, custom } from 'viem'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}); +const permissions = await client.getPermissions(); +``` + +• **params.client.key**: `string` + +A key for the client. + +• **params.client.name**: `string` + +A name for the client. + +• **params.client.pollingInterval**: `number` + +Frequency (in ms) for polling enabled actions & events. Defaults to 4_000 milliseconds. + +• **params.client.prepareTransactionRequest** + +Prepares a transaction request for signing. + +- Docs: https://viem.sh/docs/actions/wallet/prepareTransactionRequest + +**Examples** + +```ts +import { createWalletClient, custom } from 'viem'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}); +const request = await client.prepareTransactionRequest({ + account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e', + to: '0x0000000000000000000000000000000000000000', + value: 1n, +}); +``` + +```ts +// Account Hoisting +import { createWalletClient, http } from 'viem'; +import { privateKeyToAccount } from 'viem/accounts'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + account: privateKeyToAccount('0x…'), + chain: mainnet, + transport: custom(window.ethereum), +}); +const request = await client.prepareTransactionRequest({ + to: '0x0000000000000000000000000000000000000000', + value: 1n, +}); +``` + +• **params.client.request**: `EIP1193RequestFn`\<`WalletRpcSchema`\> + +Request function wrapped with friendly error handling + +• **params.client.requestAddresses** + +Requests a list of accounts managed by a wallet. + +- Docs: https://viem.sh/docs/actions/wallet/requestAddresses +- JSON-RPC Methods: [`eth_requestAccounts`](https://eips.ethereum.org/EIPS/eip-1102) + +Sends a request to the wallet, asking for permission to access the user's accounts. After the user accepts the request, it will return a list of accounts (addresses). + +This API can be useful for dapps that need to access the user's accounts in order to execute transactions or interact with smart contracts. + +**Example** + +```ts +import { createWalletClient, custom } from 'viem'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}); +const accounts = await client.requestAddresses(); +``` + +• **params.client.requestPermissions** + +Requests permissions for a wallet. + +- Docs: https://viem.sh/docs/actions/wallet/requestPermissions +- JSON-RPC Methods: [`wallet_requestPermissions`](https://eips.ethereum.org/EIPS/eip-2255) + +**Example** + +```ts +import { createWalletClient, custom } from 'viem'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}); +const permissions = await client.requestPermissions({ + eth_accounts: {}, +}); +``` + +• **params.client.sendRawTransaction** + +Sends a **signed** transaction to the network + +- Docs: https://viem.sh/docs/actions/wallet/sendRawTransaction +- JSON-RPC Method: [`eth_sendRawTransaction`](https://ethereum.github.io/execution-apis/api-documentation/) + +**Example** + +```ts +import { createWalletClient, custom } from 'viem'; +import { mainnet } from 'viem/chains'; +import { sendRawTransaction } from 'viem/wallet'; + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}); + +const hash = await client.sendRawTransaction({ + serializedTransaction: + '0x02f850018203118080825208808080c080a04012522854168b27e5dc3d5839bab5e6b39e1a0ffd343901ce1622e3d64b48f1a04e00902ae0502c4728cbf12156290df99c3ed7de85b1dbfe20b5c36931733a33', +}); +``` + +• **params.client.sendTransaction** + +Creates, signs, and sends a new transaction to the network. + +- Docs: https://viem.sh/docs/actions/wallet/sendTransaction +- Examples: https://stackblitz.com/github/wevm/viem/tree/main/examples/transactions/sending-transactions +- JSON-RPC Methods: + - JSON-RPC Accounts: [`eth_sendTransaction`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_sendtransaction) + - Local Accounts: [`eth_sendRawTransaction`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_sendrawtransaction) + +**Examples** + +```ts +import { createWalletClient, custom } from 'viem'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}); +const hash = await client.sendTransaction({ + account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e', + to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8', + value: 1000000000000000000n, +}); +``` + +```ts +// Account Hoisting +import { createWalletClient, http } from 'viem'; +import { privateKeyToAccount } from 'viem/accounts'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + account: privateKeyToAccount('0x…'), + chain: mainnet, + transport: http(), +}); +const hash = await client.sendTransaction({ + to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8', + value: 1000000000000000000n, +}); +``` + +• **params.client.signMessage** + +Calculates an Ethereum-specific signature in [EIP-191 format](https://eips.ethereum.org/EIPS/eip-191): `keccak256("\x19Ethereum Signed Message:\n" + len(message) + message))`. + +- Docs: https://viem.sh/docs/actions/wallet/signMessage +- JSON-RPC Methods: + - JSON-RPC Accounts: [`personal_sign`](https://docs.metamask.io/guide/signing-data#personal-sign) + - Local Accounts: Signs locally. No JSON-RPC request. + +With the calculated signature, you can: + +- use [`verifyMessage`](https://viem.sh/docs/utilities/verifyMessage) to verify the signature, +- use [`recoverMessageAddress`](https://viem.sh/docs/utilities/recoverMessageAddress) to recover the signing address from a signature. + +**Examples** + +```ts +import { createWalletClient, custom } from 'viem'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}); +const signature = await client.signMessage({ + account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e', + message: 'hello world', +}); +``` + +```ts +// Account Hoisting +import { createWalletClient, http } from 'viem'; +import { privateKeyToAccount } from 'viem/accounts'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + account: privateKeyToAccount('0x…'), + chain: mainnet, + transport: http(), +}); +const signature = await client.signMessage({ + message: 'hello world', +}); +``` + +• **params.client.signTransaction** + +Signs a transaction. + +- Docs: https://viem.sh/docs/actions/wallet/signTransaction +- JSON-RPC Methods: + - JSON-RPC Accounts: [`eth_signTransaction`](https://ethereum.github.io/execution-apis/api-documentation/) + - Local Accounts: Signs locally. No JSON-RPC request. + +**Examples** + +```ts +import { createWalletClient, custom } from 'viem'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}); +const request = await client.prepareTransactionRequest({ + account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e', + to: '0x0000000000000000000000000000000000000000', + value: 1n, +}); +const signature = await client.signTransaction(request); +``` + +```ts +// Account Hoisting +import { createWalletClient, http } from 'viem'; +import { privateKeyToAccount } from 'viem/accounts'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + account: privateKeyToAccount('0x…'), + chain: mainnet, + transport: custom(window.ethereum), +}); +const request = await client.prepareTransactionRequest({ + to: '0x0000000000000000000000000000000000000000', + value: 1n, +}); +const signature = await client.signTransaction(request); +``` + +• **params.client.signTypedData** + +Signs typed data and calculates an Ethereum-specific signature in [EIP-191 format](https://eips.ethereum.org/EIPS/eip-191): `keccak256("\x19Ethereum Signed Message:\n" + len(message) + message))`. + +- Docs: https://viem.sh/docs/actions/wallet/signTypedData +- JSON-RPC Methods: + - JSON-RPC Accounts: [`eth_signTypedData_v4`](https://docs.metamask.io/guide/signing-data#signtypeddata-v4) + - Local Accounts: Signs locally. No JSON-RPC request. + +**Examples** + +```ts +import { createWalletClient, custom } from 'viem'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}); +const signature = await client.signTypedData({ + account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e', + domain: { + name: 'Ether Mail', + version: '1', + chainId: 1, + verifyingContract: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', + }, + types: { + Person: [ + { name: 'name', type: 'string' }, + { name: 'wallet', type: 'address' }, + ], + Mail: [ + { name: 'from', type: 'Person' }, + { name: 'to', type: 'Person' }, + { name: 'contents', type: 'string' }, + ], + }, + primaryType: 'Mail', + message: { + from: { + name: 'Cow', + wallet: '0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826', + }, + to: { + name: 'Bob', + wallet: '0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB', + }, + contents: 'Hello, Bob!', + }, +}); +``` + +```ts +// Account Hoisting +import { createWalletClient, http } from 'viem'; +import { privateKeyToAccount } from 'viem/accounts'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + account: privateKeyToAccount('0x…'), + chain: mainnet, + transport: http(), +}); +const signature = await client.signTypedData({ + domain: { + name: 'Ether Mail', + version: '1', + chainId: 1, + verifyingContract: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', + }, + types: { + Person: [ + { name: 'name', type: 'string' }, + { name: 'wallet', type: 'address' }, + ], + Mail: [ + { name: 'from', type: 'Person' }, + { name: 'to', type: 'Person' }, + { name: 'contents', type: 'string' }, + ], + }, + primaryType: 'Mail', + message: { + from: { + name: 'Cow', + wallet: '0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826', + }, + to: { + name: 'Bob', + wallet: '0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB', + }, + contents: 'Hello, Bob!', + }, +}); +``` + +• **params.client.switchChain** + +Switch the target chain in a wallet. + +- Docs: https://viem.sh/docs/actions/wallet/switchChain +- JSON-RPC Methods: [`eth_switchEthereumChain`](https://eips.ethereum.org/EIPS/eip-3326) + +**Example** + +```ts +import { createWalletClient, custom } from 'viem'; +import { mainnet, optimism } from 'viem/chains'; + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}); +await client.switchChain({ id: optimism.id }); +``` + +• **params.client.transport**: `TransportConfig`\<`string`, `EIP1193RequestFn`\> & `Record`\<`string`, `any`\> + +The RPC transport + +• **params.client.type**: `string` + +The type of client. + +• **params.client.uid**: `string` + +A unique ID for the client. + +• **params.client.watchAsset** + +Adds an EVM chain to the wallet. + +- Docs: https://viem.sh/docs/actions/wallet/watchAsset +- JSON-RPC Methods: [`eth_switchEthereumChain`](https://eips.ethereum.org/EIPS/eip-747) + +**Example** + +```ts +import { createWalletClient, custom } from 'viem'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}); +const success = await client.watchAsset({ + type: 'ERC20', + options: { + address: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', + decimals: 18, + symbol: 'WETH', + }, +}); +``` + +• **params.client.writeContract** + +Executes a write function on a contract. + +- Docs: https://viem.sh/docs/contract/writeContract +- Examples: https://stackblitz.com/github/wevm/viem/tree/main/examples/contracts/writing-to-contracts + +A "write" function on a Solidity contract modifies the state of the blockchain. These types of functions require gas to be executed, and hence a [Transaction](https://viem.sh/docs/glossary/terms) is needed to be broadcast in order to change the state. + +Internally, uses a [Wallet Client](https://viem.sh/docs/clients/wallet) to call the [`sendTransaction` action](https://viem.sh/docs/actions/wallet/sendTransaction) with [ABI-encoded `data`](https://viem.sh/docs/contract/encodeFunctionData). + +**Warning: The `write` internally sends a transaction – it does not validate if the contract write will succeed (the contract may throw an error). It is highly recommended to [simulate the contract write with `contract.simulate`](https://viem.sh/docs/contract/writeContract#usage) before you execute it.** + +**Examples** + +```ts +import { createWalletClient, custom, parseAbi } from 'viem'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}); +const hash = await client.writeContract({ + address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2', + abi: parseAbi(['function mint(uint32 tokenId) nonpayable']), + functionName: 'mint', + args: [69420], +}); +``` + +```ts +// With Validation +import { createWalletClient, custom, parseAbi } from 'viem' +import { mainnet } from 'viem/chains' + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}) +const { request } = await client.simulateContract({ + address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2', + abi: parseAbi(['function mint(uint32 tokenId) nonpayable']), + functionName: 'mint', + args: [69420], +} +const hash = await client.writeContract(request) +``` + +#### Returns + +[`JPYC`](JPYC.md) + +#### Defined in + +[packages/v1/src/jpyc.ts:19](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/jpyc.ts#L19) + +## Methods + +### allowance() + +> **allowance**(`params`): `Promise`\<`Uint256`\> + +Returns allowance of a spender over owner's tokens (for transferring). + +#### Parameters + +• **params** + +• **params.owner**: \`0x$\{string\}\` + +• **params.spender**: \`0x$\{string\}\` + +#### Returns + +`Promise`\<`Uint256`\> + +spender allowance + +#### Implementation of + +[`IJPYC`](../interfaces/IJPYC.md).[`allowance`](../interfaces/IJPYC.md#allowance) + +#### Defined in + +[packages/v1/src/jpyc.ts:58](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/jpyc.ts#L58) + +--- + +### approve() + +> **approve**(`params`): `Promise`\<\`0x$\{string\}\`\> + +Sets allowance of a spender over owner's tokens. + +#### Parameters + +• **params** + +• **params.spender**: \`0x$\{string\}\` + +• **params.value**: `Uint256` + +#### Returns + +`Promise`\<\`0x$\{string\}\`\> + +transaction hash + +#### Implementation of + +[`IJPYC`](../interfaces/IJPYC.md).[`approve`](../interfaces/IJPYC.md#approve) + +#### Defined in + +[packages/v1/src/jpyc.ts:204](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/jpyc.ts#L204) + +--- + +### balanceOf() + +> **balanceOf**(`params`): `Promise`\<`Uint256`\> + +Returns balance of an account. + +#### Parameters + +• **params** + +• **params.account**: \`0x$\{string\}\` + +#### Returns + +`Promise`\<`Uint256`\> + +account balance + +#### Implementation of + +[`IJPYC`](../interfaces/IJPYC.md).[`balanceOf`](../interfaces/IJPYC.md#balanceof) + +#### Defined in + +[packages/v1/src/jpyc.ts:52](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/jpyc.ts#L52) + +--- + +### cancelAuthorization() + +> **cancelAuthorization**(`params`): `Promise`\<\`0x$\{string\}\`\> + +Cancels authorization. + +#### Parameters + +• **params** + +• **params.authorizer**: \`0x$\{string\}\` + +• **params.nonce**: \`0x$\{string\}\` + +• **params.r**: \`0x$\{string\}\` + +• **params.s**: \`0x$\{string\}\` + +• **params.v**: `Uint8` + +#### Returns + +`Promise`\<\`0x$\{string\}\`\> + +transaction hash + +#### Implementation of + +[`IJPYC`](../interfaces/IJPYC.md).[`cancelAuthorization`](../interfaces/IJPYC.md#cancelauthorization) + +#### Defined in + +[packages/v1/src/jpyc.ts:186](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/jpyc.ts#L186) + +--- + +### configureMinter() + +> **configureMinter**(`params`): `Promise`\<\`0x$\{string\}\`\> + +Regular Functions + +#### Parameters + +• **params** + +• **params.minter**: \`0x$\{string\}\` + +• **params.minterAllowedAmount**: `Uint256` + +#### Returns + +`Promise`\<\`0x$\{string\}\`\> + +#### Implementation of + +[`IJPYC`](../interfaces/IJPYC.md).[`configureMinter`](../interfaces/IJPYC.md#configureminter) + +#### Defined in + +[packages/v1/src/jpyc.ts:74](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/jpyc.ts#L74) + +--- + +### decreaseAllowance() + +> **decreaseAllowance**(`params`): `Promise`\<\`0x$\{string\}\`\> + +Decreases allowance. + +#### Parameters + +• **params** + +• **params.decrement**: `Uint256` + +• **params.spender**: \`0x$\{string\}\` + +#### Returns + +`Promise`\<\`0x$\{string\}\`\> + +transaction hash + +#### Implementation of + +[`IJPYC`](../interfaces/IJPYC.md).[`decreaseAllowance`](../interfaces/IJPYC.md#decreaseallowance) + +#### Defined in + +[packages/v1/src/jpyc.ts:228](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/jpyc.ts#L228) + +--- + +### increaseAllowance() + +> **increaseAllowance**(`params`): `Promise`\<\`0x$\{string\}\`\> + +Increases allowance. + +#### Parameters + +• **params** + +• **params.increment**: `Uint256` + +• **params.spender**: \`0x$\{string\}\` + +#### Returns + +`Promise`\<\`0x$\{string\}\`\> + +transaction hash + +#### Implementation of + +[`IJPYC`](../interfaces/IJPYC.md).[`increaseAllowance`](../interfaces/IJPYC.md#increaseallowance) + +#### Defined in + +[packages/v1/src/jpyc.ts:216](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/jpyc.ts#L216) + +--- + +### isMinter() + +> **isMinter**(`params`): `Promise`\<`boolean`\> + +View Functions + +#### Parameters + +• **params** + +• **params.account**: \`0x$\{string\}\` + +#### Returns + +`Promise`\<`boolean`\> + +#### Implementation of + +[`IJPYC`](../interfaces/IJPYC.md).[`isMinter`](../interfaces/IJPYC.md#isminter) + +#### Defined in + +[packages/v1/src/jpyc.ts:34](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/jpyc.ts#L34) + +--- + +### mint() + +> **mint**(`params`): `Promise`\<\`0x$\{string\}\`\> + +Mints tokens. + +#### Parameters + +• **params** + +• **params.amount**: `Uint256` + +• **params.to**: \`0x$\{string\}\` + +#### Returns + +`Promise`\<\`0x$\{string\}\`\> + +transaction hash + +#### Implementation of + +[`IJPYC`](../interfaces/IJPYC.md).[`mint`](../interfaces/IJPYC.md#mint) + +#### Defined in + +[packages/v1/src/jpyc.ts:86](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/jpyc.ts#L86) + +--- + +### minterAllowance() + +> **minterAllowance**(`params`): `Promise`\<`Uint256`\> + +Returns allowance of a minter (for minting). + +#### Parameters + +• **params** + +• **params.minter**: \`0x$\{string\}\` + +#### Returns + +`Promise`\<`Uint256`\> + +minter allowance + +#### Implementation of + +[`IJPYC`](../interfaces/IJPYC.md).[`minterAllowance`](../interfaces/IJPYC.md#minterallowance) + +#### Defined in + +[packages/v1/src/jpyc.ts:40](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/jpyc.ts#L40) + +--- + +### nonces() + +> **nonces**(`params`): `Promise`\<`Uint256`\> + +Returns nonce for EIP2612's `permit`. + +#### Parameters + +• **params** + +• **params.owner**: \`0x$\{string\}\` + +#### Returns + +`Promise`\<`Uint256`\> + +owner nonce + +#### Implementation of + +[`IJPYC`](../interfaces/IJPYC.md).[`nonces`](../interfaces/IJPYC.md#nonces) + +#### Defined in + +[packages/v1/src/jpyc.ts:64](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/jpyc.ts#L64) + +--- + +### permit() + +> **permit**(`params`): `Promise`\<\`0x$\{string\}\`\> + +Sets allowance of a spender over owner's tokens, given owner's signed approval. + +#### Parameters + +• **params** + +• **params.deadline**: `Uint256` + +• **params.owner**: \`0x$\{string\}\` + +• **params.r**: \`0x$\{string\}\` + +• **params.s**: \`0x$\{string\}\` + +• **params.spender**: \`0x$\{string\}\` + +• **params.v**: `Uint8` + +• **params.value**: `Uint256` + +#### Returns + +`Promise`\<\`0x$\{string\}\`\> + +transaction hash + +#### Implementation of + +[`IJPYC`](../interfaces/IJPYC.md).[`permit`](../interfaces/IJPYC.md#permit) + +#### Defined in + +[packages/v1/src/jpyc.ts:240](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/jpyc.ts#L240) + +--- + +### receiveWithAuthorization() + +> **receiveWithAuthorization**(`params`): `Promise`\<\`0x$\{string\}\`\> + +Receives tokens with authorization. + +#### Parameters + +• **params** + +• **params.from**: \`0x$\{string\}\` + +• **params.nonce**: \`0x$\{string\}\` + +• **params.r**: \`0x$\{string\}\` + +• **params.s**: \`0x$\{string\}\` + +• **params.to**: \`0x$\{string\}\` + +• **params.v**: `Uint8` + +• **params.validAfter**: `Uint256` + +• **params.validBefore**: `Uint256` + +• **params.value**: `Uint256` + +#### Returns + +`Promise`\<\`0x$\{string\}\`\> + +transaction hash + +#### Implementation of + +[`IJPYC`](../interfaces/IJPYC.md).[`receiveWithAuthorization`](../interfaces/IJPYC.md#receivewithauthorization) + +#### Defined in + +[packages/v1/src/jpyc.ts:154](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/jpyc.ts#L154) + +--- + +### totalSupply() + +> **totalSupply**(): `Promise`\<`Uint256`\> + +Returns total supply of JPYC tokens. + +#### Returns + +`Promise`\<`Uint256`\> + +total supply + +#### Implementation of + +[`IJPYC`](../interfaces/IJPYC.md).[`totalSupply`](../interfaces/IJPYC.md#totalsupply) + +#### Defined in + +[packages/v1/src/jpyc.ts:46](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/jpyc.ts#L46) + +--- + +### transfer() + +> **transfer**(`params`): `Promise`\<\`0x$\{string\}\`\> + +Transfers tokens (directly). + +#### Parameters + +• **params** + +• **params.to**: \`0x$\{string\}\` + +• **params.value**: `Uint256` + +#### Returns + +`Promise`\<\`0x$\{string\}\`\> + +transaction hash + +#### Implementation of + +[`IJPYC`](../interfaces/IJPYC.md).[`transfer`](../interfaces/IJPYC.md#transfer) + +#### Defined in + +[packages/v1/src/jpyc.ts:98](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/jpyc.ts#L98) + +--- + +### transferFrom() + +> **transferFrom**(`params`): `Promise`\<\`0x$\{string\}\`\> + +Transfers tokens (from spender). + +#### Parameters + +• **params** + +• **params.from**: \`0x$\{string\}\` + +• **params.to**: \`0x$\{string\}\` + +• **params.value**: `Uint256` + +#### Returns + +`Promise`\<\`0x$\{string\}\`\> + +transaction hash + +#### Implementation of + +[`IJPYC`](../interfaces/IJPYC.md).[`transferFrom`](../interfaces/IJPYC.md#transferfrom) + +#### Defined in + +[packages/v1/src/jpyc.ts:110](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/jpyc.ts#L110) + +--- + +### transferWithAuthorization() + +> **transferWithAuthorization**(`params`): `Promise`\<\`0x$\{string\}\`\> + +Transfers tokens with authorization. + +#### Parameters + +• **params** + +• **params.from**: \`0x$\{string\}\` + +• **params.nonce**: \`0x$\{string\}\` + +• **params.r**: \`0x$\{string\}\` + +• **params.s**: \`0x$\{string\}\` + +• **params.to**: \`0x$\{string\}\` + +• **params.v**: `Uint8` + +• **params.validAfter**: `Uint256` + +• **params.validBefore**: `Uint256` + +• **params.value**: `Uint256` + +#### Returns + +`Promise`\<\`0x$\{string\}\`\> + +transaction hash + +#### Implementation of + +[`IJPYC`](../interfaces/IJPYC.md).[`transferWithAuthorization`](../interfaces/IJPYC.md#transferwithauthorization) + +#### Defined in + +[packages/v1/src/jpyc.ts:122](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/jpyc.ts#L122) diff --git a/docs/v1/classes/SdkClient.md b/docs/v1/classes/SdkClient.md new file mode 100644 index 0000000..e8ea852 --- /dev/null +++ b/docs/v1/classes/SdkClient.md @@ -0,0 +1,1066 @@ +[**@jpyc/sdk-v1**](../README.md) • **Docs** + +--- + +[@jpyc/sdk-v1](../globals.md) / SdkClient + +# Class: SdkClient + +## Implements + +- [`ISdkClient`](../interfaces/ISdkClient.md) + +## Constructors + +### new SdkClient() + +> **new SdkClient**(`params`): [`SdkClient`](SdkClient.md) + +#### Parameters + +• **params** + +• **params.chainName**: `ChainName` + +• **params.networkName**: `NetworkName` + +• **params.rpcEndpoint**: `string` + +#### Returns + +[`SdkClient`](SdkClient.md) + +#### Defined in + +[packages/v1/src/client.ts:22](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/client.ts#L22) + +## Methods + +### createLocalClient() + +> **createLocalClient**(`params`): `object` + +Creates a client from an account. + +#### Parameters + +• **params** + +• **params.account**: \`0x$\{string\}\` \| `object` + +#### Returns + +`object` + +WalletClient + +##### account + +> **account**: `undefined` \| `Account` + +The Account of the Client. + +##### addChain() + +> **addChain**: (`args`) => `Promise`\<`void`\> + +Adds an EVM chain to the wallet. + +- Docs: https://viem.sh/docs/actions/wallet/addChain +- JSON-RPC Methods: [`eth_addEthereumChain`](https://eips.ethereum.org/EIPS/eip-3085) + +###### Parameters + +• **args**: `AddChainParameters` + +AddChainParameters + +###### Returns + +`Promise`\<`void`\> + +###### Example + +```ts +import { createWalletClient, custom } from 'viem'; +import { optimism } from 'viem/chains'; + +const client = createWalletClient({ + transport: custom(window.ethereum), +}); +await client.addChain({ chain: optimism }); +``` + +##### batch? + +> `optional` **batch**: `object` + +Flags for batch settings. + +##### batch.multicall? + +> `optional` **multicall**: `boolean` \| `object` + +Toggle to enable `eth_call` multicall aggregation. + +##### cacheTime + +> **cacheTime**: `number` + +Time (in ms) that cached data will remain in memory. + +##### ccipRead? + +> `optional` **ccipRead**: `false` \| `object` + +[CCIP Read](https://eips.ethereum.org/EIPS/eip-3668) configuration. + +##### chain + +> **chain**: `undefined` \| `Chain` + +Chain for the client. + +##### deployContract() + +> **deployContract**: \<`abi`, `chainOverride`\>(`args`) => `Promise`\<\`0x$\{string\}\`\> + +Deploys a contract to the network, given bytecode and constructor arguments. + +- Docs: https://viem.sh/docs/contract/deployContract +- Examples: https://stackblitz.com/github/wevm/viem/tree/main/examples/contracts/deploying-contracts + +###### Type Parameters + +• **abi** _extends_ `Abi` \| readonly `unknown`[] + +• **chainOverride** _extends_ `undefined` \| `Chain` + +###### Parameters + +• **args**: `DeployContractParameters`\<`abi`, `undefined` \| `Chain`, `undefined` \| `Account`, `chainOverride`\> + +DeployContractParameters + +###### Returns + +`Promise`\<\`0x$\{string\}\`\> + +The [Transaction](https://viem.sh/docs/glossary/terms#transaction) hash. DeployContractReturnType + +###### Example + +```ts +import { createWalletClient, http } from 'viem' +import { privateKeyToAccount } from 'viem/accounts' +import { mainnet } from 'viem/chains' + +const client = createWalletClient({ + account: privateKeyToAccount('0x…'), + chain: mainnet, + transport: http(), +}) +const hash = await client.deployContract({ + abi: [], + account: '0x…, + bytecode: '0x608060405260405161083e38038061083e833981016040819052610...', +}) +``` + +##### extend() + +> **extend**: \<`client`\>(`fn`) => `Client`\<`Transport`, `undefined` \| `Chain`, `undefined` \| `Account`, `WalletRpcSchema`, \{ \[K in string \| number \| symbol\]: client\[K\] \} & `WalletActions`\<`undefined` \| `Chain`, `undefined` \| `Account`\>\> + +###### Type Parameters + +• **client** _extends_ `object` & `ExactPartial`\<`ExtendableProtectedActions`\<`Transport`, `undefined` \| `Chain`, `undefined` \| `Account`\>\> + +###### Parameters + +• **fn** + +###### Returns + +`Client`\<`Transport`, `undefined` \| `Chain`, `undefined` \| `Account`, `WalletRpcSchema`, \{ \[K in string \| number \| symbol\]: client\[K\] \} & `WalletActions`\<`undefined` \| `Chain`, `undefined` \| `Account`\>\> + +##### getAddresses() + +> **getAddresses**: () => `Promise`\<`GetAddressesReturnType`\> + +Returns a list of account addresses owned by the wallet or client. + +- Docs: https://viem.sh/docs/actions/wallet/getAddresses +- JSON-RPC Methods: [`eth_accounts`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_accounts) + +###### Returns + +`Promise`\<`GetAddressesReturnType`\> + +List of account addresses owned by the wallet or client. GetAddressesReturnType + +###### Example + +```ts +import { createWalletClient, custom } from 'viem'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}); +const accounts = await client.getAddresses(); +``` + +##### getChainId() + +> **getChainId**: () => `Promise`\<`number`\> + +Returns the chain ID associated with the current network. + +- Docs: https://viem.sh/docs/actions/public/getChainId +- JSON-RPC Methods: [`eth_chainId`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_chainid) + +###### Returns + +`Promise`\<`number`\> + +The current chain ID. GetChainIdReturnType + +###### Example + +```ts +import { createWalletClient, http } from 'viem'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}); +const chainId = await client.getChainId(); +// 1 +``` + +##### getPermissions() + +> **getPermissions**: () => `Promise`\<`GetPermissionsReturnType`\> + +Gets the wallets current permissions. + +- Docs: https://viem.sh/docs/actions/wallet/getPermissions +- JSON-RPC Methods: [`wallet_getPermissions`](https://eips.ethereum.org/EIPS/eip-2255) + +###### Returns + +`Promise`\<`GetPermissionsReturnType`\> + +The wallet permissions. GetPermissionsReturnType + +###### Example + +```ts +import { createWalletClient, custom } from 'viem'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}); +const permissions = await client.getPermissions(); +``` + +##### key + +> **key**: `string` + +A key for the client. + +##### name + +> **name**: `string` + +A name for the client. + +##### pollingInterval + +> **pollingInterval**: `number` + +Frequency (in ms) for polling enabled actions & events. Defaults to 4_000 milliseconds. + +##### prepareTransactionRequest() + +> **prepareTransactionRequest**: \<`request`, `chainOverride`, `accountOverride`\>(`args`) => `Promise`\<\{ \[K in string \| number \| symbol\]: (UnionRequiredBy\ & ((...) extends (...) ? (...) : (...)) & ((...) extends (...) ? (...) : (...)), IsNever\<(...)\> extends true ? unknown : ExactPartial\<(...)\>\> & Object, ParameterTypeToParameters\\> & (unknown extends request\["kzg"\] ? Object : Pick\))\[K\] \}\> + +Prepares a transaction request for signing. + +- Docs: https://viem.sh/docs/actions/wallet/prepareTransactionRequest + +###### Type Parameters + +• **request** _extends_ `Omit`\<`object`, `"from"`\> \| `Omit`\<`object`, `"from"`\> \| `Omit`\<`object`, `"from"`\> \| `Omit`\<`object`, `"from"`\> \| `Omit`\<`object`, `"from"`\> & `object` & `object` + +• **chainOverride** _extends_ `undefined` \| `Chain` = `undefined` + +• **accountOverride** _extends_ `undefined` \| \`0x$\{string\}\` \| `Account` = `undefined` + +###### Parameters + +• **args**: `PrepareTransactionRequestParameters`\<`undefined` \| `Chain`, `undefined` \| `Account`, `chainOverride`, `accountOverride`, `request`\> + +PrepareTransactionRequestParameters + +###### Returns + +`Promise`\<\{ \[K in string \| number \| symbol\]: (UnionRequiredBy\ & ((...) extends (...) ? (...) : (...)) & ((...) extends (...) ? (...) : (...)), IsNever\<(...)\> extends true ? unknown : ExactPartial\<(...)\>\> & Object, ParameterTypeToParameters\\> & (unknown extends request\["kzg"\] ? Object : Pick\))\[K\] \}\> + +The transaction request. PrepareTransactionRequestReturnType + +###### Examples + +```ts +import { createWalletClient, custom } from 'viem'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}); +const request = await client.prepareTransactionRequest({ + account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e', + to: '0x0000000000000000000000000000000000000000', + value: 1n, +}); +``` + +```ts +// Account Hoisting +import { createWalletClient, http } from 'viem'; +import { privateKeyToAccount } from 'viem/accounts'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + account: privateKeyToAccount('0x…'), + chain: mainnet, + transport: custom(window.ethereum), +}); +const request = await client.prepareTransactionRequest({ + to: '0x0000000000000000000000000000000000000000', + value: 1n, +}); +``` + +##### request + +> **request**: `EIP1193RequestFn`\<`WalletRpcSchema`\> + +Request function wrapped with friendly error handling + +##### requestAddresses() + +> **requestAddresses**: () => `Promise`\<`RequestAddressesReturnType`\> + +Requests a list of accounts managed by a wallet. + +- Docs: https://viem.sh/docs/actions/wallet/requestAddresses +- JSON-RPC Methods: [`eth_requestAccounts`](https://eips.ethereum.org/EIPS/eip-1102) + +Sends a request to the wallet, asking for permission to access the user's accounts. After the user accepts the request, it will return a list of accounts (addresses). + +This API can be useful for dapps that need to access the user's accounts in order to execute transactions or interact with smart contracts. + +###### Returns + +`Promise`\<`RequestAddressesReturnType`\> + +List of accounts managed by a wallet RequestAddressesReturnType + +###### Example + +```ts +import { createWalletClient, custom } from 'viem'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}); +const accounts = await client.requestAddresses(); +``` + +##### requestPermissions() + +> **requestPermissions**: (`args`) => `Promise`\<`RequestPermissionsReturnType`\> + +Requests permissions for a wallet. + +- Docs: https://viem.sh/docs/actions/wallet/requestPermissions +- JSON-RPC Methods: [`wallet_requestPermissions`](https://eips.ethereum.org/EIPS/eip-2255) + +###### Parameters + +• **args** + +RequestPermissionsParameters + +• **args.eth_accounts**: `Record`\<`string`, `any`\> + +###### Returns + +`Promise`\<`RequestPermissionsReturnType`\> + +The wallet permissions. RequestPermissionsReturnType + +###### Example + +```ts +import { createWalletClient, custom } from 'viem'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}); +const permissions = await client.requestPermissions({ + eth_accounts: {}, +}); +``` + +##### sendRawTransaction() + +> **sendRawTransaction**: (`args`) => `Promise`\<\`0x$\{string\}\`\> + +Sends a **signed** transaction to the network + +- Docs: https://viem.sh/docs/actions/wallet/sendRawTransaction +- JSON-RPC Method: [`eth_sendRawTransaction`](https://ethereum.github.io/execution-apis/api-documentation/) + +###### Parameters + +• **args**: `SendRawTransactionParameters` + +###### Returns + +`Promise`\<\`0x$\{string\}\`\> + +The transaction hash. SendRawTransactionReturnType + +###### Example + +```ts +import { createWalletClient, custom } from 'viem'; +import { mainnet } from 'viem/chains'; +import { sendRawTransaction } from 'viem/wallet'; + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}); + +const hash = await client.sendRawTransaction({ + serializedTransaction: + '0x02f850018203118080825208808080c080a04012522854168b27e5dc3d5839bab5e6b39e1a0ffd343901ce1622e3d64b48f1a04e00902ae0502c4728cbf12156290df99c3ed7de85b1dbfe20b5c36931733a33', +}); +``` + +##### sendTransaction() + +> **sendTransaction**: \<`request`, `chainOverride`\>(`args`) => `Promise`\<\`0x$\{string\}\`\> + +Creates, signs, and sends a new transaction to the network. + +- Docs: https://viem.sh/docs/actions/wallet/sendTransaction +- Examples: https://stackblitz.com/github/wevm/viem/tree/main/examples/transactions/sending-transactions +- JSON-RPC Methods: + - JSON-RPC Accounts: [`eth_sendTransaction`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_sendtransaction) + - Local Accounts: [`eth_sendRawTransaction`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_sendrawtransaction) + +###### Type Parameters + +• **request** _extends_ `Omit`\<`object`, `"from"`\> \| `Omit`\<`object`, `"from"`\> \| `Omit`\<`object`, `"from"`\> \| `Omit`\<`object`, `"from"`\> \| `Omit`\<`object`, `"from"`\> & `object` + +• **chainOverride** _extends_ `undefined` \| `Chain` = `undefined` + +###### Parameters + +• **args**: `SendTransactionParameters`\<`undefined` \| `Chain`, `undefined` \| `Account`, `chainOverride`, `request`\> + +SendTransactionParameters + +###### Returns + +`Promise`\<\`0x$\{string\}\`\> + +The [Transaction](https://viem.sh/docs/glossary/terms#transaction) hash. SendTransactionReturnType + +###### Examples + +```ts +import { createWalletClient, custom } from 'viem'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}); +const hash = await client.sendTransaction({ + account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e', + to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8', + value: 1000000000000000000n, +}); +``` + +```ts +// Account Hoisting +import { createWalletClient, http } from 'viem'; +import { privateKeyToAccount } from 'viem/accounts'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + account: privateKeyToAccount('0x…'), + chain: mainnet, + transport: http(), +}); +const hash = await client.sendTransaction({ + to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8', + value: 1000000000000000000n, +}); +``` + +##### signMessage() + +> **signMessage**: (`args`) => `Promise`\<\`0x$\{string\}\`\> + +Calculates an Ethereum-specific signature in [EIP-191 format](https://eips.ethereum.org/EIPS/eip-191): `keccak256("\x19Ethereum Signed Message:\n" + len(message) + message))`. + +- Docs: https://viem.sh/docs/actions/wallet/signMessage +- JSON-RPC Methods: + - JSON-RPC Accounts: [`personal_sign`](https://docs.metamask.io/guide/signing-data#personal-sign) + - Local Accounts: Signs locally. No JSON-RPC request. + +With the calculated signature, you can: + +- use [`verifyMessage`](https://viem.sh/docs/utilities/verifyMessage) to verify the signature, +- use [`recoverMessageAddress`](https://viem.sh/docs/utilities/recoverMessageAddress) to recover the signing address from a signature. + +###### Parameters + +• **args**: `SignMessageParameters`\<`undefined` \| `Account`\> + +SignMessageParameters + +###### Returns + +`Promise`\<\`0x$\{string\}\`\> + +The signed message. SignMessageReturnType + +###### Examples + +```ts +import { createWalletClient, custom } from 'viem'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}); +const signature = await client.signMessage({ + account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e', + message: 'hello world', +}); +``` + +```ts +// Account Hoisting +import { createWalletClient, http } from 'viem'; +import { privateKeyToAccount } from 'viem/accounts'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + account: privateKeyToAccount('0x…'), + chain: mainnet, + transport: http(), +}); +const signature = await client.signMessage({ + message: 'hello world', +}); +``` + +##### signTransaction() + +> **signTransaction**: \<`chainOverride`\>(`args`) => `Promise`\<\`0x02$\{string\}\` \| \`0x01$\{string\}\` \| \`0x03$\{string\}\` \| \`0x04$\{string\}\` \| `TransactionSerializedLegacy`\> + +Signs a transaction. + +- Docs: https://viem.sh/docs/actions/wallet/signTransaction +- JSON-RPC Methods: + - JSON-RPC Accounts: [`eth_signTransaction`](https://ethereum.github.io/execution-apis/api-documentation/) + - Local Accounts: Signs locally. No JSON-RPC request. + +###### Type Parameters + +• **chainOverride** _extends_ `undefined` \| `Chain` + +###### Parameters + +• **args**: `SignTransactionParameters`\<`undefined` \| `Chain`, `undefined` \| `Account`, `chainOverride`\> + +SignTransactionParameters + +###### Returns + +`Promise`\<\`0x02$\{string\}\` \| \`0x01$\{string\}\` \| \`0x03$\{string\}\` \| \`0x04$\{string\}\` \| `TransactionSerializedLegacy`\> + +The signed message. SignTransactionReturnType + +###### Examples + +```ts +import { createWalletClient, custom } from 'viem'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}); +const request = await client.prepareTransactionRequest({ + account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e', + to: '0x0000000000000000000000000000000000000000', + value: 1n, +}); +const signature = await client.signTransaction(request); +``` + +```ts +// Account Hoisting +import { createWalletClient, http } from 'viem'; +import { privateKeyToAccount } from 'viem/accounts'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + account: privateKeyToAccount('0x…'), + chain: mainnet, + transport: custom(window.ethereum), +}); +const request = await client.prepareTransactionRequest({ + to: '0x0000000000000000000000000000000000000000', + value: 1n, +}); +const signature = await client.signTransaction(request); +``` + +##### signTypedData() + +> **signTypedData**: \<`typedData`, `primaryType`\>(`args`) => `Promise`\<\`0x$\{string\}\`\> + +Signs typed data and calculates an Ethereum-specific signature in [EIP-191 format](https://eips.ethereum.org/EIPS/eip-191): `keccak256("\x19Ethereum Signed Message:\n" + len(message) + message))`. + +- Docs: https://viem.sh/docs/actions/wallet/signTypedData +- JSON-RPC Methods: + - JSON-RPC Accounts: [`eth_signTypedData_v4`](https://docs.metamask.io/guide/signing-data#signtypeddata-v4) + - Local Accounts: Signs locally. No JSON-RPC request. + +###### Type Parameters + +• **typedData** _extends_ `object` \| `object` + +• **primaryType** _extends_ `string` + +###### Parameters + +• **args**: `SignTypedDataParameters`\<`typedData`, `primaryType`, `undefined` \| `Account`\> + +SignTypedDataParameters + +###### Returns + +`Promise`\<\`0x$\{string\}\`\> + +The signed data. SignTypedDataReturnType + +###### Examples + +```ts +import { createWalletClient, custom } from 'viem'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}); +const signature = await client.signTypedData({ + account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e', + domain: { + name: 'Ether Mail', + version: '1', + chainId: 1, + verifyingContract: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', + }, + types: { + Person: [ + { name: 'name', type: 'string' }, + { name: 'wallet', type: 'address' }, + ], + Mail: [ + { name: 'from', type: 'Person' }, + { name: 'to', type: 'Person' }, + { name: 'contents', type: 'string' }, + ], + }, + primaryType: 'Mail', + message: { + from: { + name: 'Cow', + wallet: '0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826', + }, + to: { + name: 'Bob', + wallet: '0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB', + }, + contents: 'Hello, Bob!', + }, +}); +``` + +```ts +// Account Hoisting +import { createWalletClient, http } from 'viem'; +import { privateKeyToAccount } from 'viem/accounts'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + account: privateKeyToAccount('0x…'), + chain: mainnet, + transport: http(), +}); +const signature = await client.signTypedData({ + domain: { + name: 'Ether Mail', + version: '1', + chainId: 1, + verifyingContract: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', + }, + types: { + Person: [ + { name: 'name', type: 'string' }, + { name: 'wallet', type: 'address' }, + ], + Mail: [ + { name: 'from', type: 'Person' }, + { name: 'to', type: 'Person' }, + { name: 'contents', type: 'string' }, + ], + }, + primaryType: 'Mail', + message: { + from: { + name: 'Cow', + wallet: '0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826', + }, + to: { + name: 'Bob', + wallet: '0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB', + }, + contents: 'Hello, Bob!', + }, +}); +``` + +##### switchChain() + +> **switchChain**: (`args`) => `Promise`\<`void`\> + +Switch the target chain in a wallet. + +- Docs: https://viem.sh/docs/actions/wallet/switchChain +- JSON-RPC Methods: [`eth_switchEthereumChain`](https://eips.ethereum.org/EIPS/eip-3326) + +###### Parameters + +• **args**: `SwitchChainParameters` + +SwitchChainParameters + +###### Returns + +`Promise`\<`void`\> + +###### Example + +```ts +import { createWalletClient, custom } from 'viem'; +import { mainnet, optimism } from 'viem/chains'; + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}); +await client.switchChain({ id: optimism.id }); +``` + +##### transport + +> **transport**: `TransportConfig`\<`string`, `EIP1193RequestFn`\> & `Record`\<`string`, `any`\> + +The RPC transport + +##### type + +> **type**: `string` + +The type of client. + +##### uid + +> **uid**: `string` + +A unique ID for the client. + +##### watchAsset() + +> **watchAsset**: (`args`) => `Promise`\<`boolean`\> + +Adds an EVM chain to the wallet. + +- Docs: https://viem.sh/docs/actions/wallet/watchAsset +- JSON-RPC Methods: [`eth_switchEthereumChain`](https://eips.ethereum.org/EIPS/eip-747) + +###### Parameters + +• **args**: `WatchAssetParams` + +WatchAssetParameters + +###### Returns + +`Promise`\<`boolean`\> + +Boolean indicating if the token was successfully added. WatchAssetReturnType + +###### Example + +```ts +import { createWalletClient, custom } from 'viem'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}); +const success = await client.watchAsset({ + type: 'ERC20', + options: { + address: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', + decimals: 18, + symbol: 'WETH', + }, +}); +``` + +##### writeContract() + +> **writeContract**: \<`abi`, `functionName`, `args`, `chainOverride`\>(`args`) => `Promise`\<\`0x$\{string\}\`\> + +Executes a write function on a contract. + +- Docs: https://viem.sh/docs/contract/writeContract +- Examples: https://stackblitz.com/github/wevm/viem/tree/main/examples/contracts/writing-to-contracts + +A "write" function on a Solidity contract modifies the state of the blockchain. These types of functions require gas to be executed, and hence a [Transaction](https://viem.sh/docs/glossary/terms) is needed to be broadcast in order to change the state. + +Internally, uses a [Wallet Client](https://viem.sh/docs/clients/wallet) to call the [`sendTransaction` action](https://viem.sh/docs/actions/wallet/sendTransaction) with [ABI-encoded `data`](https://viem.sh/docs/contract/encodeFunctionData). + +**Warning: The `write` internally sends a transaction – it does not validate if the contract write will succeed (the contract may throw an error). It is highly recommended to [simulate the contract write with `contract.simulate`](https://viem.sh/docs/contract/writeContract#usage) before you execute it.** + +###### Type Parameters + +• **abi** _extends_ `Abi` \| readonly `unknown`[] + +• **functionName** _extends_ `string` + +• **args** _extends_ `unknown` + +• **chainOverride** _extends_ `undefined` \| `Chain` = `undefined` + +###### Parameters + +• **args**: `WriteContractParameters`\<`abi`, `functionName`, `args`, `undefined` \| `Chain`, `undefined` \| `Account`, `chainOverride`\> + +WriteContractParameters + +###### Returns + +`Promise`\<\`0x$\{string\}\`\> + +A [Transaction Hash](https://viem.sh/docs/glossary/terms#hash). WriteContractReturnType + +###### Examples + +```ts +import { createWalletClient, custom, parseAbi } from 'viem'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}); +const hash = await client.writeContract({ + address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2', + abi: parseAbi(['function mint(uint32 tokenId) nonpayable']), + functionName: 'mint', + args: [69420], +}); +``` + +```ts +// With Validation +import { createWalletClient, custom, parseAbi } from 'viem' +import { mainnet } from 'viem/chains' + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}) +const { request } = await client.simulateContract({ + address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2', + abi: parseAbi(['function mint(uint32 tokenId) nonpayable']), + functionName: 'mint', + args: [69420], +} +const hash = await client.writeContract(request) +``` + +#### Implementation of + +[`ISdkClient`](../interfaces/ISdkClient.md).[`createLocalClient`](../interfaces/ISdkClient.md#createlocalclient) + +#### Defined in + +[packages/v1/src/client.ts:40](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/client.ts#L40) + +--- + +### createPrivateKeyAccount() + +> **createPrivateKeyAccount**(`params`): `object` + +Creates an account from a private key. + +#### Parameters + +• **params** + +• **params.privateKey?**: \`0x$\{string\}\` + +#### Returns + +`object` + +PrivateKeyAccount + +##### address + +> **address**: \`0x$\{string\}\` + +##### experimental_signAuthorization() + +> **experimental_signAuthorization**: (`parameters`) => `Promise`\<`SignAuthorizationReturnType`\> + +###### Parameters + +• **parameters**: `Authorization` + +###### Returns + +`Promise`\<`SignAuthorizationReturnType`\> + +##### nonceManager? + +> `optional` **nonceManager**: `NonceManager` + +##### publicKey + +> **publicKey**: \`0x$\{string\}\` + +##### sign() + +> **sign**: (`parameters`) => `Promise`\<\`0x$\{string\}\`\> + +###### Parameters + +• **parameters** + +• **parameters.hash**: \`0x$\{string\}\` + +###### Returns + +`Promise`\<\`0x$\{string\}\`\> + +##### signMessage() + +> **signMessage**: (`__namedParameters`) => `Promise`\<\`0x$\{string\}\`\> + +###### Parameters + +• **\_\_namedParameters** + +• **\_\_namedParameters.message**: `SignableMessage` + +###### Returns + +`Promise`\<\`0x$\{string\}\`\> + +##### signTransaction() + +> **signTransaction**: \<`serializer`, `transaction`\>(`transaction`, `options`?) => `Promise`\<`IsNarrowable`\<`TransactionSerialized`\<`GetTransactionType`\<`transaction`\>\>, \`0x$\{string\}\`\> *extends* `true` ? `TransactionSerialized`\<`GetTransactionType`\<`transaction`\>\> : \`0x$\{string\}\`\> + +###### Type Parameters + +• **serializer** _extends_ `SerializeTransactionFn`\<`TransactionSerializable`\> = `SerializeTransactionFn`\<`TransactionSerializable`\> + +• **transaction** _extends_ `OneOf`\<`TransactionSerializable`\> = `Parameters`\<`serializer`\>\[`0`\] + +###### Parameters + +• **transaction**: `transaction` + +• **options?** + +• **options.serializer?**: `serializer` + +###### Returns + +`Promise`\<`IsNarrowable`\<`TransactionSerialized`\<`GetTransactionType`\<`transaction`\>\>, \`0x$\{string\}\`\> *extends* `true` ? `TransactionSerialized`\<`GetTransactionType`\<`transaction`\>\> : \`0x$\{string\}\`\> + +##### signTypedData() + +> **signTypedData**: \<`typedData`, `primaryType`\>(`parameters`) => `Promise`\<\`0x$\{string\}\`\> + +###### Type Parameters + +• **typedData** _extends_ `Record`\<`string`, `unknown`\> \| `object` + +• **primaryType** _extends_ `string` \| `number` \| `symbol` = keyof `typedData` + +###### Parameters + +• **parameters**: `TypedDataDefinition`\<`typedData`, `primaryType`\> + +###### Returns + +`Promise`\<\`0x$\{string\}\`\> + +##### source + +> **source**: `"privateKey"` + +##### type + +> **type**: `"local"` + +#### Implementation of + +[`ISdkClient`](../interfaces/ISdkClient.md).[`createPrivateKeyAccount`](../interfaces/ISdkClient.md#createprivatekeyaccount) + +#### Defined in + +[packages/v1/src/client.ts:34](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/client.ts#L34) diff --git a/docs/v1/globals.md b/docs/v1/globals.md new file mode 100644 index 0000000..660f957 --- /dev/null +++ b/docs/v1/globals.md @@ -0,0 +1,23 @@ +[**@jpyc/sdk-v1**](README.md) • **Docs** + +--- + +# @jpyc/sdk-v1 + +## Classes + +- [InvalidAddressError](classes/InvalidAddressError.md) +- [InvalidChainNameError](classes/InvalidChainNameError.md) +- [InvalidNetworkNameError](classes/InvalidNetworkNameError.md) +- [InvalidTransactionError](classes/InvalidTransactionError.md) +- [JPYC](classes/JPYC.md) +- [SdkClient](classes/SdkClient.md) + +## Interfaces + +- [IJPYC](interfaces/IJPYC.md) +- [ISdkClient](interfaces/ISdkClient.md) + +## Variables + +- [JPYC_V2_ABI](variables/JPYC_V2_ABI.md) diff --git a/docs/v1/interfaces/IJPYC.md b/docs/v1/interfaces/IJPYC.md new file mode 100644 index 0000000..9f39709 --- /dev/null +++ b/docs/v1/interfaces/IJPYC.md @@ -0,0 +1,479 @@ +[**@jpyc/sdk-v1**](../README.md) • **Docs** + +--- + +[@jpyc/sdk-v1](../globals.md) / IJPYC + +# Interface: IJPYC + +## Methods + +### allowance() + +> **allowance**(`params`): `Promise`\<`Uint256`\> + +Returns allowance of a spender over owner's tokens (for transferring). + +#### Parameters + +• **params** + +• **params.owner**: \`0x$\{string\}\` + +• **params.spender**: \`0x$\{string\}\` + +#### Returns + +`Promise`\<`Uint256`\> + +spender allowance + +#### Defined in + +[packages/v1/src/interfaces/jpyc.ts:49](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/interfaces/jpyc.ts#L49) + +--- + +### approve() + +> **approve**(`params`): `Promise`\<\`0x$\{string\}\`\> + +Sets allowance of a spender over owner's tokens. + +#### Parameters + +• **params** + +• **params.spender**: \`0x$\{string\}\` + +• **params.value**: `Uint256` + +#### Returns + +`Promise`\<\`0x$\{string\}\`\> + +transaction hash + +#### Defined in + +[packages/v1/src/interfaces/jpyc.ts:177](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/interfaces/jpyc.ts#L177) + +--- + +### balanceOf() + +> **balanceOf**(`params`): `Promise`\<`Uint256`\> + +Returns balance of an account. + +#### Parameters + +• **params** + +• **params.account**: \`0x$\{string\}\` + +#### Returns + +`Promise`\<`Uint256`\> + +account balance + +#### Defined in + +[packages/v1/src/interfaces/jpyc.ts:40](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/interfaces/jpyc.ts#L40) + +--- + +### cancelAuthorization() + +> **cancelAuthorization**(`params`): `Promise`\<\`0x$\{string\}\`\> + +Cancels authorization. + +#### Parameters + +• **params** + +• **params.authorizer**: \`0x$\{string\}\` + +• **params.nonce**: \`0x$\{string\}\` + +• **params.r**: \`0x$\{string\}\` + +• **params.s**: \`0x$\{string\}\` + +• **params.v**: `Uint8` + +#### Returns + +`Promise`\<\`0x$\{string\}\`\> + +transaction hash + +#### Defined in + +[packages/v1/src/interfaces/jpyc.ts:162](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/interfaces/jpyc.ts#L162) + +--- + +### configureMinter() + +> **configureMinter**(`params`): `Promise`\<\`0x$\{string\}\`\> + +Configures a minter. + +#### Parameters + +• **params** + +• **params.minter**: \`0x$\{string\}\` + +• **params.minterAllowedAmount**: `Uint256` + +#### Returns + +`Promise`\<\`0x$\{string\}\`\> + +transaction hash + +#### Defined in + +[packages/v1/src/interfaces/jpyc.ts:70](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/interfaces/jpyc.ts#L70) + +--- + +### decreaseAllowance() + +> **decreaseAllowance**(`params`): `Promise`\<\`0x$\{string\}\`\> + +Decreases allowance. + +#### Parameters + +• **params** + +• **params.decrement**: `Uint256` + +• **params.spender**: \`0x$\{string\}\` + +#### Returns + +`Promise`\<\`0x$\{string\}\`\> + +transaction hash + +#### Defined in + +[packages/v1/src/interfaces/jpyc.ts:195](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/interfaces/jpyc.ts#L195) + +--- + +### increaseAllowance() + +> **increaseAllowance**(`params`): `Promise`\<\`0x$\{string\}\`\> + +Increases allowance. + +#### Parameters + +• **params** + +• **params.increment**: `Uint256` + +• **params.spender**: \`0x$\{string\}\` + +#### Returns + +`Promise`\<\`0x$\{string\}\`\> + +transaction hash + +#### Defined in + +[packages/v1/src/interfaces/jpyc.ts:186](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/interfaces/jpyc.ts#L186) + +--- + +### isMinter() + +> **isMinter**(`params`): `Promise`\<`boolean`\> + +Returns true if the given address is a minter. + +#### Parameters + +• **params** + +• **params.account**: \`0x$\{string\}\` + +#### Returns + +`Promise`\<`boolean`\> + +true if minter, false otherwise + +#### Defined in + +[packages/v1/src/interfaces/jpyc.ts:17](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/interfaces/jpyc.ts#L17) + +--- + +### mint() + +> **mint**(`params`): `Promise`\<\`0x$\{string\}\`\> + +Mints tokens. + +#### Parameters + +• **params** + +• **params.amount**: `Uint256` + +• **params.to**: \`0x$\{string\}\` + +#### Returns + +`Promise`\<\`0x$\{string\}\`\> + +transaction hash + +#### Defined in + +[packages/v1/src/interfaces/jpyc.ts:79](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/interfaces/jpyc.ts#L79) + +--- + +### minterAllowance() + +> **minterAllowance**(`params`): `Promise`\<`Uint256`\> + +Returns allowance of a minter (for minting). + +#### Parameters + +• **params** + +• **params.minter**: \`0x$\{string\}\` + +#### Returns + +`Promise`\<`Uint256`\> + +minter allowance + +#### Defined in + +[packages/v1/src/interfaces/jpyc.ts:25](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/interfaces/jpyc.ts#L25) + +--- + +### nonces() + +> **nonces**(`params`): `Promise`\<`Uint256`\> + +Returns nonce for EIP2612's `permit`. + +#### Parameters + +• **params** + +• **params.owner**: \`0x$\{string\}\` + +#### Returns + +`Promise`\<`Uint256`\> + +owner nonce + +#### Defined in + +[packages/v1/src/interfaces/jpyc.ts:57](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/interfaces/jpyc.ts#L57) + +--- + +### permit() + +> **permit**(`params`): `Promise`\<\`0x$\{string\}\`\> + +Sets allowance of a spender over owner's tokens, given owner's signed approval. + +#### Parameters + +• **params** + +• **params.deadline**: `Uint256` + +• **params.owner**: \`0x$\{string\}\` + +• **params.r**: \`0x$\{string\}\` + +• **params.s**: \`0x$\{string\}\` + +• **params.spender**: \`0x$\{string\}\` + +• **params.v**: `Uint8` + +• **params.value**: `Uint256` + +#### Returns + +`Promise`\<\`0x$\{string\}\`\> + +transaction hash + +#### Defined in + +[packages/v1/src/interfaces/jpyc.ts:209](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/interfaces/jpyc.ts#L209) + +--- + +### receiveWithAuthorization() + +> **receiveWithAuthorization**(`params`): `Promise`\<\`0x$\{string\}\`\> + +Receives tokens with authorization. + +#### Parameters + +• **params** + +• **params.from**: \`0x$\{string\}\` + +• **params.nonce**: \`0x$\{string\}\` + +• **params.r**: \`0x$\{string\}\` + +• **params.s**: \`0x$\{string\}\` + +• **params.to**: \`0x$\{string\}\` + +• **params.v**: `Uint8` + +• **params.validAfter**: `Uint256` + +• **params.validBefore**: `Uint256` + +• **params.value**: `Uint256` + +#### Returns + +`Promise`\<\`0x$\{string\}\`\> + +transaction hash + +#### Defined in + +[packages/v1/src/interfaces/jpyc.ts:140](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/interfaces/jpyc.ts#L140) + +--- + +### totalSupply() + +> **totalSupply**(): `Promise`\<`Uint256`\> + +Returns total supply of JPYC tokens. + +#### Returns + +`Promise`\<`Uint256`\> + +total supply + +#### Defined in + +[packages/v1/src/interfaces/jpyc.ts:32](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/interfaces/jpyc.ts#L32) + +--- + +### transfer() + +> **transfer**(`params`): `Promise`\<\`0x$\{string\}\`\> + +Transfers tokens (directly). + +#### Parameters + +• **params** + +• **params.to**: \`0x$\{string\}\` + +• **params.value**: `Uint256` + +#### Returns + +`Promise`\<\`0x$\{string\}\`\> + +transaction hash + +#### Defined in + +[packages/v1/src/interfaces/jpyc.ts:88](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/interfaces/jpyc.ts#L88) + +--- + +### transferFrom() + +> **transferFrom**(`params`): `Promise`\<\`0x$\{string\}\`\> + +Transfers tokens (from spender). + +#### Parameters + +• **params** + +• **params.from**: \`0x$\{string\}\` + +• **params.to**: \`0x$\{string\}\` + +• **params.value**: `Uint256` + +#### Returns + +`Promise`\<\`0x$\{string\}\`\> + +transaction hash + +#### Defined in + +[packages/v1/src/interfaces/jpyc.ts:98](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/interfaces/jpyc.ts#L98) + +--- + +### transferWithAuthorization() + +> **transferWithAuthorization**(`params`): `Promise`\<\`0x$\{string\}\`\> + +Transfers tokens with authorization. + +#### Parameters + +• **params** + +• **params.from**: \`0x$\{string\}\` + +• **params.nonce**: \`0x$\{string\}\` + +• **params.r**: \`0x$\{string\}\` + +• **params.s**: \`0x$\{string\}\` + +• **params.to**: \`0x$\{string\}\` + +• **params.v**: `Uint8` + +• **params.validAfter**: `Uint256` + +• **params.validBefore**: `Uint256` + +• **params.value**: `Uint256` + +#### Returns + +`Promise`\<\`0x$\{string\}\`\> + +transaction hash + +#### Defined in + +[packages/v1/src/interfaces/jpyc.ts:114](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/interfaces/jpyc.ts#L114) diff --git a/docs/v1/interfaces/ISdkClient.md b/docs/v1/interfaces/ISdkClient.md new file mode 100644 index 0000000..ab7891e --- /dev/null +++ b/docs/v1/interfaces/ISdkClient.md @@ -0,0 +1,1030 @@ +[**@jpyc/sdk-v1**](../README.md) • **Docs** + +--- + +[@jpyc/sdk-v1](../globals.md) / ISdkClient + +# Interface: ISdkClient + +## Methods + +### createLocalClient() + +> **createLocalClient**(`params`): `object` + +Creates a client from an account. + +#### Parameters + +• **params** + +• **params.account**: \`0x$\{string\}\` \| `object` + +#### Returns + +`object` + +WalletClient + +##### account + +> **account**: `undefined` \| `Account` + +The Account of the Client. + +##### addChain() + +> **addChain**: (`args`) => `Promise`\<`void`\> + +Adds an EVM chain to the wallet. + +- Docs: https://viem.sh/docs/actions/wallet/addChain +- JSON-RPC Methods: [`eth_addEthereumChain`](https://eips.ethereum.org/EIPS/eip-3085) + +###### Parameters + +• **args**: `AddChainParameters` + +AddChainParameters + +###### Returns + +`Promise`\<`void`\> + +###### Example + +```ts +import { createWalletClient, custom } from 'viem'; +import { optimism } from 'viem/chains'; + +const client = createWalletClient({ + transport: custom(window.ethereum), +}); +await client.addChain({ chain: optimism }); +``` + +##### batch? + +> `optional` **batch**: `object` + +Flags for batch settings. + +##### batch.multicall? + +> `optional` **multicall**: `boolean` \| `object` + +Toggle to enable `eth_call` multicall aggregation. + +##### cacheTime + +> **cacheTime**: `number` + +Time (in ms) that cached data will remain in memory. + +##### ccipRead? + +> `optional` **ccipRead**: `false` \| `object` + +[CCIP Read](https://eips.ethereum.org/EIPS/eip-3668) configuration. + +##### chain + +> **chain**: `undefined` \| `Chain` + +Chain for the client. + +##### deployContract() + +> **deployContract**: \<`abi`, `chainOverride`\>(`args`) => `Promise`\<\`0x$\{string\}\`\> + +Deploys a contract to the network, given bytecode and constructor arguments. + +- Docs: https://viem.sh/docs/contract/deployContract +- Examples: https://stackblitz.com/github/wevm/viem/tree/main/examples/contracts/deploying-contracts + +###### Type Parameters + +• **abi** _extends_ `Abi` \| readonly `unknown`[] + +• **chainOverride** _extends_ `undefined` \| `Chain` + +###### Parameters + +• **args**: `DeployContractParameters`\<`abi`, `undefined` \| `Chain`, `undefined` \| `Account`, `chainOverride`\> + +DeployContractParameters + +###### Returns + +`Promise`\<\`0x$\{string\}\`\> + +The [Transaction](https://viem.sh/docs/glossary/terms#transaction) hash. DeployContractReturnType + +###### Example + +```ts +import { createWalletClient, http } from 'viem' +import { privateKeyToAccount } from 'viem/accounts' +import { mainnet } from 'viem/chains' + +const client = createWalletClient({ + account: privateKeyToAccount('0x…'), + chain: mainnet, + transport: http(), +}) +const hash = await client.deployContract({ + abi: [], + account: '0x…, + bytecode: '0x608060405260405161083e38038061083e833981016040819052610...', +}) +``` + +##### extend() + +> **extend**: \<`client`\>(`fn`) => `Client`\<`Transport`, `undefined` \| `Chain`, `undefined` \| `Account`, `WalletRpcSchema`, \{ \[K in string \| number \| symbol\]: client\[K\] \} & `WalletActions`\<`undefined` \| `Chain`, `undefined` \| `Account`\>\> + +###### Type Parameters + +• **client** _extends_ `object` & `ExactPartial`\<`ExtendableProtectedActions`\<`Transport`, `undefined` \| `Chain`, `undefined` \| `Account`\>\> + +###### Parameters + +• **fn** + +###### Returns + +`Client`\<`Transport`, `undefined` \| `Chain`, `undefined` \| `Account`, `WalletRpcSchema`, \{ \[K in string \| number \| symbol\]: client\[K\] \} & `WalletActions`\<`undefined` \| `Chain`, `undefined` \| `Account`\>\> + +##### getAddresses() + +> **getAddresses**: () => `Promise`\<`GetAddressesReturnType`\> + +Returns a list of account addresses owned by the wallet or client. + +- Docs: https://viem.sh/docs/actions/wallet/getAddresses +- JSON-RPC Methods: [`eth_accounts`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_accounts) + +###### Returns + +`Promise`\<`GetAddressesReturnType`\> + +List of account addresses owned by the wallet or client. GetAddressesReturnType + +###### Example + +```ts +import { createWalletClient, custom } from 'viem'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}); +const accounts = await client.getAddresses(); +``` + +##### getChainId() + +> **getChainId**: () => `Promise`\<`number`\> + +Returns the chain ID associated with the current network. + +- Docs: https://viem.sh/docs/actions/public/getChainId +- JSON-RPC Methods: [`eth_chainId`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_chainid) + +###### Returns + +`Promise`\<`number`\> + +The current chain ID. GetChainIdReturnType + +###### Example + +```ts +import { createWalletClient, http } from 'viem'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}); +const chainId = await client.getChainId(); +// 1 +``` + +##### getPermissions() + +> **getPermissions**: () => `Promise`\<`GetPermissionsReturnType`\> + +Gets the wallets current permissions. + +- Docs: https://viem.sh/docs/actions/wallet/getPermissions +- JSON-RPC Methods: [`wallet_getPermissions`](https://eips.ethereum.org/EIPS/eip-2255) + +###### Returns + +`Promise`\<`GetPermissionsReturnType`\> + +The wallet permissions. GetPermissionsReturnType + +###### Example + +```ts +import { createWalletClient, custom } from 'viem'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}); +const permissions = await client.getPermissions(); +``` + +##### key + +> **key**: `string` + +A key for the client. + +##### name + +> **name**: `string` + +A name for the client. + +##### pollingInterval + +> **pollingInterval**: `number` + +Frequency (in ms) for polling enabled actions & events. Defaults to 4_000 milliseconds. + +##### prepareTransactionRequest() + +> **prepareTransactionRequest**: \<`request`, `chainOverride`, `accountOverride`\>(`args`) => `Promise`\<\{ \[K in string \| number \| symbol\]: (UnionRequiredBy\ & ((...) extends (...) ? (...) : (...)) & ((...) extends (...) ? (...) : (...)), IsNever\<(...)\> extends true ? unknown : ExactPartial\<(...)\>\> & Object, ParameterTypeToParameters\\> & (unknown extends request\["kzg"\] ? Object : Pick\))\[K\] \}\> + +Prepares a transaction request for signing. + +- Docs: https://viem.sh/docs/actions/wallet/prepareTransactionRequest + +###### Type Parameters + +• **request** _extends_ `Omit`\<`object`, `"from"`\> \| `Omit`\<`object`, `"from"`\> \| `Omit`\<`object`, `"from"`\> \| `Omit`\<`object`, `"from"`\> \| `Omit`\<`object`, `"from"`\> & `object` & `object` + +• **chainOverride** _extends_ `undefined` \| `Chain` = `undefined` + +• **accountOverride** _extends_ `undefined` \| \`0x$\{string\}\` \| `Account` = `undefined` + +###### Parameters + +• **args**: `PrepareTransactionRequestParameters`\<`undefined` \| `Chain`, `undefined` \| `Account`, `chainOverride`, `accountOverride`, `request`\> + +PrepareTransactionRequestParameters + +###### Returns + +`Promise`\<\{ \[K in string \| number \| symbol\]: (UnionRequiredBy\ & ((...) extends (...) ? (...) : (...)) & ((...) extends (...) ? (...) : (...)), IsNever\<(...)\> extends true ? unknown : ExactPartial\<(...)\>\> & Object, ParameterTypeToParameters\\> & (unknown extends request\["kzg"\] ? Object : Pick\))\[K\] \}\> + +The transaction request. PrepareTransactionRequestReturnType + +###### Examples + +```ts +import { createWalletClient, custom } from 'viem'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}); +const request = await client.prepareTransactionRequest({ + account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e', + to: '0x0000000000000000000000000000000000000000', + value: 1n, +}); +``` + +```ts +// Account Hoisting +import { createWalletClient, http } from 'viem'; +import { privateKeyToAccount } from 'viem/accounts'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + account: privateKeyToAccount('0x…'), + chain: mainnet, + transport: custom(window.ethereum), +}); +const request = await client.prepareTransactionRequest({ + to: '0x0000000000000000000000000000000000000000', + value: 1n, +}); +``` + +##### request + +> **request**: `EIP1193RequestFn`\<`WalletRpcSchema`\> + +Request function wrapped with friendly error handling + +##### requestAddresses() + +> **requestAddresses**: () => `Promise`\<`RequestAddressesReturnType`\> + +Requests a list of accounts managed by a wallet. + +- Docs: https://viem.sh/docs/actions/wallet/requestAddresses +- JSON-RPC Methods: [`eth_requestAccounts`](https://eips.ethereum.org/EIPS/eip-1102) + +Sends a request to the wallet, asking for permission to access the user's accounts. After the user accepts the request, it will return a list of accounts (addresses). + +This API can be useful for dapps that need to access the user's accounts in order to execute transactions or interact with smart contracts. + +###### Returns + +`Promise`\<`RequestAddressesReturnType`\> + +List of accounts managed by a wallet RequestAddressesReturnType + +###### Example + +```ts +import { createWalletClient, custom } from 'viem'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}); +const accounts = await client.requestAddresses(); +``` + +##### requestPermissions() + +> **requestPermissions**: (`args`) => `Promise`\<`RequestPermissionsReturnType`\> + +Requests permissions for a wallet. + +- Docs: https://viem.sh/docs/actions/wallet/requestPermissions +- JSON-RPC Methods: [`wallet_requestPermissions`](https://eips.ethereum.org/EIPS/eip-2255) + +###### Parameters + +• **args** + +RequestPermissionsParameters + +• **args.eth_accounts**: `Record`\<`string`, `any`\> + +###### Returns + +`Promise`\<`RequestPermissionsReturnType`\> + +The wallet permissions. RequestPermissionsReturnType + +###### Example + +```ts +import { createWalletClient, custom } from 'viem'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}); +const permissions = await client.requestPermissions({ + eth_accounts: {}, +}); +``` + +##### sendRawTransaction() + +> **sendRawTransaction**: (`args`) => `Promise`\<\`0x$\{string\}\`\> + +Sends a **signed** transaction to the network + +- Docs: https://viem.sh/docs/actions/wallet/sendRawTransaction +- JSON-RPC Method: [`eth_sendRawTransaction`](https://ethereum.github.io/execution-apis/api-documentation/) + +###### Parameters + +• **args**: `SendRawTransactionParameters` + +###### Returns + +`Promise`\<\`0x$\{string\}\`\> + +The transaction hash. SendRawTransactionReturnType + +###### Example + +```ts +import { createWalletClient, custom } from 'viem'; +import { mainnet } from 'viem/chains'; +import { sendRawTransaction } from 'viem/wallet'; + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}); + +const hash = await client.sendRawTransaction({ + serializedTransaction: + '0x02f850018203118080825208808080c080a04012522854168b27e5dc3d5839bab5e6b39e1a0ffd343901ce1622e3d64b48f1a04e00902ae0502c4728cbf12156290df99c3ed7de85b1dbfe20b5c36931733a33', +}); +``` + +##### sendTransaction() + +> **sendTransaction**: \<`request`, `chainOverride`\>(`args`) => `Promise`\<\`0x$\{string\}\`\> + +Creates, signs, and sends a new transaction to the network. + +- Docs: https://viem.sh/docs/actions/wallet/sendTransaction +- Examples: https://stackblitz.com/github/wevm/viem/tree/main/examples/transactions/sending-transactions +- JSON-RPC Methods: + - JSON-RPC Accounts: [`eth_sendTransaction`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_sendtransaction) + - Local Accounts: [`eth_sendRawTransaction`](https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_sendrawtransaction) + +###### Type Parameters + +• **request** _extends_ `Omit`\<`object`, `"from"`\> \| `Omit`\<`object`, `"from"`\> \| `Omit`\<`object`, `"from"`\> \| `Omit`\<`object`, `"from"`\> \| `Omit`\<`object`, `"from"`\> & `object` + +• **chainOverride** _extends_ `undefined` \| `Chain` = `undefined` + +###### Parameters + +• **args**: `SendTransactionParameters`\<`undefined` \| `Chain`, `undefined` \| `Account`, `chainOverride`, `request`\> + +SendTransactionParameters + +###### Returns + +`Promise`\<\`0x$\{string\}\`\> + +The [Transaction](https://viem.sh/docs/glossary/terms#transaction) hash. SendTransactionReturnType + +###### Examples + +```ts +import { createWalletClient, custom } from 'viem'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}); +const hash = await client.sendTransaction({ + account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e', + to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8', + value: 1000000000000000000n, +}); +``` + +```ts +// Account Hoisting +import { createWalletClient, http } from 'viem'; +import { privateKeyToAccount } from 'viem/accounts'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + account: privateKeyToAccount('0x…'), + chain: mainnet, + transport: http(), +}); +const hash = await client.sendTransaction({ + to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8', + value: 1000000000000000000n, +}); +``` + +##### signMessage() + +> **signMessage**: (`args`) => `Promise`\<\`0x$\{string\}\`\> + +Calculates an Ethereum-specific signature in [EIP-191 format](https://eips.ethereum.org/EIPS/eip-191): `keccak256("\x19Ethereum Signed Message:\n" + len(message) + message))`. + +- Docs: https://viem.sh/docs/actions/wallet/signMessage +- JSON-RPC Methods: + - JSON-RPC Accounts: [`personal_sign`](https://docs.metamask.io/guide/signing-data#personal-sign) + - Local Accounts: Signs locally. No JSON-RPC request. + +With the calculated signature, you can: + +- use [`verifyMessage`](https://viem.sh/docs/utilities/verifyMessage) to verify the signature, +- use [`recoverMessageAddress`](https://viem.sh/docs/utilities/recoverMessageAddress) to recover the signing address from a signature. + +###### Parameters + +• **args**: `SignMessageParameters`\<`undefined` \| `Account`\> + +SignMessageParameters + +###### Returns + +`Promise`\<\`0x$\{string\}\`\> + +The signed message. SignMessageReturnType + +###### Examples + +```ts +import { createWalletClient, custom } from 'viem'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}); +const signature = await client.signMessage({ + account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e', + message: 'hello world', +}); +``` + +```ts +// Account Hoisting +import { createWalletClient, http } from 'viem'; +import { privateKeyToAccount } from 'viem/accounts'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + account: privateKeyToAccount('0x…'), + chain: mainnet, + transport: http(), +}); +const signature = await client.signMessage({ + message: 'hello world', +}); +``` + +##### signTransaction() + +> **signTransaction**: \<`chainOverride`\>(`args`) => `Promise`\<\`0x02$\{string\}\` \| \`0x01$\{string\}\` \| \`0x03$\{string\}\` \| \`0x04$\{string\}\` \| `TransactionSerializedLegacy`\> + +Signs a transaction. + +- Docs: https://viem.sh/docs/actions/wallet/signTransaction +- JSON-RPC Methods: + - JSON-RPC Accounts: [`eth_signTransaction`](https://ethereum.github.io/execution-apis/api-documentation/) + - Local Accounts: Signs locally. No JSON-RPC request. + +###### Type Parameters + +• **chainOverride** _extends_ `undefined` \| `Chain` + +###### Parameters + +• **args**: `SignTransactionParameters`\<`undefined` \| `Chain`, `undefined` \| `Account`, `chainOverride`\> + +SignTransactionParameters + +###### Returns + +`Promise`\<\`0x02$\{string\}\` \| \`0x01$\{string\}\` \| \`0x03$\{string\}\` \| \`0x04$\{string\}\` \| `TransactionSerializedLegacy`\> + +The signed message. SignTransactionReturnType + +###### Examples + +```ts +import { createWalletClient, custom } from 'viem'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}); +const request = await client.prepareTransactionRequest({ + account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e', + to: '0x0000000000000000000000000000000000000000', + value: 1n, +}); +const signature = await client.signTransaction(request); +``` + +```ts +// Account Hoisting +import { createWalletClient, http } from 'viem'; +import { privateKeyToAccount } from 'viem/accounts'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + account: privateKeyToAccount('0x…'), + chain: mainnet, + transport: custom(window.ethereum), +}); +const request = await client.prepareTransactionRequest({ + to: '0x0000000000000000000000000000000000000000', + value: 1n, +}); +const signature = await client.signTransaction(request); +``` + +##### signTypedData() + +> **signTypedData**: \<`typedData`, `primaryType`\>(`args`) => `Promise`\<\`0x$\{string\}\`\> + +Signs typed data and calculates an Ethereum-specific signature in [EIP-191 format](https://eips.ethereum.org/EIPS/eip-191): `keccak256("\x19Ethereum Signed Message:\n" + len(message) + message))`. + +- Docs: https://viem.sh/docs/actions/wallet/signTypedData +- JSON-RPC Methods: + - JSON-RPC Accounts: [`eth_signTypedData_v4`](https://docs.metamask.io/guide/signing-data#signtypeddata-v4) + - Local Accounts: Signs locally. No JSON-RPC request. + +###### Type Parameters + +• **typedData** _extends_ `object` \| `object` + +• **primaryType** _extends_ `string` + +###### Parameters + +• **args**: `SignTypedDataParameters`\<`typedData`, `primaryType`, `undefined` \| `Account`\> + +SignTypedDataParameters + +###### Returns + +`Promise`\<\`0x$\{string\}\`\> + +The signed data. SignTypedDataReturnType + +###### Examples + +```ts +import { createWalletClient, custom } from 'viem'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}); +const signature = await client.signTypedData({ + account: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e', + domain: { + name: 'Ether Mail', + version: '1', + chainId: 1, + verifyingContract: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', + }, + types: { + Person: [ + { name: 'name', type: 'string' }, + { name: 'wallet', type: 'address' }, + ], + Mail: [ + { name: 'from', type: 'Person' }, + { name: 'to', type: 'Person' }, + { name: 'contents', type: 'string' }, + ], + }, + primaryType: 'Mail', + message: { + from: { + name: 'Cow', + wallet: '0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826', + }, + to: { + name: 'Bob', + wallet: '0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB', + }, + contents: 'Hello, Bob!', + }, +}); +``` + +```ts +// Account Hoisting +import { createWalletClient, http } from 'viem'; +import { privateKeyToAccount } from 'viem/accounts'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + account: privateKeyToAccount('0x…'), + chain: mainnet, + transport: http(), +}); +const signature = await client.signTypedData({ + domain: { + name: 'Ether Mail', + version: '1', + chainId: 1, + verifyingContract: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC', + }, + types: { + Person: [ + { name: 'name', type: 'string' }, + { name: 'wallet', type: 'address' }, + ], + Mail: [ + { name: 'from', type: 'Person' }, + { name: 'to', type: 'Person' }, + { name: 'contents', type: 'string' }, + ], + }, + primaryType: 'Mail', + message: { + from: { + name: 'Cow', + wallet: '0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826', + }, + to: { + name: 'Bob', + wallet: '0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB', + }, + contents: 'Hello, Bob!', + }, +}); +``` + +##### switchChain() + +> **switchChain**: (`args`) => `Promise`\<`void`\> + +Switch the target chain in a wallet. + +- Docs: https://viem.sh/docs/actions/wallet/switchChain +- JSON-RPC Methods: [`eth_switchEthereumChain`](https://eips.ethereum.org/EIPS/eip-3326) + +###### Parameters + +• **args**: `SwitchChainParameters` + +SwitchChainParameters + +###### Returns + +`Promise`\<`void`\> + +###### Example + +```ts +import { createWalletClient, custom } from 'viem'; +import { mainnet, optimism } from 'viem/chains'; + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}); +await client.switchChain({ id: optimism.id }); +``` + +##### transport + +> **transport**: `TransportConfig`\<`string`, `EIP1193RequestFn`\> & `Record`\<`string`, `any`\> + +The RPC transport + +##### type + +> **type**: `string` + +The type of client. + +##### uid + +> **uid**: `string` + +A unique ID for the client. + +##### watchAsset() + +> **watchAsset**: (`args`) => `Promise`\<`boolean`\> + +Adds an EVM chain to the wallet. + +- Docs: https://viem.sh/docs/actions/wallet/watchAsset +- JSON-RPC Methods: [`eth_switchEthereumChain`](https://eips.ethereum.org/EIPS/eip-747) + +###### Parameters + +• **args**: `WatchAssetParams` + +WatchAssetParameters + +###### Returns + +`Promise`\<`boolean`\> + +Boolean indicating if the token was successfully added. WatchAssetReturnType + +###### Example + +```ts +import { createWalletClient, custom } from 'viem'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}); +const success = await client.watchAsset({ + type: 'ERC20', + options: { + address: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', + decimals: 18, + symbol: 'WETH', + }, +}); +``` + +##### writeContract() + +> **writeContract**: \<`abi`, `functionName`, `args`, `chainOverride`\>(`args`) => `Promise`\<\`0x$\{string\}\`\> + +Executes a write function on a contract. + +- Docs: https://viem.sh/docs/contract/writeContract +- Examples: https://stackblitz.com/github/wevm/viem/tree/main/examples/contracts/writing-to-contracts + +A "write" function on a Solidity contract modifies the state of the blockchain. These types of functions require gas to be executed, and hence a [Transaction](https://viem.sh/docs/glossary/terms) is needed to be broadcast in order to change the state. + +Internally, uses a [Wallet Client](https://viem.sh/docs/clients/wallet) to call the [`sendTransaction` action](https://viem.sh/docs/actions/wallet/sendTransaction) with [ABI-encoded `data`](https://viem.sh/docs/contract/encodeFunctionData). + +**Warning: The `write` internally sends a transaction – it does not validate if the contract write will succeed (the contract may throw an error). It is highly recommended to [simulate the contract write with `contract.simulate`](https://viem.sh/docs/contract/writeContract#usage) before you execute it.** + +###### Type Parameters + +• **abi** _extends_ `Abi` \| readonly `unknown`[] + +• **functionName** _extends_ `string` + +• **args** _extends_ `unknown` + +• **chainOverride** _extends_ `undefined` \| `Chain` = `undefined` + +###### Parameters + +• **args**: `WriteContractParameters`\<`abi`, `functionName`, `args`, `undefined` \| `Chain`, `undefined` \| `Account`, `chainOverride`\> + +WriteContractParameters + +###### Returns + +`Promise`\<\`0x$\{string\}\`\> + +A [Transaction Hash](https://viem.sh/docs/glossary/terms#hash). WriteContractReturnType + +###### Examples + +```ts +import { createWalletClient, custom, parseAbi } from 'viem'; +import { mainnet } from 'viem/chains'; + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}); +const hash = await client.writeContract({ + address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2', + abi: parseAbi(['function mint(uint32 tokenId) nonpayable']), + functionName: 'mint', + args: [69420], +}); +``` + +```ts +// With Validation +import { createWalletClient, custom, parseAbi } from 'viem' +import { mainnet } from 'viem/chains' + +const client = createWalletClient({ + chain: mainnet, + transport: custom(window.ethereum), +}) +const { request } = await client.simulateContract({ + address: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2', + abi: parseAbi(['function mint(uint32 tokenId) nonpayable']), + functionName: 'mint', + args: [69420], +} +const hash = await client.writeContract(request) +``` + +#### Defined in + +[packages/v1/src/interfaces/client.ts:20](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/interfaces/client.ts#L20) + +--- + +### createPrivateKeyAccount() + +> **createPrivateKeyAccount**(`params`): `object` + +Creates an account from a private key. + +#### Parameters + +• **params** + +• **params.privateKey?**: \`0x$\{string\}\` + +#### Returns + +`object` + +PrivateKeyAccount + +##### address + +> **address**: \`0x$\{string\}\` + +##### experimental_signAuthorization() + +> **experimental_signAuthorization**: (`parameters`) => `Promise`\<`SignAuthorizationReturnType`\> + +###### Parameters + +• **parameters**: `Authorization` + +###### Returns + +`Promise`\<`SignAuthorizationReturnType`\> + +##### nonceManager? + +> `optional` **nonceManager**: `NonceManager` + +##### publicKey + +> **publicKey**: \`0x$\{string\}\` + +##### sign() + +> **sign**: (`parameters`) => `Promise`\<\`0x$\{string\}\`\> + +###### Parameters + +• **parameters** + +• **parameters.hash**: \`0x$\{string\}\` + +###### Returns + +`Promise`\<\`0x$\{string\}\`\> + +##### signMessage() + +> **signMessage**: (`__namedParameters`) => `Promise`\<\`0x$\{string\}\`\> + +###### Parameters + +• **\_\_namedParameters** + +• **\_\_namedParameters.message**: `SignableMessage` + +###### Returns + +`Promise`\<\`0x$\{string\}\`\> + +##### signTransaction() + +> **signTransaction**: \<`serializer`, `transaction`\>(`transaction`, `options`?) => `Promise`\<`IsNarrowable`\<`TransactionSerialized`\<`GetTransactionType`\<`transaction`\>\>, \`0x$\{string\}\`\> *extends* `true` ? `TransactionSerialized`\<`GetTransactionType`\<`transaction`\>\> : \`0x$\{string\}\`\> + +###### Type Parameters + +• **serializer** _extends_ `SerializeTransactionFn`\<`TransactionSerializable`\> = `SerializeTransactionFn`\<`TransactionSerializable`\> + +• **transaction** _extends_ `OneOf`\<`TransactionSerializable`\> = `Parameters`\<`serializer`\>\[`0`\] + +###### Parameters + +• **transaction**: `transaction` + +• **options?** + +• **options.serializer?**: `serializer` + +###### Returns + +`Promise`\<`IsNarrowable`\<`TransactionSerialized`\<`GetTransactionType`\<`transaction`\>\>, \`0x$\{string\}\`\> *extends* `true` ? `TransactionSerialized`\<`GetTransactionType`\<`transaction`\>\> : \`0x$\{string\}\`\> + +##### signTypedData() + +> **signTypedData**: \<`typedData`, `primaryType`\>(`parameters`) => `Promise`\<\`0x$\{string\}\`\> + +###### Type Parameters + +• **typedData** _extends_ `Record`\<`string`, `unknown`\> \| `object` + +• **primaryType** _extends_ `string` \| `number` \| `symbol` = keyof `typedData` + +###### Parameters + +• **parameters**: `TypedDataDefinition`\<`typedData`, `primaryType`\> + +###### Returns + +`Promise`\<\`0x$\{string\}\`\> + +##### source + +> **source**: `"privateKey"` + +##### type + +> **type**: `"local"` + +#### Defined in + +[packages/v1/src/interfaces/client.ts:12](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/interfaces/client.ts#L12) diff --git a/docs/v1/variables/JPYC_V2_ABI.md b/docs/v1/variables/JPYC_V2_ABI.md new file mode 100644 index 0000000..e8341db --- /dev/null +++ b/docs/v1/variables/JPYC_V2_ABI.md @@ -0,0 +1,13 @@ +[**@jpyc/sdk-v1**](../README.md) • **Docs** + +--- + +[@jpyc/sdk-v1](../globals.md) / JPYC_V2_ABI + +# Variable: JPYC_V2_ABI + +> `const` **JPYC_V2_ABI**: (`object` \| `object`)[] = `artifacts.abi` + +## Defined in + +[packages/v1/src/abis.ts:3](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/abis.ts#L3) diff --git a/package.json b/package.json index 1a7ae68..3be3ab7 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,8 @@ "scripts": { "prepare": "husky", "format": "prettier --write", - "format:dry-run": "prettier --check" + "format:dry-run": "prettier --check", + "docs": "yarn workspace @jpyc/sdk-core run docs && yarn workspace @jpyc/sdk-v1 run docs" }, "devDependencies": { "husky": "9.0.11", diff --git a/packages/core/README.md b/packages/core/README.md index 5d2e0c6..e4208f1 100644 --- a/packages/core/README.md +++ b/packages/core/README.md @@ -9,11 +9,12 @@ JPYC core SDK implements a set of constants, types and functions, commonly used The following commands are available as yarn scripts for local development & testing. -| Command | Description | -| ---------------: | :----------------------------------- | -| `compile` | Compile (transpile) TypeScript files | -| `lint` | Run Eslint | -| `lint:dry-run` | Run Eslint without fixing | -| `format` | Run Prettier | -| `format:dry-run` | Run Prettier without fixing | -| `test` | Run unit tests (via jest) | +| Command | Description | +| ---------------: | :---------------------------------------------------- | +| `docs` | Generate Markdown documents from TSDoc-style comments | +| `compile` | Compile (transpile) TypeScript files | +| `lint` | Run Eslint | +| `lint:dry-run` | Run Eslint without fixing | +| `format` | Run Prettier | +| `format:dry-run` | Run Prettier without fixing | +| `test` | Run unit tests (via jest) | diff --git a/packages/core/package.json b/packages/core/package.json index 2ecbfa4..f802445 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -13,6 +13,7 @@ }, "private": true, "scripts": { + "docs": "typedoc", "compile": "tsc", "lint": "eslint --fix ./src", "lint:dry-run": "eslint ./src", @@ -35,6 +36,8 @@ "ts-jest": "29.2.4", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", + "typedoc": "0.26.6", + "typedoc-plugin-markdown": "4.2.6", "typescript": "5.5.3", "viem": "2.19.4" }, diff --git a/packages/core/typedoc.json b/packages/core/typedoc.json new file mode 100644 index 0000000..da08a4a --- /dev/null +++ b/packages/core/typedoc.json @@ -0,0 +1,6 @@ +{ + "extends": ["../../typedoc.json"], + "entryPoints": ["./src/index.ts"], + "exclude": ["./src/**/*.test.ts"], + "out": "../../docs/core" +} diff --git a/packages/v1/README.md b/packages/v1/README.md index ac6a7a5..8c872fd 100644 --- a/packages/v1/README.md +++ b/packages/v1/README.md @@ -85,6 +85,7 @@ The following commands are available as yarn scripts for local development & tes | Command | Description | | ----------------------------: | :------------------------------------------------------ | +| `docs` | Generate Markdown documents from TSDoc-style comments | | `env` | Generate `.env` file | | `lint` | Run Eslint | | `lint:dry-run` | Run Eslint without fixing | diff --git a/packages/v1/package.json b/packages/v1/package.json index f2f9582..7fc42f5 100644 --- a/packages/v1/package.json +++ b/packages/v1/package.json @@ -13,6 +13,7 @@ }, "private": true, "scripts": { + "docs": "typedoc", "env": "cp .env.example .env", "lint": "eslint --fix ./src", "lint:dry-run": "eslint ./src", @@ -65,6 +66,8 @@ "soltypes": "2.0.0", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", + "typedoc": "0.26.6", + "typedoc-plugin-markdown": "4.2.6", "typescript": "5.5.3", "viem": "2.19.4" } diff --git a/packages/v1/typedoc.json b/packages/v1/typedoc.json new file mode 100644 index 0000000..3d99d42 --- /dev/null +++ b/packages/v1/typedoc.json @@ -0,0 +1,6 @@ +{ + "extends": ["../../typedoc.json"], + "entryPoints": ["./src/index.ts"], + "exclude": ["./src/**/*.test.ts"], + "out": "../../docs/v1" +} diff --git a/typedoc.json b/typedoc.json new file mode 100644 index 0000000..eb82e02 --- /dev/null +++ b/typedoc.json @@ -0,0 +1,4 @@ +{ + "plugin": ["typedoc-plugin-markdown"], + "cleanOutputDir": true +} diff --git a/yarn.lock b/yarn.lock index 4b77a6f..092446e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1286,6 +1286,13 @@ "@sentry/types" "5.30.0" tslib "^1.9.3" +"@shikijs/core@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@shikijs/core/-/core-1.14.1.tgz#008f1c4a20ff83fd1672d9e31d76b687862f7511" + integrity sha512-KyHIIpKNaT20FtFPFjCQB5WVSTpLR/n+jQXhWHWVUMm9MaOaG9BGOG0MSyt7yA4+Lm+4c9rTc03tt3nYzeYSfw== + dependencies: + "@types/hast" "^3.0.4" + "@sinclair/typebox@^0.27.8": version "0.27.8" resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" @@ -1397,6 +1404,13 @@ dependencies: "@types/node" "*" +"@types/hast@^3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/hast/-/hast-3.0.4.tgz#1d6b39993b82cea6ad783945b0508c25903e15aa" + integrity sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ== + dependencies: + "@types/unist" "*" + "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": version "2.0.6" resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" @@ -1477,6 +1491,11 @@ resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8" integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== +"@types/unist@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/unist/-/unist-3.0.3.tgz#acaab0f919ce69cce629c2d4ed2eb4adc1b6c20c" + integrity sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q== + "@types/yargs-parser@*": version "21.0.3" resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" @@ -2591,6 +2610,11 @@ enquirer@^2.3.0: ansi-colors "^4.1.1" strip-ansi "^6.0.1" +entities@^4.4.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + env-paths@^2.2.0: version "2.2.1" resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" @@ -4510,6 +4534,13 @@ lines-and-columns@^1.1.6: resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== +linkify-it@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-5.0.0.tgz#9ef238bfa6dc70bd8e7f9572b52d369af569b421" + integrity sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ== + dependencies: + uc.micro "^2.0.0" + lint-staged@15.2.9: version "15.2.9" resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-15.2.9.tgz#bf70d40b6b192df6ad756fb89822211615e0f4da" @@ -4643,6 +4674,11 @@ lru_map@^0.3.3: resolved "https://registry.yarnpkg.com/lru_map/-/lru_map-0.3.3.tgz#b5c8351b9464cbd750335a79650a0ec0e56118dd" integrity sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ== +lunr@^2.3.9: + version "2.3.9" + resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1" + integrity sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow== + make-dir@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e" @@ -4662,6 +4698,18 @@ makeerror@1.0.12: dependencies: tmpl "1.0.5" +markdown-it@^14.1.0: + version "14.1.0" + resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-14.1.0.tgz#3c3c5992883c633db4714ccb4d7b5935d98b7d45" + integrity sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg== + dependencies: + argparse "^2.0.1" + entities "^4.4.0" + linkify-it "^5.0.0" + mdurl "^2.0.0" + punycode.js "^2.3.1" + uc.micro "^2.1.0" + markdown-table@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-2.0.0.tgz#194a90ced26d31fe753d8b9434430214c011865b" @@ -4678,6 +4726,11 @@ md5.js@^1.3.4: inherits "^2.0.1" safe-buffer "^5.1.2" +mdurl@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-2.0.0.tgz#80676ec0433025dd3e17ee983d0fe8de5a2237e0" + integrity sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w== + memorystream@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" @@ -4757,7 +4810,7 @@ minimatch@^5.0.1, minimatch@^5.1.6: dependencies: brace-expansion "^2.0.1" -minimatch@^9.0.4: +minimatch@^9.0.4, minimatch@^9.0.5: version "9.0.5" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== @@ -5279,6 +5332,11 @@ proxy-from-env@^1.1.0: resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== +punycode.js@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/punycode.js/-/punycode.js-2.3.1.tgz#6b53e56ad75588234e79f4affa90972c7dd8cdb7" + integrity sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA== + punycode@^2.1.0: version "2.3.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" @@ -5641,6 +5699,14 @@ shelljs@^0.8.3: interpret "^1.0.0" rechoir "^0.6.2" +shiki@^1.9.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/shiki/-/shiki-1.14.1.tgz#617e62dfbe3a083e46111e22086044fbd7644786" + integrity sha512-FujAN40NEejeXdzPt+3sZ3F2dx1U24BY2XTY01+MG8mbxCiA2XukXdcbyMyLAHJ/1AUUnQd1tZlvIjefWWEJeA== + dependencies: + "@shikijs/core" "1.14.1" + "@types/hast" "^3.0.4" + side-channel@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" @@ -6232,11 +6298,32 @@ typed-array-length@^1.0.6: is-typed-array "^1.1.13" possible-typed-array-names "^1.0.0" +typedoc-plugin-markdown@4.2.6: + version "4.2.6" + resolved "https://registry.yarnpkg.com/typedoc-plugin-markdown/-/typedoc-plugin-markdown-4.2.6.tgz#fd828f180134c0a2696a79a6c09fe501d3fb18ef" + integrity sha512-k33o2lZSGpL3GjH28eW+RsujzCYFP0L5GNqpK+wa4CBcMOxpj8WV7SydNRLS6eSa2UvaPvNVJTaAZ6Tm+8GXoA== + +typedoc@0.26.6: + version "0.26.6" + resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.26.6.tgz#9cb3d6f0ed5070f86af169c3f88ca2c9b7031f59" + integrity sha512-SfEU3SH3wHNaxhFPjaZE2kNl/NFtLNW5c1oHsg7mti7GjmUj1Roq6osBQeMd+F4kL0BoRBBr8gQAuqBlfFu8LA== + dependencies: + lunr "^2.3.9" + markdown-it "^14.1.0" + minimatch "^9.0.5" + shiki "^1.9.1" + yaml "^2.4.5" + typescript@5.5.3: version "5.5.3" resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.5.3.tgz#e1b0a3c394190838a0b168e771b0ad56a0af0faa" integrity sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ== +uc.micro@^2.0.0, uc.micro@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-2.1.0.tgz#f8d3f7d0ec4c3dea35a7e3c8efa4cb8b45c9e7ee" + integrity sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A== + uglify-js@^3.1.4: version "3.19.2" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.19.2.tgz#319ae26a5fbd18d03c7dc02496cfa1d6f1cd4307" @@ -6526,7 +6613,7 @@ yallist@^3.0.2: resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== -yaml@~2.5.0: +yaml@^2.4.5, yaml@~2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.5.0.tgz#c6165a721cf8000e91c36490a41d7be25176cf5d" integrity sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw== From 511c899316716d0e1edd5e0d39ffbd4f7f4c3fda Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Mon, 26 Aug 2024 04:30:16 +0900 Subject: [PATCH 89/92] Update 'README's --- docs/core/README.md | 21 ++++++----- docs/core/_media/globals.md | 28 +++++++++++++++ docs/core/functions/getSupportedChainNames.md | 2 +- .../functions/getSupportedNetworkNames.md | 2 +- docs/core/functions/isValidAddress.md | 2 +- docs/core/functions/isValidChainName.md | 2 +- docs/core/functions/isValidNetworkName.md | 2 +- docs/core/type-aliases/Address.md | 2 +- docs/core/type-aliases/Bytes32.md | 2 +- docs/core/type-aliases/ChainName.md | 2 +- docs/core/type-aliases/Endpoint.md | 2 +- docs/core/type-aliases/NetworkName.md | 2 +- docs/core/variables/LOCAL_PROXY_ADDRESS.md | 2 +- docs/core/variables/SUPPORTED_CHAINS.md | 2 +- docs/core/variables/V2_PROXY_ADDRESS.md | 2 +- docs/core/variables/ZERO_ADDRESS.md | 2 +- docs/v1/README.md | 5 +++ docs/v1/_media/globals.md | 23 ++++++++++++ docs/v1/classes/InvalidAddressError.md | 2 +- docs/v1/classes/InvalidChainNameError.md | 2 +- docs/v1/classes/InvalidNetworkNameError.md | 2 +- docs/v1/classes/InvalidTransactionError.md | 2 +- docs/v1/classes/JPYC.md | 36 +++++++++---------- docs/v1/classes/SdkClient.md | 6 ++-- docs/v1/interfaces/IJPYC.md | 34 +++++++++--------- docs/v1/interfaces/ISdkClient.md | 4 +-- docs/v1/variables/JPYC_V2_ABI.md | 2 +- packages/core/README.md | 4 +++ packages/v1/README.md | 4 +++ typedoc.json | 2 +- 30 files changed, 137 insertions(+), 68 deletions(-) create mode 100644 docs/core/_media/globals.md create mode 100644 docs/v1/_media/globals.md diff --git a/docs/core/README.md b/docs/core/README.md index ad622c2..7e6e647 100644 --- a/docs/core/README.md +++ b/docs/core/README.md @@ -13,11 +13,16 @@ JPYC core SDK implements a set of constants, types and functions, commonly used The following commands are available as yarn scripts for local development & testing. -| Command | Description | -| ---------------: | :----------------------------------- | -| `compile` | Compile (transpile) TypeScript files | -| `lint` | Run Eslint | -| `lint:dry-run` | Run Eslint without fixing | -| `format` | Run Prettier | -| `format:dry-run` | Run Prettier without fixing | -| `test` | Run unit tests (via jest) | +| Command | Description | +| ---------------: | :---------------------------------------------------- | +| `docs` | Generate Markdown documents from TSDoc-style comments | +| `compile` | Compile (transpile) TypeScript files | +| `lint` | Run Eslint | +| `lint:dry-run` | Run Eslint without fixing | +| `format` | Run Prettier | +| `format:dry-run` | Run Prettier without fixing | +| `test` | Run unit tests (via jest) | + +## 📚 Documentation + +You can find the auto-generated documentation of this SDK [here](_media/globals.md). diff --git a/docs/core/_media/globals.md b/docs/core/_media/globals.md new file mode 100644 index 0000000..623436d --- /dev/null +++ b/docs/core/_media/globals.md @@ -0,0 +1,28 @@ +[**@jpyc/sdk-core**](README.md) • **Docs** + +--- + +# @jpyc/sdk-core + +## Type Aliases + +- [Address](type-aliases/Address.md) +- [Bytes32](type-aliases/Bytes32.md) +- [ChainName](type-aliases/ChainName.md) +- [Endpoint](type-aliases/Endpoint.md) +- [NetworkName](type-aliases/NetworkName.md) + +## Variables + +- [LOCAL_PROXY_ADDRESS](variables/LOCAL_PROXY_ADDRESS.md) +- [SUPPORTED_CHAINS](variables/SUPPORTED_CHAINS.md) +- [V2_PROXY_ADDRESS](variables/V2_PROXY_ADDRESS.md) +- [ZERO_ADDRESS](variables/ZERO_ADDRESS.md) + +## Functions + +- [getSupportedChainNames](functions/getSupportedChainNames.md) +- [getSupportedNetworkNames](functions/getSupportedNetworkNames.md) +- [isValidAddress](functions/isValidAddress.md) +- [isValidChainName](functions/isValidChainName.md) +- [isValidNetworkName](functions/isValidNetworkName.md) diff --git a/docs/core/functions/getSupportedChainNames.md b/docs/core/functions/getSupportedChainNames.md index 40a54a6..8472f8f 100644 --- a/docs/core/functions/getSupportedChainNames.md +++ b/docs/core/functions/getSupportedChainNames.md @@ -14,4 +14,4 @@ ## Defined in -[chains.ts:59](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/core/src/chains.ts#L59) +[chains.ts:59](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/core/src/chains.ts#L59) diff --git a/docs/core/functions/getSupportedNetworkNames.md b/docs/core/functions/getSupportedNetworkNames.md index 57bb500..b680623 100644 --- a/docs/core/functions/getSupportedNetworkNames.md +++ b/docs/core/functions/getSupportedNetworkNames.md @@ -20,4 +20,4 @@ ## Defined in -[chains.ts:70](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/core/src/chains.ts#L70) +[chains.ts:70](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/core/src/chains.ts#L70) diff --git a/docs/core/functions/isValidAddress.md b/docs/core/functions/isValidAddress.md index 21be88e..d5c9879 100644 --- a/docs/core/functions/isValidAddress.md +++ b/docs/core/functions/isValidAddress.md @@ -20,4 +20,4 @@ ## Defined in -[addresses.ts:9](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/core/src/addresses.ts#L9) +[addresses.ts:9](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/core/src/addresses.ts#L9) diff --git a/docs/core/functions/isValidChainName.md b/docs/core/functions/isValidChainName.md index 703d9c4..ac9279c 100644 --- a/docs/core/functions/isValidChainName.md +++ b/docs/core/functions/isValidChainName.md @@ -20,4 +20,4 @@ ## Defined in -[chains.ts:63](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/core/src/chains.ts#L63) +[chains.ts:63](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/core/src/chains.ts#L63) diff --git a/docs/core/functions/isValidNetworkName.md b/docs/core/functions/isValidNetworkName.md index 8b4e87a..69dae66 100644 --- a/docs/core/functions/isValidNetworkName.md +++ b/docs/core/functions/isValidNetworkName.md @@ -22,4 +22,4 @@ ## Defined in -[chains.ts:74](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/core/src/chains.ts#L74) +[chains.ts:74](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/core/src/chains.ts#L74) diff --git a/docs/core/type-aliases/Address.md b/docs/core/type-aliases/Address.md index 9e0eec9..d5f8ea9 100644 --- a/docs/core/type-aliases/Address.md +++ b/docs/core/type-aliases/Address.md @@ -10,4 +10,4 @@ ## Defined in -[types.ts:1](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/core/src/types.ts#L1) +[types.ts:1](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/core/src/types.ts#L1) diff --git a/docs/core/type-aliases/Bytes32.md b/docs/core/type-aliases/Bytes32.md index 7e154b7..f0214b7 100644 --- a/docs/core/type-aliases/Bytes32.md +++ b/docs/core/type-aliases/Bytes32.md @@ -10,4 +10,4 @@ ## Defined in -[types.ts:2](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/core/src/types.ts#L2) +[types.ts:2](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/core/src/types.ts#L2) diff --git a/docs/core/type-aliases/ChainName.md b/docs/core/type-aliases/ChainName.md index ec0e227..06a49ae 100644 --- a/docs/core/type-aliases/ChainName.md +++ b/docs/core/type-aliases/ChainName.md @@ -10,4 +10,4 @@ ## Defined in -[types.ts:6](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/core/src/types.ts#L6) +[types.ts:6](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/core/src/types.ts#L6) diff --git a/docs/core/type-aliases/Endpoint.md b/docs/core/type-aliases/Endpoint.md index 4be3718..e62499b 100644 --- a/docs/core/type-aliases/Endpoint.md +++ b/docs/core/type-aliases/Endpoint.md @@ -10,4 +10,4 @@ ## Defined in -[types.ts:4](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/core/src/types.ts#L4) +[types.ts:4](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/core/src/types.ts#L4) diff --git a/docs/core/type-aliases/NetworkName.md b/docs/core/type-aliases/NetworkName.md index 24d4ea0..ed2a29d 100644 --- a/docs/core/type-aliases/NetworkName.md +++ b/docs/core/type-aliases/NetworkName.md @@ -10,4 +10,4 @@ ## Defined in -[types.ts:8](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/core/src/types.ts#L8) +[types.ts:8](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/core/src/types.ts#L8) diff --git a/docs/core/variables/LOCAL_PROXY_ADDRESS.md b/docs/core/variables/LOCAL_PROXY_ADDRESS.md index b9f49c9..8914bb9 100644 --- a/docs/core/variables/LOCAL_PROXY_ADDRESS.md +++ b/docs/core/variables/LOCAL_PROXY_ADDRESS.md @@ -10,4 +10,4 @@ ## Defined in -[addresses.ts:7](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/core/src/addresses.ts#L7) +[addresses.ts:7](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/core/src/addresses.ts#L7) diff --git a/docs/core/variables/SUPPORTED_CHAINS.md b/docs/core/variables/SUPPORTED_CHAINS.md index 9728b8a..50c62fa 100644 --- a/docs/core/variables/SUPPORTED_CHAINS.md +++ b/docs/core/variables/SUPPORTED_CHAINS.md @@ -10,4 +10,4 @@ ## Defined in -[chains.ts:33](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/core/src/chains.ts#L33) +[chains.ts:33](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/core/src/chains.ts#L33) diff --git a/docs/core/variables/V2_PROXY_ADDRESS.md b/docs/core/variables/V2_PROXY_ADDRESS.md index da159c0..f148dbc 100644 --- a/docs/core/variables/V2_PROXY_ADDRESS.md +++ b/docs/core/variables/V2_PROXY_ADDRESS.md @@ -10,4 +10,4 @@ ## Defined in -[addresses.ts:6](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/core/src/addresses.ts#L6) +[addresses.ts:6](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/core/src/addresses.ts#L6) diff --git a/docs/core/variables/ZERO_ADDRESS.md b/docs/core/variables/ZERO_ADDRESS.md index 9f193b4..b545c57 100644 --- a/docs/core/variables/ZERO_ADDRESS.md +++ b/docs/core/variables/ZERO_ADDRESS.md @@ -10,4 +10,4 @@ ## Defined in -[addresses.ts:5](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/core/src/addresses.ts#L5) +[addresses.ts:5](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/core/src/addresses.ts#L5) diff --git a/docs/v1/README.md b/docs/v1/README.md index f4a8f3f..6aada88 100644 --- a/docs/v1/README.md +++ b/docs/v1/README.md @@ -89,6 +89,7 @@ The following commands are available as yarn scripts for local development & tes | Command | Description | | ----------------------------: | :------------------------------------------------------ | +| `docs` | Generate Markdown documents from TSDoc-style comments | | `env` | Generate `.env` file | | `lint` | Run Eslint | | `lint:dry-run` | Run Eslint without fixing | @@ -108,3 +109,7 @@ The following commands are available as yarn scripts for local development & tes | `transfer-with-authorization` | Example code: transfer tokens with signatures (EIP3009) | | `receive-with-authorization` | Example code: receive tokens with signatures (EIP3009) | | `cancel-authorization` | Example code: cancel token authorization (EIP3009) | + +## 📚 Documentation + +You can find the auto-generated documentation of this SDK [here](_media/globals.md). diff --git a/docs/v1/_media/globals.md b/docs/v1/_media/globals.md new file mode 100644 index 0000000..660f957 --- /dev/null +++ b/docs/v1/_media/globals.md @@ -0,0 +1,23 @@ +[**@jpyc/sdk-v1**](README.md) • **Docs** + +--- + +# @jpyc/sdk-v1 + +## Classes + +- [InvalidAddressError](classes/InvalidAddressError.md) +- [InvalidChainNameError](classes/InvalidChainNameError.md) +- [InvalidNetworkNameError](classes/InvalidNetworkNameError.md) +- [InvalidTransactionError](classes/InvalidTransactionError.md) +- [JPYC](classes/JPYC.md) +- [SdkClient](classes/SdkClient.md) + +## Interfaces + +- [IJPYC](interfaces/IJPYC.md) +- [ISdkClient](interfaces/ISdkClient.md) + +## Variables + +- [JPYC_V2_ABI](variables/JPYC_V2_ABI.md) diff --git a/docs/v1/classes/InvalidAddressError.md b/docs/v1/classes/InvalidAddressError.md index e38dee0..59c56cc 100644 --- a/docs/v1/classes/InvalidAddressError.md +++ b/docs/v1/classes/InvalidAddressError.md @@ -30,7 +30,7 @@ #### Defined in -[packages/v1/src/errors.ts:30](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/errors.ts#L30) +[packages/v1/src/errors.ts:30](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/errors.ts#L30) ## Properties diff --git a/docs/v1/classes/InvalidChainNameError.md b/docs/v1/classes/InvalidChainNameError.md index 6840e11..69cc156 100644 --- a/docs/v1/classes/InvalidChainNameError.md +++ b/docs/v1/classes/InvalidChainNameError.md @@ -32,7 +32,7 @@ Custom error classes #### Defined in -[packages/v1/src/errors.ts:14](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/errors.ts#L14) +[packages/v1/src/errors.ts:14](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/errors.ts#L14) ## Properties diff --git a/docs/v1/classes/InvalidNetworkNameError.md b/docs/v1/classes/InvalidNetworkNameError.md index 8634059..a53ffc6 100644 --- a/docs/v1/classes/InvalidNetworkNameError.md +++ b/docs/v1/classes/InvalidNetworkNameError.md @@ -32,7 +32,7 @@ #### Defined in -[packages/v1/src/errors.ts:22](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/errors.ts#L22) +[packages/v1/src/errors.ts:22](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/errors.ts#L22) ## Properties diff --git a/docs/v1/classes/InvalidTransactionError.md b/docs/v1/classes/InvalidTransactionError.md index 5777712..64e6956 100644 --- a/docs/v1/classes/InvalidTransactionError.md +++ b/docs/v1/classes/InvalidTransactionError.md @@ -30,7 +30,7 @@ #### Defined in -[packages/v1/src/errors.ts:36](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/errors.ts#L36) +[packages/v1/src/errors.ts:36](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/errors.ts#L36) ## Properties diff --git a/docs/v1/classes/JPYC.md b/docs/v1/classes/JPYC.md index e76396a..85a7d86 100644 --- a/docs/v1/classes/JPYC.md +++ b/docs/v1/classes/JPYC.md @@ -627,7 +627,7 @@ const hash = await client.writeContract(request) #### Defined in -[packages/v1/src/jpyc.ts:19](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/jpyc.ts#L19) +[packages/v1/src/jpyc.ts:19](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/jpyc.ts#L19) ## Methods @@ -657,7 +657,7 @@ spender allowance #### Defined in -[packages/v1/src/jpyc.ts:58](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/jpyc.ts#L58) +[packages/v1/src/jpyc.ts:58](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/jpyc.ts#L58) --- @@ -687,7 +687,7 @@ transaction hash #### Defined in -[packages/v1/src/jpyc.ts:204](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/jpyc.ts#L204) +[packages/v1/src/jpyc.ts:204](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/jpyc.ts#L204) --- @@ -715,7 +715,7 @@ account balance #### Defined in -[packages/v1/src/jpyc.ts:52](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/jpyc.ts#L52) +[packages/v1/src/jpyc.ts:52](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/jpyc.ts#L52) --- @@ -751,7 +751,7 @@ transaction hash #### Defined in -[packages/v1/src/jpyc.ts:186](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/jpyc.ts#L186) +[packages/v1/src/jpyc.ts:186](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/jpyc.ts#L186) --- @@ -779,7 +779,7 @@ Regular Functions #### Defined in -[packages/v1/src/jpyc.ts:74](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/jpyc.ts#L74) +[packages/v1/src/jpyc.ts:74](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/jpyc.ts#L74) --- @@ -809,7 +809,7 @@ transaction hash #### Defined in -[packages/v1/src/jpyc.ts:228](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/jpyc.ts#L228) +[packages/v1/src/jpyc.ts:228](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/jpyc.ts#L228) --- @@ -839,7 +839,7 @@ transaction hash #### Defined in -[packages/v1/src/jpyc.ts:216](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/jpyc.ts#L216) +[packages/v1/src/jpyc.ts:216](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/jpyc.ts#L216) --- @@ -865,7 +865,7 @@ View Functions #### Defined in -[packages/v1/src/jpyc.ts:34](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/jpyc.ts#L34) +[packages/v1/src/jpyc.ts:34](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/jpyc.ts#L34) --- @@ -895,7 +895,7 @@ transaction hash #### Defined in -[packages/v1/src/jpyc.ts:86](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/jpyc.ts#L86) +[packages/v1/src/jpyc.ts:86](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/jpyc.ts#L86) --- @@ -923,7 +923,7 @@ minter allowance #### Defined in -[packages/v1/src/jpyc.ts:40](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/jpyc.ts#L40) +[packages/v1/src/jpyc.ts:40](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/jpyc.ts#L40) --- @@ -951,7 +951,7 @@ owner nonce #### Defined in -[packages/v1/src/jpyc.ts:64](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/jpyc.ts#L64) +[packages/v1/src/jpyc.ts:64](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/jpyc.ts#L64) --- @@ -991,7 +991,7 @@ transaction hash #### Defined in -[packages/v1/src/jpyc.ts:240](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/jpyc.ts#L240) +[packages/v1/src/jpyc.ts:240](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/jpyc.ts#L240) --- @@ -1035,7 +1035,7 @@ transaction hash #### Defined in -[packages/v1/src/jpyc.ts:154](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/jpyc.ts#L154) +[packages/v1/src/jpyc.ts:154](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/jpyc.ts#L154) --- @@ -1057,7 +1057,7 @@ total supply #### Defined in -[packages/v1/src/jpyc.ts:46](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/jpyc.ts#L46) +[packages/v1/src/jpyc.ts:46](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/jpyc.ts#L46) --- @@ -1087,7 +1087,7 @@ transaction hash #### Defined in -[packages/v1/src/jpyc.ts:98](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/jpyc.ts#L98) +[packages/v1/src/jpyc.ts:98](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/jpyc.ts#L98) --- @@ -1119,7 +1119,7 @@ transaction hash #### Defined in -[packages/v1/src/jpyc.ts:110](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/jpyc.ts#L110) +[packages/v1/src/jpyc.ts:110](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/jpyc.ts#L110) --- @@ -1163,4 +1163,4 @@ transaction hash #### Defined in -[packages/v1/src/jpyc.ts:122](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/jpyc.ts#L122) +[packages/v1/src/jpyc.ts:122](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/jpyc.ts#L122) diff --git a/docs/v1/classes/SdkClient.md b/docs/v1/classes/SdkClient.md index e8ea852..7a988a7 100644 --- a/docs/v1/classes/SdkClient.md +++ b/docs/v1/classes/SdkClient.md @@ -32,7 +32,7 @@ #### Defined in -[packages/v1/src/client.ts:22](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/client.ts#L22) +[packages/v1/src/client.ts:22](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/client.ts#L22) ## Methods @@ -935,7 +935,7 @@ const hash = await client.writeContract(request) #### Defined in -[packages/v1/src/client.ts:40](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/client.ts#L40) +[packages/v1/src/client.ts:40](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/client.ts#L40) --- @@ -1063,4 +1063,4 @@ PrivateKeyAccount #### Defined in -[packages/v1/src/client.ts:34](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/client.ts#L34) +[packages/v1/src/client.ts:34](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/client.ts#L34) diff --git a/docs/v1/interfaces/IJPYC.md b/docs/v1/interfaces/IJPYC.md index 9f39709..d0016f3 100644 --- a/docs/v1/interfaces/IJPYC.md +++ b/docs/v1/interfaces/IJPYC.md @@ -30,7 +30,7 @@ spender allowance #### Defined in -[packages/v1/src/interfaces/jpyc.ts:49](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/interfaces/jpyc.ts#L49) +[packages/v1/src/interfaces/jpyc.ts:49](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/interfaces/jpyc.ts#L49) --- @@ -56,7 +56,7 @@ transaction hash #### Defined in -[packages/v1/src/interfaces/jpyc.ts:177](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/interfaces/jpyc.ts#L177) +[packages/v1/src/interfaces/jpyc.ts:177](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/interfaces/jpyc.ts#L177) --- @@ -80,7 +80,7 @@ account balance #### Defined in -[packages/v1/src/interfaces/jpyc.ts:40](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/interfaces/jpyc.ts#L40) +[packages/v1/src/interfaces/jpyc.ts:40](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/interfaces/jpyc.ts#L40) --- @@ -112,7 +112,7 @@ transaction hash #### Defined in -[packages/v1/src/interfaces/jpyc.ts:162](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/interfaces/jpyc.ts#L162) +[packages/v1/src/interfaces/jpyc.ts:162](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/interfaces/jpyc.ts#L162) --- @@ -138,7 +138,7 @@ transaction hash #### Defined in -[packages/v1/src/interfaces/jpyc.ts:70](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/interfaces/jpyc.ts#L70) +[packages/v1/src/interfaces/jpyc.ts:70](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/interfaces/jpyc.ts#L70) --- @@ -164,7 +164,7 @@ transaction hash #### Defined in -[packages/v1/src/interfaces/jpyc.ts:195](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/interfaces/jpyc.ts#L195) +[packages/v1/src/interfaces/jpyc.ts:195](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/interfaces/jpyc.ts#L195) --- @@ -190,7 +190,7 @@ transaction hash #### Defined in -[packages/v1/src/interfaces/jpyc.ts:186](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/interfaces/jpyc.ts#L186) +[packages/v1/src/interfaces/jpyc.ts:186](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/interfaces/jpyc.ts#L186) --- @@ -214,7 +214,7 @@ true if minter, false otherwise #### Defined in -[packages/v1/src/interfaces/jpyc.ts:17](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/interfaces/jpyc.ts#L17) +[packages/v1/src/interfaces/jpyc.ts:17](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/interfaces/jpyc.ts#L17) --- @@ -240,7 +240,7 @@ transaction hash #### Defined in -[packages/v1/src/interfaces/jpyc.ts:79](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/interfaces/jpyc.ts#L79) +[packages/v1/src/interfaces/jpyc.ts:79](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/interfaces/jpyc.ts#L79) --- @@ -264,7 +264,7 @@ minter allowance #### Defined in -[packages/v1/src/interfaces/jpyc.ts:25](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/interfaces/jpyc.ts#L25) +[packages/v1/src/interfaces/jpyc.ts:25](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/interfaces/jpyc.ts#L25) --- @@ -288,7 +288,7 @@ owner nonce #### Defined in -[packages/v1/src/interfaces/jpyc.ts:57](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/interfaces/jpyc.ts#L57) +[packages/v1/src/interfaces/jpyc.ts:57](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/interfaces/jpyc.ts#L57) --- @@ -324,7 +324,7 @@ transaction hash #### Defined in -[packages/v1/src/interfaces/jpyc.ts:209](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/interfaces/jpyc.ts#L209) +[packages/v1/src/interfaces/jpyc.ts:209](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/interfaces/jpyc.ts#L209) --- @@ -364,7 +364,7 @@ transaction hash #### Defined in -[packages/v1/src/interfaces/jpyc.ts:140](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/interfaces/jpyc.ts#L140) +[packages/v1/src/interfaces/jpyc.ts:140](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/interfaces/jpyc.ts#L140) --- @@ -382,7 +382,7 @@ total supply #### Defined in -[packages/v1/src/interfaces/jpyc.ts:32](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/interfaces/jpyc.ts#L32) +[packages/v1/src/interfaces/jpyc.ts:32](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/interfaces/jpyc.ts#L32) --- @@ -408,7 +408,7 @@ transaction hash #### Defined in -[packages/v1/src/interfaces/jpyc.ts:88](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/interfaces/jpyc.ts#L88) +[packages/v1/src/interfaces/jpyc.ts:88](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/interfaces/jpyc.ts#L88) --- @@ -436,7 +436,7 @@ transaction hash #### Defined in -[packages/v1/src/interfaces/jpyc.ts:98](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/interfaces/jpyc.ts#L98) +[packages/v1/src/interfaces/jpyc.ts:98](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/interfaces/jpyc.ts#L98) --- @@ -476,4 +476,4 @@ transaction hash #### Defined in -[packages/v1/src/interfaces/jpyc.ts:114](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/interfaces/jpyc.ts#L114) +[packages/v1/src/interfaces/jpyc.ts:114](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/interfaces/jpyc.ts#L114) diff --git a/docs/v1/interfaces/ISdkClient.md b/docs/v1/interfaces/ISdkClient.md index ab7891e..2aaf116 100644 --- a/docs/v1/interfaces/ISdkClient.md +++ b/docs/v1/interfaces/ISdkClient.md @@ -903,7 +903,7 @@ const hash = await client.writeContract(request) #### Defined in -[packages/v1/src/interfaces/client.ts:20](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/interfaces/client.ts#L20) +[packages/v1/src/interfaces/client.ts:20](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/interfaces/client.ts#L20) --- @@ -1027,4 +1027,4 @@ PrivateKeyAccount #### Defined in -[packages/v1/src/interfaces/client.ts:12](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/interfaces/client.ts#L12) +[packages/v1/src/interfaces/client.ts:12](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/interfaces/client.ts#L12) diff --git a/docs/v1/variables/JPYC_V2_ABI.md b/docs/v1/variables/JPYC_V2_ABI.md index e8341db..bbbe573 100644 --- a/docs/v1/variables/JPYC_V2_ABI.md +++ b/docs/v1/variables/JPYC_V2_ABI.md @@ -10,4 +10,4 @@ ## Defined in -[packages/v1/src/abis.ts:3](https://github.com/jcam1/sdks/blob/3c4d067b0c17fecc9e33503f90e696b032f41531/packages/v1/src/abis.ts#L3) +[packages/v1/src/abis.ts:3](https://github.com/jcam1/sdks/blob/30a458097273f9153f1e5c47ec2aa6b486eaf784/packages/v1/src/abis.ts#L3) diff --git a/packages/core/README.md b/packages/core/README.md index e4208f1..5e5ae9d 100644 --- a/packages/core/README.md +++ b/packages/core/README.md @@ -18,3 +18,7 @@ The following commands are available as yarn scripts for local development & tes | `format` | Run Prettier | | `format:dry-run` | Run Prettier without fixing | | `test` | Run unit tests (via jest) | + +## 📚 Documentation + +You can find the auto-generated documentation of this SDK [here](../../docs/core/globals.md). diff --git a/packages/v1/README.md b/packages/v1/README.md index 8c872fd..4175998 100644 --- a/packages/v1/README.md +++ b/packages/v1/README.md @@ -105,3 +105,7 @@ The following commands are available as yarn scripts for local development & tes | `transfer-with-authorization` | Example code: transfer tokens with signatures (EIP3009) | | `receive-with-authorization` | Example code: receive tokens with signatures (EIP3009) | | `cancel-authorization` | Example code: cancel token authorization (EIP3009) | + +## 📚 Documentation + +You can find the auto-generated documentation of this SDK [here](../../docs/v1/globals.md). diff --git a/typedoc.json b/typedoc.json index eb82e02..93601be 100644 --- a/typedoc.json +++ b/typedoc.json @@ -1,4 +1,4 @@ { "plugin": ["typedoc-plugin-markdown"], - "cleanOutputDir": true + "cleanOutputDir": false } From 3ae6bd3ef87efa5a3f894f19e8ed6a95bd7742ed Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Mon, 26 Aug 2024 04:35:02 +0900 Subject: [PATCH 90/92] Remove 'yarn run docs' from pre-commit hook --- .husky/pre-commit | 1 - 1 file changed, 1 deletion(-) diff --git a/.husky/pre-commit b/.husky/pre-commit index 2674dc4..2312dc5 100644 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1,2 +1 @@ -yarn run docs npx lint-staged From 82aba15185d6fbe38da3100b9169565859408004 Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Mon, 26 Aug 2024 04:39:52 +0900 Subject: [PATCH 91/92] Update 'README' --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index 8ccf916..2a00738 100644 --- a/README.md +++ b/README.md @@ -75,6 +75,14 @@ $ yarn workspace remove $ yarn remove -W ``` +### Documentation + +To generate Markdown documentation from source code, run the following. + +```sh +$ yarn run docs +``` + ## 🔥 How to Contribute Feel free to create new issues from [here](https://github.com/jcam1/sdks/issues/new/choose) to propose/request new features or report bugs. From 86cb2edbcdafdb9ce24be5285a7ba943c89f0ebf Mon Sep 17 00:00:00 2001 From: SeiyaKobayashi Date: Mon, 26 Aug 2024 11:42:27 +0900 Subject: [PATCH 92/92] Fix yarn configs --- packages/core/.yarnrc.yml | 5 +++++ packages/core/package.json | 1 - packages/core/yarnrc.yml | 3 --- packages/v1/.yarnrc.yml | 5 +++++ packages/v1/package.json | 1 - packages/v1/yarnrc.yml | 3 --- 6 files changed, 10 insertions(+), 8 deletions(-) create mode 100644 packages/core/.yarnrc.yml delete mode 100644 packages/core/yarnrc.yml create mode 100644 packages/v1/.yarnrc.yml delete mode 100644 packages/v1/yarnrc.yml diff --git a/packages/core/.yarnrc.yml b/packages/core/.yarnrc.yml new file mode 100644 index 0000000..38d4769 --- /dev/null +++ b/packages/core/.yarnrc.yml @@ -0,0 +1,5 @@ +npmScopes: + jpyc: + npmAlwaysAuth: true + npmAuthToken: '${NODE_AUTH_TOKEN}' + npmPublishRegistry: 'https://registry.npmjs.org' diff --git a/packages/core/package.json b/packages/core/package.json index f802445..5d81f27 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -11,7 +11,6 @@ "node": "^20.12.0", "yarn": "^1.22.22" }, - "private": true, "scripts": { "docs": "typedoc", "compile": "tsc", diff --git a/packages/core/yarnrc.yml b/packages/core/yarnrc.yml deleted file mode 100644 index 8a2a5eb..0000000 --- a/packages/core/yarnrc.yml +++ /dev/null @@ -1,3 +0,0 @@ -npmAlwaysAuth: true -npmAuthToken: '${NODE_AUTH_TOKEN}' -npmPublishRegistry: 'https://registry.npmjs.org' diff --git a/packages/v1/.yarnrc.yml b/packages/v1/.yarnrc.yml new file mode 100644 index 0000000..38d4769 --- /dev/null +++ b/packages/v1/.yarnrc.yml @@ -0,0 +1,5 @@ +npmScopes: + jpyc: + npmAlwaysAuth: true + npmAuthToken: '${NODE_AUTH_TOKEN}' + npmPublishRegistry: 'https://registry.npmjs.org' diff --git a/packages/v1/package.json b/packages/v1/package.json index 7fc42f5..b62daf3 100644 --- a/packages/v1/package.json +++ b/packages/v1/package.json @@ -11,7 +11,6 @@ "node": "^20.12.0", "yarn": "^1.22.22" }, - "private": true, "scripts": { "docs": "typedoc", "env": "cp .env.example .env", diff --git a/packages/v1/yarnrc.yml b/packages/v1/yarnrc.yml deleted file mode 100644 index 8a2a5eb..0000000 --- a/packages/v1/yarnrc.yml +++ /dev/null @@ -1,3 +0,0 @@ -npmAlwaysAuth: true -npmAuthToken: '${NODE_AUTH_TOKEN}' -npmPublishRegistry: 'https://registry.npmjs.org'