From 4940b8509d91c2486a88ae4674d0614ebb982dbf Mon Sep 17 00:00:00 2001 From: lgalende Date: Fri, 15 Dec 2023 15:45:18 -0300 Subject: [PATCH 1/7] authorizer: rename hasPermissions function --- .../authorizer/certora/specs/Authorizer.spec | 2 +- packages/authorizer/contracts/Authorized.sol | 2 +- packages/authorizer/contracts/Authorizer.sol | 2 +- .../contracts/interfaces/IAuthorizer.sol | 2 +- packages/authorizer/test/Authorizer.test.ts | 60 +++++++++---------- 5 files changed, 34 insertions(+), 34 deletions(-) diff --git a/packages/authorizer/certora/specs/Authorizer.spec b/packages/authorizer/certora/specs/Authorizer.spec index 00201127..4a8f8b03 100644 --- a/packages/authorizer/certora/specs/Authorizer.spec +++ b/packages/authorizer/certora/specs/Authorizer.spec @@ -13,7 +13,7 @@ methods { // Authorizer function ANYONE() external returns (address) envfree => ALWAYS(0xFFfFfFffFFfffFFfFFfFFFFFffFFFffffFfFFFfF); function ANYWHERE() external returns (address) envfree => ALWAYS(0xFFfFfFffFFfffFFfFFfFFFFFffFFFffffFfFFFfF); - function hasPermissions(address,address) external returns (bool) envfree; + function hasAnyPermission(address,address) external returns (bool) envfree; function hasPermission(address,address,bytes4) external returns (bool) envfree; function isAuthorized(address,address,bytes4,uint256[]) external returns (bool) envfree; function getPermissionParams(address,address,bytes4) external returns (IAuthorizer.Param[]) envfree; diff --git a/packages/authorizer/contracts/Authorized.sol b/packages/authorizer/contracts/Authorized.sol index 7410aaaa..5fbdd024 100644 --- a/packages/authorizer/contracts/Authorized.sol +++ b/packages/authorizer/contracts/Authorized.sol @@ -92,7 +92,7 @@ contract Authorized is IAuthorized, Initializable, AuthorizedHelpers { * @param who Address asking permissions for */ function _hasPermissions(address who) internal view returns (bool) { - return IAuthorizer(authorizer).hasPermissions(who, address(this)); + return IAuthorizer(authorizer).hasAnyPermission(who, address(this)); } /** diff --git a/packages/authorizer/contracts/Authorizer.sol b/packages/authorizer/contracts/Authorizer.sol index 0c8ef8b7..0721a594 100644 --- a/packages/authorizer/contracts/Authorizer.sol +++ b/packages/authorizer/contracts/Authorizer.sol @@ -89,7 +89,7 @@ contract Authorizer is IAuthorizer, AuthorizedHelpers, Initializable, Reentrancy * @param who Address asking permission for * @param where Target address asking permission for */ - function hasPermissions(address who, address where) external view override returns (bool) { + function hasAnyPermission(address who, address where) external view override returns (bool) { return _permissionsLists[who][where].count > 0; } diff --git a/packages/authorizer/contracts/interfaces/IAuthorizer.sol b/packages/authorizer/contracts/interfaces/IAuthorizer.sol index ed8a518b..4e23f476 100644 --- a/packages/authorizer/contracts/interfaces/IAuthorizer.sol +++ b/packages/authorizer/contracts/interfaces/IAuthorizer.sol @@ -86,7 +86,7 @@ interface IAuthorizer { * @param who Address asking permission for * @param where Target address asking permission for */ - function hasPermissions(address who, address where) external view returns (bool); + function hasAnyPermission(address who, address where) external view returns (bool); /** * @dev Tells the number of permissions `who` has on `where` diff --git a/packages/authorizer/test/Authorizer.test.ts b/packages/authorizer/test/Authorizer.test.ts index 23961e80..cfa542ca 100644 --- a/packages/authorizer/test/Authorizer.test.ts +++ b/packages/authorizer/test/Authorizer.test.ts @@ -37,7 +37,7 @@ describe('Authorizer', () => { const authorizeRole = authorizer.interface.getSighash('authorize') const unauthorizeRole = authorizer.interface.getSighash('unauthorize') - expect(await authorizer.hasPermissions(admin.address, authorizer.address)).to.be.true + expect(await authorizer.hasAnyPermission(admin.address, authorizer.address)).to.be.true expect(await authorizer.getPermissionsLength(admin.address, authorizer.address)).to.be.equal(2) expect(await authorizer.isAuthorized(admin.address, authorizer.address, authorizeRole, [])).to.be.true @@ -46,7 +46,7 @@ describe('Authorizer', () => { expect(await authorizer.hasPermission(admin.address, authorizer.address, authorizeRole)).to.be.true expect(await authorizer.hasPermission(admin.address, authorizer.address, unauthorizeRole)).to.be.true - expect(await authorizer.hasPermissions(anotherAdmin.address, authorizer.address)).to.be.true + expect(await authorizer.hasAnyPermission(anotherAdmin.address, authorizer.address)).to.be.true expect(await authorizer.getPermissionsLength(anotherAdmin.address, authorizer.address)).to.be.equal(2) expect(await authorizer.isAuthorized(anotherAdmin.address, authorizer.address, authorizeRole, [])).to.be.true @@ -57,7 +57,7 @@ describe('Authorizer', () => { }) it('does not allow admins on other permissions or other targets', async () => { - expect(await authorizer.hasPermissions(WHO, WHERE)).to.be.false + expect(await authorizer.hasAnyPermission(WHO, WHERE)).to.be.false expect(await authorizer.getPermissionsLength(WHO, WHERE)).to.be.equal(0) expect(await authorizer.isAuthorized(WHO, WHERE, WHAT, [])).to.be.false @@ -65,7 +65,7 @@ describe('Authorizer', () => { expect(await authorizer.hasPermission(WHO, WHERE, WHAT)).to.be.false - expect(await authorizer.hasPermissions(ANYONE, WHERE)).to.be.false + expect(await authorizer.hasAnyPermission(ANYONE, WHERE)).to.be.false expect(await authorizer.getPermissionsLength(ANYONE, WHERE)).to.be.equal(0) expect(await authorizer.isAuthorized(ANYONE, WHERE, WHAT, [])).to.be.false @@ -73,7 +73,7 @@ describe('Authorizer', () => { expect(await authorizer.hasPermission(ANYONE, WHERE, WHAT)).to.be.false - expect(await authorizer.hasPermissions(WHO, ANYWHERE)).to.be.false + expect(await authorizer.hasAnyPermission(WHO, ANYWHERE)).to.be.false expect(await authorizer.getPermissionsLength(WHO, ANYWHERE)).to.be.equal(0) expect(await authorizer.isAuthorized(WHO, ANYWHERE, WHAT, [])).to.be.false @@ -116,27 +116,27 @@ describe('Authorizer', () => { it('increments the number of permissions correctly', async () => { await authorizer.authorize(WHO, WHERE, WHAT, PARAMS) - expect(await authorizer.hasPermissions(WHO, WHERE)).to.be.true + expect(await authorizer.hasAnyPermission(WHO, WHERE)).to.be.true expect(await authorizer.getPermissionsLength(WHO, WHERE)).to.be.equal(1) await authorizer.authorize(WHO, WHERE, WHAT, PARAMS) - expect(await authorizer.hasPermissions(WHO, WHERE)).to.be.true + expect(await authorizer.hasAnyPermission(WHO, WHERE)).to.be.true expect(await authorizer.getPermissionsLength(WHO, WHERE)).to.be.equal(1) await authorizer.authorize(WHO, WHERE, WHAT2, PARAMS) - expect(await authorizer.hasPermissions(WHO, WHERE)).to.be.true + expect(await authorizer.hasAnyPermission(WHO, WHERE)).to.be.true expect(await authorizer.getPermissionsLength(WHO, WHERE)).to.be.equal(2) await authorizer.authorize(WHO, WHERE2, WHAT2, PARAMS) - expect(await authorizer.hasPermissions(WHO, WHERE)).to.be.true + expect(await authorizer.hasAnyPermission(WHO, WHERE)).to.be.true expect(await authorizer.getPermissionsLength(WHO, WHERE)).to.be.equal(2) await authorizer.authorize(WHO2, WHERE, WHAT2, PARAMS) - expect(await authorizer.hasPermissions(WHO, WHERE)).to.be.true + expect(await authorizer.hasAnyPermission(WHO, WHERE)).to.be.true expect(await authorizer.getPermissionsLength(WHO, WHERE)).to.be.equal(2) }) }) @@ -508,24 +508,24 @@ describe('Authorizer', () => { it('decrements the number of permissions correctly', async () => { await authorizer.unauthorize(WHO, WHERE, WHAT) - expect(await authorizer.hasPermissions(WHO, WHERE)).to.be.false + expect(await authorizer.hasAnyPermission(WHO, WHERE)).to.be.false expect(await authorizer.getPermissionsLength(WHO, WHERE)).to.be.equal(0) await authorizer.authorize(WHO, WHERE, WHAT, []) await authorizer.authorize(WHO, WHERE, WHAT2, []) - expect(await authorizer.hasPermissions(WHO, WHERE)).to.be.true + expect(await authorizer.hasAnyPermission(WHO, WHERE)).to.be.true expect(await authorizer.getPermissionsLength(WHO, WHERE)).to.be.equal(2) await authorizer.unauthorize(WHO, WHERE, WHAT) await authorizer.unauthorize(WHO, WHERE, WHAT) - expect(await authorizer.hasPermissions(WHO, WHERE)).to.be.true + expect(await authorizer.hasAnyPermission(WHO, WHERE)).to.be.true expect(await authorizer.getPermissionsLength(WHO, WHERE)).to.be.equal(1) await authorizer.unauthorize(WHO, WHERE, WHAT2) - expect(await authorizer.hasPermissions(WHO, WHERE)).to.be.false + expect(await authorizer.hasAnyPermission(WHO, WHERE)).to.be.false expect(await authorizer.getPermissionsLength(WHO, WHERE)).to.be.equal(0) }) }) @@ -631,12 +631,12 @@ describe('Authorizer', () => { }) it('someone does not have permissions', async () => { - expect(await authorizer.hasPermissions(someone, WHERE)).to.be.false + expect(await authorizer.hasAnyPermission(someone, WHERE)).to.be.false expect(await authorizer.getPermissionsLength(someone, WHERE)).to.be.equal(0) }) it('anyone does not have permission', async () => { - expect(await authorizer.hasPermissions(ANYONE, WHERE)).to.be.false + expect(await authorizer.hasAnyPermission(ANYONE, WHERE)).to.be.false expect(await authorizer.getPermissionsLength(ANYONE, WHERE)).to.be.equal(0) }) }) @@ -652,12 +652,12 @@ describe('Authorizer', () => { }) it('someone has permissions', async () => { - expect(await authorizer.hasPermissions(someone, WHERE)).to.be.true + expect(await authorizer.hasAnyPermission(someone, WHERE)).to.be.true expect(await authorizer.getPermissionsLength(someone, WHERE)).to.be.equal(1) }) it('anyone does not have permission', async () => { - expect(await authorizer.hasPermissions(ANYONE, WHERE)).to.be.false + expect(await authorizer.hasAnyPermission(ANYONE, WHERE)).to.be.false expect(await authorizer.getPermissionsLength(ANYONE, WHERE)).to.be.equal(0) }) }) @@ -677,12 +677,12 @@ describe('Authorizer', () => { }) it('someone does not have permissions', async () => { - expect(await authorizer.hasPermissions(someone, WHERE)).to.be.false + expect(await authorizer.hasAnyPermission(someone, WHERE)).to.be.false expect(await authorizer.getPermissionsLength(someone, WHERE)).to.be.equal(0) }) it('anyone has permissions', async () => { - expect(await authorizer.hasPermissions(ANYONE, WHERE)).to.be.true + expect(await authorizer.hasAnyPermission(ANYONE, WHERE)).to.be.true expect(await authorizer.getPermissionsLength(ANYONE, WHERE)).to.be.equal(1) }) }) @@ -700,12 +700,12 @@ describe('Authorizer', () => { }) it('someone has permissions', async () => { - expect(await authorizer.hasPermissions(someone, WHERE)).to.be.true + expect(await authorizer.hasAnyPermission(someone, WHERE)).to.be.true expect(await authorizer.getPermissionsLength(someone, WHERE)).to.be.equal(1) }) it('anyone has permissions', async () => { - expect(await authorizer.hasPermissions(ANYONE, WHERE)).to.be.true + expect(await authorizer.hasAnyPermission(ANYONE, WHERE)).to.be.true expect(await authorizer.getPermissionsLength(ANYONE, WHERE)).to.be.equal(1) }) }) @@ -727,12 +727,12 @@ describe('Authorizer', () => { }) it('does not have permissions over somewhere', async () => { - expect(await authorizer.hasPermissions(WHO, somewhere)).to.be.false + expect(await authorizer.hasAnyPermission(WHO, somewhere)).to.be.false expect(await authorizer.getPermissionsLength(WHO, somewhere)).to.be.equal(0) }) it('does not have permissions over anywhere', async () => { - expect(await authorizer.hasPermissions(WHO, ANYWHERE)).to.be.false + expect(await authorizer.hasAnyPermission(WHO, ANYWHERE)).to.be.false expect(await authorizer.getPermissionsLength(WHO, ANYWHERE)).to.be.equal(0) }) }) @@ -748,12 +748,12 @@ describe('Authorizer', () => { }) it('has permissions over somewhere', async () => { - expect(await authorizer.hasPermissions(WHO, somewhere)).to.be.true + expect(await authorizer.hasAnyPermission(WHO, somewhere)).to.be.true expect(await authorizer.getPermissionsLength(WHO, somewhere)).to.be.equal(1) }) it('does not have permissions over anywhere', async () => { - expect(await authorizer.hasPermissions(WHO, ANYWHERE)).to.be.false + expect(await authorizer.hasAnyPermission(WHO, ANYWHERE)).to.be.false expect(await authorizer.getPermissionsLength(WHO, ANYWHERE)).to.be.equal(0) }) }) @@ -773,12 +773,12 @@ describe('Authorizer', () => { }) it('does not have permissions over somewhere', async () => { - expect(await authorizer.hasPermissions(WHO, somewhere)).to.be.false + expect(await authorizer.hasAnyPermission(WHO, somewhere)).to.be.false expect(await authorizer.getPermissionsLength(WHO, somewhere)).to.be.equal(0) }) it('has permissions over anywhere', async () => { - expect(await authorizer.hasPermissions(WHO, ANYWHERE)).to.be.true + expect(await authorizer.hasAnyPermission(WHO, ANYWHERE)).to.be.true expect(await authorizer.getPermissionsLength(WHO, ANYWHERE)).to.be.equal(1) }) }) @@ -796,12 +796,12 @@ describe('Authorizer', () => { }) it('has permissions over somewhere', async () => { - expect(await authorizer.hasPermissions(WHO, somewhere)).to.be.true + expect(await authorizer.hasAnyPermission(WHO, somewhere)).to.be.true expect(await authorizer.getPermissionsLength(WHO, somewhere)).to.be.equal(1) }) it('has permissions over anywhere', async () => { - expect(await authorizer.hasPermissions(WHO, ANYWHERE)).to.be.true + expect(await authorizer.hasAnyPermission(WHO, ANYWHERE)).to.be.true expect(await authorizer.getPermissionsLength(WHO, ANYWHERE)).to.be.equal(1) }) }) From 1a4fb2ae37545a3b324f5f42b6e7994791f60398 Mon Sep 17 00:00:00 2001 From: lgalende Date: Fri, 15 Dec 2023 19:21:34 -0300 Subject: [PATCH 2/7] authorizer: rename authorized internal function --- packages/authorizer/contracts/Authorized.sol | 2 +- packages/smart-vault/contracts/SmartVault.sol | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/authorizer/contracts/Authorized.sol b/packages/authorizer/contracts/Authorized.sol index 5fbdd024..3ba3bc4e 100644 --- a/packages/authorizer/contracts/Authorized.sol +++ b/packages/authorizer/contracts/Authorized.sol @@ -91,7 +91,7 @@ contract Authorized is IAuthorized, Initializable, AuthorizedHelpers { * @dev Tells whether `who` has any permission on this contract * @param who Address asking permissions for */ - function _hasPermissions(address who) internal view returns (bool) { + function _hasAnyPermission(address who) internal view returns (bool) { return IAuthorizer(authorizer).hasAnyPermission(who, address(this)); } diff --git a/packages/smart-vault/contracts/SmartVault.sol b/packages/smart-vault/contracts/SmartVault.sol index 9d2dc790..8d209441 100644 --- a/packages/smart-vault/contracts/SmartVault.sol +++ b/packages/smart-vault/contracts/SmartVault.sol @@ -118,7 +118,7 @@ contract SmartVault is ISmartVault, Authorized, ReentrancyGuardUpgradeable { * @dev Tells whether someone has any permission over the smart vault */ function hasPermissions(address who) external view override returns (bool) { - return _hasPermissions(who); + return _hasAnyPermission(who); } /** From 0f06df7fc78b4690070c1a6230f5b90ab286f03e Mon Sep 17 00:00:00 2001 From: lgalende Date: Sat, 16 Dec 2023 11:33:50 -0300 Subject: [PATCH 3/7] smart vault: rename hasPermissions function --- packages/relayer/certora/helpers/Helpers.sol | 4 ++-- packages/relayer/certora/specs/Relayer.spec | 2 +- packages/relayer/contracts/Relayer.sol | 4 ++-- packages/smart-vault/contracts/SmartVault.sol | 2 +- packages/smart-vault/contracts/interfaces/ISmartVault.sol | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/relayer/certora/helpers/Helpers.sol b/packages/relayer/certora/helpers/Helpers.sol index 11b3a17d..457f338e 100644 --- a/packages/relayer/certora/helpers/Helpers.sol +++ b/packages/relayer/certora/helpers/Helpers.sol @@ -19,8 +19,8 @@ contract Helpers { address taskSmartVault = ITask(tasks[i]).smartVault(); if (taskSmartVault != smartVault) return false; - bool hasPermissions = ISmartVault(smartVault).hasPermissions(tasks[i]); - if (!hasPermissions) return false; + bool hasAnyPermission = ISmartVault(smartVault).hasAnyPermission(tasks[i]); + if (!hasAnyPermission) return false; } return true; diff --git a/packages/relayer/certora/specs/Relayer.spec b/packages/relayer/certora/specs/Relayer.spec index d84dcd22..875c80b1 100644 --- a/packages/relayer/certora/specs/Relayer.spec +++ b/packages/relayer/certora/specs/Relayer.spec @@ -24,7 +24,7 @@ methods { // Wildcard entries function _.smartVault() external => PER_CALLEE_CONSTANT; - function _.hasPermissions(address) external => PER_CALLEE_CONSTANT; + function _.hasAnyPermission(address) external => PER_CALLEE_CONSTANT; } diff --git a/packages/relayer/contracts/Relayer.sol b/packages/relayer/contracts/Relayer.sol index 480e27fb..f6ac7043 100644 --- a/packages/relayer/contracts/Relayer.sol +++ b/packages/relayer/contracts/Relayer.sol @@ -226,8 +226,8 @@ contract Relayer is IRelayer, Ownable { // Note the validation below is the only one made on task, by checking that the smart vault that will pay for the gas is somehow related to it. // This check is critical since the smart vault is not referenced again inside this function. - bool hasPermissions = ISmartVault(smartVault).hasPermissions(task); - if (!hasPermissions) revert RelayerTaskDoesNotHavePermissions(task, smartVault); + bool hasAnyPermission = ISmartVault(smartVault).hasAnyPermission(task); + if (!hasAnyPermission) revert RelayerTaskDoesNotHavePermissions(task, smartVault); // Note if `task` were an EOA the line below would succeed, resulting in a false positive. This is prevented a few lines above by making sure `task` is a contract that implements ITask. // solhint-disable-next-line avoid-low-level-calls diff --git a/packages/smart-vault/contracts/SmartVault.sol b/packages/smart-vault/contracts/SmartVault.sol index 8d209441..4830f46c 100644 --- a/packages/smart-vault/contracts/SmartVault.sol +++ b/packages/smart-vault/contracts/SmartVault.sol @@ -117,7 +117,7 @@ contract SmartVault is ISmartVault, Authorized, ReentrancyGuardUpgradeable { /** * @dev Tells whether someone has any permission over the smart vault */ - function hasPermissions(address who) external view override returns (bool) { + function hasAnyPermission(address who) external view override returns (bool) { return _hasAnyPermission(who); } diff --git a/packages/smart-vault/contracts/interfaces/ISmartVault.sol b/packages/smart-vault/contracts/interfaces/ISmartVault.sol index e9b23f57..a371279c 100644 --- a/packages/smart-vault/contracts/interfaces/ISmartVault.sol +++ b/packages/smart-vault/contracts/interfaces/ISmartVault.sol @@ -171,7 +171,7 @@ interface ISmartVault is IAuthorized { /** * @dev Tells whether someone has any permission over the smart vault */ - function hasPermissions(address who) external view returns (bool); + function hasAnyPermission(address who) external view returns (bool); /** * @dev Pauses a smart vault From 21d57b02b1c2ec435ef3145935496d154485a686 Mon Sep 17 00:00:00 2001 From: lgalende Date: Sat, 16 Dec 2023 11:43:44 -0300 Subject: [PATCH 4/7] chore: update authorizer dependencies version --- packages/deployer/package.json | 2 +- packages/smart-vault/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/deployer/package.json b/packages/deployer/package.json index 659857d3..eca8e96a 100644 --- a/packages/deployer/package.json +++ b/packages/deployer/package.json @@ -18,7 +18,7 @@ "prepare": "yarn build" }, "dependencies": { - "@mimic-fi/v3-authorizer": "0.1.0", + "@mimic-fi/v3-authorizer": "0.1.1", "@mimic-fi/v3-helpers": "0.1.0", "@mimic-fi/v3-price-oracle": "0.1.0", "@mimic-fi/v3-registry": "0.1.0", diff --git a/packages/smart-vault/package.json b/packages/smart-vault/package.json index 49585a09..a5202bc0 100644 --- a/packages/smart-vault/package.json +++ b/packages/smart-vault/package.json @@ -20,7 +20,7 @@ "prove:ci": "yarn prove --solc solc8.17" }, "dependencies": { - "@mimic-fi/v3-authorizer": "0.1.0", + "@mimic-fi/v3-authorizer": "0.1.1", "@mimic-fi/v3-fee-controller": "0.1.0", "@mimic-fi/v3-helpers": "0.1.0", "@mimic-fi/v3-price-oracle": "0.1.0", From c8e26686fc8204f4e92c3b94f920db5e4833ac54 Mon Sep 17 00:00:00 2001 From: lgalende Date: Mon, 18 Dec 2023 14:47:36 -0300 Subject: [PATCH 5/7] chore: upgrade authorizer and smart vault package --- packages/authorizer/package.json | 2 +- packages/deployer/package.json | 4 ++-- packages/relayer/package.json | 2 +- packages/smart-vault/package.json | 4 ++-- packages/tasks/package.json | 4 ++-- yarn.lock | 26 ++++++++++++++++++++++++++ 6 files changed, 34 insertions(+), 8 deletions(-) diff --git a/packages/authorizer/package.json b/packages/authorizer/package.json index 92848b3d..e4714f49 100644 --- a/packages/authorizer/package.json +++ b/packages/authorizer/package.json @@ -1,6 +1,6 @@ { "name": "@mimic-fi/v3-authorizer", - "version": "0.1.1", + "version": "0.1.2", "license": "GPL-3.0", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/deployer/package.json b/packages/deployer/package.json index eca8e96a..bc8fbc29 100644 --- a/packages/deployer/package.json +++ b/packages/deployer/package.json @@ -18,11 +18,11 @@ "prepare": "yarn build" }, "dependencies": { - "@mimic-fi/v3-authorizer": "0.1.1", + "@mimic-fi/v3-authorizer": "0.1.2", "@mimic-fi/v3-helpers": "0.1.0", "@mimic-fi/v3-price-oracle": "0.1.0", "@mimic-fi/v3-registry": "0.1.0", - "@mimic-fi/v3-smart-vault": "0.1.0", + "@mimic-fi/v3-smart-vault": "0.1.1", "@openzeppelin/contracts": "4.9.3", "solmate": "^6.7.0" }, diff --git a/packages/relayer/package.json b/packages/relayer/package.json index 028cdaa2..f3c645f9 100644 --- a/packages/relayer/package.json +++ b/packages/relayer/package.json @@ -22,7 +22,7 @@ "dependencies": { "@mimic-fi/v3-helpers": "0.1.0", "@mimic-fi/v3-tasks": "0.1.0", - "@mimic-fi/v3-smart-vault": "0.1.0", + "@mimic-fi/v3-smart-vault": "0.1.1", "@openzeppelin/contracts": "4.9.3" }, "devDependencies": { diff --git a/packages/smart-vault/package.json b/packages/smart-vault/package.json index a5202bc0..e173c8de 100644 --- a/packages/smart-vault/package.json +++ b/packages/smart-vault/package.json @@ -1,6 +1,6 @@ { "name": "@mimic-fi/v3-smart-vault", - "version": "0.1.0", + "version": "0.1.1", "license": "GPL-3.0", "files": [ "artifacts/contracts/**/*", @@ -20,7 +20,7 @@ "prove:ci": "yarn prove --solc solc8.17" }, "dependencies": { - "@mimic-fi/v3-authorizer": "0.1.1", + "@mimic-fi/v3-authorizer": "0.1.2", "@mimic-fi/v3-fee-controller": "0.1.0", "@mimic-fi/v3-helpers": "0.1.0", "@mimic-fi/v3-price-oracle": "0.1.0", diff --git a/packages/tasks/package.json b/packages/tasks/package.json index 0719506a..2a8932bc 100644 --- a/packages/tasks/package.json +++ b/packages/tasks/package.json @@ -22,11 +22,11 @@ "prepare": "yarn build" }, "dependencies": { - "@mimic-fi/v3-authorizer": "0.1.1", + "@mimic-fi/v3-authorizer": "0.1.2", "@mimic-fi/v3-connectors": "0.2.0", "@mimic-fi/v3-helpers": "0.1.9", "@mimic-fi/v3-price-oracle": "0.1.0", - "@mimic-fi/v3-smart-vault": "0.1.0", + "@mimic-fi/v3-smart-vault": "0.1.1", "@openzeppelin/contracts": "4.9.3", "@quant-finance/solidity-datetime": "2.2.0" }, diff --git a/yarn.lock b/yarn.lock index 40cbd2e7..265173a0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -945,6 +945,14 @@ "@mimic-fi/v3-helpers" "0.1.0" "@openzeppelin/contracts" "4.7.0" +"@mimic-fi/v3-authorizer@0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@mimic-fi/v3-authorizer/-/v3-authorizer-0.1.1.tgz#e5fd7191d9735bd4ea82d1a14540ecd04c34e7ca" + integrity sha512-WMKXW0r5LEAMzA3jHnVO5XC/dg/SGTYhzAPw69dWpG9p6Fmw5jXTbSmpvrx5yZs6iTdIvvCjuwFeWnDmVVUYNQ== + dependencies: + "@mimic-fi/v3-helpers" "0.1.0" + "@openzeppelin/contracts" "4.9.3" + "@mimic-fi/v3-connectors@0.1.0": version "0.1.0" resolved "https://registry.yarnpkg.com/@mimic-fi/v3-connectors/-/v3-connectors-0.1.0.tgz#1ed64c2007f6c388d1e2e7911faaca3e5fb160d1" @@ -969,6 +977,19 @@ hardhat "^2.14.1" mocha "^6.2.3" +"@mimic-fi/v3-smart-vault@0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@mimic-fi/v3-smart-vault/-/v3-smart-vault-0.1.0.tgz#8e66b51f81d585e0c114face124ef39018822f4b" + integrity sha512-ooQgjK+3AE/KJTnZVpWRT+1UdJqCk0DmpwSB4d6s+T5K9EV/+RXS/cQkR1oYoShIQYx98rTdxrp2ZI0ofCUZeA== + dependencies: + "@mimic-fi/v3-authorizer" "0.1.0" + "@mimic-fi/v3-fee-controller" "0.1.0" + "@mimic-fi/v3-helpers" "0.1.0" + "@mimic-fi/v3-price-oracle" "0.1.0" + "@mimic-fi/v3-registry" "0.1.0" + "@openzeppelin/contracts" "4.7.0" + "@openzeppelin/contracts-upgradeable" "4.7.0" + "@mimic-fi/v3-tasks@0.1.0": version "0.1.0" resolved "https://registry.yarnpkg.com/@mimic-fi/v3-tasks/-/v3-tasks-0.1.0.tgz#ecd3dd570ec4423758f24e3c34e96d6a452473a9" @@ -1230,6 +1251,11 @@ resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-waffle/-/hardhat-waffle-2.0.6.tgz#d11cb063a5f61a77806053e54009c40ddee49a54" integrity sha512-+Wz0hwmJGSI17B+BhU/qFRZ1l6/xMW82QGXE/Gi+WTmwgJrQefuBs1lIf7hzQ1hLk6hpkvb/zwcNkpVKRYTQYg== +"@openzeppelin/contracts-upgradeable@4.7.0": + version "4.7.0" + resolved "https://registry.yarnpkg.com/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-4.7.0.tgz#6437261286879d353f6de7bf3ac8216bef8a486d" + integrity sha512-wO3PyoAaAV/rA77cK8H4c3SbO98QylTjfiFxyvURUZKTFLV180rnAvna1x7/Nxvt0Gqv+jt1sXKC7ygxsq8iCw== + "@openzeppelin/contracts-upgradeable@4.9.3": version "4.9.3" resolved "https://registry.yarnpkg.com/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-4.9.3.tgz#ff17a80fb945f5102571f8efecb5ce5915cc4811" From b0134763f0d278c8034aabac8740ba1b96d51b54 Mon Sep 17 00:00:00 2001 From: Facu Spagnuolo Date: Mon, 18 Dec 2023 16:39:40 -0300 Subject: [PATCH 6/7] chore: update yarn lock --- yarn.lock | 8 -------- 1 file changed, 8 deletions(-) diff --git a/yarn.lock b/yarn.lock index 265173a0..82840fdd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -945,14 +945,6 @@ "@mimic-fi/v3-helpers" "0.1.0" "@openzeppelin/contracts" "4.7.0" -"@mimic-fi/v3-authorizer@0.1.1": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@mimic-fi/v3-authorizer/-/v3-authorizer-0.1.1.tgz#e5fd7191d9735bd4ea82d1a14540ecd04c34e7ca" - integrity sha512-WMKXW0r5LEAMzA3jHnVO5XC/dg/SGTYhzAPw69dWpG9p6Fmw5jXTbSmpvrx5yZs6iTdIvvCjuwFeWnDmVVUYNQ== - dependencies: - "@mimic-fi/v3-helpers" "0.1.0" - "@openzeppelin/contracts" "4.9.3" - "@mimic-fi/v3-connectors@0.1.0": version "0.1.0" resolved "https://registry.yarnpkg.com/@mimic-fi/v3-connectors/-/v3-connectors-0.1.0.tgz#1ed64c2007f6c388d1e2e7911faaca3e5fb160d1" From 17d5cc5554b4bbaf6108fa8f8b17486cedba7e52 Mon Sep 17 00:00:00 2001 From: lgalende Date: Mon, 18 Dec 2023 22:08:02 -0300 Subject: [PATCH 7/7] relayer: update tasks dependency --- packages/relayer/package.json | 2 +- yarn.lock | 51 ----------------------------------- 2 files changed, 1 insertion(+), 52 deletions(-) diff --git a/packages/relayer/package.json b/packages/relayer/package.json index f3c645f9..882f9d96 100644 --- a/packages/relayer/package.json +++ b/packages/relayer/package.json @@ -21,7 +21,7 @@ }, "dependencies": { "@mimic-fi/v3-helpers": "0.1.0", - "@mimic-fi/v3-tasks": "0.1.0", + "@mimic-fi/v3-tasks": "0.3.0", "@mimic-fi/v3-smart-vault": "0.1.1", "@openzeppelin/contracts": "4.9.3" }, diff --git a/yarn.lock b/yarn.lock index 82840fdd..6a08f653 100644 --- a/yarn.lock +++ b/yarn.lock @@ -937,22 +937,6 @@ "@mimic-fi/v3-helpers" "0.1.0" "@openzeppelin/contracts" "4.9.3" -"@mimic-fi/v3-authorizer@0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@mimic-fi/v3-authorizer/-/v3-authorizer-0.1.0.tgz#10fa3b9c5ac7c3ab95d6c77764376a6707703d09" - integrity sha512-iuJH2u2a73WS4mHj/W6xjl/tqkKB4upRnSKlN8E1YcpE0waVZwSk6vlX5ANPPkYnWzNbaX89y4pQUNjC5cLB+A== - dependencies: - "@mimic-fi/v3-helpers" "0.1.0" - "@openzeppelin/contracts" "4.7.0" - -"@mimic-fi/v3-connectors@0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@mimic-fi/v3-connectors/-/v3-connectors-0.1.0.tgz#1ed64c2007f6c388d1e2e7911faaca3e5fb160d1" - integrity sha512-j32KmY3QtTq9B4p/Ni/UV/chcjElOxbsihxXesTAIxNY26Ug///eXh/+TbTCJ+WpR9G14XZtUFy+oiJ8itQwkA== - dependencies: - "@mimic-fi/v3-helpers" "0.1.0" - "@openzeppelin/contracts" "4.7.0" - "@mimic-fi/v3-helpers@0.1.0": version "0.1.0" resolved "https://registry.yarnpkg.com/@mimic-fi/v3-helpers/-/v3-helpers-0.1.0.tgz#e64ace8cf1d5893ec351301c4b3538e96993dd4d" @@ -969,31 +953,6 @@ hardhat "^2.14.1" mocha "^6.2.3" -"@mimic-fi/v3-smart-vault@0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@mimic-fi/v3-smart-vault/-/v3-smart-vault-0.1.0.tgz#8e66b51f81d585e0c114face124ef39018822f4b" - integrity sha512-ooQgjK+3AE/KJTnZVpWRT+1UdJqCk0DmpwSB4d6s+T5K9EV/+RXS/cQkR1oYoShIQYx98rTdxrp2ZI0ofCUZeA== - dependencies: - "@mimic-fi/v3-authorizer" "0.1.0" - "@mimic-fi/v3-fee-controller" "0.1.0" - "@mimic-fi/v3-helpers" "0.1.0" - "@mimic-fi/v3-price-oracle" "0.1.0" - "@mimic-fi/v3-registry" "0.1.0" - "@openzeppelin/contracts" "4.7.0" - "@openzeppelin/contracts-upgradeable" "4.7.0" - -"@mimic-fi/v3-tasks@0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@mimic-fi/v3-tasks/-/v3-tasks-0.1.0.tgz#ecd3dd570ec4423758f24e3c34e96d6a452473a9" - integrity sha512-Rvj+nUG0SiGjzLm2jXqiK8IoGK/n3OHwvdMxWTU7QHu41Va90VZJbG+V5Rb/+bQMRQ0FWbFG+sge/iZekjRlQw== - dependencies: - "@mimic-fi/v3-authorizer" "0.1.0" - "@mimic-fi/v3-connectors" "0.1.0" - "@mimic-fi/v3-helpers" "0.1.0" - "@mimic-fi/v3-price-oracle" "0.1.0" - "@mimic-fi/v3-smart-vault" "0.1.0" - "@openzeppelin/contracts" "4.7.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" @@ -1243,21 +1202,11 @@ resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-waffle/-/hardhat-waffle-2.0.6.tgz#d11cb063a5f61a77806053e54009c40ddee49a54" integrity sha512-+Wz0hwmJGSI17B+BhU/qFRZ1l6/xMW82QGXE/Gi+WTmwgJrQefuBs1lIf7hzQ1hLk6hpkvb/zwcNkpVKRYTQYg== -"@openzeppelin/contracts-upgradeable@4.7.0": - version "4.7.0" - resolved "https://registry.yarnpkg.com/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-4.7.0.tgz#6437261286879d353f6de7bf3ac8216bef8a486d" - integrity sha512-wO3PyoAaAV/rA77cK8H4c3SbO98QylTjfiFxyvURUZKTFLV180rnAvna1x7/Nxvt0Gqv+jt1sXKC7ygxsq8iCw== - "@openzeppelin/contracts-upgradeable@4.9.3": version "4.9.3" resolved "https://registry.yarnpkg.com/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-4.9.3.tgz#ff17a80fb945f5102571f8efecb5ce5915cc4811" integrity sha512-jjaHAVRMrE4UuZNfDwjlLGDxTHWIOwTJS2ldnc278a0gevfXfPr8hxKEVBGFBE96kl2G3VHDZhUimw/+G3TG2A== -"@openzeppelin/contracts@4.7.0": - version "4.7.0" - resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-4.7.0.tgz#3092d70ea60e3d1835466266b1d68ad47035a2d5" - integrity sha512-52Qb+A1DdOss8QvJrijYYPSf32GUg2pGaG/yCxtaA3cu4jduouTdg4XZSMLW9op54m1jH7J8hoajhHKOPsoJFw== - "@openzeppelin/contracts@4.9.3": version "4.9.3" resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-4.9.3.tgz#00d7a8cf35a475b160b3f0293a6403c511099364"