From 7ab3e24279c57b1bcf9469e0d4e478b64e9594e0 Mon Sep 17 00:00:00 2001 From: lbeder Date: Sun, 5 Nov 2023 13:11:58 +0000 Subject: [PATCH] Improve delegated attestations --- dist/offchain/delegated-proxy.d.ts | 5 +- dist/offchain/delegated-proxy.js | 54 +++++- dist/offchain/delegated-proxy.js.map | 2 +- dist/offchain/delegated.d.ts | 5 +- dist/offchain/delegated.js | 56 ++++++- dist/offchain/delegated.js.map | 2 +- dist/schema-encoder.js | 2 +- dist/schema-encoder.js.map | 2 +- package.json | 14 +- pnpm-lock.yaml | 216 ++++++++++++------------ src/offchain/delegated-proxy.ts | 88 ++++++++-- src/offchain/delegated.ts | 92 +++++++++-- src/schema-encoder.ts | 2 +- test/package.json | 8 +- test/pnpm-lock.yaml | 238 +++++++++++++-------------- test/test/eip712-proxy.ts | 6 +- test/test/utils.ts | 2 +- 17 files changed, 496 insertions(+), 298 deletions(-) diff --git a/dist/offchain/delegated-proxy.d.ts b/dist/offchain/delegated-proxy.d.ts index 6cde261..c4e6703 100644 --- a/dist/offchain/delegated-proxy.d.ts +++ b/dist/offchain/delegated-proxy.d.ts @@ -4,7 +4,8 @@ import { EIP712MessageTypes, EIP712Response, TypedDataConfig, TypedDataHandler } export { EIP712MessageTypes, EIP712TypedData, EIP712Request, EIP712Response, TypedDataConfig } from './typed-data-handler'; export declare enum DelegatedProxyAttestationVersion { Legacy = 0, - Version1 = 1 + Version1 = 1, + Version2 = 2 } export type EIP712AttestationProxyParams = EIP712AttestationParams & { deadline: bigint; @@ -20,5 +21,5 @@ export declare class DelegatedProxy extends TypedDataHandler { signDelegatedProxyAttestation(params: EIP712AttestationProxyParams, signer: Signer): Promise>; verifyDelegatedProxyAttestationSignature(attester: string, response: EIP712Response): boolean; signDelegatedProxyRevocation(params: EIP712RevocationProxyParams, signer: Signer): Promise>; - verifyDelegatedProxyRevocationSignature(attester: string, response: EIP712Response): boolean; + verifyDelegatedProxyRevocationSignature(revoker: string, response: EIP712Response): boolean; } diff --git a/dist/offchain/delegated-proxy.js b/dist/offchain/delegated-proxy.js index 3501cec..e166208 100644 --- a/dist/offchain/delegated-proxy.js +++ b/dist/offchain/delegated-proxy.js @@ -9,6 +9,7 @@ var DelegatedProxyAttestationVersion; (function (DelegatedProxyAttestationVersion) { DelegatedProxyAttestationVersion[DelegatedProxyAttestationVersion["Legacy"] = 0] = "Legacy"; DelegatedProxyAttestationVersion[DelegatedProxyAttestationVersion["Version1"] = 1] = "Version1"; + DelegatedProxyAttestationVersion[DelegatedProxyAttestationVersion["Version2"] = 2] = "Version2"; })(DelegatedProxyAttestationVersion || (exports.DelegatedProxyAttestationVersion = DelegatedProxyAttestationVersion = {})); const DELEGATED_PROXY_ATTESTATION_TYPES = { [DelegatedProxyAttestationVersion.Legacy]: { @@ -41,6 +42,23 @@ const DELEGATED_PROXY_ATTESTATION_TYPES = { { name: 'deadline', type: 'uint64' } ] } + }, + [DelegatedProxyAttestationVersion.Version2]: { + typedSignature: 'Attest(address attester,bytes32 schema,address recipient,uint64 expirationTime,bool revocable,bytes32 refUID,bytes data,uint256 value,uint64 deadline)', + primaryType: 'Attest', + types: { + Attest: [ + { name: 'attester', type: 'address' }, + { name: 'schema', type: 'bytes32' }, + { name: 'recipient', type: 'address' }, + { name: 'expirationTime', type: 'uint64' }, + { name: 'revocable', type: 'bool' }, + { name: 'refUID', type: 'bytes32' }, + { name: 'data', type: 'bytes' }, + { name: 'value', type: 'uint256' }, + { name: 'deadline', type: 'uint64' } + ] + } } }; const DELEGATED_PROXY_REVOCATION_TYPES = { @@ -66,6 +84,19 @@ const DELEGATED_PROXY_REVOCATION_TYPES = { { name: 'deadline', type: 'uint64' } ] } + }, + [DelegatedProxyAttestationVersion.Version2]: { + typedSignature: 'Revoke(address revoker,bytes32 schema,bytes32 uid,uint256 value,uint64 deadline)', + primaryType: 'Revoke', + types: { + Revoke: [ + { name: 'revoker', type: 'address' }, + { name: 'schema', type: 'bytes32' }, + { name: 'uid', type: 'bytes32' }, + { name: 'value', type: 'uint256' }, + { name: 'deadline', type: 'uint64' } + ] + } } }; class DelegatedProxy extends typed_data_handler_1.TypedDataHandler { @@ -77,14 +108,20 @@ class DelegatedProxy extends typed_data_handler_1.TypedDataHandler { if (semver_1.default.lt(config.version, '1.2.0')) { this.version = DelegatedProxyAttestationVersion.Legacy; } + else if (semver_1.default.lte(config.version, '1.3.0')) { + this.version = DelegatedProxyAttestationVersion.Version2; + } else { this.version = DelegatedProxyAttestationVersion.Version1; } this.attestType = DELEGATED_PROXY_ATTESTATION_TYPES[this.version]; this.revokeType = DELEGATED_PROXY_REVOCATION_TYPES[this.version]; } - signDelegatedProxyAttestation(params, signer) { - let effectiveParams = params; + async signDelegatedProxyAttestation(params, signer) { + let effectiveParams = { + attester: await signer.getAddress(), + ...params + }; if (this.version === DelegatedProxyAttestationVersion.Legacy) { if (params.value !== 0n) { throw new Error("Committing to a value isn't supported for legacy attestations. Please specify 0 instead"); @@ -99,13 +136,16 @@ class DelegatedProxy extends typed_data_handler_1.TypedDataHandler { }, signer); } verifyDelegatedProxyAttestationSignature(attester, response) { - return this.verifyTypedDataRequestSignature(attester, response, { + return this.verifyTypedDataRequestSignature(attester, { ...response, message: { attester, ...response.message } }, { primaryType: this.attestType.primaryType, types: this.attestType.types }); } - signDelegatedProxyRevocation(params, signer) { - let effectiveParams = params; + async signDelegatedProxyRevocation(params, signer) { + let effectiveParams = { + revoker: await signer.getAddress(), + ...params + }; if (this.version === DelegatedProxyAttestationVersion.Legacy) { if (params.value !== 0n) { throw new Error("Committing to a value isn't supported for legacy revocations. Please specify 0 instead"); @@ -119,8 +159,8 @@ class DelegatedProxy extends typed_data_handler_1.TypedDataHandler { types: this.revokeType.types }, signer); } - verifyDelegatedProxyRevocationSignature(attester, response) { - return this.verifyTypedDataRequestSignature(attester, response, { + verifyDelegatedProxyRevocationSignature(revoker, response) { + return this.verifyTypedDataRequestSignature(revoker, { ...response, message: { revoker, ...response.message } }, { primaryType: this.revokeType.primaryType, types: this.revokeType.types }); diff --git a/dist/offchain/delegated-proxy.js.map b/dist/offchain/delegated-proxy.js.map index e5d87d1..a2f19fc 100644 --- a/dist/offchain/delegated-proxy.js.map +++ b/dist/offchain/delegated-proxy.js.map @@ -1 +1 @@ -{"version":3,"file":"delegated-proxy.js","sourceRoot":"","sources":["../../src/offchain/delegated-proxy.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"delegated-proxy.js","sourceRoot":"","sources":["../../src/offchain/delegated-proxy.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/offchain/delegated.d.ts b/dist/offchain/delegated.d.ts index 1114277..c1970c3 100644 --- a/dist/offchain/delegated.d.ts +++ b/dist/offchain/delegated.d.ts @@ -4,7 +4,8 @@ export { EIP712MessageTypes, EIP712TypedData, EIP712Request, EIP712Response, Par export declare const EIP712_NAME = "EAS"; export declare enum DelegatedAttestationVersion { Legacy = 0, - Version1 = 1 + Version1 = 1, + Version2 = 2 } export type EIP712AttestationParams = EIP712Params & { schema: string; @@ -30,5 +31,5 @@ export declare class Delegated extends TypedDataHandler { signDelegatedAttestation(params: EIP712AttestationParams, signer: Signer): Promise>; verifyDelegatedAttestationSignature(attester: string, response: EIP712Response): boolean; signDelegatedRevocation(params: EIP712RevocationParams, signer: Signer): Promise>; - verifyDelegatedRevocationSignature(attester: string, response: EIP712Response): boolean; + verifyDelegatedRevocationSignature(revoker: string, response: EIP712Response): boolean; } diff --git a/dist/offchain/delegated.js b/dist/offchain/delegated.js index f3f0d46..705c60e 100644 --- a/dist/offchain/delegated.js +++ b/dist/offchain/delegated.js @@ -11,6 +11,7 @@ var DelegatedAttestationVersion; (function (DelegatedAttestationVersion) { DelegatedAttestationVersion[DelegatedAttestationVersion["Legacy"] = 0] = "Legacy"; DelegatedAttestationVersion[DelegatedAttestationVersion["Version1"] = 1] = "Version1"; + DelegatedAttestationVersion[DelegatedAttestationVersion["Version2"] = 2] = "Version2"; })(DelegatedAttestationVersion || (exports.DelegatedAttestationVersion = DelegatedAttestationVersion = {})); const DELEGATED_ATTESTATION_TYPES = { [DelegatedAttestationVersion.Legacy]: { @@ -44,6 +45,24 @@ const DELEGATED_ATTESTATION_TYPES = { { name: 'deadline', type: 'uint64' } ] } + }, + [DelegatedAttestationVersion.Version2]: { + typedSignature: 'Attest(address attester,bytes32 schema,address recipient,uint64 expirationTime,bool revocable,bytes32 refUID,bytes data,uint256 value,uint256 nonce,uint64 deadline)', + primaryType: 'Attest', + types: { + Attest: [ + { name: 'attester', type: 'address' }, + { name: 'schema', type: 'bytes32' }, + { name: 'recipient', type: 'address' }, + { name: 'expirationTime', type: 'uint64' }, + { name: 'revocable', type: 'bool' }, + { name: 'refUID', type: 'bytes32' }, + { name: 'data', type: 'bytes' }, + { name: 'value', type: 'uint256' }, + { name: 'nonce', type: 'uint256' }, + { name: 'deadline', type: 'uint64' } + ] + } } }; const DELEGATED_REVOCATION_TYPES = { @@ -70,6 +89,20 @@ const DELEGATED_REVOCATION_TYPES = { { name: 'deadline', type: 'uint64' } ] } + }, + [DelegatedAttestationVersion.Version2]: { + typedSignature: 'Revoke(address revoker,bytes32 schema,bytes32 uid,uint256 value,uint256 nonce,uint64 deadline)', + primaryType: 'Revoke', + types: { + Revoke: [ + { name: 'revoker', type: 'address' }, + { name: 'schema', type: 'bytes32' }, + { name: 'uid', type: 'bytes32' }, + { name: 'value', type: 'uint256' }, + { name: 'nonce', type: 'uint256' }, + { name: 'deadline', type: 'uint64' } + ] + } } }; class Delegated extends typed_data_handler_1.TypedDataHandler { @@ -81,14 +114,20 @@ class Delegated extends typed_data_handler_1.TypedDataHandler { if (semver_1.default.lt(config.version, '1.2.0')) { this.version = DelegatedAttestationVersion.Legacy; } + else if (semver_1.default.lte(config.version, '1.3.0')) { + this.version = DelegatedAttestationVersion.Version2; + } else { this.version = DelegatedAttestationVersion.Version1; } this.attestType = DELEGATED_ATTESTATION_TYPES[this.version]; this.revokeType = DELEGATED_REVOCATION_TYPES[this.version]; } - signDelegatedAttestation(params, signer) { - let effectiveParams = params; + async signDelegatedAttestation(params, signer) { + let effectiveParams = { + attester: await signer.getAddress(), + ...params + }; if (this.version === DelegatedAttestationVersion.Legacy) { if (params.value !== 0n) { throw new Error("Committing to a value isn't supported for legacy attestations. Please specify 0 instead"); @@ -106,13 +145,16 @@ class Delegated extends typed_data_handler_1.TypedDataHandler { }, signer); } verifyDelegatedAttestationSignature(attester, response) { - return this.verifyTypedDataRequestSignature(attester, response, { + return this.verifyTypedDataRequestSignature(attester, { ...response, message: { attester, ...response.message } }, { primaryType: this.attestType.primaryType, types: this.attestType.types }); } - signDelegatedRevocation(params, signer) { - let effectiveParams = params; + async signDelegatedRevocation(params, signer) { + let effectiveParams = { + revoker: await signer.getAddress(), + ...params + }; if (this.version === DelegatedAttestationVersion.Legacy) { if (params.value !== 0n) { throw new Error("Committing to a value isn't supported for legacy revocations. Please specify 0 instead"); @@ -129,8 +171,8 @@ class Delegated extends typed_data_handler_1.TypedDataHandler { types: this.revokeType.types }, signer); } - verifyDelegatedRevocationSignature(attester, response) { - return this.verifyTypedDataRequestSignature(attester, response, { + verifyDelegatedRevocationSignature(revoker, response) { + return this.verifyTypedDataRequestSignature(revoker, { ...response, message: { revoker, ...response.message } }, { primaryType: this.revokeType.primaryType, types: this.revokeType.types }); diff --git a/dist/offchain/delegated.js.map b/dist/offchain/delegated.js.map index 85c1eec..a694157 100644 --- a/dist/offchain/delegated.js.map +++ b/dist/offchain/delegated.js.map @@ -1 +1 @@ -{"version":3,"file":"delegated.js","sourceRoot":"","sources":["../../src/offchain/delegated.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"delegated.js","sourceRoot":"","sources":["../../src/offchain/delegated.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/schema-encoder.js b/dist/schema-encoder.js index 8ebac4d..52bc5de 100644 --- a/dist/schema-encoder.js +++ b/dist/schema-encoder.js @@ -1,9 +1,9 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SchemaEncoder = void 0; -const utils_1 = require("./utils"); const ethers_1 = require("ethers"); const multiformats_1 = require("multiformats"); +const utils_1 = require("./utils"); const TUPLE_TYPE = 'tuple'; const TUPLE_ARRAY_TYPE = 'tuple[]'; class SchemaEncoder { diff --git a/dist/schema-encoder.js.map b/dist/schema-encoder.js.map index 7884d64..ef6e170 100644 --- a/dist/schema-encoder.js.map +++ b/dist/schema-encoder.js.map @@ -1 +1 @@ -{"version":3,"file":"schema-encoder.js","sourceRoot":"","sources":["../src/schema-encoder.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"schema-encoder.js","sourceRoot":"","sources":["../src/schema-encoder.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/package.json b/package.json index 3191629..b117ced 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@ethereum-attestation-service/eas-sdk", - "version": "1.2.2-beta.0", + "version": "1.3.0-beta.0", "description": "Ethereum Attestation Service - TypeScript/JavaScript SDK", "repository": "git@github.com:ethereum-attestation-service/eas-sdk.git", "author": "Leonid Beder ", @@ -18,8 +18,8 @@ "prepare:release": "pnpm lint && pnpm test && pnpm build" }, "dependencies": { - "@ethereum-attestation-service/eas-contracts": "1.2.0-beta.1", - "ethers": "^6.8.0", + "@ethereum-attestation-service/eas-contracts": "1.3.0-beta.0", + "ethers": "^6.8.1", "js-base64": "^3.7.5", "lodash": "^4.17.21", "multiformats": "9.9.0", @@ -30,12 +30,12 @@ "@ianvs/prettier-plugin-sort-imports": "^4.1.1", "@metamask/eth-sig-util": "^7.0.0", "@types/lodash": "^4.14.200", - "@types/node": "^20.8.9", + "@types/node": "^20.8.10", "@types/pako": "^2.0.2", "@types/semver": "^7.5.4", - "@typescript-eslint/eslint-plugin": "^6.9.0", - "@typescript-eslint/parser": "^6.9.0", - "eslint": "^8.52.0", + "@typescript-eslint/eslint-plugin": "^6.9.1", + "@typescript-eslint/parser": "^6.9.1", + "eslint": "^8.53.0", "eslint-plugin-import": "^2.29.0", "eslint-plugin-prefer-arrow": "^1.2.3", "prettier": "^3.0.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4903f1c..9250de6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,11 +6,11 @@ settings: dependencies: '@ethereum-attestation-service/eas-contracts': - specifier: 1.2.0-beta.1 - version: 1.2.0-beta.1(ts-node@10.9.1)(typescript@5.2.2) + specifier: 1.3.0-beta.0 + version: 1.3.0-beta.0(ts-node@10.9.1)(typescript@5.2.2) ethers: - specifier: ^6.8.0 - version: 6.8.0 + specifier: ^6.8.1 + version: 6.8.1 js-base64: specifier: ^3.7.5 version: 3.7.5 @@ -38,8 +38,8 @@ devDependencies: specifier: ^4.14.200 version: 4.14.200 '@types/node': - specifier: ^20.8.9 - version: 20.8.9 + specifier: ^20.8.10 + version: 20.8.10 '@types/pako': specifier: ^2.0.2 version: 2.0.2 @@ -47,20 +47,20 @@ devDependencies: specifier: ^7.5.4 version: 7.5.4 '@typescript-eslint/eslint-plugin': - specifier: ^6.9.0 - version: 6.9.0(@typescript-eslint/parser@6.9.0)(eslint@8.52.0)(typescript@5.2.2) + specifier: ^6.9.1 + version: 6.9.1(@typescript-eslint/parser@6.9.1)(eslint@8.53.0)(typescript@5.2.2) '@typescript-eslint/parser': - specifier: ^6.9.0 - version: 6.9.0(eslint@8.52.0)(typescript@5.2.2) + specifier: ^6.9.1 + version: 6.9.1(eslint@8.53.0)(typescript@5.2.2) eslint: - specifier: ^8.52.0 - version: 8.52.0 + specifier: ^8.53.0 + version: 8.53.0 eslint-plugin-import: specifier: ^2.29.0 - version: 2.29.0(@typescript-eslint/parser@6.9.0)(eslint@8.52.0) + version: 2.29.0(@typescript-eslint/parser@6.9.1)(eslint@8.53.0) eslint-plugin-prefer-arrow: specifier: ^1.2.3 - version: 1.2.3(eslint@8.52.0) + version: 1.2.3(eslint@8.53.0) prettier: specifier: ^3.0.3 version: 3.0.3 @@ -69,7 +69,7 @@ devDependencies: version: 2.8.0 ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@20.8.9)(typescript@5.2.2) + version: 10.9.1(@types/node@20.8.10)(typescript@5.2.2) tslib: specifier: ^2.6.2 version: 2.6.2 @@ -324,13 +324,13 @@ packages: dependencies: '@jridgewell/trace-mapping': 0.3.9 - /@eslint-community/eslint-utils@4.4.0(eslint@8.52.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.53.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.52.0 + eslint: 8.53.0 eslint-visitor-keys: 3.4.3 dev: true @@ -339,8 +339,8 @@ packages: engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true - /@eslint/eslintrc@2.1.2: - resolution: {integrity: sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==} + /@eslint/eslintrc@2.1.3: + resolution: {integrity: sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 @@ -356,13 +356,13 @@ packages: - supports-color dev: true - /@eslint/js@8.52.0: - resolution: {integrity: sha512-mjZVbpaeMZludF2fsWLD0Z9gCref1Tk4i9+wddjRvpUNqqcndPkBD09N/Mapey0b3jaXbLm2kICwFv2E64QinA==} + /@eslint/js@8.53.0: + resolution: {integrity: sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@ethereum-attestation-service/eas-contracts@1.2.0-beta.1(ts-node@10.9.1)(typescript@5.2.2): - resolution: {integrity: sha512-NOicVFjm3UOY6HHmMPIpFTZJ7ieuETl7GRJyceW/CPPXxMMBBu9tf9eDVbVrDn6D7fYX3NMDIR39RoK5BhpWYA==} + /@ethereum-attestation-service/eas-contracts@1.3.0-beta.0(ts-node@10.9.1)(typescript@5.2.2): + resolution: {integrity: sha512-RMXoJakoxO3KIpqTFJKSN0Hsij07yIMgapRcAnwiQTDS4llbxaKc3kki2RTJ9hmwai/wpyOQZYGYgIC0iGxnrA==} dependencies: hardhat: 2.18.2(ts-node@10.9.1)(typescript@5.2.2) transitivePeerDependencies: @@ -1283,13 +1283,13 @@ packages: /@types/bn.js@4.11.6: resolution: {integrity: sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==} dependencies: - '@types/node': 20.8.9 + '@types/node': 20.8.10 dev: false - /@types/bn.js@5.1.3: - resolution: {integrity: sha512-wT1B4iIO82ecXkdN6waCK8Ou7E71WU+mP1osDA5Q8c6Ur+ozU2vIKUIhSpUr6uE5L2YHocKS1Z2jG2fBC1YVeg==} + /@types/bn.js@5.1.4: + resolution: {integrity: sha512-ZtBd9L8hVtoBpPMSWfbwjC4dhQtJdlPS+e1A0Rydb7vg7bDcUwiRklPx24sMYtXcmAMST/k0Wze7JLbNU/5SkA==} dependencies: - '@types/node': 20.8.9 + '@types/node': 20.8.10 dev: false /@types/debug@4.1.10: @@ -1322,8 +1322,8 @@ packages: resolution: {integrity: sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==} dev: false - /@types/node@20.8.9: - resolution: {integrity: sha512-UzykFsT3FhHb1h7yD4CA4YhBHq545JC0YnEz41xkipN88eKQtL6rSgocL5tbAP6Ola9Izm/Aw4Ora8He4x0BHg==} + /@types/node@20.8.10: + resolution: {integrity: sha512-TlgT8JntpcbmKUFzjhsyhGfP2fsiz1Mv56im6enJ905xG1DAYesxJaeSbGqQmAw8OWPdhyJGhGSQGKRNJ45u9w==} dependencies: undici-types: 5.26.5 @@ -1342,28 +1342,28 @@ packages: /@types/pbkdf2@3.1.1: resolution: {integrity: sha512-4HCoGwR3221nOc7G0Z/6KgTNGgaaFGkbGrtUJsB+zlKX2LBVjFHHIUkieMBgHHXgBH5Gq6dZHJKdBYdtlhBQvw==} dependencies: - '@types/node': 20.8.9 + '@types/node': 20.8.10 dev: false /@types/readable-stream@2.3.15: resolution: {integrity: sha512-oM5JSKQCcICF1wvGgmecmHldZ48OZamtMxcGGVICOJA8o8cahXC1zEVAif8iwoc5j8etxFaRFnf095+CDsuoFQ==} dependencies: - '@types/node': 20.8.9 + '@types/node': 20.8.10 safe-buffer: 5.1.2 dev: false /@types/secp256k1@4.0.5: resolution: {integrity: sha512-aIonTBMErtE3T9MxDvTZRzcrT/mCqpEZBw3CCY/i+oG9n57N/+7obBkhFgavUAIrX21bU0LHg1XRgtaLdelBhA==} dependencies: - '@types/node': 20.8.9 + '@types/node': 20.8.10 dev: false /@types/semver@7.5.4: resolution: {integrity: sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==} dev: true - /@typescript-eslint/eslint-plugin@6.9.0(@typescript-eslint/parser@6.9.0)(eslint@8.52.0)(typescript@5.2.2): - resolution: {integrity: sha512-lgX7F0azQwRPB7t7WAyeHWVfW1YJ9NIgd9mvGhfQpRY56X6AVf8mwM8Wol+0z4liE7XX3QOt8MN1rUKCfSjRIA==} + /@typescript-eslint/eslint-plugin@6.9.1(@typescript-eslint/parser@6.9.1)(eslint@8.53.0)(typescript@5.2.2): + resolution: {integrity: sha512-w0tiiRc9I4S5XSXXrMHOWgHgxbrBn1Ro+PmiYhSg2ZVdxrAJtQgzU5o2m1BfP6UOn7Vxcc6152vFjQfmZR4xEg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha @@ -1374,13 +1374,13 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 6.9.0(eslint@8.52.0)(typescript@5.2.2) - '@typescript-eslint/scope-manager': 6.9.0 - '@typescript-eslint/type-utils': 6.9.0(eslint@8.52.0)(typescript@5.2.2) - '@typescript-eslint/utils': 6.9.0(eslint@8.52.0)(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.9.0 + '@typescript-eslint/parser': 6.9.1(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/scope-manager': 6.9.1 + '@typescript-eslint/type-utils': 6.9.1(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.9.1(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.9.1 debug: 4.3.4(supports-color@8.1.1) - eslint: 8.52.0 + eslint: 8.53.0 graphemer: 1.4.0 ignore: 5.2.4 natural-compare: 1.4.0 @@ -1391,8 +1391,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@6.9.0(eslint@8.52.0)(typescript@5.2.2): - resolution: {integrity: sha512-GZmjMh4AJ/5gaH4XF2eXA8tMnHWP+Pm1mjQR2QN4Iz+j/zO04b9TOvJYOX2sCNIQHtRStKTxRY1FX7LhpJT4Gw==} + /@typescript-eslint/parser@6.9.1(eslint@8.53.0)(typescript@5.2.2): + resolution: {integrity: sha512-C7AK2wn43GSaCUZ9do6Ksgi2g3mwFkMO3Cis96kzmgudoVaKyt62yNzJOktP0HDLb/iO2O0n2lBOzJgr6Q/cyg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -1401,27 +1401,27 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.9.0 - '@typescript-eslint/types': 6.9.0 - '@typescript-eslint/typescript-estree': 6.9.0(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.9.0 + '@typescript-eslint/scope-manager': 6.9.1 + '@typescript-eslint/types': 6.9.1 + '@typescript-eslint/typescript-estree': 6.9.1(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.9.1 debug: 4.3.4(supports-color@8.1.1) - eslint: 8.52.0 + eslint: 8.53.0 typescript: 5.2.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager@6.9.0: - resolution: {integrity: sha512-1R8A9Mc39n4pCCz9o79qRO31HGNDvC7UhPhv26TovDsWPBDx+Sg3rOZdCELIA3ZmNoWAuxaMOT7aWtGRSYkQxw==} + /@typescript-eslint/scope-manager@6.9.1: + resolution: {integrity: sha512-38IxvKB6NAne3g/+MyXMs2Cda/Sz+CEpmm+KLGEM8hx/CvnSRuw51i8ukfwB/B/sESdeTGet1NH1Wj7I0YXswg==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.9.0 - '@typescript-eslint/visitor-keys': 6.9.0 + '@typescript-eslint/types': 6.9.1 + '@typescript-eslint/visitor-keys': 6.9.1 dev: true - /@typescript-eslint/type-utils@6.9.0(eslint@8.52.0)(typescript@5.2.2): - resolution: {integrity: sha512-XXeahmfbpuhVbhSOROIzJ+b13krFmgtc4GlEuu1WBT+RpyGPIA4Y/eGnXzjbDj5gZLzpAXO/sj+IF/x2GtTMjQ==} + /@typescript-eslint/type-utils@6.9.1(eslint@8.53.0)(typescript@5.2.2): + resolution: {integrity: sha512-eh2oHaUKCK58qIeYp19F5V5TbpM52680sB4zNSz29VBQPTWIlE/hCj5P5B1AChxECe/fmZlspAWFuRniep1Skg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -1430,23 +1430,23 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.9.0(typescript@5.2.2) - '@typescript-eslint/utils': 6.9.0(eslint@8.52.0)(typescript@5.2.2) + '@typescript-eslint/typescript-estree': 6.9.1(typescript@5.2.2) + '@typescript-eslint/utils': 6.9.1(eslint@8.53.0)(typescript@5.2.2) debug: 4.3.4(supports-color@8.1.1) - eslint: 8.52.0 + eslint: 8.53.0 ts-api-utils: 1.0.3(typescript@5.2.2) typescript: 5.2.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types@6.9.0: - resolution: {integrity: sha512-+KB0lbkpxBkBSiVCuQvduqMJy+I1FyDbdwSpM3IoBS7APl4Bu15lStPjgBIdykdRqQNYqYNMa8Kuidax6phaEw==} + /@typescript-eslint/types@6.9.1: + resolution: {integrity: sha512-BUGslGOb14zUHOUmDB2FfT6SI1CcZEJYfF3qFwBeUrU6srJfzANonwRYHDpLBuzbq3HaoF2XL2hcr01c8f8OaQ==} engines: {node: ^16.0.0 || >=18.0.0} dev: true - /@typescript-eslint/typescript-estree@6.9.0(typescript@5.2.2): - resolution: {integrity: sha512-NJM2BnJFZBEAbCfBP00zONKXvMqihZCrmwCaik0UhLr0vAgb6oguXxLX1k00oQyD+vZZ+CJn3kocvv2yxm4awQ==} + /@typescript-eslint/typescript-estree@6.9.1(typescript@5.2.2): + resolution: {integrity: sha512-U+mUylTHfcqeO7mLWVQ5W/tMLXqVpRv61wm9ZtfE5egz7gtnmqVIw9ryh0mgIlkKk9rZLY3UHygsBSdB9/ftyw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -1454,8 +1454,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.9.0 - '@typescript-eslint/visitor-keys': 6.9.0 + '@typescript-eslint/types': 6.9.1 + '@typescript-eslint/visitor-keys': 6.9.1 debug: 4.3.4(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 @@ -1466,30 +1466,30 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@6.9.0(eslint@8.52.0)(typescript@5.2.2): - resolution: {integrity: sha512-5Wf+Jsqya7WcCO8me504FBigeQKVLAMPmUzYgDbWchINNh1KJbxCgVya3EQ2MjvJMVeXl3pofRmprqX6mfQkjQ==} + /@typescript-eslint/utils@6.9.1(eslint@8.53.0)(typescript@5.2.2): + resolution: {integrity: sha512-L1T0A5nFdQrMVunpZgzqPL6y2wVreSyHhKGZryS6jrEN7bD9NplVAyMryUhXsQ4TWLnZmxc2ekar/lSGIlprCA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.52.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) '@types/json-schema': 7.0.14 '@types/semver': 7.5.4 - '@typescript-eslint/scope-manager': 6.9.0 - '@typescript-eslint/types': 6.9.0 - '@typescript-eslint/typescript-estree': 6.9.0(typescript@5.2.2) - eslint: 8.52.0 + '@typescript-eslint/scope-manager': 6.9.1 + '@typescript-eslint/types': 6.9.1 + '@typescript-eslint/typescript-estree': 6.9.1(typescript@5.2.2) + eslint: 8.53.0 semver: 7.5.4 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys@6.9.0: - resolution: {integrity: sha512-dGtAfqjV6RFOtIP8I0B4ZTBRrlTT8NHHlZZSchQx3qReaoDeXhYM++M4So2AgFK9ZB0emRPA6JI1HkafzA2Ibg==} + /@typescript-eslint/visitor-keys@6.9.1: + resolution: {integrity: sha512-MUaPUe/QRLEffARsmNfmpghuQkW436DvESW+h+M52w0coICHRfD6Np9/K6PdACwnrq1HmuLl+cSPZaJmeVPkSw==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.9.0 + '@typescript-eslint/types': 6.9.1 eslint-visitor-keys: 3.4.3 dev: true @@ -1780,8 +1780,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001554 - electron-to-chromium: 1.4.568 + caniuse-lite: 1.0.30001561 + electron-to-chromium: 1.4.576 node-releases: 2.0.13 update-browserslist-db: 1.0.13(browserslist@4.22.1) dev: true @@ -1838,8 +1838,8 @@ packages: engines: {node: '>=10'} dev: false - /caniuse-lite@1.0.30001554: - resolution: {integrity: sha512-A2E3U//MBwbJVzebddm1YfNp7Nud5Ip+IPn4BozBmn4KqVX7AvluoIDFWjsv5OkGnKUXQVmMSoMKLa3ScCblcQ==} + /caniuse-lite@1.0.30001561: + resolution: {integrity: sha512-NTt0DNoKe958Q0BE0j0c1V9jbUzhBxHIEJy7asmGrpE0yG63KTV7PLHPnK2E1O9RsQrQ081I3NLuXGS6zht3cw==} dev: true /case@1.6.3: @@ -2094,8 +2094,8 @@ packages: esutils: 2.0.3 dev: true - /electron-to-chromium@1.4.568: - resolution: {integrity: sha512-3TCOv8+BY6Ltpt1/CmGBMups2IdKOyfEmz4J8yIS4xLSeMm0Rf+psSaxLuswG9qMKt+XbNbmADybtXGpTFlbDg==} + /electron-to-chromium@1.4.576: + resolution: {integrity: sha512-yXsZyXJfAqzWk1WKryr0Wl0MN2D47xodPvEEwlVePBnhU5E7raevLQR+E6b9JAD3GfL/7MbAL9ZtWQQPcLx7wA==} dev: true /elliptic@6.5.4: @@ -2224,7 +2224,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.9.0)(eslint-import-resolver-node@0.3.9)(eslint@8.52.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.9.1)(eslint-import-resolver-node@0.3.9)(eslint@8.53.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -2245,15 +2245,15 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.9.0(eslint@8.52.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.9.1(eslint@8.53.0)(typescript@5.2.2) debug: 3.2.7 - eslint: 8.52.0 + eslint: 8.53.0 eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.9.0)(eslint@8.52.0): + /eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.9.1)(eslint@8.53.0): resolution: {integrity: sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==} engines: {node: '>=4'} peerDependencies: @@ -2263,16 +2263,16 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.9.0(eslint@8.52.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.9.1(eslint@8.53.0)(typescript@5.2.2) array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 array.prototype.flat: 1.3.2 array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.52.0 + eslint: 8.53.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.9.0)(eslint-import-resolver-node@0.3.9)(eslint@8.52.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.9.1)(eslint-import-resolver-node@0.3.9)(eslint@8.53.0) hasown: 2.0.0 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -2288,12 +2288,12 @@ packages: - supports-color dev: true - /eslint-plugin-prefer-arrow@1.2.3(eslint@8.52.0): + /eslint-plugin-prefer-arrow@1.2.3(eslint@8.53.0): resolution: {integrity: sha512-J9I5PKCOJretVuiZRGvPQxCbllxGAV/viI20JO3LYblAodofBxyMnZAJ+WGeClHgANnSJberTNoFWWjrWKBuXQ==} peerDependencies: eslint: '>=2.0.0' dependencies: - eslint: 8.52.0 + eslint: 8.53.0 dev: true /eslint-scope@7.2.2: @@ -2309,15 +2309,15 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint@8.52.0: - resolution: {integrity: sha512-zh/JHnaixqHZsolRB/w9/02akBk9EPrOs9JwcTP2ek7yL5bVvXuRariiaAjjoJ5DvuwQ1WAE/HsMz+w17YgBCg==} + /eslint@8.53.0: + resolution: {integrity: sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.52.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) '@eslint-community/regexpp': 4.10.0 - '@eslint/eslintrc': 2.1.2 - '@eslint/js': 8.52.0 + '@eslint/eslintrc': 2.1.3 + '@eslint/js': 8.53.0 '@humanwhocodes/config-array': 0.11.13 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 @@ -2484,8 +2484,8 @@ packages: - utf-8-validate dev: false - /ethers@6.8.0: - resolution: {integrity: sha512-zrFbmQRlraM+cU5mE4CZTLBurZTs2gdp2ld0nG/f3ecBK+x6lZ69KSxBqZ4NjclxwfTxl5LeNufcBbMsTdY53Q==} + /ethers@6.8.1: + resolution: {integrity: sha512-iEKm6zox5h1lDn6scuRWdIdFJUCGg3+/aQWu0F4K0GVyEZiktFkqrJbRjTn1FlYEPz7RKA707D6g5Kdk6j7Ljg==} engines: {node: '>=14.0.0'} dependencies: '@adraffy/ens-normalize': 1.10.0 @@ -2626,7 +2626,7 @@ packages: dependencies: graceful-fs: 4.2.11 jsonfile: 6.1.0 - universalify: 2.0.0 + universalify: 2.0.1 dev: true /fs-extra@7.0.1: @@ -2803,7 +2803,7 @@ packages: '@nomicfoundation/ethereumjs-vm': 7.0.2 '@nomicfoundation/solidity-analyzer': 0.1.1 '@sentry/node': 5.30.0 - '@types/bn.js': 5.1.3 + '@types/bn.js': 5.1.4 '@types/lru-cache': 5.1.1 adm-zip: 0.4.16 aggregate-error: 3.1.0 @@ -2833,10 +2833,10 @@ packages: solc: 0.7.3(debug@4.3.4) source-map-support: 0.5.21 stacktrace-parser: 0.1.10 - ts-node: 10.9.1(@types/node@20.8.9)(typescript@5.2.2) + ts-node: 10.9.1(@types/node@20.8.10)(typescript@5.2.2) tsort: 0.0.1 typescript: 5.2.2 - undici: 5.27.0 + undici: 5.27.2 uuid: 8.3.2 ws: 7.5.9 transitivePeerDependencies: @@ -3226,7 +3226,7 @@ packages: /jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} dependencies: - universalify: 2.0.0 + universalify: 2.0.1 optionalDependencies: graceful-fs: 4.2.11 dev: true @@ -3697,8 +3697,8 @@ packages: hasBin: true dev: true - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} dev: true @@ -4126,7 +4126,7 @@ packages: typescript: 5.2.2 dev: true - /ts-node@10.9.1(@types/node@20.8.9)(typescript@5.2.2): + /ts-node@10.9.1(@types/node@20.8.10)(typescript@5.2.2): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -4145,7 +4145,7 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.8.9 + '@types/node': 20.8.10 acorn: 8.11.2 acorn-walk: 8.3.0 arg: 4.1.3 @@ -4264,8 +4264,8 @@ packages: /undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - /undici@5.27.0: - resolution: {integrity: sha512-l3ydWhlhOJzMVOYkymLykcRRXqbUaQriERtR70B9LzNkZ4bX52Fc8wbTDneMiwo8T+AemZXvXaTx+9o5ROxrXg==} + /undici@5.27.2: + resolution: {integrity: sha512-iS857PdOEy/y3wlM3yRp+6SNQQ6xU0mmZcwRSriqk+et/cwWAtwmIGf6WkoDN2EK/AMdCO/dfXzIwi+rFMrjjQ==} engines: {node: '>=14.0'} dependencies: '@fastify/busboy': 2.0.0 @@ -4276,8 +4276,8 @@ packages: engines: {node: '>= 4.0.0'} dev: false - /universalify@2.0.0: - resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} dev: true @@ -4300,7 +4300,7 @@ packages: /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: - punycode: 2.3.0 + punycode: 2.3.1 dev: true /util-deprecate@1.0.2: diff --git a/src/offchain/delegated-proxy.ts b/src/offchain/delegated-proxy.ts index 5cf0a19..6ac0c30 100644 --- a/src/offchain/delegated-proxy.ts +++ b/src/offchain/delegated-proxy.ts @@ -20,7 +20,8 @@ export { export enum DelegatedProxyAttestationVersion { Legacy = 0, - Version1 = 1 + Version1 = 1, + Version2 = 2 } interface DelegatedProxyAttestationType extends EIP712Types { @@ -60,6 +61,24 @@ const DELEGATED_PROXY_ATTESTATION_TYPES: Record> { - let effectiveParams = params; + let effectiveParams: EIP712FullAttestationProxyParams = { + attester: await signer.getAddress(), + ...params + }; if (this.version === DelegatedProxyAttestationVersion.Legacy) { if (params.value !== 0n) { throw new Error("Committing to a value isn't supported for legacy attestations. Please specify 0 instead"); } - effectiveParams = omit(params, ['value']) as EIP712AttestationParams; + effectiveParams = omit(params, ['value']) as EIP712FullAttestationProxyParams; } return this.signTypedDataRequest( @@ -145,24 +190,31 @@ export class DelegatedProxy extends TypedDataHandler { attester: string, response: EIP712Response ): boolean { - return this.verifyTypedDataRequestSignature(attester, response, { - primaryType: this.attestType.primaryType, - types: this.attestType.types - }); + return this.verifyTypedDataRequestSignature( + attester, + { ...response, message: { attester, ...response.message } }, + { + primaryType: this.attestType.primaryType, + types: this.attestType.types + } + ); } - public signDelegatedProxyRevocation( + public async signDelegatedProxyRevocation( params: EIP712RevocationProxyParams, signer: Signer ): Promise> { - let effectiveParams = params; + let effectiveParams: EIP712FullRevocationProxyParams = { + revoker: await signer.getAddress(), + ...params + }; if (this.version === DelegatedProxyAttestationVersion.Legacy) { if (params.value !== 0n) { throw new Error("Committing to a value isn't supported for legacy revocations. Please specify 0 instead"); } - effectiveParams = omit(params, ['value']) as EIP712RevocationParams; + effectiveParams = omit(params, ['value']) as EIP712FullRevocationProxyParams; } return this.signTypedDataRequest( @@ -178,12 +230,16 @@ export class DelegatedProxy extends TypedDataHandler { } public verifyDelegatedProxyRevocationSignature( - attester: string, + revoker: string, response: EIP712Response ): boolean { - return this.verifyTypedDataRequestSignature(attester, response, { - primaryType: this.revokeType.primaryType, - types: this.revokeType.types - }); + return this.verifyTypedDataRequestSignature( + revoker, + { ...response, message: { revoker, ...response.message } }, + { + primaryType: this.revokeType.primaryType, + types: this.revokeType.types + } + ); } } diff --git a/src/offchain/delegated.ts b/src/offchain/delegated.ts index 5624589..f6be27a 100644 --- a/src/offchain/delegated.ts +++ b/src/offchain/delegated.ts @@ -23,7 +23,8 @@ export const EIP712_NAME = 'EAS'; export enum DelegatedAttestationVersion { Legacy = 0, - Version1 = 1 + Version1 = 1, + Version2 = 2 } interface DelegatedAttestationType extends EIP712Types { @@ -64,6 +65,25 @@ const DELEGATED_ATTESTATION_TYPES: Record> { - let effectiveParams = params; + let effectiveParams: EIP712FullAttestationParams = { + attester: await signer.getAddress(), + ...params + }; if (this.version === DelegatedAttestationVersion.Legacy) { if (params.value !== 0n) { @@ -147,10 +194,10 @@ export class Delegated extends TypedDataHandler { ); } - effectiveParams = omit(params, ['value', 'deadline']) as EIP712AttestationParams; + effectiveParams = omit(params, ['value', 'deadline']) as EIP712FullAttestationParams; } - return this.signTypedDataRequest( + return this.signTypedDataRequest( effectiveParams, { domain: this.getDomainTypedData(), @@ -166,17 +213,24 @@ export class Delegated extends TypedDataHandler { attester: string, response: EIP712Response ): boolean { - return this.verifyTypedDataRequestSignature(attester, response, { - primaryType: this.attestType.primaryType, - types: this.attestType.types - }); + return this.verifyTypedDataRequestSignature( + attester, + { ...response, message: { attester, ...response.message } }, + { + primaryType: this.attestType.primaryType, + types: this.attestType.types + } + ); } - public signDelegatedRevocation( + public async signDelegatedRevocation( params: EIP712RevocationParams, signer: Signer ): Promise> { - let effectiveParams = params; + let effectiveParams: EIP712FullRevocationParams = { + revoker: await signer.getAddress(), + ...params + }; if (this.version === DelegatedAttestationVersion.Legacy) { if (params.value !== 0n) { @@ -189,7 +243,7 @@ export class Delegated extends TypedDataHandler { ); } - effectiveParams = omit(params, ['value', 'deadline']) as EIP712RevocationParams; + effectiveParams = omit(params, ['value', 'deadline']) as EIP712FullRevocationParams; } return this.signTypedDataRequest( @@ -205,12 +259,16 @@ export class Delegated extends TypedDataHandler { } public verifyDelegatedRevocationSignature( - attester: string, + revoker: string, response: EIP712Response ): boolean { - return this.verifyTypedDataRequestSignature(attester, response, { - primaryType: this.revokeType.primaryType, - types: this.revokeType.types - }); + return this.verifyTypedDataRequestSignature( + revoker, + { ...response, message: { revoker, ...response.message } }, + { + primaryType: this.revokeType.primaryType, + types: this.revokeType.types + } + ); } } diff --git a/src/schema-encoder.ts b/src/schema-encoder.ts index 32f5670..fcfecf8 100644 --- a/src/schema-encoder.ts +++ b/src/schema-encoder.ts @@ -1,7 +1,7 @@ -import { ZERO_ADDRESS } from './utils'; import { AbiCoder, encodeBytes32String, FunctionFragment, isBytesLike } from 'ethers'; import { CID } from 'multiformats'; import { MultihashDigest } from 'multiformats/types/src/cid'; +import { ZERO_ADDRESS } from './utils'; export type SchemaValue = | string diff --git a/test/package.json b/test/package.json index 6c1301c..2ec9428 100755 --- a/test/package.json +++ b/test/package.json @@ -8,7 +8,7 @@ "test": "hardhat test" }, "devDependencies": { - "@ethereum-attestation-service/eas-contracts": "1.2.0-beta.1", + "@ethereum-attestation-service/eas-contracts": "1.3.0-beta.0", "@ianvs/prettier-plugin-sort-imports": "^4.1.1", "@nomicfoundation/hardhat-ethers": "^3.0.4", "@nomicfoundation/hardhat-toolbox": "^3.0.0", @@ -18,11 +18,11 @@ "@types/chai": "^4.3.9", "@types/chai-as-promised": "^7.1.7", "@types/mocha": "^10.0.3", - "@types/node": "^20.8.9", + "@types/node": "^20.8.10", "chai-as-promised": "^7.1.1", "chai-bigint": "^0.2.0", "decimal.js": "^10.4.3", - "eslint": "^8.52.0", + "eslint": "^8.53.0", "eslint-config-prettier": "^9.0.0", "eslint-config-standard": "^17.1.0", "eslint-plugin-import": "^2.29.0", @@ -30,7 +30,7 @@ "eslint-plugin-node": "^11.1.0", "eslint-plugin-promise": "^6.1.1", "ethereumjs-util": "^7.1.5", - "ethers": "^6.8.0", + "ethers": "^6.8.1", "glob": "^10.3.10", "hardhat": "2.18.3", "hardhat-dependency-compiler": "^1.1.3", diff --git a/test/pnpm-lock.yaml b/test/pnpm-lock.yaml index e564db2..1bc6e00 100644 --- a/test/pnpm-lock.yaml +++ b/test/pnpm-lock.yaml @@ -6,26 +6,26 @@ settings: devDependencies: '@ethereum-attestation-service/eas-contracts': - specifier: 1.2.0-beta.1 - version: 1.2.0-beta.1(ts-node@10.9.1)(typescript@5.2.2) + specifier: 1.3.0-beta.0 + version: 1.3.0-beta.0(ts-node@10.9.1)(typescript@5.2.2) '@ianvs/prettier-plugin-sort-imports': specifier: ^4.1.1 version: 4.1.1(prettier@3.0.3) '@nomicfoundation/hardhat-ethers': specifier: ^3.0.4 - version: 3.0.4(ethers@6.8.0)(hardhat@2.18.3) + version: 3.0.4(ethers@6.8.1)(hardhat@2.18.3) '@nomicfoundation/hardhat-toolbox': specifier: ^3.0.0 - version: 3.0.0(@nomicfoundation/hardhat-chai-matchers@2.0.2)(@nomicfoundation/hardhat-ethers@3.0.4)(@nomicfoundation/hardhat-network-helpers@1.0.9)(@nomicfoundation/hardhat-verify@1.1.1)(@typechain/ethers-v6@0.5.1)(@typechain/hardhat@9.1.0)(@types/chai@4.3.9)(@types/mocha@10.0.3)(@types/node@20.8.9)(chai@4.3.10)(ethers@6.8.0)(hardhat-gas-reporter@1.0.9)(hardhat@2.18.3)(solidity-coverage@0.8.5)(ts-node@10.9.1)(typechain@8.3.2)(typescript@5.2.2) + version: 3.0.0(@nomicfoundation/hardhat-chai-matchers@2.0.2)(@nomicfoundation/hardhat-ethers@3.0.4)(@nomicfoundation/hardhat-network-helpers@1.0.9)(@nomicfoundation/hardhat-verify@1.1.1)(@typechain/ethers-v6@0.5.1)(@typechain/hardhat@9.1.0)(@types/chai@4.3.9)(@types/mocha@10.0.3)(@types/node@20.8.10)(chai@4.3.10)(ethers@6.8.1)(hardhat-gas-reporter@1.0.9)(hardhat@2.18.3)(solidity-coverage@0.8.5)(ts-node@10.9.1)(typechain@8.3.2)(typescript@5.2.2) '@openzeppelin/contracts': specifier: 4.9.3 version: 4.9.3 '@typechain/ethers-v6': specifier: ^0.5.1 - version: 0.5.1(ethers@6.8.0)(typechain@8.3.2)(typescript@5.2.2) + version: 0.5.1(ethers@6.8.1)(typechain@8.3.2)(typescript@5.2.2) '@typechain/hardhat': specifier: ^9.1.0 - version: 9.1.0(@typechain/ethers-v6@0.5.1)(ethers@6.8.0)(hardhat@2.18.3)(typechain@8.3.2) + version: 9.1.0(@typechain/ethers-v6@0.5.1)(ethers@6.8.1)(hardhat@2.18.3)(typechain@8.3.2) '@types/chai': specifier: ^4.3.9 version: 4.3.9 @@ -36,8 +36,8 @@ devDependencies: specifier: ^10.0.3 version: 10.0.3 '@types/node': - specifier: ^20.8.9 - version: 20.8.9 + specifier: ^20.8.10 + version: 20.8.10 chai-as-promised: specifier: ^7.1.1 version: 7.1.1(chai@4.3.10) @@ -48,32 +48,32 @@ devDependencies: specifier: ^10.4.3 version: 10.4.3 eslint: - specifier: ^8.52.0 - version: 8.52.0 + specifier: ^8.53.0 + version: 8.53.0 eslint-config-prettier: specifier: ^9.0.0 - version: 9.0.0(eslint@8.52.0) + version: 9.0.0(eslint@8.53.0) eslint-config-standard: specifier: ^17.1.0 - version: 17.1.0(eslint-plugin-import@2.29.0)(eslint-plugin-n@16.2.0)(eslint-plugin-promise@6.1.1)(eslint@8.52.0) + version: 17.1.0(eslint-plugin-import@2.29.0)(eslint-plugin-n@16.2.0)(eslint-plugin-promise@6.1.1)(eslint@8.53.0) eslint-plugin-import: specifier: ^2.29.0 - version: 2.29.0(eslint@8.52.0) + version: 2.29.0(eslint@8.53.0) eslint-plugin-n: specifier: ^16.2.0 - version: 16.2.0(eslint@8.52.0) + version: 16.2.0(eslint@8.53.0) eslint-plugin-node: specifier: ^11.1.0 - version: 11.1.0(eslint@8.52.0) + version: 11.1.0(eslint@8.53.0) eslint-plugin-promise: specifier: ^6.1.1 - version: 6.1.1(eslint@8.52.0) + version: 6.1.1(eslint@8.53.0) ethereumjs-util: specifier: ^7.1.5 version: 7.1.5 ethers: - specifier: ^6.8.0 - version: 6.8.0 + specifier: ^6.8.1 + version: 6.8.1 glob: specifier: ^10.3.10 version: 10.3.10 @@ -97,7 +97,7 @@ devDependencies: version: 1.1.3(prettier@3.0.3) ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@20.8.9)(typescript@5.2.2) + version: 10.9.1(@types/node@20.8.10)(typescript@5.2.2) typechain: specifier: ^8.3.2 version: 8.3.2(typescript@5.2.2) @@ -353,13 +353,13 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.52.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.53.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.52.0 + eslint: 8.53.0 eslint-visitor-keys: 3.4.3 dev: true @@ -368,8 +368,8 @@ packages: engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true - /@eslint/eslintrc@2.1.2: - resolution: {integrity: sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==} + /@eslint/eslintrc@2.1.3: + resolution: {integrity: sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 @@ -385,13 +385,13 @@ packages: - supports-color dev: true - /@eslint/js@8.52.0: - resolution: {integrity: sha512-mjZVbpaeMZludF2fsWLD0Z9gCref1Tk4i9+wddjRvpUNqqcndPkBD09N/Mapey0b3jaXbLm2kICwFv2E64QinA==} + /@eslint/js@8.53.0: + resolution: {integrity: sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@ethereum-attestation-service/eas-contracts@1.2.0-beta.1(ts-node@10.9.1)(typescript@5.2.2): - resolution: {integrity: sha512-NOicVFjm3UOY6HHmMPIpFTZJ7ieuETl7GRJyceW/CPPXxMMBBu9tf9eDVbVrDn6D7fYX3NMDIR39RoK5BhpWYA==} + /@ethereum-attestation-service/eas-contracts@1.3.0-beta.0(ts-node@10.9.1)(typescript@5.2.2): + resolution: {integrity: sha512-RMXoJakoxO3KIpqTFJKSN0Hsij07yIMgapRcAnwiQTDS4llbxaKc3kki2RTJ9hmwai/wpyOQZYGYgIC0iGxnrA==} dependencies: hardhat: 2.18.2(ts-node@10.9.1)(typescript@5.2.2) transitivePeerDependencies: @@ -1046,7 +1046,7 @@ packages: - utf-8-validate dev: true - /@nomicfoundation/hardhat-chai-matchers@2.0.2(@nomicfoundation/hardhat-ethers@3.0.4)(chai@4.3.10)(ethers@6.8.0)(hardhat@2.18.3): + /@nomicfoundation/hardhat-chai-matchers@2.0.2(@nomicfoundation/hardhat-ethers@3.0.4)(chai@4.3.10)(ethers@6.8.1)(hardhat@2.18.3): resolution: {integrity: sha512-9Wu9mRtkj0U9ohgXYFbB/RQDa+PcEdyBm2suyEtsJf3PqzZEEjLUZgWnMjlFhATMk/fp3BjmnYVPrwl+gr8oEw==} peerDependencies: '@nomicfoundation/hardhat-ethers': ^3.0.0 @@ -1054,24 +1054,24 @@ packages: ethers: ^6.1.0 hardhat: ^2.9.4 dependencies: - '@nomicfoundation/hardhat-ethers': 3.0.4(ethers@6.8.0)(hardhat@2.18.3) + '@nomicfoundation/hardhat-ethers': 3.0.4(ethers@6.8.1)(hardhat@2.18.3) '@types/chai-as-promised': 7.1.7 chai: 4.3.10 chai-as-promised: 7.1.1(chai@4.3.10) deep-eql: 4.1.3 - ethers: 6.8.0 + ethers: 6.8.1 hardhat: 2.18.3(ts-node@10.9.1)(typescript@5.2.2) ordinal: 1.0.3 dev: true - /@nomicfoundation/hardhat-ethers@3.0.4(ethers@6.8.0)(hardhat@2.18.3): + /@nomicfoundation/hardhat-ethers@3.0.4(ethers@6.8.1)(hardhat@2.18.3): resolution: {integrity: sha512-k9qbLoY7qn6C6Y1LI0gk2kyHXil2Tauj4kGzQ8pgxYXIGw8lWn8tuuL72E11CrlKaXRUvOgF0EXrv/msPI2SbA==} peerDependencies: ethers: ^6.1.0 hardhat: ^2.0.0 dependencies: debug: 4.3.4(supports-color@8.1.1) - ethers: 6.8.0 + ethers: 6.8.1 hardhat: 2.18.3(ts-node@10.9.1)(typescript@5.2.2) lodash.isequal: 4.5.0 transitivePeerDependencies: @@ -1087,7 +1087,7 @@ packages: hardhat: 2.18.3(ts-node@10.9.1)(typescript@5.2.2) dev: true - /@nomicfoundation/hardhat-toolbox@3.0.0(@nomicfoundation/hardhat-chai-matchers@2.0.2)(@nomicfoundation/hardhat-ethers@3.0.4)(@nomicfoundation/hardhat-network-helpers@1.0.9)(@nomicfoundation/hardhat-verify@1.1.1)(@typechain/ethers-v6@0.5.1)(@typechain/hardhat@9.1.0)(@types/chai@4.3.9)(@types/mocha@10.0.3)(@types/node@20.8.9)(chai@4.3.10)(ethers@6.8.0)(hardhat-gas-reporter@1.0.9)(hardhat@2.18.3)(solidity-coverage@0.8.5)(ts-node@10.9.1)(typechain@8.3.2)(typescript@5.2.2): + /@nomicfoundation/hardhat-toolbox@3.0.0(@nomicfoundation/hardhat-chai-matchers@2.0.2)(@nomicfoundation/hardhat-ethers@3.0.4)(@nomicfoundation/hardhat-network-helpers@1.0.9)(@nomicfoundation/hardhat-verify@1.1.1)(@typechain/ethers-v6@0.5.1)(@typechain/hardhat@9.1.0)(@types/chai@4.3.9)(@types/mocha@10.0.3)(@types/node@20.8.10)(chai@4.3.10)(ethers@6.8.1)(hardhat-gas-reporter@1.0.9)(hardhat@2.18.3)(solidity-coverage@0.8.5)(ts-node@10.9.1)(typechain@8.3.2)(typescript@5.2.2): resolution: {integrity: sha512-MsteDXd0UagMksqm9KvcFG6gNKYNa3GGNCy73iQ6bEasEgg2v8Qjl6XA5hjs8o5UD5A3153B6W2BIVJ8SxYUtA==} peerDependencies: '@nomicfoundation/hardhat-chai-matchers': ^2.0.0 @@ -1108,21 +1108,21 @@ packages: typechain: ^8.2.0 typescript: '>=4.5.0' dependencies: - '@nomicfoundation/hardhat-chai-matchers': 2.0.2(@nomicfoundation/hardhat-ethers@3.0.4)(chai@4.3.10)(ethers@6.8.0)(hardhat@2.18.3) - '@nomicfoundation/hardhat-ethers': 3.0.4(ethers@6.8.0)(hardhat@2.18.3) + '@nomicfoundation/hardhat-chai-matchers': 2.0.2(@nomicfoundation/hardhat-ethers@3.0.4)(chai@4.3.10)(ethers@6.8.1)(hardhat@2.18.3) + '@nomicfoundation/hardhat-ethers': 3.0.4(ethers@6.8.1)(hardhat@2.18.3) '@nomicfoundation/hardhat-network-helpers': 1.0.9(hardhat@2.18.3) '@nomicfoundation/hardhat-verify': 1.1.1(hardhat@2.18.3) - '@typechain/ethers-v6': 0.5.1(ethers@6.8.0)(typechain@8.3.2)(typescript@5.2.2) - '@typechain/hardhat': 9.1.0(@typechain/ethers-v6@0.5.1)(ethers@6.8.0)(hardhat@2.18.3)(typechain@8.3.2) + '@typechain/ethers-v6': 0.5.1(ethers@6.8.1)(typechain@8.3.2)(typescript@5.2.2) + '@typechain/hardhat': 9.1.0(@typechain/ethers-v6@0.5.1)(ethers@6.8.1)(hardhat@2.18.3)(typechain@8.3.2) '@types/chai': 4.3.9 '@types/mocha': 10.0.3 - '@types/node': 20.8.9 + '@types/node': 20.8.10 chai: 4.3.10 - ethers: 6.8.0 + ethers: 6.8.1 hardhat: 2.18.3(ts-node@10.9.1)(typescript@5.2.2) hardhat-gas-reporter: 1.0.9(hardhat@2.18.3) solidity-coverage: 0.8.5(hardhat@2.18.3) - ts-node: 10.9.1(@types/node@20.8.9)(typescript@5.2.2) + ts-node: 10.9.1(@types/node@20.8.10)(typescript@5.2.2) typechain: 8.3.2(typescript@5.2.2) typescript: 5.2.2 dev: true @@ -1141,7 +1141,7 @@ packages: lodash.clonedeep: 4.5.0 semver: 6.3.1 table: 6.8.1 - undici: 5.27.0 + undici: 5.27.2 transitivePeerDependencies: - supports-color dev: true @@ -1279,7 +1279,7 @@ packages: resolution: {integrity: sha512-osvveYtyzdEVbt3OfwwXFr4P2iVBL5u1Q3q4ONBfDY/UpOuXmOlbgwc1xECEboY8wIays8Yt6onaWMUdUbfl0A==} dependencies: '@noble/curves': 1.1.0 - '@noble/hashes': 1.3.2 + '@noble/hashes': 1.3.1 '@scure/base': 1.1.3 dev: true @@ -1293,7 +1293,7 @@ packages: /@scure/bip39@1.2.1: resolution: {integrity: sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==} dependencies: - '@noble/hashes': 1.3.2 + '@noble/hashes': 1.3.1 '@scure/base': 1.1.3 dev: true @@ -1395,21 +1395,21 @@ packages: resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} dev: true - /@typechain/ethers-v6@0.5.1(ethers@6.8.0)(typechain@8.3.2)(typescript@5.2.2): + /@typechain/ethers-v6@0.5.1(ethers@6.8.1)(typechain@8.3.2)(typescript@5.2.2): resolution: {integrity: sha512-F+GklO8jBWlsaVV+9oHaPh5NJdd6rAKN4tklGfInX1Q7h0xPgVLP39Jl3eCulPB5qexI71ZFHwbljx4ZXNfouA==} peerDependencies: ethers: 6.x typechain: ^8.3.2 typescript: '>=4.7.0' dependencies: - ethers: 6.8.0 + ethers: 6.8.1 lodash: 4.17.21 ts-essentials: 7.0.3(typescript@5.2.2) typechain: 8.3.2(typescript@5.2.2) typescript: 5.2.2 dev: true - /@typechain/hardhat@9.1.0(@typechain/ethers-v6@0.5.1)(ethers@6.8.0)(hardhat@2.18.3)(typechain@8.3.2): + /@typechain/hardhat@9.1.0(@typechain/ethers-v6@0.5.1)(ethers@6.8.1)(hardhat@2.18.3)(typechain@8.3.2): resolution: {integrity: sha512-mtaUlzLlkqTlfPwB3FORdejqBskSnh+Jl8AIJGjXNAQfRQ4ofHADPl1+oU7Z3pAJzmZbUXII8MhOLQltcHgKnA==} peerDependencies: '@typechain/ethers-v6': ^0.5.1 @@ -1417,8 +1417,8 @@ packages: hardhat: ^2.9.9 typechain: ^8.3.2 dependencies: - '@typechain/ethers-v6': 0.5.1(ethers@6.8.0)(typechain@8.3.2)(typescript@5.2.2) - ethers: 6.8.0 + '@typechain/ethers-v6': 0.5.1(ethers@6.8.1)(typechain@8.3.2)(typescript@5.2.2) + ethers: 6.8.1 fs-extra: 9.1.0 hardhat: 2.18.3(ts-node@10.9.1)(typescript@5.2.2) typechain: 8.3.2(typescript@5.2.2) @@ -1427,13 +1427,13 @@ packages: /@types/bn.js@4.11.6: resolution: {integrity: sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==} dependencies: - '@types/node': 20.8.9 + '@types/node': 20.8.10 dev: true - /@types/bn.js@5.1.3: - resolution: {integrity: sha512-wT1B4iIO82ecXkdN6waCK8Ou7E71WU+mP1osDA5Q8c6Ur+ozU2vIKUIhSpUr6uE5L2YHocKS1Z2jG2fBC1YVeg==} + /@types/bn.js@5.1.4: + resolution: {integrity: sha512-ZtBd9L8hVtoBpPMSWfbwjC4dhQtJdlPS+e1A0Rydb7vg7bDcUwiRklPx24sMYtXcmAMST/k0Wze7JLbNU/5SkA==} dependencies: - '@types/node': 20.8.9 + '@types/node': 20.8.10 dev: true /@types/chai-as-promised@7.1.7: @@ -1449,20 +1449,20 @@ packages: /@types/concat-stream@1.6.1: resolution: {integrity: sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==} dependencies: - '@types/node': 20.8.9 + '@types/node': 20.8.10 dev: true /@types/form-data@0.0.33: resolution: {integrity: sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==} dependencies: - '@types/node': 20.8.9 + '@types/node': 20.8.10 dev: true /@types/glob@7.2.0: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 20.8.9 + '@types/node': 20.8.10 dev: true /@types/json5@0.0.29: @@ -1489,8 +1489,8 @@ packages: resolution: {integrity: sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==} dev: true - /@types/node@20.8.9: - resolution: {integrity: sha512-UzykFsT3FhHb1h7yD4CA4YhBHq545JC0YnEz41xkipN88eKQtL6rSgocL5tbAP6Ola9Izm/Aw4Ora8He4x0BHg==} + /@types/node@20.8.10: + resolution: {integrity: sha512-TlgT8JntpcbmKUFzjhsyhGfP2fsiz1Mv56im6enJ905xG1DAYesxJaeSbGqQmAw8OWPdhyJGhGSQGKRNJ45u9w==} dependencies: undici-types: 5.26.5 dev: true @@ -1510,7 +1510,7 @@ packages: /@types/pbkdf2@3.1.1: resolution: {integrity: sha512-4HCoGwR3221nOc7G0Z/6KgTNGgaaFGkbGrtUJsB+zlKX2LBVjFHHIUkieMBgHHXgBH5Gq6dZHJKdBYdtlhBQvw==} dependencies: - '@types/node': 20.8.9 + '@types/node': 20.8.10 dev: true /@types/prettier@2.7.3: @@ -1524,14 +1524,14 @@ packages: /@types/readable-stream@2.3.15: resolution: {integrity: sha512-oM5JSKQCcICF1wvGgmecmHldZ48OZamtMxcGGVICOJA8o8cahXC1zEVAif8iwoc5j8etxFaRFnf095+CDsuoFQ==} dependencies: - '@types/node': 20.8.9 + '@types/node': 20.8.10 safe-buffer: 5.1.2 dev: true /@types/secp256k1@4.0.5: resolution: {integrity: sha512-aIonTBMErtE3T9MxDvTZRzcrT/mCqpEZBw3CCY/i+oG9n57N/+7obBkhFgavUAIrX21bU0LHg1XRgtaLdelBhA==} dependencies: - '@types/node': 20.8.9 + '@types/node': 20.8.10 dev: true /@ungap/structured-clone@1.2.0: @@ -1936,8 +1936,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001554 - electron-to-chromium: 1.4.568 + caniuse-lite: 1.0.30001561 + electron-to-chromium: 1.4.576 node-releases: 2.0.13 update-browserslist-db: 1.0.13(browserslist@4.22.1) dev: true @@ -2000,8 +2000,8 @@ packages: engines: {node: '>=10'} dev: true - /caniuse-lite@1.0.30001554: - resolution: {integrity: sha512-A2E3U//MBwbJVzebddm1YfNp7Nud5Ip+IPn4BozBmn4KqVX7AvluoIDFWjsv5OkGnKUXQVmMSoMKLa3ScCblcQ==} + /caniuse-lite@1.0.30001561: + resolution: {integrity: sha512-NTt0DNoKe958Q0BE0j0c1V9jbUzhBxHIEJy7asmGrpE0yG63KTV7PLHPnK2E1O9RsQrQ081I3NLuXGS6zht3cw==} dev: true /case@1.6.3: @@ -2430,8 +2430,8 @@ packages: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} dev: true - /electron-to-chromium@1.4.568: - resolution: {integrity: sha512-3TCOv8+BY6Ltpt1/CmGBMups2IdKOyfEmz4J8yIS4xLSeMm0Rf+psSaxLuswG9qMKt+XbNbmADybtXGpTFlbDg==} + /electron-to-chromium@1.4.576: + resolution: {integrity: sha512-yXsZyXJfAqzWk1WKryr0Wl0MN2D47xodPvEEwlVePBnhU5E7raevLQR+E6b9JAD3GfL/7MbAL9ZtWQQPcLx7wA==} dev: true /elliptic@6.5.4: @@ -2570,16 +2570,16 @@ packages: source-map: 0.2.0 dev: true - /eslint-config-prettier@9.0.0(eslint@8.52.0): + /eslint-config-prettier@9.0.0(eslint@8.53.0): resolution: {integrity: sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.52.0 + eslint: 8.53.0 dev: true - /eslint-config-standard@17.1.0(eslint-plugin-import@2.29.0)(eslint-plugin-n@16.2.0)(eslint-plugin-promise@6.1.1)(eslint@8.52.0): + /eslint-config-standard@17.1.0(eslint-plugin-import@2.29.0)(eslint-plugin-n@16.2.0)(eslint-plugin-promise@6.1.1)(eslint@8.53.0): resolution: {integrity: sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q==} engines: {node: '>=12.0.0'} peerDependencies: @@ -2588,10 +2588,10 @@ packages: eslint-plugin-n: '^15.0.0 || ^16.0.0 ' eslint-plugin-promise: ^6.0.0 dependencies: - eslint: 8.52.0 - eslint-plugin-import: 2.29.0(eslint@8.52.0) - eslint-plugin-n: 16.2.0(eslint@8.52.0) - eslint-plugin-promise: 6.1.1(eslint@8.52.0) + eslint: 8.53.0 + eslint-plugin-import: 2.29.0(eslint@8.53.0) + eslint-plugin-n: 16.2.0(eslint@8.53.0) + eslint-plugin-promise: 6.1.1(eslint@8.53.0) dev: true /eslint-import-resolver-node@0.3.9: @@ -2604,7 +2604,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(eslint-import-resolver-node@0.3.9)(eslint@8.52.0): + /eslint-module-utils@2.8.0(eslint-import-resolver-node@0.3.9)(eslint@8.53.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -2626,35 +2626,35 @@ packages: optional: true dependencies: debug: 3.2.7 - eslint: 8.52.0 + eslint: 8.53.0 eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-es-x@7.2.0(eslint@8.52.0): - resolution: {integrity: sha512-9dvv5CcvNjSJPqnS5uZkqb3xmbeqRLnvXKK7iI5+oK/yTusyc46zbBZKENGsOfojm/mKfszyZb+wNqNPAPeGXA==} + /eslint-plugin-es-x@7.3.0(eslint@8.53.0): + resolution: {integrity: sha512-W9zIs+k00I/I13+Bdkl/zG1MEO07G97XjUSQuH117w620SJ6bHtLUmoMvkGA2oYnI/gNdr+G7BONLyYnFaLLEQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: eslint: '>=8' dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.52.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) '@eslint-community/regexpp': 4.10.0 - eslint: 8.52.0 + eslint: 8.53.0 dev: true - /eslint-plugin-es@3.0.1(eslint@8.52.0): + /eslint-plugin-es@3.0.1(eslint@8.53.0): resolution: {integrity: sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==} engines: {node: '>=8.10.0'} peerDependencies: eslint: '>=4.19.1' dependencies: - eslint: 8.52.0 + eslint: 8.53.0 eslint-utils: 2.1.0 regexpp: 3.2.0 dev: true - /eslint-plugin-import@2.29.0(eslint@8.52.0): + /eslint-plugin-import@2.29.0(eslint@8.53.0): resolution: {integrity: sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==} engines: {node: '>=4'} peerDependencies: @@ -2670,9 +2670,9 @@ packages: array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.52.0 + eslint: 8.53.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(eslint-import-resolver-node@0.3.9)(eslint@8.52.0) + eslint-module-utils: 2.8.0(eslint-import-resolver-node@0.3.9)(eslint@8.53.0) hasown: 2.0.0 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -2688,16 +2688,16 @@ packages: - supports-color dev: true - /eslint-plugin-n@16.2.0(eslint@8.52.0): + /eslint-plugin-n@16.2.0(eslint@8.53.0): resolution: {integrity: sha512-AQER2jEyQOt1LG6JkGJCCIFotzmlcCZFur2wdKrp1JX2cNotC7Ae0BcD/4lLv3lUAArM9uNS8z/fsvXTd0L71g==} engines: {node: '>=16.0.0'} peerDependencies: eslint: '>=7.0.0' dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.52.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) builtins: 5.0.1 - eslint: 8.52.0 - eslint-plugin-es-x: 7.2.0(eslint@8.52.0) + eslint: 8.53.0 + eslint-plugin-es-x: 7.3.0(eslint@8.53.0) get-tsconfig: 4.7.2 ignore: 5.2.4 is-core-module: 2.13.1 @@ -2706,14 +2706,14 @@ packages: semver: 7.5.4 dev: true - /eslint-plugin-node@11.1.0(eslint@8.52.0): + /eslint-plugin-node@11.1.0(eslint@8.53.0): resolution: {integrity: sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==} engines: {node: '>=8.10.0'} peerDependencies: eslint: '>=5.16.0' dependencies: - eslint: 8.52.0 - eslint-plugin-es: 3.0.1(eslint@8.52.0) + eslint: 8.53.0 + eslint-plugin-es: 3.0.1(eslint@8.53.0) eslint-utils: 2.1.0 ignore: 5.2.4 minimatch: 3.1.2 @@ -2721,13 +2721,13 @@ packages: semver: 6.3.1 dev: true - /eslint-plugin-promise@6.1.1(eslint@8.52.0): + /eslint-plugin-promise@6.1.1(eslint@8.53.0): resolution: {integrity: sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: - eslint: 8.52.0 + eslint: 8.53.0 dev: true /eslint-scope@7.2.2: @@ -2755,15 +2755,15 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint@8.52.0: - resolution: {integrity: sha512-zh/JHnaixqHZsolRB/w9/02akBk9EPrOs9JwcTP2ek7yL5bVvXuRariiaAjjoJ5DvuwQ1WAE/HsMz+w17YgBCg==} + /eslint@8.53.0: + resolution: {integrity: sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.52.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) '@eslint-community/regexpp': 4.10.0 - '@eslint/eslintrc': 2.1.2 - '@eslint/js': 8.52.0 + '@eslint/eslintrc': 2.1.3 + '@eslint/js': 8.53.0 '@humanwhocodes/config-array': 0.11.13 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 @@ -2946,7 +2946,7 @@ packages: resolution: {integrity: sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==} engines: {node: '>=10.0.0'} dependencies: - '@types/bn.js': 5.1.3 + '@types/bn.js': 5.1.4 bn.js: 5.2.1 create-hash: 1.2.0 ethereum-cryptography: 0.1.3 @@ -2991,8 +2991,8 @@ packages: - utf-8-validate dev: true - /ethers@6.8.0: - resolution: {integrity: sha512-zrFbmQRlraM+cU5mE4CZTLBurZTs2gdp2ld0nG/f3ecBK+x6lZ69KSxBqZ4NjclxwfTxl5LeNufcBbMsTdY53Q==} + /ethers@6.8.1: + resolution: {integrity: sha512-iEKm6zox5h1lDn6scuRWdIdFJUCGg3+/aQWu0F4K0GVyEZiktFkqrJbRjTn1FlYEPz7RKA707D6g5Kdk6j7Ljg==} engines: {node: '>=14.0.0'} dependencies: '@adraffy/ens-normalize': 1.10.0 @@ -3177,7 +3177,7 @@ packages: dependencies: graceful-fs: 4.2.11 jsonfile: 6.1.0 - universalify: 2.0.0 + universalify: 2.0.1 dev: true /fs-extra@7.0.1: @@ -3205,7 +3205,7 @@ packages: at-least-node: 1.0.0 graceful-fs: 4.2.11 jsonfile: 6.1.0 - universalify: 2.0.0 + universalify: 2.0.1 dev: true /fs-readdir-recursive@1.1.0: @@ -3492,7 +3492,7 @@ packages: '@nomicfoundation/ethereumjs-vm': 7.0.2 '@nomicfoundation/solidity-analyzer': 0.1.1 '@sentry/node': 5.30.0 - '@types/bn.js': 5.1.3 + '@types/bn.js': 5.1.4 '@types/lru-cache': 5.1.1 adm-zip: 0.4.16 aggregate-error: 3.1.0 @@ -3522,10 +3522,10 @@ packages: solc: 0.7.3(debug@4.3.4) source-map-support: 0.5.21 stacktrace-parser: 0.1.10 - ts-node: 10.9.1(@types/node@20.8.9)(typescript@5.2.2) + ts-node: 10.9.1(@types/node@20.8.10)(typescript@5.2.2) tsort: 0.0.1 typescript: 5.2.2 - undici: 5.27.0 + undici: 5.27.2 uuid: 8.3.2 ws: 7.5.9 transitivePeerDependencies: @@ -3560,7 +3560,7 @@ packages: '@nomicfoundation/ethereumjs-vm': 7.0.2 '@nomicfoundation/solidity-analyzer': 0.1.1 '@sentry/node': 5.30.0 - '@types/bn.js': 5.1.3 + '@types/bn.js': 5.1.4 '@types/lru-cache': 5.1.1 adm-zip: 0.4.16 aggregate-error: 3.1.0 @@ -3590,10 +3590,10 @@ packages: solc: 0.7.3(debug@4.3.4) source-map-support: 0.5.21 stacktrace-parser: 0.1.10 - ts-node: 10.9.1(@types/node@20.8.9)(typescript@5.2.2) + ts-node: 10.9.1(@types/node@20.8.10)(typescript@5.2.2) tsort: 0.0.1 typescript: 5.2.2 - undici: 5.27.0 + undici: 5.27.2 uuid: 8.3.2 ws: 7.5.9 transitivePeerDependencies: @@ -4052,7 +4052,7 @@ packages: /jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} dependencies: - universalify: 2.0.0 + universalify: 2.0.1 optionalDependencies: graceful-fs: 4.2.11 dev: true @@ -4718,8 +4718,8 @@ packages: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} dev: true - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} dev: true @@ -5431,7 +5431,7 @@ packages: typescript: 5.2.2 dev: true - /ts-node@10.9.1(@types/node@20.8.9)(typescript@5.2.2): + /ts-node@10.9.1(@types/node@20.8.10)(typescript@5.2.2): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -5450,7 +5450,7 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.8.9 + '@types/node': 20.8.10 acorn: 8.11.2 acorn-walk: 8.3.0 arg: 4.1.3 @@ -5625,8 +5625,8 @@ packages: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} dev: true - /undici@5.27.0: - resolution: {integrity: sha512-l3ydWhlhOJzMVOYkymLykcRRXqbUaQriERtR70B9LzNkZ4bX52Fc8wbTDneMiwo8T+AemZXvXaTx+9o5ROxrXg==} + /undici@5.27.2: + resolution: {integrity: sha512-iS857PdOEy/y3wlM3yRp+6SNQQ6xU0mmZcwRSriqk+et/cwWAtwmIGf6WkoDN2EK/AMdCO/dfXzIwi+rFMrjjQ==} engines: {node: '>=14.0'} dependencies: '@fastify/busboy': 2.0.0 @@ -5637,8 +5637,8 @@ packages: engines: {node: '>= 4.0.0'} dev: true - /universalify@2.0.0: - resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} dev: true @@ -5661,7 +5661,7 @@ packages: /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: - punycode: 2.3.0 + punycode: 2.3.1 dev: true /utf8@3.0.0: diff --git a/test/test/eip712-proxy.ts b/test/test/eip712-proxy.ts index fda733b..a951ff0 100644 --- a/test/test/eip712-proxy.ts +++ b/test/test/eip712-proxy.ts @@ -1,9 +1,9 @@ +import { EAS, EIP712Proxy as EIP712ProxyContract, SchemaRegistry } from '@ethereum-attestation-service/eas-contracts'; +import { Signer } from 'ethers'; +import { ethers } from 'hardhat'; import { EIP712Proxy } from '../../src/eip712-proxy'; import Contracts from '../components/Contracts'; import chai from './helpers/chai'; -import { EAS, EIP712Proxy as EIP712ProxyContract, SchemaRegistry } from '@ethereum-attestation-service/eas-contracts'; -import { ethers } from 'hardhat'; -import { Signer } from 'ethers'; const { expect } = chai; diff --git a/test/test/utils.ts b/test/test/utils.ts index 626572e..bfdab72 100644 --- a/test/test/utils.ts +++ b/test/test/utils.ts @@ -1,7 +1,7 @@ +import { hexlify, solidityPackedKeccak256, toUtf8Bytes } from 'ethers'; import { getSchemaUID, getUID } from '../../src/utils'; import { ZERO_ADDRESS, ZERO_BYTES32 } from '../utils/Constants'; import chai from './helpers/chai'; -import { toUtf8Bytes, hexlify, solidityPackedKeccak256 } from 'ethers'; const { expect } = chai;