From 95244cef23802b2ee943a4eada4c265cb0211151 Mon Sep 17 00:00:00 2001 From: SigismundSchlomo Date: Thu, 14 Nov 2024 19:09:13 +0200 Subject: [PATCH 01/14] feat: Add MultisigFactory contract for creating multisig wallets --- .gitignore | 1 + contracts/multisig/IMultisigFactory.sol | 44 ++++++ contracts/multisig/MultisigFactory.sol | 186 ++++++++++++++++++++++++ 3 files changed, 231 insertions(+) create mode 100644 contracts/multisig/IMultisigFactory.sol create mode 100644 contracts/multisig/MultisigFactory.sol diff --git a/.gitignore b/.gitignore index 0892605d..d175822c 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,4 @@ deployments/5256.json .DS_Store +.aider* diff --git a/contracts/multisig/IMultisigFactory.sol b/contracts/multisig/IMultisigFactory.sol new file mode 100644 index 00000000..39f3c9aa --- /dev/null +++ b/contracts/multisig/IMultisigFactory.sol @@ -0,0 +1,44 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.17; + +import "./Multisig.sol"; +import "./MasterMultisig.sol"; + +address constant Igor = 0x55d46039e187b37a0201068dE189ecB63eaE87d2; +address constant Igor2 = 0x85e5e089782a3cAd89D1672DFBd7A9300d635Aa6; +address constant Aleksandr = 0x125854A4Ce5875ca46d1504ECf08897976022563; +address constant Andrii = 0xb16398c0698149Ae6EC342614830bC0511b83CAf; +address constant Seth = 0x6fA040aD7e94f905a29536Ba786D433638FeD19b; +address constant Valerii = 0x5700F8e0ae3d80964f7718EA625E3a2CB4D2096d; +address constant Oleksii = 0xa5E32D3fB342D9Ed3135fD5cb59a102AC8ED7B85; +address constant Olena = 0xe620e1F969Bc3a24Ac96D527220AD6B6e2d12843; +address constant Alina = 0x787afc1E7a61af49D7B94F8E774aC566D1B60e99; +address constant Alex = 0xe8592B3a9ee54472A0115262871eF43B5F3e8E53; +address constant Sophie = 0xBc2e61822443b18070E387F045CcFAD33E6958d0; +address constant Matthieu = 0x37d6bF7e8875137EefA8286e6AEA2cc4bFAF1247; +address constant Michael = 0xB72aDaffEb3419487C49690Dc68e963F7d7D81AC; + +interface IMultisigFactory { + struct MultisigSettings { + address[] signers; + bool[] isInitiatorFlags; + uint threshold; + address owner; + } + + // Events + event MultisigCreated(address indexed multisig); + event MultisigRegistered(address indexed multisig); + + function createEcosystemMultisig() external returns (address); + function createCommonMultisig() external returns (address); + function registerMultisigs(address[] calldata _multisigs) external; + function getEcosystemMultisigsCount() external view returns (uint256); + function getCommonMultisigsCount() external view returns (uint256); + function getAllMultisigsAddresses() external view returns (address[] memory); + function getEcosystemMultisigsAddresses() external view returns (address[] memory); + function getCommonMultisigsAddresses() external view returns (address[] memory); + + +} + diff --git a/contracts/multisig/MultisigFactory.sol b/contracts/multisig/MultisigFactory.sol new file mode 100644 index 00000000..8e6a3cc1 --- /dev/null +++ b/contracts/multisig/MultisigFactory.sol @@ -0,0 +1,186 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.17; + +import "./Multisig.sol"; +import "./MasterMultisig.sol"; +import "./IMultisigFactory.sol"; + +import "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol"; +import "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol"; + +contract MultisigFactory is IMultisigFactory, UUPSUpgradeable, AccessControlUpgradeable { + bytes32 constant public CREATOR_ROLE = keccak256("CREATOR_ROLE"); + // Master multisigs + MultisigSettings public ecosystemMultisigSettings; + MultisigSettings public commonMultisigSettings; + + // Track ecosystem and common multisigs separately + Multisig[] public ecosystemMultisigs; + Multisig[] public commonMultisigs; + mapping(address => bool) public isRegisteredMultisig; + mapping(address => bool) public isEcosystemMultisig; + + function initialize(address ecosystemMaster, address commonMaster) public initializer { + require(ecosystemMaster != address(0), "Invalid ecosystem master"); + require(commonMaster != address(0), "Invalid common master"); + + _setupRole(DEFAULT_ADMIN_ROLE, msg.sender); + _setupRole(CREATOR_ROLE, msg.sender); + __UUPSUpgradeable_init(); + + address[] memory ecoSigners = new address[](3); + ecoSigners[0] = Aleksandr; + ecoSigners[1] = Andrii; + ecoSigners[2] = Igor2; + + bool[] memory ecoFlags = new bool[](3); + ecoFlags[0] = true; + ecoFlags[1] = true; + ecoFlags[2] = true; + + ecosystemMultisigSettings = MultisigSettings({ + signers: ecoSigners, + isInitiatorFlags: ecoFlags, + threshold: 51, + owner: ecosystemMaster + }); + + address[] memory commonSigners = new address[](11); + commonSigners[0] = Valerii; + commonSigners[1] = Oleksii; + commonSigners[2] = Olena; + commonSigners[3] = Igor; + commonSigners[4] = Andrii; + commonSigners[5] = Alina; + commonSigners[6] = Alex; + commonSigners[7] = Seth; + commonSigners[8] = Sophie; + commonSigners[9] = Matthieu; + commonSigners[10] = Michael; + + bool[] memory commonFlags = new bool[](11); + commonFlags[0] = true; + commonFlags[1] = true; + commonFlags[2] = true; + commonFlags[3] = true; + commonFlags[4] = true; + commonFlags[5] = true; + commonFlags[6] = true; + commonFlags[7] = true; + commonFlags[8] = true; + commonFlags[9] = true; + commonFlags[10] = true; + + commonMultisigSettings = MultisigSettings({ + signers: commonSigners, + isInitiatorFlags: commonFlags, + threshold: 50, + owner: commonMaster + }); + } + + // Create new multisig under ecosystem master + function createEcosystemMultisig() external onlyRole(CREATOR_ROLE) returns (address) { + return _createMultisig(ecosystemMultisigSettings); + } + + // Create new multisig under common master + function createCommonMultisig() external onlyRole(CREATOR_ROLE) returns (address) { + return _createMultisig(commonMultisigSettings); + } + + // Register previously deployed multisigs in batch + function registerMultisigs(address[] calldata _multisigs) external onlyRole(CREATOR_ROLE) { + for (uint i = 0; i < _multisigs.length; i++) { + address multisigAddress = _multisigs[i]; + require(multisigAddress != address(0), "Invalid multisig address"); + require(!isRegisteredMultisig[multisigAddress], "Already registered"); + + Multisig multisig = Multisig(multisigAddress); + address master = multisig.owner(); + + if (master == address(ecosystemMultisigSettings.owner)) { + ecosystemMultisigs.push(multisig); + isEcosystemMultisig[multisigAddress] = true; + } else if (master == address(commonMultisigSettings.owner)) { + commonMultisigs.push(multisig); + } else { + revert("Invalid master multisig"); + } + isRegisteredMultisig[multisigAddress] = true; + + emit MultisigRegistered(multisigAddress); + } + } + + // View functions + function getEcosystemMultisigSettings() external view returns (MultisigSettings memory) { + return ecosystemMultisigSettings; + } + + function getCommonMultisigSettings() external view returns (MultisigSettings memory) { + return commonMultisigSettings; + } + + function getEcosystemMultisigsCount() external view returns (uint256) { + return ecosystemMultisigs.length; + } + + function getCommonMultisigsCount() external view returns (uint256) { + return commonMultisigs.length; + } + + function getAllMultisigsAddresses() external view returns (address[] memory) { + uint256 totalLength = ecosystemMultisigs.length + commonMultisigs.length; + address[] memory addresses = new address[](totalLength); + + for (uint i = 0; i < ecosystemMultisigs.length; i++) { + addresses[i] = address(ecosystemMultisigs[i]); + } + + for (uint i = 0; i < commonMultisigs.length; i++) { + addresses[ecosystemMultisigs.length + i] = address(commonMultisigs[i]); + } + + return addresses; + } + + function getEcosystemMultisigsAddresses() external view returns (address[] memory) { + address[] memory addresses = new address[](ecosystemMultisigs.length); + for (uint i = 0; i < ecosystemMultisigs.length; i++) { + addresses[i] = address(ecosystemMultisigs[i]); + } + return addresses; + } + + function getCommonMultisigsAddresses() external view returns (address[] memory) { + address[] memory addresses = new address[](commonMultisigs.length); + for (uint i = 0; i < commonMultisigs.length; i++) { + addresses[i] = address(commonMultisigs[i]); + } + return addresses; + } + + // Internal function to create multisig + function _createMultisig(MultisigSettings memory settings) internal returns (address) { + Multisig newMultisig = new Multisig( + settings.signers, + settings.isInitiatorFlags, + settings.threshold, + settings.owner + ); + + if (settings.owner == address(ecosystemMultisigSettings.owner)) { + ecosystemMultisigs.push(newMultisig); + isEcosystemMultisig[address(newMultisig)] = true; + } else { + commonMultisigs.push(newMultisig); + } + isRegisteredMultisig[address(newMultisig)] = true; + + emit MultisigCreated(address(newMultisig)); + return address(newMultisig); + } + + function _authorizeUpgrade(address) internal override onlyRole(DEFAULT_ADMIN_ROLE) {} +} From 4e590c26be0abf18fdbf6994bb2f76e4b80641e2 Mon Sep 17 00:00:00 2001 From: SigismundSchlomo Date: Mon, 18 Nov 2024 16:24:10 +0200 Subject: [PATCH 02/14] feat: update factory --- contracts/multisig/IMultisigFactory.sol | 25 +--- contracts/multisig/MultisigFactory.sol | 157 ++++-------------------- 2 files changed, 24 insertions(+), 158 deletions(-) diff --git a/contracts/multisig/IMultisigFactory.sol b/contracts/multisig/IMultisigFactory.sol index 39f3c9aa..c51825e3 100644 --- a/contracts/multisig/IMultisigFactory.sol +++ b/contracts/multisig/IMultisigFactory.sol @@ -4,20 +4,6 @@ pragma solidity ^0.8.17; import "./Multisig.sol"; import "./MasterMultisig.sol"; -address constant Igor = 0x55d46039e187b37a0201068dE189ecB63eaE87d2; -address constant Igor2 = 0x85e5e089782a3cAd89D1672DFBd7A9300d635Aa6; -address constant Aleksandr = 0x125854A4Ce5875ca46d1504ECf08897976022563; -address constant Andrii = 0xb16398c0698149Ae6EC342614830bC0511b83CAf; -address constant Seth = 0x6fA040aD7e94f905a29536Ba786D433638FeD19b; -address constant Valerii = 0x5700F8e0ae3d80964f7718EA625E3a2CB4D2096d; -address constant Oleksii = 0xa5E32D3fB342D9Ed3135fD5cb59a102AC8ED7B85; -address constant Olena = 0xe620e1F969Bc3a24Ac96D527220AD6B6e2d12843; -address constant Alina = 0x787afc1E7a61af49D7B94F8E774aC566D1B60e99; -address constant Alex = 0xe8592B3a9ee54472A0115262871eF43B5F3e8E53; -address constant Sophie = 0xBc2e61822443b18070E387F045CcFAD33E6958d0; -address constant Matthieu = 0x37d6bF7e8875137EefA8286e6AEA2cc4bFAF1247; -address constant Michael = 0xB72aDaffEb3419487C49690Dc68e963F7d7D81AC; - interface IMultisigFactory { struct MultisigSettings { address[] signers; @@ -30,15 +16,10 @@ interface IMultisigFactory { event MultisigCreated(address indexed multisig); event MultisigRegistered(address indexed multisig); - function createEcosystemMultisig() external returns (address); - function createCommonMultisig() external returns (address); + function createMultisig(MultisigSettings calldata settings) external returns (address); function registerMultisigs(address[] calldata _multisigs) external; - function getEcosystemMultisigsCount() external view returns (uint256); - function getCommonMultisigsCount() external view returns (uint256); - function getAllMultisigsAddresses() external view returns (address[] memory); - function getEcosystemMultisigsAddresses() external view returns (address[] memory); - function getCommonMultisigsAddresses() external view returns (address[] memory); - + function getMultisigsCount() external view returns (uint256); + function getMultisigsAddresses() external view returns (address[] memory); } diff --git a/contracts/multisig/MultisigFactory.sol b/contracts/multisig/MultisigFactory.sol index 8e6a3cc1..58175d75 100644 --- a/contracts/multisig/MultisigFactory.sol +++ b/contracts/multisig/MultisigFactory.sol @@ -10,15 +10,10 @@ import "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol" contract MultisigFactory is IMultisigFactory, UUPSUpgradeable, AccessControlUpgradeable { bytes32 constant public CREATOR_ROLE = keccak256("CREATOR_ROLE"); - // Master multisigs - MultisigSettings public ecosystemMultisigSettings; - MultisigSettings public commonMultisigSettings; // Track ecosystem and common multisigs separately - Multisig[] public ecosystemMultisigs; - Multisig[] public commonMultisigs; + Multisig[] public multisigs; mapping(address => bool) public isRegisteredMultisig; - mapping(address => bool) public isEcosystemMultisig; function initialize(address ecosystemMaster, address commonMaster) public initializer { require(ecosystemMaster != address(0), "Invalid ecosystem master"); @@ -27,66 +22,21 @@ contract MultisigFactory is IMultisigFactory, UUPSUpgradeable, AccessControlUpgr _setupRole(DEFAULT_ADMIN_ROLE, msg.sender); _setupRole(CREATOR_ROLE, msg.sender); __UUPSUpgradeable_init(); + } - address[] memory ecoSigners = new address[](3); - ecoSigners[0] = Aleksandr; - ecoSigners[1] = Andrii; - ecoSigners[2] = Igor2; - - bool[] memory ecoFlags = new bool[](3); - ecoFlags[0] = true; - ecoFlags[1] = true; - ecoFlags[2] = true; - - ecosystemMultisigSettings = MultisigSettings({ - signers: ecoSigners, - isInitiatorFlags: ecoFlags, - threshold: 51, - owner: ecosystemMaster - }); - - address[] memory commonSigners = new address[](11); - commonSigners[0] = Valerii; - commonSigners[1] = Oleksii; - commonSigners[2] = Olena; - commonSigners[3] = Igor; - commonSigners[4] = Andrii; - commonSigners[5] = Alina; - commonSigners[6] = Alex; - commonSigners[7] = Seth; - commonSigners[8] = Sophie; - commonSigners[9] = Matthieu; - commonSigners[10] = Michael; - - bool[] memory commonFlags = new bool[](11); - commonFlags[0] = true; - commonFlags[1] = true; - commonFlags[2] = true; - commonFlags[3] = true; - commonFlags[4] = true; - commonFlags[5] = true; - commonFlags[6] = true; - commonFlags[7] = true; - commonFlags[8] = true; - commonFlags[9] = true; - commonFlags[10] = true; + function createMultisig(MultisigSettings calldata settings) external onlyRole(CREATOR_ROLE) returns (address) { + Multisig newMultisig = new Multisig( + settings.signers, + settings.isInitiatorFlags, + settings.threshold, + settings.owner + ); - commonMultisigSettings = MultisigSettings({ - signers: commonSigners, - isInitiatorFlags: commonFlags, - threshold: 50, - owner: commonMaster - }); - } - - // Create new multisig under ecosystem master - function createEcosystemMultisig() external onlyRole(CREATOR_ROLE) returns (address) { - return _createMultisig(ecosystemMultisigSettings); - } - - // Create new multisig under common master - function createCommonMultisig() external onlyRole(CREATOR_ROLE) returns (address) { - return _createMultisig(commonMultisigSettings); + multisigs.push(newMultisig); + isRegisteredMultisig[address(newMultisig)] = true; + + emit MultisigCreated(address(newMultisig)); + return address(newMultisig); } // Register previously deployed multisigs in batch @@ -97,16 +47,7 @@ contract MultisigFactory is IMultisigFactory, UUPSUpgradeable, AccessControlUpgr require(!isRegisteredMultisig[multisigAddress], "Already registered"); Multisig multisig = Multisig(multisigAddress); - address master = multisig.owner(); - - if (master == address(ecosystemMultisigSettings.owner)) { - ecosystemMultisigs.push(multisig); - isEcosystemMultisig[multisigAddress] = true; - } else if (master == address(commonMultisigSettings.owner)) { - commonMultisigs.push(multisig); - } else { - revert("Invalid master multisig"); - } + multisigs.push(multisig); isRegisteredMultisig[multisigAddress] = true; emit MultisigRegistered(multisigAddress); @@ -114,73 +55,17 @@ contract MultisigFactory is IMultisigFactory, UUPSUpgradeable, AccessControlUpgr } // View functions - function getEcosystemMultisigSettings() external view returns (MultisigSettings memory) { - return ecosystemMultisigSettings; - } - - function getCommonMultisigSettings() external view returns (MultisigSettings memory) { - return commonMultisigSettings; - } - - function getEcosystemMultisigsCount() external view returns (uint256) { - return ecosystemMultisigs.length; - } - - function getCommonMultisigsCount() external view returns (uint256) { - return commonMultisigs.length; + function getMultisigsCount() external view returns (uint256) { + return multisigs.length; } - function getAllMultisigsAddresses() external view returns (address[] memory) { - uint256 totalLength = ecosystemMultisigs.length + commonMultisigs.length; - address[] memory addresses = new address[](totalLength); - - for (uint i = 0; i < ecosystemMultisigs.length; i++) { - addresses[i] = address(ecosystemMultisigs[i]); - } - - for (uint i = 0; i < commonMultisigs.length; i++) { - addresses[ecosystemMultisigs.length + i] = address(commonMultisigs[i]); + function getMultisigsAddresses() external view returns (address[] memory) { + address[] memory addresses = new address[](multisigs.length); + for (uint i = 0; i < multisigs.length; i++) { + addresses[i] = address(multisigs[i]); } - return addresses; } - - function getEcosystemMultisigsAddresses() external view returns (address[] memory) { - address[] memory addresses = new address[](ecosystemMultisigs.length); - for (uint i = 0; i < ecosystemMultisigs.length; i++) { - addresses[i] = address(ecosystemMultisigs[i]); - } - return addresses; - } - - function getCommonMultisigsAddresses() external view returns (address[] memory) { - address[] memory addresses = new address[](commonMultisigs.length); - for (uint i = 0; i < commonMultisigs.length; i++) { - addresses[i] = address(commonMultisigs[i]); - } - return addresses; - } - - // Internal function to create multisig - function _createMultisig(MultisigSettings memory settings) internal returns (address) { - Multisig newMultisig = new Multisig( - settings.signers, - settings.isInitiatorFlags, - settings.threshold, - settings.owner - ); - - if (settings.owner == address(ecosystemMultisigSettings.owner)) { - ecosystemMultisigs.push(newMultisig); - isEcosystemMultisig[address(newMultisig)] = true; - } else { - commonMultisigs.push(newMultisig); - } - isRegisteredMultisig[address(newMultisig)] = true; - - emit MultisigCreated(address(newMultisig)); - return address(newMultisig); - } function _authorizeUpgrade(address) internal override onlyRole(DEFAULT_ADMIN_ROLE) {} } From a9caa7cd10d3985d07c02e7fb5e76a9be83d285a Mon Sep 17 00:00:00 2001 From: SigismundSchlomo Date: Mon, 18 Nov 2024 17:03:34 +0200 Subject: [PATCH 03/14] feat: store names with multisigs --- contracts/multisig/IMultisigFactory.sol | 7 +++--- contracts/multisig/MultisigFactory.sol | 29 ++++++++----------------- 2 files changed, 12 insertions(+), 24 deletions(-) diff --git a/contracts/multisig/IMultisigFactory.sol b/contracts/multisig/IMultisigFactory.sol index c51825e3..a5bbe876 100644 --- a/contracts/multisig/IMultisigFactory.sol +++ b/contracts/multisig/IMultisigFactory.sol @@ -16,10 +16,9 @@ interface IMultisigFactory { event MultisigCreated(address indexed multisig); event MultisigRegistered(address indexed multisig); - function createMultisig(MultisigSettings calldata settings) external returns (address); - function registerMultisigs(address[] calldata _multisigs) external; - function getMultisigsCount() external view returns (uint256); - function getMultisigsAddresses() external view returns (address[] memory); + function createMultisig(string calldata name, MultisigSettings calldata settings) external returns (address); + function registerMultisigs(address[] calldata _multisigsAddresses, string[] calldata _multisigsNames) external; + function getMultisigAddress(string calldata _name) external view returns (address); } diff --git a/contracts/multisig/MultisigFactory.sol b/contracts/multisig/MultisigFactory.sol index 58175d75..0b88eb91 100644 --- a/contracts/multisig/MultisigFactory.sol +++ b/contracts/multisig/MultisigFactory.sol @@ -12,8 +12,7 @@ contract MultisigFactory is IMultisigFactory, UUPSUpgradeable, AccessControlUpgr bytes32 constant public CREATOR_ROLE = keccak256("CREATOR_ROLE"); // Track ecosystem and common multisigs separately - Multisig[] public multisigs; - mapping(address => bool) public isRegisteredMultisig; + mapping(string => address) public multisigs; function initialize(address ecosystemMaster, address commonMaster) public initializer { require(ecosystemMaster != address(0), "Invalid ecosystem master"); @@ -24,7 +23,7 @@ contract MultisigFactory is IMultisigFactory, UUPSUpgradeable, AccessControlUpgr __UUPSUpgradeable_init(); } - function createMultisig(MultisigSettings calldata settings) external onlyRole(CREATOR_ROLE) returns (address) { + function createMultisig(string calldata name, MultisigSettings calldata settings) external onlyRole(CREATOR_ROLE) returns (address) { Multisig newMultisig = new Multisig( settings.signers, settings.isInitiatorFlags, @@ -32,39 +31,29 @@ contract MultisigFactory is IMultisigFactory, UUPSUpgradeable, AccessControlUpgr settings.owner ); - multisigs.push(newMultisig); - isRegisteredMultisig[address(newMultisig)] = true; + multisigs[name] = address(newMultisig); emit MultisigCreated(address(newMultisig)); return address(newMultisig); } // Register previously deployed multisigs in batch - function registerMultisigs(address[] calldata _multisigs) external onlyRole(CREATOR_ROLE) { + function registerMultisigs(address[] calldata _multisigs, string[] calldata _names) external onlyRole(CREATOR_ROLE) { for (uint i = 0; i < _multisigs.length; i++) { + string memory name = _names[i]; address multisigAddress = _multisigs[i]; require(multisigAddress != address(0), "Invalid multisig address"); - require(!isRegisteredMultisig[multisigAddress], "Already registered"); + require(multisigs[name] != address(0), "Already registered"); - Multisig multisig = Multisig(multisigAddress); - multisigs.push(multisig); - isRegisteredMultisig[multisigAddress] = true; + multisigs[name] = multisigAddress; emit MultisigRegistered(multisigAddress); } } // View functions - function getMultisigsCount() external view returns (uint256) { - return multisigs.length; - } - - function getMultisigsAddresses() external view returns (address[] memory) { - address[] memory addresses = new address[](multisigs.length); - for (uint i = 0; i < multisigs.length; i++) { - addresses[i] = address(multisigs[i]); - } - return addresses; + function getMultisigAddress(string calldata _name) external view override returns (address) { + return multisigs[_name]; } function _authorizeUpgrade(address) internal override onlyRole(DEFAULT_ADMIN_ROLE) {} From bf6624f7c4dfbea0ad2a9ac5d477ca76f489970f Mon Sep 17 00:00:00 2001 From: "SigismundSchlomo (aider)" Date: Mon, 18 Nov 2024 17:32:18 +0200 Subject: [PATCH 04/14] test: Add comprehensive test suite for MultisigFactory contract --- contracts/multisig/MultisigFactory.sol | 2 +- test/multisig/MultisigFactory.ts | 112 +++++++++++++++++++++++++ 2 files changed, 113 insertions(+), 1 deletion(-) create mode 100644 test/multisig/MultisigFactory.ts diff --git a/contracts/multisig/MultisigFactory.sol b/contracts/multisig/MultisigFactory.sol index 0b88eb91..192c3063 100644 --- a/contracts/multisig/MultisigFactory.sol +++ b/contracts/multisig/MultisigFactory.sol @@ -43,7 +43,7 @@ contract MultisigFactory is IMultisigFactory, UUPSUpgradeable, AccessControlUpgr string memory name = _names[i]; address multisigAddress = _multisigs[i]; require(multisigAddress != address(0), "Invalid multisig address"); - require(multisigs[name] != address(0), "Already registered"); + require(multisigs[name] == address(0), "Already registered"); multisigs[name] = multisigAddress; diff --git a/test/multisig/MultisigFactory.ts b/test/multisig/MultisigFactory.ts new file mode 100644 index 00000000..8dd046ce --- /dev/null +++ b/test/multisig/MultisigFactory.ts @@ -0,0 +1,112 @@ +import { expect } from "chai"; +import { ethers, upgrades } from "hardhat"; +import { MultisigFactory, Multisig } from "../../typechain-types"; +import { SignerWithAddress } from "@nomicfoundation/hardhat-ethers/signers"; + +describe("MultisigFactory", function () { + let multisigFactory: MultisigFactory; + let owner: SignerWithAddress; + let addr1: SignerWithAddress; + let addr2: SignerWithAddress; + let ecosystemMaster: SignerWithAddress; + let commonMaster: SignerWithAddress; + + beforeEach(async function () { + [owner, addr1, addr2, ecosystemMaster, commonMaster] = await ethers.getSigners(); + + const MultisigFactoryFactory = await ethers.getContractFactory("MultisigFactory"); + multisigFactory = await upgrades.deployProxy( + MultisigFactoryFactory, + [ecosystemMaster.address, commonMaster.address] + ) as MultisigFactory; + + // Grant CREATOR_ROLE to owner + const CREATOR_ROLE = await multisigFactory.CREATOR_ROLE(); + await multisigFactory.grantRole(CREATOR_ROLE, owner.address); + }); + + it("should initialize correctly", async function () { + const CREATOR_ROLE = await multisigFactory.CREATOR_ROLE(); + expect(await multisigFactory.hasRole(CREATOR_ROLE, owner.address)).to.be.true; + }); + + it("should create new multisig", async function () { + const settings = { + signers: [owner.address, addr1.address], + isInitiatorFlags: [true, false], + threshold: 100, + owner: owner.address + }; + + const multisigName = "TestMultisig"; + const tx = await multisigFactory.createMultisig(multisigName, settings); + const receipt = await tx.wait(); + + // Check event emission + const event = receipt.events?.find(e => e.event === "MultisigCreated"); + expect(event).to.not.be.undefined; + + // Verify the multisig was stored + const multisigAddress = await multisigFactory.getMultisigAddress(multisigName); + expect(multisigAddress).to.not.equal(ethers.constants.AddressZero); + + // Verify the multisig configuration + const multisig = await ethers.getContractAt("Multisig", multisigAddress); + const [signers, flags] = await multisig.getSigners(); + expect(signers).to.deep.equal([owner.address, addr1.address]); + expect(flags).to.deep.equal([true, false]); + }); + + it("should register existing multisigs", async function () { + // First create a multisig directly + const Multisig = await ethers.getContractFactory("Multisig"); + const multisig = await Multisig.deploy( + [owner.address, addr1.address], + [true, false], + 100, + owner.address + ); + + // Register it in the factory + const multisigName = "ExistingMultisig"; + await multisigFactory.registerMultisigs( + [multisig.address], + [multisigName] + ); + + // Verify registration + expect(await multisigFactory.getMultisigAddress(multisigName)) + .to.equal(multisig.address); + }); + + it("should not allow non-CREATOR_ROLE to create multisigs", async function () { + const settings = { + signers: [owner.address, addr1.address], + isInitiatorFlags: [true, false], + threshold: 100, + owner: owner.address + }; + + await expect( + multisigFactory.connect(addr1).createMultisig("TestMultisig", settings) + ).to.be.reverted; + }); + + it("should not allow non-CREATOR_ROLE to register multisigs", async function () { + await expect( + multisigFactory.connect(addr1).registerMultisigs( + [ethers.constants.AddressZero], + ["TestMultisig"] + ) + ).to.be.reverted; + }); + + it("should not allow registering zero address multisigs", async function () { + await expect( + multisigFactory.registerMultisigs( + [ethers.constants.AddressZero], + ["TestMultisig"] + ) + ).to.be.revertedWith("Invalid multisig address"); + }); +}); From 18d22064364d78d231eaa5ee9cb55ad3b5923a48 Mon Sep 17 00:00:00 2001 From: SigismundSchlomo Date: Mon, 18 Nov 2024 17:45:36 +0200 Subject: [PATCH 05/14] fix: init --- contracts/multisig/MultisigFactory.sol | 5 +---- test/multisig/MultisigFactory.ts | 3 +-- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/contracts/multisig/MultisigFactory.sol b/contracts/multisig/MultisigFactory.sol index 192c3063..65c82363 100644 --- a/contracts/multisig/MultisigFactory.sol +++ b/contracts/multisig/MultisigFactory.sol @@ -14,10 +14,7 @@ contract MultisigFactory is IMultisigFactory, UUPSUpgradeable, AccessControlUpgr // Track ecosystem and common multisigs separately mapping(string => address) public multisigs; - function initialize(address ecosystemMaster, address commonMaster) public initializer { - require(ecosystemMaster != address(0), "Invalid ecosystem master"); - require(commonMaster != address(0), "Invalid common master"); - + function initialize() public initializer { _setupRole(DEFAULT_ADMIN_ROLE, msg.sender); _setupRole(CREATOR_ROLE, msg.sender); __UUPSUpgradeable_init(); diff --git a/test/multisig/MultisigFactory.ts b/test/multisig/MultisigFactory.ts index 8dd046ce..9faf29da 100644 --- a/test/multisig/MultisigFactory.ts +++ b/test/multisig/MultisigFactory.ts @@ -16,8 +16,7 @@ describe("MultisigFactory", function () { const MultisigFactoryFactory = await ethers.getContractFactory("MultisigFactory"); multisigFactory = await upgrades.deployProxy( - MultisigFactoryFactory, - [ecosystemMaster.address, commonMaster.address] + MultisigFactoryFactory ) as MultisigFactory; // Grant CREATOR_ROLE to owner From 33cd9705e6eed7dc9a4e4f94a642be10bd0f511d Mon Sep 17 00:00:00 2001 From: "SigismundSchlomo (aider)" Date: Tue, 19 Nov 2024 16:26:58 +0200 Subject: [PATCH 06/14] feat: Add deleteMultisig method to MultisigFactory with admin role check --- contracts/multisig/IMultisigFactory.sol | 2 ++ contracts/multisig/MultisigFactory.sol | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/contracts/multisig/IMultisigFactory.sol b/contracts/multisig/IMultisigFactory.sol index a5bbe876..88355a8f 100644 --- a/contracts/multisig/IMultisigFactory.sol +++ b/contracts/multisig/IMultisigFactory.sol @@ -15,8 +15,10 @@ interface IMultisigFactory { // Events event MultisigCreated(address indexed multisig); event MultisigRegistered(address indexed multisig); + event MultisigDeleted(address indexed multisig); function createMultisig(string calldata name, MultisigSettings calldata settings) external returns (address); + function deleteMultisig(string calldata name) external; function registerMultisigs(address[] calldata _multisigsAddresses, string[] calldata _multisigsNames) external; function getMultisigAddress(string calldata _name) external view returns (address); diff --git a/contracts/multisig/MultisigFactory.sol b/contracts/multisig/MultisigFactory.sol index 65c82363..aa87879a 100644 --- a/contracts/multisig/MultisigFactory.sol +++ b/contracts/multisig/MultisigFactory.sol @@ -53,5 +53,14 @@ contract MultisigFactory is IMultisigFactory, UUPSUpgradeable, AccessControlUpgr return multisigs[_name]; } + function deleteMultisig(string calldata name) external onlyRole(DEFAULT_ADMIN_ROLE) { + address multisigAddress = multisigs[name]; + require(multisigAddress != address(0), "Multisig not found"); + + delete multisigs[name]; + + emit MultisigDeleted(multisigAddress); + } + function _authorizeUpgrade(address) internal override onlyRole(DEFAULT_ADMIN_ROLE) {} } From 19ccb077e8ba9990491837599c16cfa51166b39f Mon Sep 17 00:00:00 2001 From: SigismundSchlomo Date: Wed, 20 Nov 2024 16:52:48 +0200 Subject: [PATCH 07/14] feat: Add deploy_multisig_factory script for multisig contract deployment --- scripts/multisig/deploy_multisig_factory.ts | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 scripts/multisig/deploy_multisig_factory.ts diff --git a/scripts/multisig/deploy_multisig_factory.ts b/scripts/multisig/deploy_multisig_factory.ts new file mode 100644 index 00000000..e69de29b From dcced55a9e72a3c124a097da6990c553fe0b63d8 Mon Sep 17 00:00:00 2001 From: "SigismundSchlomo (aider)" Date: Wed, 20 Nov 2024 16:52:50 +0200 Subject: [PATCH 08/14] feat: Add deployment script for MultisigFactory contract --- scripts/multisig/deploy_multisig_factory.ts | 29 +++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/scripts/multisig/deploy_multisig_factory.ts b/scripts/multisig/deploy_multisig_factory.ts index e69de29b..a25cbd5a 100644 --- a/scripts/multisig/deploy_multisig_factory.ts +++ b/scripts/multisig/deploy_multisig_factory.ts @@ -0,0 +1,29 @@ +import { ethers } from "hardhat"; +import { ContractNames } from "../../src"; +import { deploy } from "@airdao/deployments/deploying"; +import { MultisigFactory__factory } from "../../typechain-types"; + +export async function main() { + const [deployer] = await ethers.getSigners(); + + console.log("Deploying MultisigFactory..."); + const factory = await deploy({ + contractName: ContractNames.MultisigFactory, + artifactName: "MultisigFactory", + deployArgs: [], + signer: deployer, + isUpgradeableProxy: true, + }); + + // Initialize the factory + await factory.initialize(); + + console.log("MultisigFactory deployed and initialized"); +} + +if (require.main === module) { + main().catch((error) => { + console.error(error); + process.exitCode = 1; + }); +} From b727413a5d7d67acc0d7ef5d8e34432dbdc27c04 Mon Sep 17 00:00:00 2001 From: SigismundSchlomo Date: Mon, 2 Dec 2024 14:25:55 +0200 Subject: [PATCH 09/14] feat: deploy factory --- .openzeppelin/unknown-22040.json | 154 ++++++++++++++++++++ deployments/22040.json | 38 +++++ scripts/multisig/deploy_multisig_factory.ts | 7 +- src/contracts/names.ts | 2 + 4 files changed, 197 insertions(+), 4 deletions(-) diff --git a/.openzeppelin/unknown-22040.json b/.openzeppelin/unknown-22040.json index f164dd48..4f0b3591 100644 --- a/.openzeppelin/unknown-22040.json +++ b/.openzeppelin/unknown-22040.json @@ -19,6 +19,11 @@ "address": "0xd33aeaC471e077781c08A073491B5c7d974c6645", "txHash": "0xae6f3627d4174536697a1536fe5522a36c0ff9581c5374a73fd4187bf9caceb0", "kind": "uups" + }, + { + "address": "0x930bafD4580f0ce20E8985Cd38Ee5526A252B14d", + "txHash": "0xe40cbce5a553f2acd6b8f3fc5651a565735394d2ecf3fd52ce5f460f72334ee5", + "kind": "uups" } ], "impls": { @@ -2188,6 +2193,155 @@ } } } + }, + "d72b9c478939e3fbf0d0cd1294fdcb550ac3b46a5684e3a14870bd76a6e8afcd": { + "address": "0xB37751C4E07630602cdDC964c15BAF8EeFc872dE", + "txHash": "0x7abb010d82324618cdcbf50b285110aeab51ba41b56d3c668c7027b25a756d6e", + "layout": { + "solcVersion": "0.8.17", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC1967UpgradeUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" + }, + { + "label": "__gap", + "offset": 0, + "slot": "51", + "type": "t_array(t_uint256)50_storage", + "contract": "UUPSUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol:111" + }, + { + "label": "__gap", + "offset": 0, + "slot": "101", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" + }, + { + "label": "__gap", + "offset": 0, + "slot": "151", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_roles", + "offset": 0, + "slot": "201", + "type": "t_mapping(t_bytes32,t_struct(RoleData)34_storage)", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:62" + }, + { + "label": "__gap", + "offset": 0, + "slot": "202", + "type": "t_array(t_uint256)49_storage", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:260" + }, + { + "label": "multisigs", + "offset": 0, + "slot": "251", + "type": "t_mapping(t_string_memory_ptr,t_address)", + "contract": "MultisigFactory", + "src": "contracts/multisig/MultisigFactory.sol:15" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)34_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_mapping(t_string_memory_ptr,t_address)": { + "label": "mapping(string => address)", + "numberOfBytes": "32" + }, + "t_string_memory_ptr": { + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(RoleData)34_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "members", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + }, + "t_string_storage": { + "label": "string" + } + } + } } } } diff --git a/deployments/22040.json b/deployments/22040.json index 34dd83e5..08b7eb50 100644 --- a/deployments/22040.json +++ b/deployments/22040.json @@ -1898,5 +1898,43 @@ ], "deployTx": "0xfa38d1e01829005fe34eafa81be95f8fe78d20e77c59c3451141cb93e6e2d0a8", "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" + }, + "MultisigFactory": { + "address": "0x930bafD4580f0ce20E8985Cd38Ee5526A252B14d", + "abi": [ + "event AdminChanged(address previousAdmin, address newAdmin)", + "event BeaconUpgraded(address indexed beacon)", + "event Initialized(uint8 version)", + "event MultisigCreated(address indexed multisig)", + "event MultisigDeleted(address indexed multisig)", + "event MultisigRegistered(address indexed multisig)", + "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", + "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", + "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", + "event Upgraded(address indexed implementation)", + "function CREATOR_ROLE() view returns (bytes32)", + "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", + "function createMultisig(string name, tuple(address[] signers, bool[] isInitiatorFlags, uint256 threshold, address owner) settings) returns (address)", + "function deleteMultisig(string name)", + "function getMultisigAddress(string _name) view returns (address)", + "function getRoleAdmin(bytes32 role) view returns (bytes32)", + "function grantRole(bytes32 role, address account)", + "function hasRole(bytes32 role, address account) view returns (bool)", + "function initialize()", + "function multisigs(string) view returns (address)", + "function proxiableUUID() view returns (bytes32)", + "function registerMultisigs(address[] _multisigs, string[] _names)", + "function renounceRole(bytes32 role, address account)", + "function revokeRole(bytes32 role, address account)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function upgradeTo(address newImplementation)", + "function upgradeToAndCall(address newImplementation, bytes data) payable" + ], + "deployTx": "0xe40cbce5a553f2acd6b8f3fc5651a565735394d2ecf3fd52ce5f460f72334ee5", + "fullyQualifiedName": "contracts/multisig/MultisigFactory.sol:MultisigFactory", + "proxy": { + "implementation": "0xB37751C4E07630602cdDC964c15BAF8EeFc872dE", + "fullyQualifiedName": "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol:ERC1967Proxy" + } } } \ No newline at end of file diff --git a/scripts/multisig/deploy_multisig_factory.ts b/scripts/multisig/deploy_multisig_factory.ts index a25cbd5a..082981df 100644 --- a/scripts/multisig/deploy_multisig_factory.ts +++ b/scripts/multisig/deploy_multisig_factory.ts @@ -15,10 +15,9 @@ export async function main() { isUpgradeableProxy: true, }); - // Initialize the factory - await factory.initialize(); - - console.log("MultisigFactory deployed and initialized"); + console.log("MultisigFactory deployed at", factory.address); + + console.log("MultisigFactory deployed"); } if (require.main === module) { diff --git a/src/contracts/names.ts b/src/contracts/names.ts index 2681312c..81a308ae 100644 --- a/src/contracts/names.ts +++ b/src/contracts/names.ts @@ -60,6 +60,8 @@ export enum ContractNames { FeesMultisig = "Fees_Multisig", FeesTreasure = "Fees_Treasure", + MultisigFactory = "MultisigFactory", + // bond marketplace Ecosystem_MasterMultisig = "Ecosystem_MasterMultisig", From d21c2017263ba612d19f83466b79c3f3937c5a28 Mon Sep 17 00:00:00 2001 From: SigismundSchlomo Date: Tue, 3 Dec 2024 17:05:07 +0200 Subject: [PATCH 10/14] feat: migrate to new deployments --- .gitignore | 2 + deployments/16718.json | 1527 +-- deployments/22040.json | 1662 +--- deployments/30746.json | 1601 +--- deployments/5256.json | 130 +- deployments/abis/AirBond.json | 29 + deployments/abis/AirDrop.json | 17 + deployments/abis/BaseNodesManager.json | 18 + .../abis/BaseNodesManager_Multisig.json | 35 + .../abis/BaseNodesManager_RewardsBank.json | 15 + ...cosystem_Astradex_ChronosFeeCollector.json | 15 + .../abis/Ecosystem_Astradex_Multisig.json | 35 + .../abis/Ecosystem_Astradex_TokenSafe.json | 15 + ...Ecosystem_Astradex_TokenSafe_Multisig.json | 35 + .../Ecosystem_BondMarketplace_Multisig.json | 35 + ...Ecosystem_BondMarketplace_RewardsBank.json | 15 + .../abis/Ecosystem_GeneralTokenBank.json | 15 + .../Ecosystem_GeneralTokenBank_Multisig.json | 35 + .../abis/Ecosystem_Government_Multisig.json | 35 + deployments/abis/Ecosystem_HBRToken.json | 27 + deployments/abis/Ecosystem_HRBToken.json | 29 + .../Ecosystem_LimitedTokenPoolsManager.json | 25 + ...tem_LimitedTokenPoolsManager_Multisig.json | 35 + ..._LimitedTokenPoolsManager_RewardsBank.json | 15 + .../abis/Ecosystem_LiquidNodesManager.json | 44 + ...system_LiquidNodesManager_RewardsBank.json | 15 + ...Ecosystem_LiquidNodesManager_Treasury.json | 12 + ...ystem_LiquidNodesManager_TreasuryFees.json | 12 + deployments/abis/Ecosystem_LiquidPool.json | 54 + .../abis/Ecosystem_LiquidPool_Multisig.json | 35 + .../Ecosystem_LiquidPool_RewardsBank.json | 15 + .../abis/Ecosystem_LiquidPool_StAMB.json | 34 + .../Ecosystem_LiquidPool_StakingTiers.json | 27 + .../abis/Ecosystem_MasterMultisig.json | 38 + .../abis/Ecosystem_Starfleet_Multisig.json | 35 + .../abis/Ecosystem_Starfleet_RewardsBank.json | 15 + deployments/abis/Fees.json | 28 + deployments/abis/Fees_Multisig.json | 35 + deployments/abis/Fees_Treasure.json | 9 + deployments/abis/FinanceEcosystem.json | 9 + .../abis/FinanceEcosystem_Multisig.json | 35 + deployments/abis/FinanceInvestors.json | 9 + .../abis/FinanceInvestors_Multisig.json | 35 + deployments/abis/FinanceMaster.json | 12 + deployments/abis/FinanceMaster_Multisig.json | 35 + deployments/abis/FinanceRevenue.json | 9 + deployments/abis/FinanceRevenue_Multisig.json | 35 + deployments/abis/FinanceRewards.json | 9 + deployments/abis/FinanceRewards_Multisig.json | 35 + deployments/abis/FinanceTeam.json | 9 + deployments/abis/FinanceTeam_Multisig.json | 35 + deployments/abis/LegacyPoolManager.json | 40 + .../abis/LegacyPoolManager_Multisig.json | 35 + .../abis/LegacyPoolManager_RewardsBank.json | 15 + deployments/abis/LockKeeper.json | 35 + deployments/abis/MasterMultisig.json | 38 + deployments/abis/MultisigFactory.json | 29 + deployments/abis/ServerNodesManager.json | 54 + .../abis/ServerNodesManager_Multisig.json | 35 + .../abis/ServerNodesManager_RewardsBank.json | 15 + deployments/abis/Treasury.json | 12 + deployments/abis/Treasury_Multisig.json | 35 + deployments/abis/ValidatorSet.json | 35 + deployments/abis/ValidatorSet_Multisig.json | 35 + hardhat.config.ts | 12 +- package-lock.json | 8155 +---------------- package.json | 3 +- 67 files changed, 1768 insertions(+), 12892 deletions(-) create mode 100644 deployments/abis/AirBond.json create mode 100644 deployments/abis/AirDrop.json create mode 100644 deployments/abis/BaseNodesManager.json create mode 100644 deployments/abis/BaseNodesManager_Multisig.json create mode 100644 deployments/abis/BaseNodesManager_RewardsBank.json create mode 100644 deployments/abis/Ecosystem_Astradex_ChronosFeeCollector.json create mode 100644 deployments/abis/Ecosystem_Astradex_Multisig.json create mode 100644 deployments/abis/Ecosystem_Astradex_TokenSafe.json create mode 100644 deployments/abis/Ecosystem_Astradex_TokenSafe_Multisig.json create mode 100644 deployments/abis/Ecosystem_BondMarketplace_Multisig.json create mode 100644 deployments/abis/Ecosystem_BondMarketplace_RewardsBank.json create mode 100644 deployments/abis/Ecosystem_GeneralTokenBank.json create mode 100644 deployments/abis/Ecosystem_GeneralTokenBank_Multisig.json create mode 100644 deployments/abis/Ecosystem_Government_Multisig.json create mode 100644 deployments/abis/Ecosystem_HBRToken.json create mode 100644 deployments/abis/Ecosystem_HRBToken.json create mode 100644 deployments/abis/Ecosystem_LimitedTokenPoolsManager.json create mode 100644 deployments/abis/Ecosystem_LimitedTokenPoolsManager_Multisig.json create mode 100644 deployments/abis/Ecosystem_LimitedTokenPoolsManager_RewardsBank.json create mode 100644 deployments/abis/Ecosystem_LiquidNodesManager.json create mode 100644 deployments/abis/Ecosystem_LiquidNodesManager_RewardsBank.json create mode 100644 deployments/abis/Ecosystem_LiquidNodesManager_Treasury.json create mode 100644 deployments/abis/Ecosystem_LiquidNodesManager_TreasuryFees.json create mode 100644 deployments/abis/Ecosystem_LiquidPool.json create mode 100644 deployments/abis/Ecosystem_LiquidPool_Multisig.json create mode 100644 deployments/abis/Ecosystem_LiquidPool_RewardsBank.json create mode 100644 deployments/abis/Ecosystem_LiquidPool_StAMB.json create mode 100644 deployments/abis/Ecosystem_LiquidPool_StakingTiers.json create mode 100644 deployments/abis/Ecosystem_MasterMultisig.json create mode 100644 deployments/abis/Ecosystem_Starfleet_Multisig.json create mode 100644 deployments/abis/Ecosystem_Starfleet_RewardsBank.json create mode 100644 deployments/abis/Fees.json create mode 100644 deployments/abis/Fees_Multisig.json create mode 100644 deployments/abis/Fees_Treasure.json create mode 100644 deployments/abis/FinanceEcosystem.json create mode 100644 deployments/abis/FinanceEcosystem_Multisig.json create mode 100644 deployments/abis/FinanceInvestors.json create mode 100644 deployments/abis/FinanceInvestors_Multisig.json create mode 100644 deployments/abis/FinanceMaster.json create mode 100644 deployments/abis/FinanceMaster_Multisig.json create mode 100644 deployments/abis/FinanceRevenue.json create mode 100644 deployments/abis/FinanceRevenue_Multisig.json create mode 100644 deployments/abis/FinanceRewards.json create mode 100644 deployments/abis/FinanceRewards_Multisig.json create mode 100644 deployments/abis/FinanceTeam.json create mode 100644 deployments/abis/FinanceTeam_Multisig.json create mode 100644 deployments/abis/LegacyPoolManager.json create mode 100644 deployments/abis/LegacyPoolManager_Multisig.json create mode 100644 deployments/abis/LegacyPoolManager_RewardsBank.json create mode 100644 deployments/abis/LockKeeper.json create mode 100644 deployments/abis/MasterMultisig.json create mode 100644 deployments/abis/MultisigFactory.json create mode 100644 deployments/abis/ServerNodesManager.json create mode 100644 deployments/abis/ServerNodesManager_Multisig.json create mode 100644 deployments/abis/ServerNodesManager_RewardsBank.json create mode 100644 deployments/abis/Treasury.json create mode 100644 deployments/abis/Treasury_Multisig.json create mode 100644 deployments/abis/ValidatorSet.json create mode 100644 deployments/abis/ValidatorSet_Multisig.json diff --git a/.gitignore b/.gitignore index d175822c..7161963d 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,5 @@ deployments/5256.json .DS_Store .aider* +yalc.lock +.yalc diff --git a/deployments/16718.json b/deployments/16718.json index 9fe5000a..605d6b21 100644 --- a/deployments/16718.json +++ b/deployments/16718.json @@ -1,532 +1,103 @@ { "MasterMultisig": { "address": "0xFd048C7ba01CD015b31F360007Ff9b5f54D659ad", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeOwners(address[] multisigs, address newOwner)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeSignersMaster(tuple(address contract_, address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)[] changes)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getAllSigners(address[] multisigs) view returns (tuple(address[] signers, bool[] isInitiatorFlags, uint256 threshold)[])", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/MasterMultisig.json", "deployTx": "0xf1776b18370ae499222a31bd9be83cd8d4d0baa2ab39da26650d8d7754aa26ef", "fullyQualifiedName": "contracts/multisig/MasterMultisig.sol:MasterMultisig" }, "FinanceMaster_Multisig": { "address": "0x5C62B48A985938eD8944b54Ce1FaEF9A7938D290", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/FinanceMaster_Multisig.json", "deployTx": "0x3a589873722aaf0c006d2637708d7827a105240d87fbb87201dd20535d954332", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "FinanceMaster": { "address": "0x68c66f1C56CC6341856cf4427650978B653C78D6", - "abi": [ - "constructor(address owner, uint256 maxBanks_, uint256 maxBankBalance_)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Withdraw(address addressTo, uint256 amount)", - "function banks(uint256) view returns (address)", - "function getBalances() view returns (address[] addresses, uint256[] balances)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function transferOwnership(address newOwner)", - "function transferToBanks()", - "function withdraw(address addressTo, uint256 amount)" - ], + "abiPath": "./abis/FinanceMaster.json", "deployTx": "0xe42984dfaae33628e9749c8cf1fa3e32dad88374075fa752aceefca33b6aa807", "fullyQualifiedName": "contracts/finance/MasterFinance.sol:MasterFinance" }, "FinanceRewards_Multisig": { "address": "0x3224a48b63991a989e5326b69D0d3663bA7F087f", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/FinanceRewards_Multisig.json", "deployTx": "0x68653ad9731b1691a1cf0fa18c9042d269240e794924b7812069de2667262afd", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "FinanceRewards": { "address": "0xA9aFf50ABE9997EBe09834493cB675F8b13feB50", - "abi": [ - "constructor(address owner)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Withdraw(address addressTo, uint256 amount)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function transferOwnership(address newOwner)", - "function withdraw(address addressTo, uint256 amount)" - ], + "abiPath": "./abis/FinanceRewards.json", "deployTx": "0x2e828c2a206b0738eb045fbf5ed4119b01a39ab948f7099e54c9156001aa1c42", "fullyQualifiedName": "contracts/finance/Finance.sol:Finance" }, "FinanceInvestors_Multisig": { "address": "0x50c023Be318DFf1D8dDfa00Bb5dF0D7E18656F44", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/FinanceInvestors_Multisig.json", "deployTx": "0xbb62623e88e7bb6b6ed861d35fb5601531aebd39f80e247001d727dc2cc05b0a", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "FinanceInvestors": { "address": "0xC24b4c73dc9002c8aaBc3620965D727C29E0126F", - "abi": [ - "constructor(address owner)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Withdraw(address addressTo, uint256 amount)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function transferOwnership(address newOwner)", - "function withdraw(address addressTo, uint256 amount)" - ], + "abiPath": "./abis/FinanceInvestors.json", "deployTx": "0xcb8e35bd5474a4a1a57d6561c816923f0dbb6cb56dd0f8ef9539f277adfb5c09", "fullyQualifiedName": "contracts/finance/Finance.sol:Finance" }, "FinanceTeam_Multisig": { "address": "0x0Fcd3f7bB7C22BC92E80B7E26cC19F8Df8F502e0", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/FinanceTeam_Multisig.json", "deployTx": "0xc08bed8804149d02acfa0784af258b8ee347dab9912038e3101ec1419881553d", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "FinanceTeam": { "address": "0xfaE424EA67c94a510f9230b551bfE13340d9cA15", - "abi": [ - "constructor(address owner)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Withdraw(address addressTo, uint256 amount)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function transferOwnership(address newOwner)", - "function withdraw(address addressTo, uint256 amount)" - ], + "abiPath": "./abis/FinanceTeam.json", "deployTx": "0x77773efe37e0d69e6cf1d89768fa9aa0c258303cfe0ad15a7332bfaab4b3d92d", "fullyQualifiedName": "contracts/finance/Finance.sol:Finance" }, "FinanceEcosystem_Multisig": { "address": "0x48A768523Aa2a68c33B711F825749D27C651fEd3", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/FinanceEcosystem_Multisig.json", "deployTx": "0x7afa9705f3879cfbe63a3697ec86cdca9e85ef1ffb9f9842083453be25a7244b", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "FinanceEcosystem": { "address": "0xAfaBC47C72440037Db5F5F6011Dc2ac34fc52Fa6", - "abi": [ - "constructor(address owner)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Withdraw(address addressTo, uint256 amount)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function transferOwnership(address newOwner)", - "function withdraw(address addressTo, uint256 amount)" - ], + "abiPath": "./abis/FinanceEcosystem.json", "deployTx": "0x3f167d4ba9de22fc23cdf8d0378543e97a0fb9ba386776489edb804abfd9d6eb", "fullyQualifiedName": "contracts/finance/Finance.sol:Finance" }, "FinanceRevenue_Multisig": { "address": "0x1A4D8ECc2277599d1Da5ffc43Ad91f5e81E79296", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/FinanceRevenue_Multisig.json", "deployTx": "0x1facba45776aaab95eda601a230cb1bde75adf95fc17b38233066816e1620a4a", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "FinanceRevenue": { "address": "0xD6F26AfFA195C145BBe9aabF188F2c56dee40018", - "abi": [ - "constructor(address owner)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Withdraw(address addressTo, uint256 amount)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function transferOwnership(address newOwner)", - "function withdraw(address addressTo, uint256 amount)" - ], + "abiPath": "./abis/FinanceRevenue.json", "deployTx": "0x218f4e4cdca52c335cabfce4425066a50812f6044c8a8d973efe8ae467def9aa", "fullyQualifiedName": "contracts/finance/Finance.sol:Finance" }, "AirBond": { "address": "0x096B5914C95C34Df19500DAff77470C845EC749D", - "abi": [ - "constructor(address admin)", - "event Approval(address indexed owner, address indexed spender, uint256 value)", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "event Transfer(address indexed from, address indexed to, uint256 value)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function MINTER_ROLE() view returns (bytes32)", - "function allowance(address owner, address spender) view returns (uint256)", - "function approve(address spender, uint256 amount) returns (bool)", - "function balanceOf(address account) view returns (uint256)", - "function burn(address account, uint256 amount)", - "function decimals() view returns (uint8)", - "function decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function increaseAllowance(address spender, uint256 addedValue) returns (bool)", - "function mint(address account, uint256 amount)", - "function name() view returns (string)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function symbol() view returns (string)", - "function totalSupply() view returns (uint256)", - "function transfer(address to, uint256 amount) returns (bool)", - "function transferFrom(address from, address to, uint256 amount) returns (bool)" - ], + "abiPath": "./abis/AirBond.json", "deployTx": "0x08008837b13e31558748e0b5b08c7d19309f971a671630d0f6d32c1714916549", "fullyQualifiedName": "contracts/funds/AirBond.sol:AirBond" }, "AirDrop": { "address": "0x132827Ee051b7276a2f85D6964F6182974aa243c", - "abi": [ - "constructor(address airBondToken_, address backendAddress_, uint256 minAmbBalance_, tuple(address user, bytes32 category, uint256 amount)[] claims) payable", - "event Claim(address user, bytes32[] categories, uint256[] amounts)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "function airBondToken() view returns (address)", - "function backendAddress() view returns (address)", - "function changeBackendAddress(address backendAddress_)", - "function changeMinAmbBalance(uint256 minAmbBalance_)", - "function claim(bytes32[] categories, uint256[] amounts, bytes signature)", - "function claimed(address, bytes32) view returns (uint256)", - "function getClaimed(address user, bytes32[] categories) view returns (uint256[])", - "function minAmbBalance() view returns (uint256)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function transferOwnership(address newOwner)", - "function withdraw(address addressTo, uint256 amount)" - ], + "abiPath": "./abis/AirDrop.json", "deployTx": "0x370df7e24a97f02daba3f89d15f6572d79731b754a192d2e39ccf595c446c366", "fullyQualifiedName": "contracts/projects/airdrop/AirDrop.sol:AirDrop" }, "ValidatorSet_Multisig": { "address": "0x448da646517389ce148791CCB6CeA4a9966FA2E5", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/ValidatorSet_Multisig.json", "deployTx": "0x64e45e0636f2071d586d24d2969d66ef784374257dcd9d72621d92228d926623", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "ValidatorSet": { "address": "0x481C44d4a60ff6Fa0DF528b506D4fa9A174004a0", - "abi": [ - "event AdminChanged(address previousAdmin, address newAdmin)", - "event BeaconUpgraded(address indexed beacon)", - "event Initialized(uint8 version)", - "event InitiateChange(bytes32 indexed parentHash, address[] newSet)", - "event QueueListNodeAdded(address indexed nodeAddress)", - "event QueueListNodeRemoved(address indexed nodeAddress)", - "event Report(address indexed nodeAddress, uint256 malisciousType)", - "event Reward(address indexed manager, address indexed nodeAddress, address indexed rewardReceiver, address nodeOwner, address tokenAddress, uint256 amount)", - "event RewardError(address stakingManager, string errorText)", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "event StakeChanged(address indexed nodeAddress, address indexed stakingContract, int256 changeAmount)", - "event StakeCreated(address indexed nodeAddress, address indexed stakingContract, uint256 amount, bool isAlwaysTop)", - "event StakeRemoved(address indexed nodeAddress, address indexed stakingContract)", - "event TopListNodeAdded(address indexed nodeAddress)", - "event TopListNodeRemoved(address indexed nodeAddress)", - "event Upgraded(address indexed implementation)", - "event ValidatorSetFinalized(address[] newSet)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function REWARD_ORACLE_ROLE() view returns (bytes32)", - "function STAKING_MANAGER_ROLE() view returns (bytes32)", - "function _updateExternal()", - "function addBlockListener(address listener)", - "function baseReward() view returns (uint256)", - "function changeTopStakesCount(uint256 newTopStakesCount)", - "function emitReward(address rewardsBank, address nodeAddress, address nodeOwner, address rewardReceiver, address tokenAddress, uint256 amount)", - "function finalizeChange()", - "function getBlockListeners() view returns (address[])", - "function getNodeStake(address nodeAddress) view returns (uint256)", - "function getQueuedStakes() view returns (address[])", - "function getRewardSettings() view returns (uint64[5])", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function getRoleMember(bytes32 role, uint256 index) view returns (address)", - "function getRoleMemberCount(bytes32 role) view returns (uint256)", - "function getStakesByManager(address manager) view returns (address[] result)", - "function getTopStakes() view returns (address[])", - "function getValidators() view returns (address[])", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function initialize(address _rewardOracle, uint256 _baseReward, uint256 _topStakesCount)", - "function latestNodeRewardTime(address) view returns (uint256)", - "function newStake(address nodeAddress, uint256 amount, bool isAlwaysTop)", - "function process()", - "function proxiableUUID() view returns (bytes32)", - "function removeBlockListener(address listener)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function setReward(uint256 _baseReward)", - "function setRewardSettings(uint64[5] newSettings)", - "function stake(address nodeAddress, uint256 amount)", - "function stakes(address) view returns (uint256 amount, address stakingContract, bool isAlwaysTop)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function topStakesCount() view returns (uint256)", - "function totalStakeAmount() view returns (uint256)", - "function unstake(address nodeAddress, uint256 amount)", - "function upgradeTo(address newImplementation)", - "function upgradeToAndCall(address newImplementation, bytes data) payable" - ], + "abiPath": "./abis/ValidatorSet.json", "deployTx": "0x9ee8e13979f5ab5d8421cf6c5513d103fd91baab8dd81c3709702abbe1696ae7", "fullyQualifiedName": "contracts/consensus/ValidatorSet.sol:ValidatorSet", "proxy": { @@ -536,150 +107,31 @@ }, "Treasury_Multisig": { "address": "0xF1136c049c8ad60d750BF6056Ce7510b2D3909a4", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/Treasury_Multisig.json", "deployTx": "0xfa47728cd88a73b55432d53ef880211633e9f1e446f3135e671d00a20e7a69ac", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "Treasury": { "address": "0xF938841dc2889Ab0cC9fB3F198a01FAfA2852a0c", - "abi": [ - "constructor(address owner, uint256 _fee)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Withdraw(address addressTo, uint256 amount)", - "function calcFee(uint256 amount) view returns (uint256)", - "function fee() view returns (uint256)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function setFee(uint256 _fee)", - "function transferOwnership(address newOwner)", - "function withdraw(address addressTo, uint256 amount)" - ], + "abiPath": "./abis/Treasury.json", "deployTx": "0x2ed8dca668211bbf649bc445585a1555654909fdd4a875a4c6bf0a2c95b15398", "fullyQualifiedName": "contracts/finance/Treasury.sol:Treasury" }, "BaseNodesManager_Multisig": { "address": "0x5A6D7162c59966046D1119550954D4e3B6C39dA3", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/BaseNodesManager_Multisig.json", "deployTx": "0x6401f04a14768a7ba38c53bfb9b9331ab99c9a603123a2495cccd45b69376730", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "BaseNodesManager_RewardsBank": { "address": "0xF6E53d784AdF8164b55f2642Bde14011bd8Eb87B", - "abi": [ - "constructor()", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function withdrawAmb(address addressTo, uint256 amount)", - "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" - ], + "abiPath": "./abis/BaseNodesManager_RewardsBank.json", "deployTx": "0x25e9520875ecc71d2e19017af9c886f9aff2baef06c8626b65d6f023d55701f1", "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" }, "BaseNodesManager": { "address": "0xE77d1BA66E7095Cf0C94C624A8980206e564F1D7", - "abi": [ - "event AdminChanged(address previousAdmin, address newAdmin)", - "event BeaconUpgraded(address indexed beacon)", - "event Initialized(uint8 version)", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "event Upgraded(address indexed implementation)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function addStake(address nodeAddress) payable", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function initialize(address _validatorSet, address _rewardsBank, address _treasury)", - "function proxiableUUID() view returns (bytes32)", - "function removeStake(address nodeAddress, uint256 amount, address sendTo)", - "function renounceRole(bytes32 role, address account)", - "function report(address nodeAddress)", - "function revokeRole(bytes32 role, address account)", - "function reward(address nodeAddress, uint256 amount)", - "function rewardsBank() view returns (address)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function treasury() view returns (address)", - "function upgradeTo(address newImplementation)", - "function upgradeToAndCall(address newImplementation, bytes data) payable", - "function validatorSet() view returns (address)" - ], + "abiPath": "./abis/BaseNodesManager.json", "deployTx": "0xff3bf6c402b8acc0cc907d707bc80bf769fa034f35675104301f5976d48124f1", "fullyQualifiedName": "contracts/staking/BaseNodes_Manager.sol:BaseNodes_Manager", "proxy": { @@ -689,121 +141,19 @@ }, "ServerNodesManager_Multisig": { "address": "0xE7C1ae9EB8376159d9b4f64789A42bE5517A5077", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/ServerNodesManager_Multisig.json", "deployTx": "0x61e8b91c2db7198c30fa69bde950f35cf119015ee23b250378006c8cfb1a6418", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "ServerNodesManager_RewardsBank": { "address": "0xC99Cdcd2F59eF3908fD53d88d8de24482F898d37", - "abi": [ - "constructor()", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function withdrawAmb(address addressTo, uint256 amount)", - "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" - ], + "abiPath": "./abis/ServerNodesManager_RewardsBank.json", "deployTx": "0x6cf60ab4c139afd1daf7dde3572253cc386f450d835f70bd814a3540870903f6", "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" }, "ServerNodesManager": { "address": "0x275820E2F6E4d30502fDf9CE2C165cCDC0cd331C", - "abi": [ - "event AdminChanged(address previousAdmin, address newAdmin)", - "event BeaconUpgraded(address indexed beacon)", - "event Initialized(uint8 version)", - "event Paused(address account)", - "event Reward(address indexed nodeAddress, address indexed rewardAddress, uint256 amountAmb, uint256 amountBonds)", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "event StakeChanged(address indexed nodeAddress, address indexed nodeOwner, int256 amount)", - "event Unpaused(address account)", - "event Upgraded(address indexed implementation)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function _upgrade(address newLockKeeper)", - "function addStake(address nodeAddress) payable", - "function airBond() view returns (address)", - "function changeMinStakeAmount(uint256 newMinStakeAmount)", - "function changeNodeOwner(address nodeAddress, address newOwnerAddress)", - "function changeOnboardingDelay(uint256 newOnboardingDelay)", - "function changeUnstakeLockTime(uint256 newUnstakeLockTime)", - "function forceUnstake(address nodeAddress)", - "function getOnboardingWaitingList() view returns (address[])", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function getStakesList() view returns (address[])", - "function getUserStakesList(address ownerAddress) view returns (address[] result)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function importOldStakes(address[] addresses, uint256[] amounts, uint256[] timestamps) payable", - "function initialize(address _validatorSet, address _lockKeeper, address _rewardsBank, address _airBond, address _treasury, uint256 _onboardingDelay, uint256 _unstakeLockTime, uint256 _minStakeAmount)", - "function lockKeeper() view returns (address)", - "function lockedWithdraws(address) view returns (uint256)", - "function minStakeAmount() view returns (uint256)", - "function newStake(address nodeAddress, address rewardAddress) payable", - "function onBlock()", - "function onboardingDelay() view returns (uint256)", - "function pause()", - "function paused() view returns (bool)", - "function proxiableUUID() view returns (bytes32)", - "function renounceRole(bytes32 role, address account)", - "function report(address nodeAddress)", - "function restake(address nodeAddress)", - "function revokeRole(bytes32 role, address account)", - "function reward(address nodeAddress, uint256 amount)", - "function rewardsBank() view returns (address)", - "function setRewardsAddress(address nodeAddress, address rewardsAddress)", - "function stakes(address) view returns (uint256 stake, uint256 timestampStake, address ownerAddress, address rewardsAddress)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function treasury() view returns (address)", - "function unpause()", - "function unstake(address nodeAddress, uint256 amount)", - "function unstakeLockTime() view returns (uint256)", - "function upgradeTo(address newImplementation)", - "function upgradeToAndCall(address newImplementation, bytes data) payable", - "function validatorSet() view returns (address)" - ], + "abiPath": "./abis/ServerNodesManager.json", "deployTx": "0xa89d74036f95e5bb606cc87540319311e2a7712fb34b5cb75e9d2aa4eca97750", "fullyQualifiedName": "contracts/staking/ServerNodes_Manager.sol:ServerNodes_Manager", "proxy": { @@ -813,106 +163,19 @@ }, "LegacyPoolManager_Multisig": { "address": "0xa7f4FB51457e19A08EDF94Bc3A768acec3AdabdA", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/LegacyPoolManager_Multisig.json", "deployTx": "0x6a3a3b2b0b2af8ec550b598a5241552f2b215d5d92081fcf21621e36c70f4de5", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "LegacyPoolManager_RewardsBank": { "address": "0xCE3568fD0fcc7aEdcC90212032513E4bAc1e69b4", - "abi": [ - "constructor()", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function withdrawAmb(address addressTo, uint256 amount)", - "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" - ], + "abiPath": "./abis/LegacyPoolManager_RewardsBank.json", "deployTx": "0xe2609cd5280df77337d0b9c5d22f40c9f2483a4ac947ccffaf72c70519eed45e", "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" }, "LegacyPoolManager": { "address": "0x9cBC38556ccC08365f3d608cE0DCc622940fb5a0", - "abi": [ - "event AdminChanged(address previousAdmin, address newAdmin)", - "event BeaconUpgraded(address indexed beacon)", - "event Initialized(uint8 version)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Paused(address account)", - "event PoolAdded(address poolAddress)", - "event PoolRemoved(address poolAddress)", - "event Unpaused(address account)", - "event Upgraded(address indexed implementation)", - "function addNodeRequest(uint256 stake, uint256 requestId, uint256 nodeId, uint8 role)", - "function addNodeRequestResolved(uint256 requestId, uint256 status)", - "function addPool(address pool)", - "function getDeposit(address nodeAddress) view returns (uint256)", - "function getPools() view returns (address[])", - "function importOldStakes(address[] addresses, address[] pools, uint256[] amounts)", - "function initialize(address _validatorSet, address _rewardsBank, address _treasury, address _poolsStore, address _apolloDepositStore, address _rolesEventEmitter, address _poolEventsEmitter)", - "function isPool(address poolAddress) view returns (bool)", - "function nextId() returns (uint256)", - "function node2pool(address) view returns (address)", - "function onboard(address nodeAddress, uint8 nodeType) payable", - "function owner() view returns (address)", - "function pause()", - "function paused() view returns (bool)", - "function poolReward(uint256 reward, uint256 tokenPrice)", - "function poolStakeChanged(address user, int256 stake, int256 tokens)", - "function proxiableUUID() view returns (bytes32)", - "function removePool(address pool)", - "function renounceOwnership()", - "function report(address nodeAddress)", - "function retire(address nodeAddress, uint8 nodeType) returns (uint256)", - "function reward(address nodeAddress, uint256 amount)", - "function rewardsBank() view returns (address)", - "function transferOwnership(address newOwner)", - "function treasury() view returns (address)", - "function unpause()", - "function upgradeTo(address newImplementation)", - "function upgradeToAndCall(address newImplementation, bytes data) payable", - "function validatorSet() view returns (address)" - ], + "abiPath": "./abis/LegacyPoolManager.json", "deployTx": "0xe7c8ae932f5305f4653f45c24fa7aca1aa3c0b83c5627130321086085a37ba0f", "fullyQualifiedName": "contracts/staking/pools/LegacyPoolsNodes_Manager.sol:LegacyPoolsNodes_Manager", "proxy": { @@ -922,41 +185,7 @@ }, "LockKeeper": { "address": "0x3022a0C5438cF04f9f2c1f0b5F956bB5E6070c3f", - "abi": [ - "event AdminChanged(address previousAdmin, address newAdmin)", - "event BeaconUpgraded(address indexed beacon)", - "event Claim(uint256 indexed lockId, address indexed userAddress, uint256 amount)", - "event Initialized(uint8 version)", - "event LockCanceled(uint256 indexed lockId, uint256 canceledAmount)", - "event Locked(uint256 indexed lockId, address indexed receiver, address indexed token, address locker, uint64 lockTime, uint64 firstUnlockTime, uint64 unlockPeriod, uint64 totalClaims, uint256 intervalAmount, string description)", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "event Upgraded(address indexed implementation)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function allUserLocks(address user) view returns (uint256[], tuple(address locker, address receiver, address token, uint64 firstUnlockTime, uint64 unlockPeriod, uint64 totalClaims, uint64 timesClaimed, uint256 intervalAmount, string description)[])", - "function autoClaim()", - "function cancelLock(uint256 lockId) returns (uint256 unclaimedAmount)", - "function claim(uint256 lockId)", - "function claimAll()", - "function getAllLocks() view returns (tuple(address locker, address receiver, address token, uint64 firstUnlockTime, uint64 unlockPeriod, uint64 totalClaims, uint64 timesClaimed, uint256 intervalAmount, string description)[])", - "function getAllLocksIds() view returns (uint256[])", - "function getLock(uint256 id) view returns (tuple(address locker, address receiver, address token, uint64 firstUnlockTime, uint64 unlockPeriod, uint64 totalClaims, uint64 timesClaimed, uint256 intervalAmount, string description))", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function initialize()", - "function latestLockId() view returns (uint256)", - "function lockLinear(address receiver, address token, uint64 firstUnlockTime, uint64 totalClaims, uint64 unlockPeriod, uint256 unlockAmount, string description) payable returns (uint256)", - "function lockSingle(address receiver, address token, uint64 unlockTime, uint256 amount, string description) payable returns (uint256)", - "function onBlock()", - "function proxiableUUID() view returns (bytes32)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function upgradeTo(address newImplementation)", - "function upgradeToAndCall(address newImplementation, bytes data) payable" - ], + "abiPath": "./abis/LockKeeper.json", "deployTx": "0x083245833770f11fdf68a099f3446df04a1dcc3f48e17d9c4881077733caf467", "fullyQualifiedName": "contracts/LockKeeper.sol:LockKeeper", "proxy": { @@ -966,489 +195,97 @@ }, "Ecosystem_MasterMultisig": { "address": "0x6116c12421aC75dD3d3066aEFf87b58662978a29", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeOwners(address[] multisigs, address newOwner)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeSignersMaster(tuple(address contract_, address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)[] changes)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getAllSigners(address[] multisigs) view returns (tuple(address[] signers, bool[] isInitiatorFlags, uint256 threshold)[])", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_MasterMultisig.json", "deployTx": "0xa2e9beadd84dbc6776f6fbaa0cff45f844e4575430108276aea806f80e74b8eb", "fullyQualifiedName": "contracts/multisig/MasterMultisig.sol:MasterMultisig" }, "Ecosystem_BondMarketplace_Multisig": { "address": "0xe96c6206631615a78c94eaF256E3F360BA8603F1", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_BondMarketplace_Multisig.json", "deployTx": "0xd87d40458dec4c0df0960c6f77b2e9da1d5fd566f84350b839c6f4cb4f978c23", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "Ecosystem_BondMarketplace_RewardsBank": { "address": "0x3629C36d39992bF8ece9748EfCa7AD279236A599", - "abi": [ - "constructor()", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function withdrawAmb(address addressTo, uint256 amount)", - "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_BondMarketplace_RewardsBank.json", "deployTx": "0x18f81408f4148feebf6d8093d4b66bc12c3e2d9837e7f411a5ad14fbac238db7", "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" }, "Ecosystem_Starfleet_Multisig": { "address": "0x56f8d46C3D088576880204f6E840293841708766", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_Starfleet_Multisig.json", "deployTx": "0x15fc22ad0ea814f122b2e5dc29111362db27e864f8b6023caa0b603abf61a30a", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "Ecosystem_Starfleet_RewardsBank": { "address": "0x8D310fEd1C8154bD00688d77b05722210CCBf52f", - "abi": [ - "constructor()", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function withdrawAmb(address addressTo, uint256 amount)", - "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_Starfleet_RewardsBank.json", "deployTx": "0x81293bdfc0acce762bec7f54258659fd94cc615d2a9a533c9dd0e6e7fe67deda", "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" }, "Ecosystem_Astradex_Multisig": { "address": "0x3AfEbeE38E5A4e3E7EDD66dAdEeD475Dc7287F6d", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_Astradex_Multisig.json", "deployTx": "0x0c9a2cf6a9169bd5336fc28d4fa004670c76bddf39f66fb274709b034ce301d6", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "Ecosystem_Astradex_TokenSafe_Multisig": { "address": "0xa2a5ea8cEc4F6968d4aa54359FECA8b02D6B5878", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_Astradex_TokenSafe_Multisig.json", "deployTx": "0xebbee9d331fc0146813a265fdd57f5b10cfdfd9782525ec5fcc5533b57bcce3e", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "Ecosystem_Astradex_TokenSafe": { "address": "0x321FbD2cB1EA2073D554FD2b77063276B8C9331F", - "abi": [ - "constructor()", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function withdrawAmb(address addressTo, uint256 amount)", - "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_Astradex_TokenSafe.json", "deployTx": "0x632f1a52ba35c09ea4f633570060b3ad42a87fb29c1217ffcde0737e5941dcc8", "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" }, "Ecosystem_Government_Multisig": { "address": "0x0EDf3f28648b5a84563dCc9CA41f51BE59090948", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_Government_Multisig.json", "deployTx": "0x33ee8c56d9424da48c1abc746a6b1d84e854f009e83d57258b13f246760f22cb", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "Ecosystem_LiquidPool_Multisig": { "address": "0x623f45fBCFa5f3B5eD518C7Ef753307dc438EF2C", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_LiquidPool_Multisig.json", "deployTx": "0xbf8c044cb7912e481a2f3f59ed126c6403dd81cd46873c800e3a1c2be0301ad1", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "Ecosystem_LiquidNodesManager_RewardsBank": { "address": "0xA53444cb6Eb61c915F27Cc4eF8576500fC187B24", - "abi": [ - "constructor()", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function withdrawAmb(address addressTo, uint256 amount)", - "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_LiquidNodesManager_RewardsBank.json", "deployTx": "0x9d2bc0418dbb7a72db054f078cbf0f8e2aa28df33acb757d0915b3f6d2305334", "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" }, "Ecosystem_LiquidNodesManager_Treasury": { "address": "0x29ADdcdDed146B8764825555AdB47Bf4784997bF", - "abi": [ - "constructor(address owner, uint256 _fee)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Withdraw(address addressTo, uint256 amount)", - "function calcFee(uint256 amount) view returns (uint256)", - "function fee() view returns (uint256)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function setFee(uint256 _fee)", - "function transferOwnership(address newOwner)", - "function withdraw(address addressTo, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_LiquidNodesManager_Treasury.json", "deployTx": "0x2a82ece37847b0bb0d06b54e57dcdb8eb52b070db573c9f0d7834292a3dfdaf7", "fullyQualifiedName": "contracts/finance/Treasury.sol:Treasury" }, "Ecosystem_LiquidNodesManager_TreasuryFees": { "address": "0xee0dD0af0757DaBC46ea2fE6Dc75e17046617a66", - "abi": [ - "constructor(address owner, uint256 _fee)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Withdraw(address addressTo, uint256 amount)", - "function calcFee(uint256 amount) view returns (uint256)", - "function fee() view returns (uint256)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function setFee(uint256 _fee)", - "function transferOwnership(address newOwner)", - "function withdraw(address addressTo, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_LiquidNodesManager_TreasuryFees.json", "deployTx": "0xcc7b242045acf553330b5bc46de124f8e5aab484d0bf4877658cae71e04e3354", "fullyQualifiedName": "contracts/finance/Treasury.sol:Treasury" }, "Ecosystem_LiquidPool_RewardsBank": { "address": "0xEaFb27cF593609885856F68CC74524aBec81C5c8", - "abi": [ - "constructor()", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function withdrawAmb(address addressTo, uint256 amount)", - "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_LiquidPool_RewardsBank.json", "deployTx": "0x811e0a7f40520ec231871ba6b7560b373b2759a4d7bd520773efbdd99a85782b", "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" }, "Ecosystem_LiquidPool_StAMB": { "address": "0x2834C436d04ED155e736F994c1F3a0d05C4A8dE4", - "abi": [ - "constructor()", - "event Approval(address indexed owner, address indexed spender, uint256 value)", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "event Transfer(address indexed from, address indexed to, uint256 value)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function MINTER_ROLE() view returns (bytes32)", - "function allowance(address owner, address spender) view returns (uint256)", - "function approve(address spender, uint256 amount) returns (bool)", - "function balanceOf(address account) view returns (uint256)", - "function burn(address account, uint256 amount)", - "function calculateHoldingTime(address user) view returns (uint256)", - "function decimals() view returns (uint8)", - "function decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function holdingTime(address) view returns (uint256)", - "function increaseAllowance(address spender, uint256 addedValue) returns (bool)", - "function liquidPool() view returns (address)", - "function mint(address account, uint256 amount)", - "function name() view returns (string)", - "function obtainedAt(address) view returns (uint256)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function setLiquidPool(address liquidPool_)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function symbol() view returns (string)", - "function totalSupply() view returns (uint256)", - "function transfer(address to, uint256 amount) returns (bool)", - "function transferFrom(address from, address to, uint256 amount) returns (bool)" - ], + "abiPath": "./abis/Ecosystem_LiquidPool_StAMB.json", "deployTx": "0x1705263ad6adf4f1f87f62f87e73950b9bb69070a518062ee75fb399f7aa6d9d", "fullyQualifiedName": "contracts/staking/liquid/StAMB.sol:StAMB" }, "Ecosystem_LiquidPool_StakingTiers": { "address": "0xD0442B6d4cCf2fEe0B48bc1be607390F4f8EB987", - "abi": [ - "event AdminChanged(address previousAdmin, address newAdmin)", - "event BeaconUpgraded(address indexed beacon)", - "event BonusSet(address indexed user, uint256 bonus)", - "event Initialized(uint8 version)", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "event Upgraded(address indexed implementation)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function bonuses(address) view returns (uint256)", - "function calculateTier(address user) view returns (uint256)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function initialize(address stAmb_)", - "function isTierAllowed(address user, uint256 desiredTier) view returns (bool)", - "function proxiableUUID() view returns (bytes32)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function setBonus(address user, uint256 bonus)", - "function setBonusBatch(address[] users, uint256[] bonuses_)", - "function stAmb() view returns (address)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function upgradeTo(address newImplementation)", - "function upgradeToAndCall(address newImplementation, bytes data) payable" - ], + "abiPath": "./abis/Ecosystem_LiquidPool_StakingTiers.json", "deployTx": "0x3d2ddce1080f57dad6b17ff6afe17ab0ed5919c3486cbbdea6dd3cd13c66a61d", "fullyQualifiedName": "contracts/staking/liquid/StakingTiers.sol:StakingTiers", "proxy": { @@ -1458,50 +295,7 @@ }, "Ecosystem_LiquidNodesManager": { "address": "0x96c2fa84eca1cF0e227FE212E8AE548AFC7a5f39", - "abi": [ - "event AddNodeRequest(uint256 indexed requestId, uint256 indexed nodeId, uint256 stake)", - "event AdminChanged(address previousAdmin, address newAdmin)", - "event BeaconUpgraded(address indexed beacon)", - "event Initialized(uint8 version)", - "event NodeOnboarded(uint256 indexed requestId, address indexed node, uint256 indexed nodeId, uint256 stake)", - "event NodeRetired(uint256 indexed nodeId, address indexed node, uint256 stake)", - "event RequestFailed(uint256 indexed requestId, uint256 indexed nodeId, uint256 stake)", - "event Reward(address indexed addr, uint256 amount)", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "event Upgraded(address indexed implementation)", - "function BACKEND_ROLE() view returns (bytes32)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function POOL_ROLE() view returns (bytes32)", - "function getFreeBalance() view returns (uint256)", - "function getNodeDeposit(address node) view returns (uint256)", - "function getNodes() view returns (address[])", - "function getNodesCount() view returns (uint256)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function initialize(address validatorset_, address rewardsBank_, address treasury_, address treasuryFee_, uint256 nodeStake_, uint256 maxNodesCount_)", - "function maxNodesCount() view returns (uint256)", - "function nodeStake() view returns (uint256)", - "function nodes(uint256) view returns (address)", - "function onboardNode(uint256 requestId, address node, uint256 nodeId)", - "function proxiableUUID() view returns (bytes32)", - "function renounceRole(bytes32 role, address account)", - "function report(address nodeAddress)", - "function revokeRole(bytes32 role, address account)", - "function reward(address nodeAddress, uint256 amount)", - "function rewardsBank() view returns (address)", - "function setNodeStakeAndCount(uint256 nodeStake_, uint256 maxNodesCount_)", - "function stake() payable", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function treasury() view returns (address)", - "function treasuryFee() view returns (address)", - "function unstake(uint256 amount)", - "function upgradeTo(address newImplementation)", - "function upgradeToAndCall(address newImplementation, bytes data) payable", - "function validatorSet() view returns (address)" - ], + "abiPath": "./abis/Ecosystem_LiquidNodesManager.json", "deployTx": "0xa7570b93606b9091ea55f2c6a3294dd6b31df683332e4e76877d023b68264e7d", "fullyQualifiedName": "contracts/staking/liquid/LiquidNodesManager.sol:LiquidNodesManager", "proxy": { @@ -1511,60 +305,7 @@ }, "Ecosystem_LiquidPool": { "address": "0xBda7cf631Db4535A500ED16Dd98099C04e66F1d5", - "abi": [ - "event AdminChanged(address previousAdmin, address newAdmin)", - "event BeaconUpgraded(address indexed beacon)", - "event Claim(address indexed account, uint256 ambAmount, uint256 bondAmount)", - "event Initialized(uint8 version)", - "event Interest(uint256 amount)", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "event StakeChanged(address indexed account, int256 amount)", - "event UnstakeFast(address indexed account, uint256 amount, uint256 penalty)", - "event UnstakeLocked(address indexed account, uint256 amount, uint256 unlockTime, uint256 creationTime)", - "event Upgraded(address indexed implementation)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function beforeTokenTransfer(address from, address to, uint256 amount)", - "function bondAddress() view returns (address)", - "function claimRewards(uint256 desiredCoeff)", - "function fastUnstakePenalty() view returns (uint256)", - "function getClaimAmount(address user) view returns (uint256)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function getStake(address user) view returns (uint256)", - "function getTotalRewards() view returns (uint256)", - "function getTotalStAmb() view returns (uint256)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function initialize(address nodeManager_, address rewardsBank_, address tiers_, address lockKeeper_, address bondAddress_, address stAmb_, uint256 interest_, uint256 interestPeriod_, uint256 minStakeValue_, uint256 unstakeLockTime_, uint256 fastUnstakePenalty_)", - "function interest() view returns (uint256)", - "function interestPeriod() view returns (uint256)", - "function lockKeeper() view returns (address)", - "function lockedWithdraws(address) view returns (uint256)", - "function minStakeValue() view returns (uint256)", - "function nodeManager() view returns (address)", - "function onBlock()", - "function proxiableUUID() view returns (bytes32)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function rewardsBank() view returns (address)", - "function rewardsDebt(address) view returns (uint256)", - "function setFastUnstakePenalty(uint256 penalty)", - "function setInterest(uint256 interest_, uint256 interestPeriod_)", - "function setMinStakeValue(uint256 minStakeValue_)", - "function setUnstakeLockTime(uint256 unstakeLockTime_)", - "function stAmb() view returns (address)", - "function stake() payable", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function tiers() view returns (address)", - "function totalRewards() view returns (uint256)", - "function totalRewardsDebt() view returns (uint256)", - "function unstake(uint256 amount, uint256 desiredCoeff)", - "function unstakeFast(uint256 amount, uint256 desiredCoeff)", - "function unstakeLockTime() view returns (uint256)", - "function upgradeTo(address newImplementation)", - "function upgradeToAndCall(address newImplementation, bytes data) payable" - ], + "abiPath": "./abis/Ecosystem_LiquidPool.json", "deployTx": "0xf4eae93087cf867804b7e0abcc7b3c1cd301d4b322b5ebef0bc145bf31ad8331", "fullyQualifiedName": "contracts/staking/liquid/LiquidPool.sol:LiquidPool", "proxy": { @@ -1574,203 +315,43 @@ }, "Ecosystem_Astradex_ChronosFeeCollector": { "address": "0x97B7bDAcE8672a2aA553938FA5C289538E7449Ac", - "abi": [ - "constructor()", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function withdrawAmb(address addressTo, uint256 amount)", - "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_Astradex_ChronosFeeCollector.json", "deployTx": "0xf21babb4ad16277b8ef36ddac63adf4a99f909c0175e832a4ae5c33e55aa9d18", "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" }, "Ecosystem_LimitedTokenPoolsManager_Multisig": { "address": "0x31baD4443e66E625b83D6EEC392Fec832A99945e", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_LimitedTokenPoolsManager_Multisig.json", "deployTx": "0xf5ed223b2cfda4739c3ea48f5681c038006812e90a97e6d7bd6cb679bf7ffb38", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "Ecosystem_HBRToken": { "address": "0xd09270E917024E75086e27854740871F1C8E0E10", - "abi": [ - "constructor(address admin)", - "event Approval(address indexed owner, address indexed spender, uint256 value)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Paused(address account)", - "event Transfer(address indexed from, address indexed to, uint256 value)", - "event Unpaused(address account)", - "function allowance(address owner, address spender) view returns (uint256)", - "function approve(address spender, uint256 amount) returns (bool)", - "function balanceOf(address account) view returns (uint256)", - "function burn(address account, uint256 amount)", - "function decimals() view returns (uint8)", - "function decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)", - "function increaseAllowance(address spender, uint256 addedValue) returns (bool)", - "function mint(address account, uint256 amount)", - "function name() view returns (string)", - "function owner() view returns (address)", - "function pause()", - "function paused() view returns (bool)", - "function renounceOwnership()", - "function symbol() view returns (string)", - "function totalSupply() view returns (uint256)", - "function transfer(address to, uint256 amount) returns (bool)", - "function transferFrom(address from, address to, uint256 amount) returns (bool)", - "function transferOwnership(address newOwner)", - "function unpause()" - ], + "abiPath": "./abis/Ecosystem_HBRToken.json", "deployTx": "0x8217c563de8c3bae1cd041968cf3e67fcb6fdfcf9ef3d828483ad1cbdb10ab69", "fullyQualifiedName": "contracts/staking/token/HBRToken.sol:HBRToken" }, "Ecosystem_GeneralTokenBank_Multisig": { "address": "0x7ebCde7D910A2A1167391D24E929e1c3a021Aa2C", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_GeneralTokenBank_Multisig.json", "deployTx": "0x2ac711c2f5609259c3791638a2a8d90e3acb64fa0dabfa5c1746d05b6ba4d0d1", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "Ecosystem_GeneralTokenBank": { "address": "0xaa2EE244E7644D42FD995AF7d45d4ecFD0F2bF6F", - "abi": [ - "constructor()", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function withdrawAmb(address addressTo, uint256 amount)", - "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_GeneralTokenBank.json", "deployTx": "0x1d6552e36b5ccf075e239ea8789747b9682947929ab8081947469264dae4dee2", "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" }, "Ecosystem_LimitedTokenPoolsManager_RewardsBank": { "address": "0xd8E8819F9A3160F561a754a3f8c499BFd76947cb", - "abi": [ - "constructor()", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function withdrawAmb(address addressTo, uint256 amount)", - "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_LimitedTokenPoolsManager_RewardsBank.json", "deployTx": "0x785297bb1786ea24cf6ec7ef84eac28a2e92b9cf83a270cfa3da69edcdd1df19", "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" }, "Ecosystem_LimitedTokenPoolsManager": { "address": "0x4A0dbD61d017198a9eC5B444CdD307D55d4d879A", - "abi": [ - "constructor(address bank_, address lockKeeper_, address doubleSideBeacon_)", - "event LimitedPoolActivated(address pool)", - "event LimitedPoolConfigured(address pool, tuple(uint256 rewardTokenPrice, uint256 interest, uint256 interestRate, uint256 minDepositValue, uint256 minStakeValue, uint256 fastUnstakePenalty, uint256 unstakeLockPeriod, uint256 stakeLockPeriod, uint256 maxTotalStakeValue, uint256 maxStakePerUserValue, uint256 stakeLimitsMultiplier) params)", - "event LimitedPoolCreated(address pool, string name)", - "event LimitedPoolDeactivated(address pool)", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function activatePool(address _pool)", - "function bank() view returns (address)", - "function configurePool(address _pool, tuple(uint256 rewardTokenPrice, uint256 interest, uint256 interestRate, uint256 minDepositValue, uint256 minStakeValue, uint256 fastUnstakePenalty, uint256 unstakeLockPeriod, uint256 stakeLockPeriod, uint256 maxTotalStakeValue, uint256 maxStakePerUserValue, uint256 stakeLimitsMultiplier) params)", - "function createPool(tuple(string name, address limitsMultiplierToken, address profitableToken, address rewardToken) params) returns (address)", - "function deactivatePool(address _pool)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function limitedTokenPoolBeacon() view returns (address)", - "function onBlock()", - "function pools(uint256) view returns (address)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)" - ], + "abiPath": "./abis/Ecosystem_LimitedTokenPoolsManager.json", "deployTx": "0xb9778368eba50a55a4606d480ea3d6e4e572963b911096c949d7486fb3bdc377", "fullyQualifiedName": "contracts/staking/token/LimitedTokenPoolsManager.sol:LimitedTokenPoolsManager" } diff --git a/deployments/22040.json b/deployments/22040.json index 08b7eb50..9c563481 100644 --- a/deployments/22040.json +++ b/deployments/22040.json @@ -1,532 +1,103 @@ { "MasterMultisig": { "address": "0x132827Ee051b7276a2f85D6964F6182974aa243c", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeOwners(address[] multisigs, address newOwner)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeSignersMaster(tuple(address contract_, address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)[] changes)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getAllSigners(address[] multisigs) view returns (tuple(address[] signers, bool[] isInitiatorFlags, uint256 threshold)[])", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/MasterMultisig.json", "deployTx": "0x5eb9a179617b9b7b3d6ed7efae9f9e506927831d004d0eb06c73e30f6136746d", "fullyQualifiedName": "contracts/multisig/MasterMultisig.sol:MasterMultisig" }, "FinanceMaster_Multisig": { "address": "0x4db96017947838031561b35A643B2d9Dbf163241", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/FinanceMaster_Multisig.json", "deployTx": "0xf52700128cc58971f3392e94b0eebd6bce92a852602c0c9f7252653f32ff68c1", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "FinanceMaster": { "address": "0x090801d716A9d501F57519B1f4bd6aBD2961aa88", - "abi": [ - "constructor(address owner, uint256 maxBanks_, uint256 maxBankBalance_)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Withdraw(address addressTo, uint256 amount)", - "function banks(uint256) view returns (address)", - "function getBalances() view returns (address[] addresses, uint256[] balances)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function transferOwnership(address newOwner)", - "function transferToBanks()", - "function withdraw(address addressTo, uint256 amount)" - ], + "abiPath": "./abis/FinanceMaster.json", "deployTx": "0x39ebeb15a48d42d2f759eb1480d073a67a2273e86e879f00c69de1dedfc98547", "fullyQualifiedName": "contracts/finance/MasterFinance.sol:MasterFinance" }, "FinanceRewards_Multisig": { "address": "0x17c9b9A8BeeB1FE98566877AF442dbeBd0F5dB09", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/FinanceRewards_Multisig.json", "deployTx": "0x47493d6557ca6c1b61f90867ad2ef38ea1ea9203585e10ca59acb8d351a8db52", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "FinanceRewards": { "address": "0xF01EF9dFf8cA6e4324b000812D75Aa4A67ee52ca", - "abi": [ - "constructor(address owner)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Withdraw(address addressTo, uint256 amount)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function transferOwnership(address newOwner)", - "function withdraw(address addressTo, uint256 amount)" - ], + "abiPath": "./abis/FinanceRewards.json", "deployTx": "0x43124c139cdd9b485abb70b145bd19610d0d2a339725762d8d20198471560aac", "fullyQualifiedName": "contracts/finance/Finance.sol:Finance" }, "FinanceInvestors_Multisig": { "address": "0x58E98B0974A22270D974Ce914Fc430E048368546", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/FinanceInvestors_Multisig.json", "deployTx": "0xb9b781e6b924e756c1234f03acf9c600108e945fdfe00a565300068b4e47342d", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "FinanceInvestors": { "address": "0xea3011C9Efeb1e2A63A0c6cb23a0e0314970735F", - "abi": [ - "constructor(address owner)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Withdraw(address addressTo, uint256 amount)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function transferOwnership(address newOwner)", - "function withdraw(address addressTo, uint256 amount)" - ], + "abiPath": "./abis/FinanceInvestors.json", "deployTx": "0x0a0cfca158f1610f305d1b6d4d5632f0317b3cbe81250028a00524f5fb94a860", "fullyQualifiedName": "contracts/finance/Finance.sol:Finance" }, "FinanceTeam_Multisig": { "address": "0xeeff62628dcD8E8AF2aA376C718f54602a54B5c5", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/FinanceTeam_Multisig.json", "deployTx": "0xa2637d8bf183b005dc4eebf6f5d74bf249c4e8669481e597dbab6c58c0f24e28", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "FinanceTeam": { "address": "0x8eb921E5F4C3e04a6cd9D7934e533225aEf722e5", - "abi": [ - "constructor(address owner)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Withdraw(address addressTo, uint256 amount)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function transferOwnership(address newOwner)", - "function withdraw(address addressTo, uint256 amount)" - ], + "abiPath": "./abis/FinanceTeam.json", "deployTx": "0xd33fde7b42e16746ae61655b1312a3608602b0efac604dbe96cae438a8923bb5", "fullyQualifiedName": "contracts/finance/Finance.sol:Finance" }, "FinanceEcosystem_Multisig": { "address": "0x8e21c4FD0FBEb51484272a9DaA626740B3817e48", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/FinanceEcosystem_Multisig.json", "deployTx": "0xc8ebc53b544e66fbca36e6c54025c32b54f2c4a43ad5cdc329fec73b4fd35a6c", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "FinanceEcosystem": { "address": "0x1D49c49CD99d149142a4B9c673bbeacB8cBe194c", - "abi": [ - "constructor(address owner)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Withdraw(address addressTo, uint256 amount)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function transferOwnership(address newOwner)", - "function withdraw(address addressTo, uint256 amount)" - ], + "abiPath": "./abis/FinanceEcosystem.json", "deployTx": "0xdc8a7bff62854494c2272855bbefaf1adac9d1adc9090395de4ae2d18f430fc4", "fullyQualifiedName": "contracts/finance/Finance.sol:Finance" }, "FinanceRevenue_Multisig": { "address": "0xc050F45e9394C47c020AE3322F7017D67D4e215b", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/FinanceRevenue_Multisig.json", "deployTx": "0x592f7b6319fcbc7c19bcf36db2639f204ce87b219096bcd329ac5bfa78de6326", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "FinanceRevenue": { "address": "0x1D1c26e0b8DAFa08FD678A888a8f4de175B1d060", - "abi": [ - "constructor(address owner)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Withdraw(address addressTo, uint256 amount)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function transferOwnership(address newOwner)", - "function withdraw(address addressTo, uint256 amount)" - ], + "abiPath": "./abis/FinanceRevenue.json", "deployTx": "0x9ece25118ea8dfa3142139df5979acc2da622b3c584f3fa86521fdb9f11f0b4a", "fullyQualifiedName": "contracts/finance/Finance.sol:Finance" }, "AirBond": { "address": "0x765e3e03f8dfca312EfdAb378e386E1EA60ee93F", - "abi": [ - "constructor(address admin)", - "event Approval(address indexed owner, address indexed spender, uint256 value)", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "event Transfer(address indexed from, address indexed to, uint256 value)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function MINTER_ROLE() view returns (bytes32)", - "function allowance(address owner, address spender) view returns (uint256)", - "function approve(address spender, uint256 amount) returns (bool)", - "function balanceOf(address account) view returns (uint256)", - "function burn(address account, uint256 amount)", - "function decimals() view returns (uint8)", - "function decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function increaseAllowance(address spender, uint256 addedValue) returns (bool)", - "function mint(address account, uint256 amount)", - "function name() view returns (string)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function symbol() view returns (string)", - "function totalSupply() view returns (uint256)", - "function transfer(address to, uint256 amount) returns (bool)", - "function transferFrom(address from, address to, uint256 amount) returns (bool)" - ], + "abiPath": "./abis/AirBond.json", "deployTx": "0x3619b254add676ebaaa58e216cad5672e17c872b6e8a0f1406ef5556973c12ad", "fullyQualifiedName": "contracts/funds/AirBond.sol:AirBond" }, "AirDrop": { "address": "0x130c0e94E79DbA9F8A63D6452210C89e5942130c", - "abi": [ - "constructor(address airBondToken_, address backendAddress_, uint256 minAmbBalance_, tuple(address user, bytes32 category, uint256 amount)[] claims) payable", - "event Claim(address user, bytes32[] categories, uint256[] amounts)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "function airBondToken() view returns (address)", - "function backendAddress() view returns (address)", - "function changeBackendAddress(address backendAddress_)", - "function changeMinAmbBalance(uint256 minAmbBalance_)", - "function claim(bytes32[] categories, uint256[] amounts, bytes signature)", - "function claimed(address, bytes32) view returns (uint256)", - "function getClaimed(address user, bytes32[] categories) view returns (uint256[])", - "function minAmbBalance() view returns (uint256)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function transferOwnership(address newOwner)", - "function withdraw(address addressTo, uint256 amount)" - ], + "abiPath": "./abis/AirDrop.json", "deployTx": "0xdc90b35a632537a2ca787773b545eef10aa23f4e29408eaa0abfd49ecce36d75", "fullyQualifiedName": "contracts/projects/airdrop/AirDrop.sol:AirDrop" }, "ValidatorSet_Multisig": { "address": "0x7cee2ae3042D2C646Aa24FACfA92dfeE589046f0", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/ValidatorSet_Multisig.json", "deployTx": "0x730433726652307ce2a76a12a9a4139d465641f2467147ce9f4625e173989b0b", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "ValidatorSet": { "address": "0x952b98DBDa3319BF0e339cC9CC574fF768F80f3c", - "abi": [ - "event AdminChanged(address previousAdmin, address newAdmin)", - "event BeaconUpgraded(address indexed beacon)", - "event Initialized(uint8 version)", - "event InitiateChange(bytes32 indexed parentHash, address[] newSet)", - "event QueueListNodeAdded(address indexed nodeAddress)", - "event QueueListNodeRemoved(address indexed nodeAddress)", - "event Report(address indexed nodeAddress, uint256 malisciousType)", - "event Reward(address indexed manager, address indexed nodeAddress, address indexed rewardReceiver, address nodeOwner, address tokenAddress, uint256 amount)", - "event RewardError(address stakingManager, string errorText)", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "event StakeChanged(address indexed nodeAddress, address indexed stakingContract, int256 changeAmount)", - "event StakeCreated(address indexed nodeAddress, address indexed stakingContract, uint256 amount, bool isAlwaysTop)", - "event StakeRemoved(address indexed nodeAddress, address indexed stakingContract)", - "event TopListNodeAdded(address indexed nodeAddress)", - "event TopListNodeRemoved(address indexed nodeAddress)", - "event Upgraded(address indexed implementation)", - "event ValidatorSetFinalized(address[] newSet)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function REWARD_ORACLE_ROLE() view returns (bytes32)", - "function STAKING_MANAGER_ROLE() view returns (bytes32)", - "function _updateExternal()", - "function addBlockListener(address listener)", - "function baseReward() view returns (uint256)", - "function changeTopStakesCount(uint256 newTopStakesCount)", - "function emitReward(address rewardsBank, address nodeAddress, address nodeOwner, address rewardReceiver, address tokenAddress, uint256 amount)", - "function finalizeChange()", - "function getBlockListeners() view returns (address[])", - "function getNodeStake(address nodeAddress) view returns (uint256)", - "function getQueuedStakes() view returns (address[])", - "function getRewardSettings() view returns (uint64[5])", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function getRoleMember(bytes32 role, uint256 index) view returns (address)", - "function getRoleMemberCount(bytes32 role) view returns (uint256)", - "function getStakesByManager(address manager) view returns (address[] result)", - "function getTopStakes() view returns (address[])", - "function getValidators() view returns (address[])", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function initialize(address _rewardOracle, uint256 _baseReward, uint256 _topStakesCount)", - "function latestNodeRewardTime(address) view returns (uint256)", - "function newStake(address nodeAddress, uint256 amount, bool isAlwaysTop)", - "function process()", - "function proxiableUUID() view returns (bytes32)", - "function removeBlockListener(address listener)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function setReward(uint256 _baseReward)", - "function setRewardSettings(uint64[5] newSettings)", - "function stake(address nodeAddress, uint256 amount)", - "function stakes(address) view returns (uint256 amount, address stakingContract, bool isAlwaysTop)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function topStakesCount() view returns (uint256)", - "function totalStakeAmount() view returns (uint256)", - "function unstake(address nodeAddress, uint256 amount)", - "function upgradeTo(address newImplementation)", - "function upgradeToAndCall(address newImplementation, bytes data) payable" - ], + "abiPath": "./abis/ValidatorSet.json", "deployTx": "0x129e2ca1ad4ad54eb854aff2aafa4bd79aebe48c070d865a2ca99711e3bca990", "fullyQualifiedName": "contracts/consensus/ValidatorSet.sol:ValidatorSet", "proxy": { @@ -536,150 +107,31 @@ }, "Treasury_Multisig": { "address": "0x5f0EA6276D40A3529E060EA5Acb9bf963f5c430a", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/Treasury_Multisig.json", "deployTx": "0xa9f591bf12cf3885b5bb7e41893616c54806cc7f1894fa30dc9be431174fe48c", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "Treasury": { "address": "0xdC103bf9a3789f78958f365321F3BA07e369667A", - "abi": [ - "constructor(address owner, uint256 _fee)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Withdraw(address addressTo, uint256 amount)", - "function calcFee(uint256 amount) view returns (uint256)", - "function fee() view returns (uint256)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function setFee(uint256 _fee)", - "function transferOwnership(address newOwner)", - "function withdraw(address addressTo, uint256 amount)" - ], + "abiPath": "./abis/Treasury.json", "deployTx": "0x5e1b0c50bd919292c64b8e730118f204730ff5535ee2abb9ba80a29453377a93", "fullyQualifiedName": "contracts/finance/Treasury.sol:Treasury" }, "BaseNodesManager_Multisig": { "address": "0x450A606B9D42D081CE58bC5cDF6acA380acF7731", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/BaseNodesManager_Multisig.json", "deployTx": "0xf89282350267e411bb7f0312c422409528e0bd348852f0680acfe07a8d980e1a", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "BaseNodesManager_RewardsBank": { "address": "0xe8DA2709BCAD1e2045f25A13347ed994b3d2cBaD", - "abi": [ - "constructor()", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function withdrawAmb(address addressTo, uint256 amount)", - "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" - ], + "abiPath": "./abis/BaseNodesManager_RewardsBank.json", "deployTx": "0x2fb8460e66d74d45b1e30e4eee2c064bc4737b803ce688df7f0f814daaf6fbde", "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" }, "BaseNodesManager": { "address": "0x97464F18b71cbF5f42B134CE48b47341f4B4fddf", - "abi": [ - "event AdminChanged(address previousAdmin, address newAdmin)", - "event BeaconUpgraded(address indexed beacon)", - "event Initialized(uint8 version)", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "event Upgraded(address indexed implementation)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function addStake(address nodeAddress) payable", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function initialize(address _validatorSet, address _rewardsBank, address _treasury)", - "function proxiableUUID() view returns (bytes32)", - "function removeStake(address nodeAddress, uint256 amount, address sendTo)", - "function renounceRole(bytes32 role, address account)", - "function report(address nodeAddress)", - "function revokeRole(bytes32 role, address account)", - "function reward(address nodeAddress, uint256 amount)", - "function rewardsBank() view returns (address)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function treasury() view returns (address)", - "function upgradeTo(address newImplementation)", - "function upgradeToAndCall(address newImplementation, bytes data) payable", - "function validatorSet() view returns (address)" - ], + "abiPath": "./abis/BaseNodesManager.json", "deployTx": "0xcdddeb922b7868bc2b4b2d30c07e9869e2a9645e978567cd14d5fb4bf597abf5", "fullyQualifiedName": "contracts/staking/BaseNodes_Manager.sol:BaseNodes_Manager", "proxy": { @@ -689,81 +141,13 @@ }, "ServerNodesManager_Multisig": { "address": "0x3fbb4BfEfB478fcE4fb52503ce95e7602E4BB760", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/ServerNodesManager_Multisig.json", "deployTx": "0xfda1588b5f1c14ca2838df2a014bfba97100372b81c27dca5be5696e1797b2e5", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "LockKeeper": { "address": "0x00385a84F8ea4A244B2E084D81460e768fAE8ec3", - "abi": [ - "event AdminChanged(address previousAdmin, address newAdmin)", - "event BeaconUpgraded(address indexed beacon)", - "event Claim(uint256 indexed lockId, address indexed userAddress, uint256 amount)", - "event Initialized(uint8 version)", - "event LockCanceled(uint256 indexed lockId, uint256 canceledAmount)", - "event Locked(uint256 indexed lockId, address indexed receiver, address indexed token, address locker, uint64 lockTime, uint64 firstUnlockTime, uint64 unlockPeriod, uint64 totalClaims, uint256 intervalAmount, string description)", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "event Upgraded(address indexed implementation)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function allUserLocks(address user) view returns (uint256[], tuple(address locker, address receiver, address token, uint64 firstUnlockTime, uint64 unlockPeriod, uint64 totalClaims, uint64 timesClaimed, uint256 intervalAmount, string description)[])", - "function autoClaim()", - "function cancelLock(uint256 lockId) returns (uint256 unclaimedAmount)", - "function claim(uint256 lockId)", - "function claimAll()", - "function getAllLocks() view returns (tuple(address locker, address receiver, address token, uint64 firstUnlockTime, uint64 unlockPeriod, uint64 totalClaims, uint64 timesClaimed, uint256 intervalAmount, string description)[])", - "function getAllLocksIds() view returns (uint256[])", - "function getLock(uint256 id) view returns (tuple(address locker, address receiver, address token, uint64 firstUnlockTime, uint64 unlockPeriod, uint64 totalClaims, uint64 timesClaimed, uint256 intervalAmount, string description))", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function initialize()", - "function latestLockId() view returns (uint256)", - "function lockLinear(address receiver, address token, uint64 firstUnlockTime, uint64 totalClaims, uint64 unlockPeriod, uint256 unlockAmount, string description) payable returns (uint256)", - "function lockSingle(address receiver, address token, uint64 unlockTime, uint256 amount, string description) payable returns (uint256)", - "function onBlock()", - "function proxiableUUID() view returns (bytes32)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function upgradeTo(address newImplementation)", - "function upgradeToAndCall(address newImplementation, bytes data) payable" - ], + "abiPath": "./abis/LockKeeper.json", "deployTx": "0x8f6c33ff0324a756a5a8f7e6ad7e84abceaa31bad64e531ca051fdc26ee4033f", "fullyQualifiedName": "contracts/LockKeeper.sol:LockKeeper", "proxy": { @@ -773,81 +157,13 @@ }, "ServerNodesManager_RewardsBank": { "address": "0x99B1A627604dB1479379c2c576dAFdC8AE4C546E", - "abi": [ - "constructor()", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function withdrawAmb(address addressTo, uint256 amount)", - "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" - ], + "abiPath": "./abis/ServerNodesManager_RewardsBank.json", "deployTx": "0xe269d2a9f2d6e13dda7213d603e908a3bb0b84590971276b502f005d61740822", "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" }, "ServerNodesManager": { "address": "0x55C402b5F9C2c3DfE3d866B36598f0Fd53e03B89", - "abi": [ - "event AdminChanged(address previousAdmin, address newAdmin)", - "event BeaconUpgraded(address indexed beacon)", - "event Initialized(uint8 version)", - "event Paused(address account)", - "event Reward(address indexed nodeAddress, address indexed rewardAddress, uint256 amountAmb, uint256 amountBonds)", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "event StakeChanged(address indexed nodeAddress, address indexed nodeOwner, int256 amount)", - "event Unpaused(address account)", - "event Upgraded(address indexed implementation)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function _upgrade(address newLockKeeper)", - "function addStake(address nodeAddress) payable", - "function airBond() view returns (address)", - "function changeMinStakeAmount(uint256 newMinStakeAmount)", - "function changeNodeOwner(address nodeAddress, address newOwnerAddress)", - "function changeOnboardingDelay(uint256 newOnboardingDelay)", - "function changeUnstakeLockTime(uint256 newUnstakeLockTime)", - "function forceUnstake(address nodeAddress)", - "function getOnboardingWaitingList() view returns (address[])", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function getStakesList() view returns (address[])", - "function getUserStakesList(address ownerAddress) view returns (address[] result)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function importOldStakes(address[] addresses, uint256[] amounts, uint256[] timestamps) payable", - "function initialize(address _validatorSet, address _lockKeeper, address _rewardsBank, address _airBond, address _treasury, uint256 _onboardingDelay, uint256 _unstakeLockTime, uint256 _minStakeAmount)", - "function lockKeeper() view returns (address)", - "function lockedWithdraws(address) view returns (uint256)", - "function minStakeAmount() view returns (uint256)", - "function newStake(address nodeAddress, address rewardAddress) payable", - "function onBlock()", - "function onboardingDelay() view returns (uint256)", - "function pause()", - "function paused() view returns (bool)", - "function proxiableUUID() view returns (bytes32)", - "function renounceRole(bytes32 role, address account)", - "function report(address nodeAddress)", - "function restake(address nodeAddress)", - "function revokeRole(bytes32 role, address account)", - "function reward(address nodeAddress, uint256 amount)", - "function rewardsBank() view returns (address)", - "function setRewardsAddress(address nodeAddress, address rewardsAddress)", - "function stakes(address) view returns (uint256 stake, uint256 timestampStake, address ownerAddress, address rewardsAddress)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function treasury() view returns (address)", - "function unpause()", - "function unstake(address nodeAddress, uint256 amount)", - "function unstakeLockTime() view returns (uint256)", - "function upgradeTo(address newImplementation)", - "function upgradeToAndCall(address newImplementation, bytes data) payable", - "function validatorSet() view returns (address)" - ], + "abiPath": "./abis/ServerNodesManager.json", "deployTx": "0xbd1595627c3abfd44d4f6aeb8d6375f52fef0dd7bc5ea0dc36908e25d70cab47", "fullyQualifiedName": "contracts/staking/ServerNodes_Manager.sol:ServerNodes_Manager", "proxy": { @@ -857,106 +173,19 @@ }, "LegacyPoolManager_Multisig": { "address": "0xE6b3585c2E2Fe8C39EECB163e5D8C90346c873F4", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/LegacyPoolManager_Multisig.json", "deployTx": "0x081b38adb89473b79f21664e50d69cb1514fc22a3a6f6c532ec6ed71032bcd15", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "LegacyPoolManager_RewardsBank": { "address": "0xF3EE25f6600B68cDBeECa955B4bCcF9c9ABF9a40", - "abi": [ - "constructor()", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function withdrawAmb(address addressTo, uint256 amount)", - "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" - ], + "abiPath": "./abis/LegacyPoolManager_RewardsBank.json", "deployTx": "0xb20a3daef68f30c8dc44dffa11d28cea672b57482789d893e2da71922153ac4d", "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" }, "LegacyPoolManager": { "address": "0x0aE9a337A10F1E31cAf4Ff7b0F915277361708c6", - "abi": [ - "event AdminChanged(address previousAdmin, address newAdmin)", - "event BeaconUpgraded(address indexed beacon)", - "event Initialized(uint8 version)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Paused(address account)", - "event PoolAdded(address poolAddress)", - "event PoolRemoved(address poolAddress)", - "event Unpaused(address account)", - "event Upgraded(address indexed implementation)", - "function addNodeRequest(uint256 stake, uint256 requestId, uint256 nodeId, uint8 role)", - "function addNodeRequestResolved(uint256 requestId, uint256 status)", - "function addPool(address pool)", - "function getDeposit(address nodeAddress) view returns (uint256)", - "function getPools() view returns (address[])", - "function importOldStakes(address[] addresses, address[] pools, uint256[] amounts)", - "function initialize(address _validatorSet, address _rewardsBank, address _treasury, address _poolsStore, address _apolloDepositStore, address _rolesEventEmitter, address _poolEventsEmitter)", - "function isPool(address poolAddress) view returns (bool)", - "function nextId() returns (uint256)", - "function node2pool(address) view returns (address)", - "function onboard(address nodeAddress, uint8 nodeType) payable", - "function owner() view returns (address)", - "function pause()", - "function paused() view returns (bool)", - "function poolReward(uint256 reward, uint256 tokenPrice)", - "function poolStakeChanged(address user, int256 stake, int256 tokens)", - "function proxiableUUID() view returns (bytes32)", - "function removePool(address pool)", - "function renounceOwnership()", - "function report(address nodeAddress)", - "function retire(address nodeAddress, uint8 nodeType) returns (uint256)", - "function reward(address nodeAddress, uint256 amount)", - "function rewardsBank() view returns (address)", - "function transferOwnership(address newOwner)", - "function treasury() view returns (address)", - "function unpause()", - "function upgradeTo(address newImplementation)", - "function upgradeToAndCall(address newImplementation, bytes data) payable", - "function validatorSet() view returns (address)" - ], + "abiPath": "./abis/LegacyPoolManager.json", "deployTx": "0x2ee4600e25cb5bc965330cb3737fc5112a8f073656ced32c99d732c3b2bf66d6", "fullyQualifiedName": "contracts/staking/pools/LegacyPoolsNodes_Manager.sol:LegacyPoolsNodes_Manager", "proxy": { @@ -966,88 +195,19 @@ }, "Fees_Multisig": { "address": "0x8C52c360270b324A65Cd4bD4a5e2DCBe6aF8f500", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/Fees_Multisig.json", "deployTx": "0x3f7d60815b6d59f3bf10c05a39a809aaf8285233022b0ce0beac4d0f5b5f57f7", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "Fees_Treasure": { "address": "0xebd013e82004a58f0599d2f45918250e04d80Abf", - "abi": [ - "constructor(address owner)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Withdraw(address addressTo, uint256 amount)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function transferOwnership(address newOwner)", - "function withdraw(address addressTo, uint256 amount)" - ], + "abiPath": "./abis/Fees_Treasure.json", "deployTx": "0x005ee9b58676be26d6f03997b8e3be2c8f50b3307c79226faca5bae01ac31ef1", "fullyQualifiedName": "contracts/finance/Finance.sol:Finance" }, "Fees": { "address": "0x0784273B3eb7EC159bb48Da834e230fe583D11CC", - "abi": [ - "event AdminChanged(address previousAdmin, address newAdmin)", - "event BeaconUpgraded(address indexed beacon)", - "event FeesParamsChanged(address indexed addr, uint256 indexed percent)", - "event GasPriceChanged(uint256 indexed price)", - "event Initialized(uint8 version)", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "event Upgraded(address indexed implementation)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function getFeesParams() view returns (address addr, uint256 percent)", - "function getGasPrice() view returns (uint256)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function getRoleMember(bytes32 role, uint256 index) view returns (address)", - "function getRoleMemberCount(bytes32 role) view returns (uint256)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function initialize(uint256 _gasPrice, address _payAddress, uint256 _feePercent)", - "function proxiableUUID() view returns (bytes32)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function setFeesParams(address addr, uint256 percent)", - "function setGasPrice(uint256 price)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function upgradeTo(address newImplementation)", - "function upgradeToAndCall(address newImplementation, bytes data) payable" - ], + "abiPath": "./abis/Fees.json", "deployTx": "0xa5eb2433c951768328f811b4c29c9acf48074793aec91d9e6db01534cc7e740f", "fullyQualifiedName": "contracts/fees/Fees.sol:Fees", "proxy": { @@ -1057,509 +217,103 @@ }, "Ecosystem_MasterMultisig": { "address": "0xeC3854D5F670B81BEb8e3F2B9f8209C3b33d3754", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeOwners(address[] multisigs, address newOwner)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeSignersMaster(tuple(address contract_, address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)[] changes)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getAllSigners(address[] multisigs) view returns (tuple(address[] signers, bool[] isInitiatorFlags, uint256 threshold)[])", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_MasterMultisig.json", "deployTx": "0x124bc9b4ece8e72d255ef069ef7c371c48dee91376e613e629e3620b652b7bc9", "fullyQualifiedName": "contracts/multisig/MasterMultisig.sol:MasterMultisig" }, "Ecosystem_BondMarketplace_Multisig": { "address": "0xb04D84FC6BA3202f741d0db0124d890e7A3493b7", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_BondMarketplace_Multisig.json", "deployTx": "0xe6d5722aae0514b25e9627d02bbdf25d9953d93f180e6b36f157eea307b12dd2", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "Ecosystem_BondMarketplace_RewardsBank": { "address": "0xC6613c683f2d4684D806FAcb9D413f41221537c6", - "abi": [ - "constructor()", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function withdrawAmb(address addressTo, uint256 amount)", - "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_BondMarketplace_RewardsBank.json", "deployTx": "0x24504b2eb16838604215f33de18ce78645f7fb9b75d4421eeeeaddbc8159f473", "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" }, "Ecosystem_Starfleet_Multisig": { "address": "0x97a3cC52DB5DB58AF95E939d9b76EDCd965038B0", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_Starfleet_Multisig.json", "deployTx": "0xf4b202be9c4ec219469a42126c15b0a35966bb7a099ace3e487635f108211ee7", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "Ecosystem_Starfleet_RewardsBank": { "address": "0x2f82974A7F45D626Bcd332C2f09729aCeC8b8923", - "abi": [ - "constructor()", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function withdrawAmb(address addressTo, uint256 amount)", - "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_Starfleet_RewardsBank.json", "deployTx": "0x821ddb582a721b47a17c074cc7dce49810f79c63304f2b42b60db99d0394feb7", "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" }, "Ecosystem_Astradex_Multisig": { "address": "0xfFc01d93c4c80884E7F17EC8DAf3D92f56562bcb", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_Astradex_Multisig.json", "deployTx": "0x9e96106a229d3eb35be2c00e3117f87a5b160b4394d25c5dfb7b5d024f25edb1", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "Ecosystem_Astradex_TokenSafe_Multisig": { "address": "0xd9724A3D6aa2441d78727C3eeEfE4b941186B41a", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_Astradex_TokenSafe_Multisig.json", "deployTx": "0xb54e51a7f44c99c3d18b2e4f32a37e5db12c6796524e2984997d27808c4ad953", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "Ecosystem_Astradex_TokenSafe": { "address": "0xB6FCa75A108bCde974e2DDcC603855DbE96E45DA", - "abi": [ - "constructor()", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function withdrawAmb(address addressTo, uint256 amount)", - "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_Astradex_TokenSafe.json", "deployTx": "0x91dcfdbe3cb1a0c7a0d7cb5f51a18e75fd4003cc40b35cd577d17962d2810fd9", "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" }, "Ecosystem_Astradex_ChronosFeeCollector": { "address": "0x927ade9eF5a4A4B94E2eBcBcc84441d584c44d7D", - "abi": [ - "constructor()", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function withdrawAmb(address addressTo, uint256 amount)", - "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_Astradex_ChronosFeeCollector.json", "deployTx": "0x28b23ef153dd329d2786fab91a6a52c42b95495b5e10564ab7476eae825fa5a8", "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" }, "Ecosystem_Government_Multisig": { "address": "0xCf457c3A00b2132241357C3b026C590909074837", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_Government_Multisig.json", "deployTx": "0x60295d73db836eb1f71fd5e96f9f026706bb5e27d7eac004b7973a702d3e5357", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "Ecosystem_LiquidPool_Multisig": { "address": "0xf1ee85d0d76D5165aa7825c14CE93B53fb1812de", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_LiquidPool_Multisig.json", "deployTx": "0x41e5b0d8a9cf86d150801f42b4499a12792c23257c7441bd00aa7f23b0278d7f", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "Ecosystem_LiquidNodesManager_RewardsBank": { "address": "0xd997CBf5d25973e750354Afb97d87dFF86670ef9", - "abi": [ - "constructor()", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function withdrawAmb(address addressTo, uint256 amount)", - "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_LiquidNodesManager_RewardsBank.json", "deployTx": "0xdc1365f9594b0208cc290c5400b26a02e53898f883eeb094a4b695a63c815d53", "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" }, "Ecosystem_LiquidNodesManager_Treasury": { "address": "0xaAFA9049908ca8897F64b54a19fc913F9f0476b3", - "abi": [ - "constructor(address owner, uint256 _fee)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Withdraw(address addressTo, uint256 amount)", - "function calcFee(uint256 amount) view returns (uint256)", - "function fee() view returns (uint256)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function setFee(uint256 _fee)", - "function transferOwnership(address newOwner)", - "function withdraw(address addressTo, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_LiquidNodesManager_Treasury.json", "deployTx": "0x494265d84dfbfac627dc6f5e5b417a142ce9e9a1e5ab10bb92141579531302d8", "fullyQualifiedName": "contracts/finance/Treasury.sol:Treasury" }, "Ecosystem_LiquidNodesManager_TreasuryFees": { "address": "0xbeF462D62A5351bADF6D220F98F05E38bB3A53d1", - "abi": [ - "constructor(address owner, uint256 _fee)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Withdraw(address addressTo, uint256 amount)", - "function calcFee(uint256 amount) view returns (uint256)", - "function fee() view returns (uint256)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function setFee(uint256 _fee)", - "function transferOwnership(address newOwner)", - "function withdraw(address addressTo, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_LiquidNodesManager_TreasuryFees.json", "deployTx": "0xe6f9f5ce7081eef7b0c90981be71bcccd79ea111f34d6d0a7c54b179d2a8edf7", "fullyQualifiedName": "contracts/finance/Treasury.sol:Treasury" }, "Ecosystem_LiquidPool_RewardsBank": { "address": "0xB11685611cBC6E9445a14BA02594d42931276550", - "abi": [ - "constructor()", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function withdrawAmb(address addressTo, uint256 amount)", - "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_LiquidPool_RewardsBank.json", "deployTx": "0xf3d812d3fe728e108b883ab43990ec381371bc536b36822b56626e30952e3d3a", "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" }, "Ecosystem_LiquidPool_StAMB": { "address": "0x5C114A3E9b6DB57A9FE5950eC1946278a2d7A22b", - "abi": [ - "constructor()", - "event Approval(address indexed owner, address indexed spender, uint256 value)", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "event Transfer(address indexed from, address indexed to, uint256 value)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function MINTER_ROLE() view returns (bytes32)", - "function allowance(address owner, address spender) view returns (uint256)", - "function approve(address spender, uint256 amount) returns (bool)", - "function balanceOf(address account) view returns (uint256)", - "function burn(address account, uint256 amount)", - "function calculateHoldingTime(address user) view returns (uint256)", - "function decimals() view returns (uint8)", - "function decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function holdingTime(address) view returns (uint256)", - "function increaseAllowance(address spender, uint256 addedValue) returns (bool)", - "function liquidPool() view returns (address)", - "function mint(address account, uint256 amount)", - "function name() view returns (string)", - "function obtainedAt(address) view returns (uint256)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function setLiquidPool(address liquidPool_)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function symbol() view returns (string)", - "function totalSupply() view returns (uint256)", - "function transfer(address to, uint256 amount) returns (bool)", - "function transferFrom(address from, address to, uint256 amount) returns (bool)" - ], + "abiPath": "./abis/Ecosystem_LiquidPool_StAMB.json", "deployTx": "0xf1a8d45804b131d2420d422d16cc961c955ee4f344f78e89e105604a9faed840", "fullyQualifiedName": "contracts/staking/liquid/StAMB.sol:StAMB" }, "Ecosystem_LiquidPool_StakingTiers": { "address": "0x926C2A4a3355d608540749af9017D4613A14E3e1", - "abi": [ - "event AdminChanged(address previousAdmin, address newAdmin)", - "event BeaconUpgraded(address indexed beacon)", - "event BonusSet(address indexed user, uint256 bonus)", - "event Initialized(uint8 version)", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "event Upgraded(address indexed implementation)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function bonuses(address) view returns (uint256)", - "function calculateTier(address user) view returns (uint256)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function initialize(address stAmb_)", - "function isTierAllowed(address user, uint256 desiredTier) view returns (bool)", - "function proxiableUUID() view returns (bytes32)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function setBonus(address user, uint256 bonus)", - "function setBonusBatch(address[] users, uint256[] bonuses_)", - "function stAmb() view returns (address)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function upgradeTo(address newImplementation)", - "function upgradeToAndCall(address newImplementation, bytes data) payable" - ], + "abiPath": "./abis/Ecosystem_LiquidPool_StakingTiers.json", "deployTx": "0x3aae9b9c42d315a77a9dabfd5df9732679e12311c07444a1676e939a1109e72e", "fullyQualifiedName": "contracts/staking/liquid/StakingTiers.sol:StakingTiers", "proxy": { @@ -1569,50 +323,7 @@ }, "Ecosystem_LiquidNodesManager": { "address": "0x44B5a3894cdD779eb6a4040bBe63798637A04A92", - "abi": [ - "event AddNodeRequest(uint256 indexed requestId, uint256 indexed nodeId, uint256 stake)", - "event AdminChanged(address previousAdmin, address newAdmin)", - "event BeaconUpgraded(address indexed beacon)", - "event Initialized(uint8 version)", - "event NodeOnboarded(uint256 indexed requestId, address indexed node, uint256 indexed nodeId, uint256 stake)", - "event NodeRetired(uint256 indexed nodeId, address indexed node, uint256 stake)", - "event RequestFailed(uint256 indexed requestId, uint256 indexed nodeId, uint256 stake)", - "event Reward(address indexed addr, uint256 amount)", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "event Upgraded(address indexed implementation)", - "function BACKEND_ROLE() view returns (bytes32)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function POOL_ROLE() view returns (bytes32)", - "function getFreeBalance() view returns (uint256)", - "function getNodeDeposit(address node) view returns (uint256)", - "function getNodes() view returns (address[])", - "function getNodesCount() view returns (uint256)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function initialize(address validatorset_, address rewardsBank_, address treasury_, address treasuryFee_, uint256 nodeStake_, uint256 maxNodesCount_)", - "function maxNodesCount() view returns (uint256)", - "function nodeStake() view returns (uint256)", - "function nodes(uint256) view returns (address)", - "function onboardNode(uint256 requestId, address node, uint256 nodeId)", - "function proxiableUUID() view returns (bytes32)", - "function renounceRole(bytes32 role, address account)", - "function report(address nodeAddress)", - "function revokeRole(bytes32 role, address account)", - "function reward(address nodeAddress, uint256 amount)", - "function rewardsBank() view returns (address)", - "function setNodeStakeAndCount(uint256 nodeStake_, uint256 maxNodesCount_)", - "function stake() payable", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function treasury() view returns (address)", - "function treasuryFee() view returns (address)", - "function unstake(uint256 amount)", - "function upgradeTo(address newImplementation)", - "function upgradeToAndCall(address newImplementation, bytes data) payable", - "function validatorSet() view returns (address)" - ], + "abiPath": "./abis/Ecosystem_LiquidNodesManager.json", "deployTx": "0x8197c343fa5be16802d63d4e5d2c4463ae825a19242b230490f51463c97b520d", "fullyQualifiedName": "contracts/staking/liquid/LiquidNodesManager.sol:LiquidNodesManager", "proxy": { @@ -1622,60 +333,7 @@ }, "Ecosystem_LiquidPool": { "address": "0xd33aeaC471e077781c08A073491B5c7d974c6645", - "abi": [ - "event AdminChanged(address previousAdmin, address newAdmin)", - "event BeaconUpgraded(address indexed beacon)", - "event Claim(address indexed account, uint256 ambAmount, uint256 bondAmount)", - "event Initialized(uint8 version)", - "event Interest(uint256 amount)", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "event StakeChanged(address indexed account, int256 amount)", - "event UnstakeFast(address indexed account, uint256 amount, uint256 penalty)", - "event UnstakeLocked(address indexed account, uint256 amount, uint256 unlockTime, uint256 creationTime)", - "event Upgraded(address indexed implementation)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function beforeTokenTransfer(address from, address to, uint256 amount)", - "function bondAddress() view returns (address)", - "function claimRewards(uint256 desiredCoeff)", - "function fastUnstakePenalty() view returns (uint256)", - "function getClaimAmount(address user) view returns (uint256)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function getStake(address user) view returns (uint256)", - "function getTotalRewards() view returns (uint256)", - "function getTotalStAmb() view returns (uint256)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function initialize(address nodeManager_, address rewardsBank_, address tiers_, address lockKeeper_, address bondAddress_, address stAmb_, uint256 interest_, uint256 interestPeriod_, uint256 minStakeValue_, uint256 unstakeLockTime_, uint256 fastUnstakePenalty_)", - "function interest() view returns (uint256)", - "function interestPeriod() view returns (uint256)", - "function lockKeeper() view returns (address)", - "function lockedWithdraws(address) view returns (uint256)", - "function minStakeValue() view returns (uint256)", - "function nodeManager() view returns (address)", - "function onBlock()", - "function proxiableUUID() view returns (bytes32)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function rewardsBank() view returns (address)", - "function rewardsDebt(address) view returns (uint256)", - "function setFastUnstakePenalty(uint256 penalty)", - "function setInterest(uint256 interest_, uint256 interestPeriod_)", - "function setMinStakeValue(uint256 minStakeValue_)", - "function setUnstakeLockTime(uint256 unstakeLockTime_)", - "function stAmb() view returns (address)", - "function stake() payable", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function tiers() view returns (address)", - "function totalRewards() view returns (uint256)", - "function totalRewardsDebt() view returns (uint256)", - "function unstake(uint256 amount, uint256 desiredCoeff)", - "function unstakeFast(uint256 amount, uint256 desiredCoeff)", - "function unstakeLockTime() view returns (uint256)", - "function upgradeTo(address newImplementation)", - "function upgradeToAndCall(address newImplementation, bytes data) payable" - ], + "abiPath": "./abis/Ecosystem_LiquidPool.json", "deployTx": "0xae6f3627d4174536697a1536fe5522a36c0ff9581c5374a73fd4187bf9caceb0", "fullyQualifiedName": "contracts/staking/liquid/LiquidPool.sol:LiquidPool", "proxy": { @@ -1685,251 +343,49 @@ }, "Ecosystem_HRBToken": { "address": "0xCB856833c615ef09Ba779D35D663b849aD23C957", - "abi": [ - "constructor(address admin)", - "event Approval(address indexed owner, address indexed spender, uint256 value)", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "event Transfer(address indexed from, address indexed to, uint256 value)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function MINTER_ROLE() view returns (bytes32)", - "function allowance(address owner, address spender) view returns (uint256)", - "function approve(address spender, uint256 amount) returns (bool)", - "function balanceOf(address account) view returns (uint256)", - "function burn(address account, uint256 amount)", - "function decimals() view returns (uint8)", - "function decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function increaseAllowance(address spender, uint256 addedValue) returns (bool)", - "function mint(address account, uint256 amount)", - "function name() view returns (string)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function symbol() view returns (string)", - "function totalSupply() view returns (uint256)", - "function transfer(address to, uint256 amount) returns (bool)", - "function transferFrom(address from, address to, uint256 amount) returns (bool)" - ], + "abiPath": "./abis/Ecosystem_HRBToken.json", "deployTx": "0x1c7a3ff3e00b95e2e01212a0078613ee807a28591b9a2024060e6c6d68fadfe9", "fullyQualifiedName": "contracts/staking/token/HBRToken.sol:HBRToken" }, "Ecosystem_LimitedTokenPoolsManager_Multisig": { "address": "0x40d0634d0D34f8da1D8A68010EBEFEE63cB2324d", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_LimitedTokenPoolsManager_Multisig.json", "deployTx": "0x26d52d9719cdc18b9e934b03c4b998dd528a8320acd010560892582c10793959", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "Ecosystem_HBRToken": { "address": "0x7B58Cbb7c4Ff2E53F8c4405606D0A7AF707ab00b", - "abi": [ - "constructor(address admin)", - "event Approval(address indexed owner, address indexed spender, uint256 value)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Paused(address account)", - "event Transfer(address indexed from, address indexed to, uint256 value)", - "event Unpaused(address account)", - "function allowance(address owner, address spender) view returns (uint256)", - "function approve(address spender, uint256 amount) returns (bool)", - "function balanceOf(address account) view returns (uint256)", - "function burn(address account, uint256 amount)", - "function decimals() view returns (uint8)", - "function decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)", - "function increaseAllowance(address spender, uint256 addedValue) returns (bool)", - "function mint(address account, uint256 amount)", - "function name() view returns (string)", - "function owner() view returns (address)", - "function pause()", - "function paused() view returns (bool)", - "function renounceOwnership()", - "function symbol() view returns (string)", - "function totalSupply() view returns (uint256)", - "function transfer(address to, uint256 amount) returns (bool)", - "function transferFrom(address from, address to, uint256 amount) returns (bool)", - "function transferOwnership(address newOwner)", - "function unpause()" - ], + "abiPath": "./abis/Ecosystem_HBRToken.json", "deployTx": "0x29bc4a78e3c19ca922cfc90d4346815b146ec271c41b95b7334d0050d7b3081d", "fullyQualifiedName": "contracts/staking/token/HBRToken.sol:HBRToken" }, "Ecosystem_LimitedTokenPoolsManager_RewardsBank": { "address": "0xc46F3802ABe7Ce5025Fd18c15a7f6249815A9cFa", - "abi": [ - "constructor()", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function withdrawAmb(address addressTo, uint256 amount)", - "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_LimitedTokenPoolsManager_RewardsBank.json", "deployTx": "0x6f6be0984930962cf249e058c3aa3be26a1461c216bc4c8b6b538eddb47f2647", "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" }, "Ecosystem_LimitedTokenPoolsManager": { "address": "0x2192f4763e1AfC275A71C14BDBe663dE461c2b17", - "abi": [ - "constructor(address bank_, address lockKeeper_, address doubleSideBeacon_)", - "event LimitedPoolActivated(address pool)", - "event LimitedPoolConfigured(address pool, tuple(uint256 rewardTokenPrice, uint256 interest, uint256 interestRate, uint256 minDepositValue, uint256 minStakeValue, uint256 fastUnstakePenalty, uint256 unstakeLockPeriod, uint256 stakeLockPeriod, uint256 maxTotalStakeValue, uint256 maxStakePerUserValue, uint256 stakeLimitsMultiplier) params)", - "event LimitedPoolCreated(address pool, string name)", - "event LimitedPoolDeactivated(address pool)", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function activatePool(address _pool)", - "function bank() view returns (address)", - "function configurePool(address _pool, tuple(uint256 rewardTokenPrice, uint256 interest, uint256 interestRate, uint256 minDepositValue, uint256 minStakeValue, uint256 fastUnstakePenalty, uint256 unstakeLockPeriod, uint256 stakeLockPeriod, uint256 maxTotalStakeValue, uint256 maxStakePerUserValue, uint256 stakeLimitsMultiplier) params)", - "function createPool(tuple(string name, address limitsMultiplierToken, address profitableToken, address rewardToken) params) returns (address)", - "function deactivatePool(address _pool)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function limitedTokenPoolBeacon() view returns (address)", - "function onBlock()", - "function pools(uint256) view returns (address)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)" - ], + "abiPath": "./abis/Ecosystem_LimitedTokenPoolsManager.json", "deployTx": "0x8be309830279a581a3a02b166b53d7c0ed303bf7b4b857fa056cf9836178c257", "fullyQualifiedName": "contracts/staking/token/LimitedTokenPoolsManager.sol:LimitedTokenPoolsManager" }, "Ecosystem_GeneralTokenBank_Multisig": { "address": "0x418af75764C5D0d156E4a3fb77427Ffc9e735042", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_GeneralTokenBank_Multisig.json", "deployTx": "0x054380dd2aff3249d48edd3248559eaa54e97b5c474547ebeb90cdf1f82d9cd2", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "Ecosystem_GeneralTokenBank": { "address": "0x3Ec863bbdA1AebEaF72819EF47Abf201c5Ff085e", - "abi": [ - "constructor()", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function withdrawAmb(address addressTo, uint256 amount)", - "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_GeneralTokenBank.json", "deployTx": "0xfa38d1e01829005fe34eafa81be95f8fe78d20e77c59c3451141cb93e6e2d0a8", "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" }, "MultisigFactory": { "address": "0x930bafD4580f0ce20E8985Cd38Ee5526A252B14d", - "abi": [ - "event AdminChanged(address previousAdmin, address newAdmin)", - "event BeaconUpgraded(address indexed beacon)", - "event Initialized(uint8 version)", - "event MultisigCreated(address indexed multisig)", - "event MultisigDeleted(address indexed multisig)", - "event MultisigRegistered(address indexed multisig)", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "event Upgraded(address indexed implementation)", - "function CREATOR_ROLE() view returns (bytes32)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function createMultisig(string name, tuple(address[] signers, bool[] isInitiatorFlags, uint256 threshold, address owner) settings) returns (address)", - "function deleteMultisig(string name)", - "function getMultisigAddress(string _name) view returns (address)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function initialize()", - "function multisigs(string) view returns (address)", - "function proxiableUUID() view returns (bytes32)", - "function registerMultisigs(address[] _multisigs, string[] _names)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function upgradeTo(address newImplementation)", - "function upgradeToAndCall(address newImplementation, bytes data) payable" - ], + "abiPath": "./abis/MultisigFactory.json", "deployTx": "0xe40cbce5a553f2acd6b8f3fc5651a565735394d2ecf3fd52ce5f460f72334ee5", "fullyQualifiedName": "contracts/multisig/MultisigFactory.sol:MultisigFactory", "proxy": { diff --git a/deployments/30746.json b/deployments/30746.json index 8992cd25..22d41b57 100644 --- a/deployments/30746.json +++ b/deployments/30746.json @@ -1,532 +1,103 @@ { "MasterMultisig": { "address": "0x096B5914C95C34Df19500DAff77470C845EC749D", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeOwners(address[] multisigs, address newOwner)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeSignersMaster(tuple(address contract_, address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)[] changes)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getAllSigners(address[] multisigs) view returns (tuple(address[] signers, bool[] isInitiatorFlags, uint256 threshold)[])", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/MasterMultisig.json", "deployTx": "0xe436c61a7058c47e99982684e4cfd13a75fc2e2fe3066fe664cb7e7ffaae8b2e", "fullyQualifiedName": "contracts/multisig/MasterMultisig.sol:MasterMultisig" }, "FinanceMaster_Multisig": { "address": "0x8c33e9D24eBf3918D37eC2F26BaE044C9fD30Ea9", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/FinanceMaster_Multisig.json", "deployTx": "0x747206122dd464d01499e52bd2a10380088322ed085adce9fd7428deeba93bce", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "FinanceMaster": { "address": "0x55Be7dd776fAbe89d93bAC66ed1cf0Ab31bdd6eB", - "abi": [ - "constructor(address owner, uint256 maxBanks_, uint256 maxBankBalance_)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Withdraw(address addressTo, uint256 amount)", - "function banks(uint256) view returns (address)", - "function getBalances() view returns (address[] addresses, uint256[] balances)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function transferOwnership(address newOwner)", - "function transferToBanks()", - "function withdraw(address addressTo, uint256 amount)" - ], + "abiPath": "./abis/FinanceMaster.json", "deployTx": "0x091b7c56673bfbcd637ac6955c8304f8676ea72a94c121b66d60dde63bb1839b", "fullyQualifiedName": "contracts/finance/MasterFinance.sol:MasterFinance" }, "FinanceRewards_Multisig": { "address": "0x615D835e0C492b4309E79439765F66Db7BdcE200", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/FinanceRewards_Multisig.json", "deployTx": "0x432886eec3b9dbdfc2cb57a09ec79903f5907731691cf0508af8f013ea8b1fb9", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "FinanceRewards": { "address": "0x0c3001D98a02dFFf10814E2e5e1DA5a276C2552a", - "abi": [ - "constructor(address owner)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Withdraw(address addressTo, uint256 amount)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function transferOwnership(address newOwner)", - "function withdraw(address addressTo, uint256 amount)" - ], + "abiPath": "./abis/FinanceRewards.json", "deployTx": "0x23d8dba7932985815dcdd0eb637fc5cfc5a2b02bd8b20ef35688297866b6a7b4", "fullyQualifiedName": "contracts/finance/Finance.sol:Finance" }, "FinanceInvestors_Multisig": { "address": "0x3B851d4d79C44AbBBF914D6bc61A2BdCC7387d85", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/FinanceInvestors_Multisig.json", "deployTx": "0x95affd501c43a5924843eb18dff42b5b5ae9b278d1ba6983fb2d4373e26fdee0", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "FinanceInvestors": { "address": "0x7F4f5d586F33075F4Ac1D3FC11fb394Da6f7c041", - "abi": [ - "constructor(address owner)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Withdraw(address addressTo, uint256 amount)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function transferOwnership(address newOwner)", - "function withdraw(address addressTo, uint256 amount)" - ], + "abiPath": "./abis/FinanceInvestors.json", "deployTx": "0xd163900a0749982745f1735329a382560a0b92631212c0770362b3069197c802", "fullyQualifiedName": "contracts/finance/Finance.sol:Finance" }, "FinanceTeam_Multisig": { "address": "0x9436CEC90DC41F03c7b679779D3B55dca5a02382", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/FinanceTeam_Multisig.json", "deployTx": "0xb7c2f3e764546734963c86ac17a37ed01fc9d61faf4663a5939c84c21d9328a3", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "FinanceTeam": { "address": "0x132827Ee051b7276a2f85D6964F6182974aa243c", - "abi": [ - "constructor(address owner)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Withdraw(address addressTo, uint256 amount)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function transferOwnership(address newOwner)", - "function withdraw(address addressTo, uint256 amount)" - ], + "abiPath": "./abis/FinanceTeam.json", "deployTx": "0x9d5228d5b742e1b33bbf178c48ba81211eb9dd01db37e317839229b4fb792ebe", "fullyQualifiedName": "contracts/finance/Finance.sol:Finance" }, "FinanceEcosystem_Multisig": { "address": "0x4db96017947838031561b35A643B2d9Dbf163241", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/FinanceEcosystem_Multisig.json", "deployTx": "0x3b4214fc8edcd14d7e143cda42fc4538eba1cfede6394b76bb84f07ece3829c1", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "FinanceEcosystem": { "address": "0x090801d716A9d501F57519B1f4bd6aBD2961aa88", - "abi": [ - "constructor(address owner)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Withdraw(address addressTo, uint256 amount)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function transferOwnership(address newOwner)", - "function withdraw(address addressTo, uint256 amount)" - ], + "abiPath": "./abis/FinanceEcosystem.json", "deployTx": "0xc98e7ac88e7996b81bfbec2ae62c4f723f210c4d524a04108762c3c8974bed0c", "fullyQualifiedName": "contracts/finance/Finance.sol:Finance" }, "FinanceRevenue_Multisig": { "address": "0x17c9b9A8BeeB1FE98566877AF442dbeBd0F5dB09", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/FinanceRevenue_Multisig.json", "deployTx": "0x12cf4e2e64e059793be88b7c76208ce10b462a5c9f5bf88d753890d5cf34c236", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "FinanceRevenue": { "address": "0xF01EF9dFf8cA6e4324b000812D75Aa4A67ee52ca", - "abi": [ - "constructor(address owner)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Withdraw(address addressTo, uint256 amount)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function transferOwnership(address newOwner)", - "function withdraw(address addressTo, uint256 amount)" - ], + "abiPath": "./abis/FinanceRevenue.json", "deployTx": "0xeab9cf28015c1b85a89d0ac3e29a9d73803f2b5450d494464345fdc6f6d9d30f", "fullyQualifiedName": "contracts/finance/Finance.sol:Finance" }, "AirBond": { "address": "0x58E98B0974A22270D974Ce914Fc430E048368546", - "abi": [ - "constructor(address admin)", - "event Approval(address indexed owner, address indexed spender, uint256 value)", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "event Transfer(address indexed from, address indexed to, uint256 value)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function MINTER_ROLE() view returns (bytes32)", - "function allowance(address owner, address spender) view returns (uint256)", - "function approve(address spender, uint256 amount) returns (bool)", - "function balanceOf(address account) view returns (uint256)", - "function burn(address account, uint256 amount)", - "function decimals() view returns (uint8)", - "function decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function increaseAllowance(address spender, uint256 addedValue) returns (bool)", - "function mint(address account, uint256 amount)", - "function name() view returns (string)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function symbol() view returns (string)", - "function totalSupply() view returns (uint256)", - "function transfer(address to, uint256 amount) returns (bool)", - "function transferFrom(address from, address to, uint256 amount) returns (bool)" - ], + "abiPath": "./abis/AirBond.json", "deployTx": "0xc552e2137bb48666d9dce57211f3388d0ccbbf8c85e6a74a0d6a1366e1f69eba", "fullyQualifiedName": "contracts/funds/AirBond.sol:AirBond" }, "AirDrop": { "address": "0xea3011C9Efeb1e2A63A0c6cb23a0e0314970735F", - "abi": [ - "constructor(address airBondToken_, address backendAddress_, uint256 minAmbBalance_, tuple(address user, bytes32 category, uint256 amount)[] claims) payable", - "event Claim(address user, bytes32[] categories, uint256[] amounts)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "function airBondToken() view returns (address)", - "function backendAddress() view returns (address)", - "function changeBackendAddress(address backendAddress_)", - "function changeMinAmbBalance(uint256 minAmbBalance_)", - "function claim(bytes32[] categories, uint256[] amounts, bytes signature)", - "function claimed(address, bytes32) view returns (uint256)", - "function getClaimed(address user, bytes32[] categories) view returns (uint256[])", - "function minAmbBalance() view returns (uint256)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function transferOwnership(address newOwner)", - "function withdraw(address addressTo, uint256 amount)" - ], + "abiPath": "./abis/AirDrop.json", "deployTx": "0xa9d81015404d766d293d882d41c746be1c7767039e00b91cba064da69572e8b0", "fullyQualifiedName": "contracts/projects/airdrop/AirDrop.sol:AirDrop" }, "ValidatorSet_Multisig": { "address": "0xeeff62628dcD8E8AF2aA376C718f54602a54B5c5", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/ValidatorSet_Multisig.json", "deployTx": "0xbb10d9e3be98b027bfd5feb7994cb948ee7b649e7caf2963812cd25b6d5607b1", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "ValidatorSet": { "address": "0x8e21c4FD0FBEb51484272a9DaA626740B3817e48", - "abi": [ - "event AdminChanged(address previousAdmin, address newAdmin)", - "event BeaconUpgraded(address indexed beacon)", - "event Initialized(uint8 version)", - "event InitiateChange(bytes32 indexed parentHash, address[] newSet)", - "event QueueListNodeAdded(address indexed nodeAddress)", - "event QueueListNodeRemoved(address indexed nodeAddress)", - "event Report(address indexed nodeAddress, uint256 malisciousType)", - "event Reward(address indexed manager, address indexed nodeAddress, address indexed rewardReceiver, address nodeOwner, address tokenAddress, uint256 amount)", - "event RewardError(address stakingManager, string errorText)", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "event StakeChanged(address indexed nodeAddress, address indexed stakingContract, int256 changeAmount)", - "event StakeCreated(address indexed nodeAddress, address indexed stakingContract, uint256 amount, bool isAlwaysTop)", - "event StakeRemoved(address indexed nodeAddress, address indexed stakingContract)", - "event TopListNodeAdded(address indexed nodeAddress)", - "event TopListNodeRemoved(address indexed nodeAddress)", - "event Upgraded(address indexed implementation)", - "event ValidatorSetFinalized(address[] newSet)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function REWARD_ORACLE_ROLE() view returns (bytes32)", - "function STAKING_MANAGER_ROLE() view returns (bytes32)", - "function _updateExternal()", - "function addBlockListener(address listener)", - "function baseReward() view returns (uint256)", - "function changeTopStakesCount(uint256 newTopStakesCount)", - "function emitReward(address rewardsBank, address nodeAddress, address nodeOwner, address rewardReceiver, address tokenAddress, uint256 amount)", - "function finalizeChange()", - "function getBlockListeners() view returns (address[])", - "function getNodeStake(address nodeAddress) view returns (uint256)", - "function getQueuedStakes() view returns (address[])", - "function getRewardSettings() view returns (uint64[5])", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function getRoleMember(bytes32 role, uint256 index) view returns (address)", - "function getRoleMemberCount(bytes32 role) view returns (uint256)", - "function getStakesByManager(address manager) view returns (address[] result)", - "function getTopStakes() view returns (address[])", - "function getValidators() view returns (address[])", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function initialize(address _rewardOracle, uint256 _baseReward, uint256 _topStakesCount)", - "function latestNodeRewardTime(address) view returns (uint256)", - "function newStake(address nodeAddress, uint256 amount, bool isAlwaysTop)", - "function process()", - "function proxiableUUID() view returns (bytes32)", - "function removeBlockListener(address listener)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function setReward(uint256 _baseReward)", - "function setRewardSettings(uint64[5] newSettings)", - "function stake(address nodeAddress, uint256 amount)", - "function stakes(address) view returns (uint256 amount, address stakingContract, bool isAlwaysTop)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function topStakesCount() view returns (uint256)", - "function totalStakeAmount() view returns (uint256)", - "function unstake(address nodeAddress, uint256 amount)", - "function upgradeTo(address newImplementation)", - "function upgradeToAndCall(address newImplementation, bytes data) payable" - ], + "abiPath": "./abis/ValidatorSet.json", "deployTx": "0x68058d144a45712a9f7f3eb744545a42e8382bc13c8906342b9c01ac670912ef", "fullyQualifiedName": "contracts/consensus/ValidatorSet.sol:ValidatorSet", "proxy": { @@ -536,150 +107,31 @@ }, "Treasury_Multisig": { "address": "0x1D1c26e0b8DAFa08FD678A888a8f4de175B1d060", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/Treasury_Multisig.json", "deployTx": "0x46ceb17b4e3ce028e7803dafc1650ba5d6bf73a949b77d5187a4b460481158bf", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "Treasury": { "address": "0x765e3e03f8dfca312EfdAb378e386E1EA60ee93F", - "abi": [ - "constructor(address owner, uint256 _fee)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Withdraw(address addressTo, uint256 amount)", - "function calcFee(uint256 amount) view returns (uint256)", - "function fee() view returns (uint256)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function setFee(uint256 _fee)", - "function transferOwnership(address newOwner)", - "function withdraw(address addressTo, uint256 amount)" - ], + "abiPath": "./abis/Treasury.json", "deployTx": "0x6bfb3e23af84c985266d44fb7916c7aaec37cb5845450f23eabb6efee9fb6b97", "fullyQualifiedName": "contracts/finance/Treasury.sol:Treasury" }, "BaseNodesManager_Multisig": { "address": "0x130c0e94E79DbA9F8A63D6452210C89e5942130c", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/BaseNodesManager_Multisig.json", "deployTx": "0x6ccbab3cccf4c358012b7e9d0e96614e9248273e0ee7f6d0efb8dbab37da27f7", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "BaseNodesManager_RewardsBank": { "address": "0x7cee2ae3042D2C646Aa24FACfA92dfeE589046f0", - "abi": [ - "constructor()", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function withdrawAmb(address addressTo, uint256 amount)", - "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" - ], + "abiPath": "./abis/BaseNodesManager_RewardsBank.json", "deployTx": "0xc5eda95d4a8647ed697e93387a54499079c533676a50e9a45ea1f06bc32f2a13", "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" }, "BaseNodesManager": { "address": "0x952b98DBDa3319BF0e339cC9CC574fF768F80f3c", - "abi": [ - "event AdminChanged(address previousAdmin, address newAdmin)", - "event BeaconUpgraded(address indexed beacon)", - "event Initialized(uint8 version)", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "event Upgraded(address indexed implementation)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function addStake(address nodeAddress) payable", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function initialize(address _validatorSet, address _rewardsBank, address _treasury)", - "function proxiableUUID() view returns (bytes32)", - "function removeStake(address nodeAddress, uint256 amount, address sendTo)", - "function renounceRole(bytes32 role, address account)", - "function report(address nodeAddress)", - "function revokeRole(bytes32 role, address account)", - "function reward(address nodeAddress, uint256 amount)", - "function rewardsBank() view returns (address)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function treasury() view returns (address)", - "function upgradeTo(address newImplementation)", - "function upgradeToAndCall(address newImplementation, bytes data) payable", - "function validatorSet() view returns (address)" - ], + "abiPath": "./abis/BaseNodesManager.json", "deployTx": "0xfb94ffad90df12c78dd30ba81306bc7ac374098fb3c358f23bdae525bc4cbacd", "fullyQualifiedName": "contracts/staking/BaseNodes_Manager.sol:BaseNodes_Manager", "proxy": { @@ -689,81 +141,13 @@ }, "ServerNodesManager_Multisig": { "address": "0x450A606B9D42D081CE58bC5cDF6acA380acF7731", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/ServerNodesManager_Multisig.json", "deployTx": "0x2353d2f516d44569a6871fe3268affef77fa36f52ea24aa96b7e5233bb6a1f9c", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "LockKeeper": { "address": "0x7aE1eAFC7a9b106b392ddEE027449b09dbDE1347", - "abi": [ - "event AdminChanged(address previousAdmin, address newAdmin)", - "event BeaconUpgraded(address indexed beacon)", - "event Claim(uint256 indexed lockId, address indexed userAddress, uint256 amount)", - "event Initialized(uint8 version)", - "event LockCanceled(uint256 indexed lockId, uint256 canceledAmount)", - "event Locked(uint256 indexed lockId, address indexed receiver, address indexed token, address locker, uint64 lockTime, uint64 firstUnlockTime, uint64 unlockPeriod, uint64 totalClaims, uint256 intervalAmount, string description)", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "event Upgraded(address indexed implementation)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function allUserLocks(address user) view returns (uint256[], tuple(address locker, address receiver, address token, uint64 firstUnlockTime, uint64 unlockPeriod, uint64 totalClaims, uint64 timesClaimed, uint256 intervalAmount, string description)[])", - "function autoClaim()", - "function cancelLock(uint256 lockId) returns (uint256 unclaimedAmount)", - "function claim(uint256 lockId)", - "function claimAll()", - "function getAllLocks() view returns (tuple(address locker, address receiver, address token, uint64 firstUnlockTime, uint64 unlockPeriod, uint64 totalClaims, uint64 timesClaimed, uint256 intervalAmount, string description)[])", - "function getAllLocksIds() view returns (uint256[])", - "function getLock(uint256 id) view returns (tuple(address locker, address receiver, address token, uint64 firstUnlockTime, uint64 unlockPeriod, uint64 totalClaims, uint64 timesClaimed, uint256 intervalAmount, string description))", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function initialize()", - "function latestLockId() view returns (uint256)", - "function lockLinear(address receiver, address token, uint64 firstUnlockTime, uint64 totalClaims, uint64 unlockPeriod, uint256 unlockAmount, string description) payable returns (uint256)", - "function lockSingle(address receiver, address token, uint64 unlockTime, uint256 amount, string description) payable returns (uint256)", - "function onBlock()", - "function proxiableUUID() view returns (bytes32)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function upgradeTo(address newImplementation)", - "function upgradeToAndCall(address newImplementation, bytes data) payable" - ], + "abiPath": "./abis/LockKeeper.json", "deployTx": "0xfbdcfa5a2c238c54cc287329a7debb1e8adc0464eb5cd235bc2cb51216a1560c", "fullyQualifiedName": "contracts/LockKeeper.sol:LockKeeper", "proxy": { @@ -773,80 +157,13 @@ }, "ServerNodesManager_RewardsBank": { "address": "0x97464F18b71cbF5f42B134CE48b47341f4B4fddf", - "abi": [ - "constructor()", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function withdrawAmb(address addressTo, uint256 amount)", - "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" - ], + "abiPath": "./abis/ServerNodesManager_RewardsBank.json", "deployTx": "0xedfcbe09a60b9bbaeb96c387b6d0cb538693158aab29f0f013e765e0105731cc", "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" }, "ServerNodesManager": { "address": "0xE2Fb2d9014B4c7b2705F81D21a6693219Cc518Ba", - "abi": [ - "event AdminChanged(address previousAdmin, address newAdmin)", - "event BeaconUpgraded(address indexed beacon)", - "event Initialized(uint8 version)", - "event Paused(address account)", - "event Reward(address indexed nodeAddress, address indexed rewardAddress, uint256 amountAmb, uint256 amountBonds)", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "event StakeChanged(address indexed nodeAddress, address indexed nodeOwner, int256 amount)", - "event Unpaused(address account)", - "event Upgraded(address indexed implementation)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function addStake(address nodeAddress) payable", - "function airBond() view returns (address)", - "function changeMinStakeAmount(uint256 newMinStakeAmount)", - "function changeNodeOwner(address nodeAddress, address newOwnerAddress)", - "function changeOnboardingDelay(uint256 newOnboardingDelay)", - "function changeUnstakeLockTime(uint256 newUnstakeLockTime)", - "function forceUnstake(address nodeAddress)", - "function getOnboardingWaitingList() view returns (address[])", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function getStakesList() view returns (address[])", - "function getUserStakesList(address ownerAddress) view returns (address[] result)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function importOldStakes(address[] addresses, uint256[] amounts, uint256[] timestamps) payable", - "function initialize(address _validatorSet, address _lockKeeper, address _rewardsBank, address _airBond, address _treasury, uint256 _onboardingDelay, uint256 _unstakeLockTime, uint256 _minStakeAmount)", - "function lockKeeper() view returns (address)", - "function lockedWithdraws(address) view returns (uint256)", - "function minStakeAmount() view returns (uint256)", - "function newStake(address nodeAddress, address rewardAddress) payable", - "function onBlock()", - "function onboardingDelay() view returns (uint256)", - "function pause()", - "function paused() view returns (bool)", - "function proxiableUUID() view returns (bytes32)", - "function renounceRole(bytes32 role, address account)", - "function report(address nodeAddress)", - "function restake(address nodeAddress)", - "function revokeRole(bytes32 role, address account)", - "function reward(address nodeAddress, uint256 amount)", - "function rewardsBank() view returns (address)", - "function setRewardsAddress(address nodeAddress, address rewardsAddress)", - "function stakes(address) view returns (uint256 stake, uint256 timestampStake, address ownerAddress, address rewardsAddress)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function treasury() view returns (address)", - "function unpause()", - "function unstake(address nodeAddress, uint256 amount)", - "function unstakeLockTime() view returns (uint256)", - "function upgradeTo(address newImplementation)", - "function upgradeToAndCall(address newImplementation, bytes data) payable", - "function validatorSet() view returns (address)" - ], + "abiPath": "./abis/ServerNodesManager.json", "deployTx": "0xc7e4bfe8569721a262837264a3dd4c8e3388103c16af94d591dfc51e956aee58", "fullyQualifiedName": "contracts/staking/ServerNodes_Manager.sol:ServerNodes_Manager", "proxy": { @@ -856,106 +173,19 @@ }, "LegacyPoolManager_Multisig": { "address": "0xC54007213080526139d38eAe66777dFac413772C", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/LegacyPoolManager_Multisig.json", "deployTx": "0xe1c9f43eddfb002636f0fb7d5e2a89259ba03a7d81b53eec225af61588b26e34", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "LegacyPoolManager_RewardsBank": { "address": "0x55C402b5F9C2c3DfE3d866B36598f0Fd53e03B89", - "abi": [ - "constructor()", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function withdrawAmb(address addressTo, uint256 amount)", - "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" - ], + "abiPath": "./abis/LegacyPoolManager_RewardsBank.json", "deployTx": "0xb1cb76f1bbdd6d3d586453ee38dd0c33ebb287fdc075b2e0f965e5e0fddc0740", "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" }, "LegacyPoolManager": { "address": "0x4798Cbd108e3D7b531ef2f3d67E7fFabdEe29867", - "abi": [ - "event AdminChanged(address previousAdmin, address newAdmin)", - "event BeaconUpgraded(address indexed beacon)", - "event Initialized(uint8 version)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Paused(address account)", - "event PoolAdded(address poolAddress)", - "event PoolRemoved(address poolAddress)", - "event Unpaused(address account)", - "event Upgraded(address indexed implementation)", - "function addNodeRequest(uint256 stake, uint256 requestId, uint256 nodeId, uint8 role)", - "function addNodeRequestResolved(uint256 requestId, uint256 status)", - "function addPool(address pool)", - "function getDeposit(address nodeAddress) view returns (uint256)", - "function getPools() view returns (address[])", - "function importOldStakes(address[] addresses, address[] pools, uint256[] amounts)", - "function initialize(address _validatorSet, address _rewardsBank, address _treasury, address _poolsStore, address _apolloDepositStore, address _rolesEventEmitter, address _poolEventsEmitter)", - "function isPool(address poolAddress) view returns (bool)", - "function nextId() returns (uint256)", - "function node2pool(address) view returns (address)", - "function onboard(address nodeAddress, uint8 nodeType) payable", - "function owner() view returns (address)", - "function pause()", - "function paused() view returns (bool)", - "function poolReward(uint256 reward, uint256 tokenPrice)", - "function poolStakeChanged(address user, int256 stake, int256 tokens)", - "function proxiableUUID() view returns (bytes32)", - "function removePool(address pool)", - "function renounceOwnership()", - "function report(address nodeAddress)", - "function retire(address nodeAddress, uint8 nodeType) returns (uint256)", - "function reward(address nodeAddress, uint256 amount)", - "function rewardsBank() view returns (address)", - "function transferOwnership(address newOwner)", - "function treasury() view returns (address)", - "function unpause()", - "function upgradeTo(address newImplementation)", - "function upgradeToAndCall(address newImplementation, bytes data) payable", - "function validatorSet() view returns (address)" - ], + "abiPath": "./abis/LegacyPoolManager.json", "deployTx": "0x97a0ac5dd43d1b6f1d6aadcda586562182012a66e0002842f2a1d38e20910430", "fullyQualifiedName": "contracts/staking/pools/LegacyPoolsNodes_Manager.sol:LegacyPoolsNodes_Manager", "proxy": { @@ -965,88 +195,19 @@ }, "Fees_Multisig": { "address": "0x99d7DEf637ad71Da08D1a1f9b917789B805cCb0a", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/Fees_Multisig.json", "deployTx": "0xc76c182005e67728d45854a64a93a282d8ba9378e6454f32f2465b81ccdf5088", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "Fees_Treasure": { "address": "0xE3C532aD50B16e59c1866DCC0C672F7b4c685f00", - "abi": [ - "constructor(address owner)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Withdraw(address addressTo, uint256 amount)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function transferOwnership(address newOwner)", - "function withdraw(address addressTo, uint256 amount)" - ], + "abiPath": "./abis/Fees_Treasure.json", "deployTx": "0x977539332712fc6d8b8737676ec950f93f937ef1418ddd710af93534b5d86653", "fullyQualifiedName": "contracts/finance/Finance.sol:Finance" }, "Fees": { "address": "0x51781501C27a7D6503652CA280BF5e92F3Eb03CD", - "abi": [ - "event AdminChanged(address previousAdmin, address newAdmin)", - "event BeaconUpgraded(address indexed beacon)", - "event FeesParamsChanged(address indexed addr, uint256 indexed percent)", - "event GasPriceChanged(uint256 indexed price)", - "event Initialized(uint8 version)", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "event Upgraded(address indexed implementation)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function getFeesParams() view returns (address addr, uint256 percent)", - "function getGasPrice() view returns (uint256)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function getRoleMember(bytes32 role, uint256 index) view returns (address)", - "function getRoleMemberCount(bytes32 role) view returns (uint256)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function initialize(uint256 _gasPrice, address _payAddress, uint256 _feePercent)", - "function proxiableUUID() view returns (bytes32)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function setFeesParams(address addr, uint256 percent)", - "function setGasPrice(uint256 price)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function upgradeTo(address newImplementation)", - "function upgradeToAndCall(address newImplementation, bytes data) payable" - ], + "abiPath": "./abis/Fees.json", "deployTx": "0xa65b76905120b86c31cff8fe43c2e2fac3534536781515eeb9b6f4fb7438a5d6", "fullyQualifiedName": "contracts/fees/Fees.sol:Fees", "proxy": { @@ -1056,509 +217,103 @@ }, "Ecosystem_MasterMultisig": { "address": "0xBDc316826B77d198Eec93BC813F2796e7f26c2b3", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeOwners(address[] multisigs, address newOwner)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeSignersMaster(tuple(address contract_, address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)[] changes)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getAllSigners(address[] multisigs) view returns (tuple(address[] signers, bool[] isInitiatorFlags, uint256 threshold)[])", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_MasterMultisig.json", "deployTx": "0xba424b38e36b2813e08cd5ab051a1b8c0420cae0e62526310b9fe366f87b98db", "fullyQualifiedName": "contracts/multisig/MasterMultisig.sol:MasterMultisig" }, "Ecosystem_BondMarketplace_Multisig": { "address": "0x4Ee5e950f19E7B87052B92a2F6D001ec4A9F41f5", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_BondMarketplace_Multisig.json", "deployTx": "0x7cc2cc3ff79c57fba2a21f1358e1f14d85451409a55604a17dad7e543d698642", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "Ecosystem_BondMarketplace_RewardsBank": { "address": "0x4D60595aC2bDeA0730DbAe9e068e6c2509edEb93", - "abi": [ - "constructor()", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function withdrawAmb(address addressTo, uint256 amount)", - "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_BondMarketplace_RewardsBank.json", "deployTx": "0x03dd8bf0bba1bec39aa304822b169d861c4ab48c9dd93a490beea5cac76bb9aa", "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" }, "Ecosystem_Starfleet_Multisig": { "address": "0x2Cf845b49e1c4E5D657fbBF36E97B7B5B7B7b74b", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_Starfleet_Multisig.json", "deployTx": "0x0973987d1bfab4310ed8b4042e92e0a90055d8678e94cb0940b9152adfc25baa", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "Ecosystem_Starfleet_RewardsBank": { "address": "0x3c80Eb9ebe759F28Ae6f366275A9e2A9FE341b0a", - "abi": [ - "constructor()", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function withdrawAmb(address addressTo, uint256 amount)", - "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_Starfleet_RewardsBank.json", "deployTx": "0x97d26bd4caf5b5623b4f256e0342ea110034ee17ebdbff3251586dafa1069a9f", "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" }, "Ecosystem_Astradex_Multisig": { "address": "0xe5A673b4BfCc7c6804185F35b94693b4CAfCF43c", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_Astradex_Multisig.json", "deployTx": "0xa09722c035a8599cbff31a2a350e6fd8e03129ff8ba7f09375d54563916d6f86", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "Ecosystem_Astradex_TokenSafe_Multisig": { "address": "0xd0322ae33ff5E14E4F200a2AAd57748F0899FAD9", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_Astradex_TokenSafe_Multisig.json", "deployTx": "0x582c8e6306165744f23042ed73ed7808eb1a59b69ab54304145c70f597c4a6e8", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "Ecosystem_Astradex_TokenSafe": { "address": "0x220bB4D0d16AA509D126907d3fAe4EF55bE7316C", - "abi": [ - "constructor()", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function withdrawAmb(address addressTo, uint256 amount)", - "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_Astradex_TokenSafe.json", "deployTx": "0xce4c792d941f7b0a07fdad613be0ce4ed8f9378f5e49e3e0f711c62fcb0268da", "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" }, "Ecosystem_Astradex_ChronosFeeCollector": { "address": "0x5346D8131Bf92B2C1647CEA2061d5aAE71CDAbfa", - "abi": [ - "constructor()", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function withdrawAmb(address addressTo, uint256 amount)", - "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_Astradex_ChronosFeeCollector.json", "deployTx": "0x3749534bd57b3a0bb5acb930dcb1e3ef5feb6087c6be69b6cad8d6a7c4d9a2dc", "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" }, "Ecosystem_Government_Multisig": { "address": "0x44E2880c2d4f1b806FD106a209EEDf0e7dC9C4aE", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_Government_Multisig.json", "deployTx": "0x3a94e30223e152ac765d206067cebe693f82b2b56fb9fde758105c1276161c0f", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "Ecosystem_LiquidPool_Multisig": { "address": "0x96E3E855AB4614f5108C636F0024C4833c2A2677", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_LiquidPool_Multisig.json", "deployTx": "0xb287ad126d07a7bc3add3b5af4b50fb0097a4dc5eee1d4c7f32f15f4dd78bdb7", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "Ecosystem_LiquidNodesManager_RewardsBank": { "address": "0x99E18421E763527D69a81B2edE589f7969d1da28", - "abi": [ - "constructor()", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function withdrawAmb(address addressTo, uint256 amount)", - "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_LiquidNodesManager_RewardsBank.json", "deployTx": "0xd6f5048733846af2bf375051f903295941c55cb0da2f5b8990575234a9162e64", "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" }, "Ecosystem_LiquidNodesManager_Treasury": { "address": "0xB74195dfACd663936086b0F396eb33Ed6c0C406e", - "abi": [ - "constructor(address owner, uint256 _fee)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Withdraw(address addressTo, uint256 amount)", - "function calcFee(uint256 amount) view returns (uint256)", - "function fee() view returns (uint256)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function setFee(uint256 _fee)", - "function transferOwnership(address newOwner)", - "function withdraw(address addressTo, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_LiquidNodesManager_Treasury.json", "deployTx": "0x0985cbd6c5a0576fd11fa9de76c2e50ea98de10e1e39113933a5fb30b2445e98", "fullyQualifiedName": "contracts/finance/Treasury.sol:Treasury" }, "Ecosystem_LiquidNodesManager_TreasuryFees": { "address": "0xc4526fF2f76151Dd7378051575ACAb37d0Fd05BF", - "abi": [ - "constructor(address owner, uint256 _fee)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Withdraw(address addressTo, uint256 amount)", - "function calcFee(uint256 amount) view returns (uint256)", - "function fee() view returns (uint256)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function setFee(uint256 _fee)", - "function transferOwnership(address newOwner)", - "function withdraw(address addressTo, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_LiquidNodesManager_TreasuryFees.json", "deployTx": "0x00a232849e31d825c3ddc0d781a989ba514552a7c7dff1ab90b319105b5a522d", "fullyQualifiedName": "contracts/finance/Treasury.sol:Treasury" }, "Ecosystem_LiquidPool_RewardsBank": { "address": "0xa17E9A624012c5BF36a1B7B3552c57CC9A758AFB", - "abi": [ - "constructor()", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function withdrawAmb(address addressTo, uint256 amount)", - "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_LiquidPool_RewardsBank.json", "deployTx": "0x919b10679058e8b7a9d930779cfbe0fed303e7306a298683587427a057636d0a", "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" }, "Ecosystem_LiquidPool_StAMB": { "address": "0xEAae6c30d05FdbEA5347D13f93e38F904c2F3E97", - "abi": [ - "constructor()", - "event Approval(address indexed owner, address indexed spender, uint256 value)", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "event Transfer(address indexed from, address indexed to, uint256 value)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function MINTER_ROLE() view returns (bytes32)", - "function allowance(address owner, address spender) view returns (uint256)", - "function approve(address spender, uint256 amount) returns (bool)", - "function balanceOf(address account) view returns (uint256)", - "function burn(address account, uint256 amount)", - "function calculateHoldingTime(address user) view returns (uint256)", - "function decimals() view returns (uint8)", - "function decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function holdingTime(address) view returns (uint256)", - "function increaseAllowance(address spender, uint256 addedValue) returns (bool)", - "function liquidPool() view returns (address)", - "function mint(address account, uint256 amount)", - "function name() view returns (string)", - "function obtainedAt(address) view returns (uint256)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function setLiquidPool(address liquidPool_)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function symbol() view returns (string)", - "function totalSupply() view returns (uint256)", - "function transfer(address to, uint256 amount) returns (bool)", - "function transferFrom(address from, address to, uint256 amount) returns (bool)" - ], + "abiPath": "./abis/Ecosystem_LiquidPool_StAMB.json", "deployTx": "0x1e253d83be84fb0cef42e3567acefd4f7a61b2f2634804a0daa262265d7c98bd", "fullyQualifiedName": "contracts/staking/liquid/StAMB.sol:StAMB" }, "Ecosystem_LiquidPool_StakingTiers": { "address": "0xAAd13Cf1B2a1EF1e3Cac854F532FEa50841F5199", - "abi": [ - "event AdminChanged(address previousAdmin, address newAdmin)", - "event BeaconUpgraded(address indexed beacon)", - "event BonusSet(address indexed user, uint256 bonus)", - "event Initialized(uint8 version)", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "event Upgraded(address indexed implementation)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function bonuses(address) view returns (uint256)", - "function calculateTier(address user) view returns (uint256)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function initialize(address stAmb_)", - "function isTierAllowed(address user, uint256 desiredTier) view returns (bool)", - "function proxiableUUID() view returns (bytes32)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function setBonus(address user, uint256 bonus)", - "function setBonusBatch(address[] users, uint256[] bonuses_)", - "function stAmb() view returns (address)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function upgradeTo(address newImplementation)", - "function upgradeToAndCall(address newImplementation, bytes data) payable" - ], + "abiPath": "./abis/Ecosystem_LiquidPool_StakingTiers.json", "deployTx": "0xbbedd71d0e02851fc849a38911de57ede447a7bd810284c416e865b792ba1caf", "fullyQualifiedName": "contracts/staking/liquid/StakingTiers.sol:StakingTiers", "proxy": { @@ -1568,50 +323,7 @@ }, "Ecosystem_LiquidNodesManager": { "address": "0xA84948226C9994E36ad091a5b5AC632b2116288D", - "abi": [ - "event AddNodeRequest(uint256 indexed requestId, uint256 indexed nodeId, uint256 stake)", - "event AdminChanged(address previousAdmin, address newAdmin)", - "event BeaconUpgraded(address indexed beacon)", - "event Initialized(uint8 version)", - "event NodeOnboarded(uint256 indexed requestId, address indexed node, uint256 indexed nodeId, uint256 stake)", - "event NodeRetired(uint256 indexed nodeId, address indexed node, uint256 stake)", - "event RequestFailed(uint256 indexed requestId, uint256 indexed nodeId, uint256 stake)", - "event Reward(address indexed addr, uint256 amount)", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "event Upgraded(address indexed implementation)", - "function BACKEND_ROLE() view returns (bytes32)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function POOL_ROLE() view returns (bytes32)", - "function getFreeBalance() view returns (uint256)", - "function getNodeDeposit(address node) view returns (uint256)", - "function getNodes() view returns (address[])", - "function getNodesCount() view returns (uint256)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function initialize(address validatorset_, address rewardsBank_, address treasury_, address treasuryFee_, uint256 nodeStake_, uint256 maxNodesCount_)", - "function maxNodesCount() view returns (uint256)", - "function nodeStake() view returns (uint256)", - "function nodes(uint256) view returns (address)", - "function onboardNode(uint256 requestId, address node, uint256 nodeId)", - "function proxiableUUID() view returns (bytes32)", - "function renounceRole(bytes32 role, address account)", - "function report(address nodeAddress)", - "function revokeRole(bytes32 role, address account)", - "function reward(address nodeAddress, uint256 amount)", - "function rewardsBank() view returns (address)", - "function setNodeStakeAndCount(uint256 nodeStake_, uint256 maxNodesCount_)", - "function stake() payable", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function treasury() view returns (address)", - "function treasuryFee() view returns (address)", - "function unstake(uint256 amount)", - "function upgradeTo(address newImplementation)", - "function upgradeToAndCall(address newImplementation, bytes data) payable", - "function validatorSet() view returns (address)" - ], + "abiPath": "./abis/Ecosystem_LiquidNodesManager.json", "deployTx": "0x8e4602406148dab3be57f2a23a055f06034ca24c083939578a0e5ebf993fefae", "fullyQualifiedName": "contracts/staking/liquid/LiquidNodesManager.sol:LiquidNodesManager", "proxy": { @@ -1621,60 +333,7 @@ }, "Ecosystem_LiquidPool": { "address": "0xfD0b0a5Fa4bBB08F938090cBae3676cD696E77df", - "abi": [ - "event AdminChanged(address previousAdmin, address newAdmin)", - "event BeaconUpgraded(address indexed beacon)", - "event Claim(address indexed account, uint256 ambAmount, uint256 bondAmount)", - "event Initialized(uint8 version)", - "event Interest(uint256 amount)", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "event StakeChanged(address indexed account, int256 amount)", - "event UnstakeFast(address indexed account, uint256 amount, uint256 penalty)", - "event UnstakeLocked(address indexed account, uint256 amount, uint256 unlockTime, uint256 creationTime)", - "event Upgraded(address indexed implementation)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function beforeTokenTransfer(address from, address to, uint256 amount)", - "function bondAddress() view returns (address)", - "function claimRewards(uint256 desiredCoeff)", - "function fastUnstakePenalty() view returns (uint256)", - "function getClaimAmount(address user) view returns (uint256)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function getStake(address user) view returns (uint256)", - "function getTotalRewards() view returns (uint256)", - "function getTotalStAmb() view returns (uint256)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function initialize(address nodeManager_, address rewardsBank_, address tiers_, address lockKeeper_, address bondAddress_, address stAmb_, uint256 interest_, uint256 interestPeriod_, uint256 minStakeValue_, uint256 unstakeLockTime_, uint256 fastUnstakePenalty_)", - "function interest() view returns (uint256)", - "function interestPeriod() view returns (uint256)", - "function lockKeeper() view returns (address)", - "function lockedWithdraws(address) view returns (uint256)", - "function minStakeValue() view returns (uint256)", - "function nodeManager() view returns (address)", - "function onBlock()", - "function proxiableUUID() view returns (bytes32)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function rewardsBank() view returns (address)", - "function rewardsDebt(address) view returns (uint256)", - "function setFastUnstakePenalty(uint256 penalty)", - "function setInterest(uint256 interest_, uint256 interestPeriod_)", - "function setMinStakeValue(uint256 minStakeValue_)", - "function setUnstakeLockTime(uint256 unstakeLockTime_)", - "function stAmb() view returns (address)", - "function stake() payable", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function tiers() view returns (address)", - "function totalRewards() view returns (uint256)", - "function totalRewardsDebt() view returns (uint256)", - "function unstake(uint256 amount, uint256 desiredCoeff)", - "function unstakeFast(uint256 amount, uint256 desiredCoeff)", - "function unstakeLockTime() view returns (uint256)", - "function upgradeTo(address newImplementation)", - "function upgradeToAndCall(address newImplementation, bytes data) payable" - ], + "abiPath": "./abis/Ecosystem_LiquidPool.json", "deployTx": "0x60c82cdd5e1592fc49cf83ba67a117e05048bf459f170cd0544ed1510b60043e", "fullyQualifiedName": "contracts/staking/liquid/LiquidPool.sol:LiquidPool", "proxy": { @@ -1684,183 +343,37 @@ }, "Ecosystem_LimitedTokenPoolsManager_Multisig": { "address": "0xD3DB63d658e108060b334512C22bA3b640290207", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_LimitedTokenPoolsManager_Multisig.json", "deployTx": "0x65eacd887a173eb872bc096a3aa940a7d172f4b135b0c19fc68cc79566bf5daf", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "Ecosystem_LimitedTokenPoolsManager_RewardsBank": { "address": "0xb23A1D12147f01eE4A6e3C4c0f0ac8c7DC3B3D97", - "abi": [ - "constructor()", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function withdrawAmb(address addressTo, uint256 amount)", - "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_LimitedTokenPoolsManager_RewardsBank.json", "deployTx": "0x0eb2e9f216afeaa0dc8ff2a87a813ee829670cbff28039c4ba2d8b1dad5aa07c", "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" }, "Ecosystem_LimitedTokenPoolsManager": { "address": "0x8E5EAa7CCef240EF54dbeC2582300a63a8d19183", - "abi": [ - "constructor(address bank_, address lockKeeper_, address doubleSideBeacon_)", - "event LimitedPoolActivated(address pool)", - "event LimitedPoolConfigured(address pool, tuple(uint256 rewardTokenPrice, uint256 interest, uint256 interestRate, uint256 minDepositValue, uint256 minStakeValue, uint256 fastUnstakePenalty, uint256 unstakeLockPeriod, uint256 stakeLockPeriod, uint256 maxTotalStakeValue, uint256 maxStakePerUserValue, uint256 stakeLimitsMultiplier) params)", - "event LimitedPoolCreated(address pool, string name)", - "event LimitedPoolDeactivated(address pool)", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function activatePool(address _pool)", - "function bank() view returns (address)", - "function configurePool(address _pool, tuple(uint256 rewardTokenPrice, uint256 interest, uint256 interestRate, uint256 minDepositValue, uint256 minStakeValue, uint256 fastUnstakePenalty, uint256 unstakeLockPeriod, uint256 stakeLockPeriod, uint256 maxTotalStakeValue, uint256 maxStakePerUserValue, uint256 stakeLimitsMultiplier) params)", - "function createPool(tuple(string name, address limitsMultiplierToken, address profitableToken, address rewardToken) params) returns (address)", - "function deactivatePool(address _pool)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function limitedTokenPoolBeacon() view returns (address)", - "function onBlock()", - "function pools(uint256) view returns (address)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)" - ], + "abiPath": "./abis/Ecosystem_LimitedTokenPoolsManager.json", "deployTx": "0xb3988828f64355e84693dbd7a17b9f564becaad040d0efe3960addf2f7beb300", "fullyQualifiedName": "contracts/staking/token/LimitedTokenPoolsManager.sol:LimitedTokenPoolsManager" }, "Ecosystem_HBRToken": { "address": "0xc38A62887B1D04f25Aa05DbdB235C20C6468c554", - "abi": [ - "constructor(address admin)", - "event Approval(address indexed owner, address indexed spender, uint256 value)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Paused(address account)", - "event Transfer(address indexed from, address indexed to, uint256 value)", - "event Unpaused(address account)", - "function allowance(address owner, address spender) view returns (uint256)", - "function approve(address spender, uint256 amount) returns (bool)", - "function balanceOf(address account) view returns (uint256)", - "function burn(address account, uint256 amount)", - "function decimals() view returns (uint8)", - "function decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)", - "function increaseAllowance(address spender, uint256 addedValue) returns (bool)", - "function mint(address account, uint256 amount)", - "function name() view returns (string)", - "function owner() view returns (address)", - "function pause()", - "function paused() view returns (bool)", - "function renounceOwnership()", - "function symbol() view returns (string)", - "function totalSupply() view returns (uint256)", - "function transfer(address to, uint256 amount) returns (bool)", - "function transferFrom(address from, address to, uint256 amount) returns (bool)", - "function transferOwnership(address newOwner)", - "function unpause()" - ], + "abiPath": "./abis/Ecosystem_HBRToken.json", "deployTx": "0x3be6afb8552f11edbe207655c1fff35dff043b63e73d20baa4179f6428f5992d", "fullyQualifiedName": "contracts/staking/token/HBRToken.sol:HBRToken" }, "Ecosystem_GeneralTokenBank_Multisig": { "address": "0x7A42Fd098D4f75A78B0dd82ec90cEc79A2358ac6", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_GeneralTokenBank_Multisig.json", "deployTx": "0x013de8f658424b952099b67ca7c03ef2acbe19c064e1780271422e952cbc0002", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "Ecosystem_GeneralTokenBank": { "address": "0x212a3B2F2B58dF733000382bFcF777b8993dea7C", - "abi": [ - "constructor()", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function withdrawAmb(address addressTo, uint256 amount)", - "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" - ], + "abiPath": "./abis/Ecosystem_GeneralTokenBank.json", "deployTx": "0x78f45a56246c9a1c58160ce1a15775491c6ba4d00df25e371169e1945217139c", "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" } diff --git a/deployments/5256.json b/deployments/5256.json index 8ebcdc3d..ab242e78 100644 --- a/deployments/5256.json +++ b/deployments/5256.json @@ -1,124 +1,19 @@ { "MasterMultisig": { "address": "0x2C6808Be96aB532DA69d09137E4632C8C513A33B", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeOwners(address[] multisigs, address newOwner)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeSignersMaster(tuple(address contract_, address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)[] changes)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getAllSigners(address[] multisigs) view returns (tuple(address[] signers, bool[] isInitiatorFlags, uint256 threshold)[])", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/MasterMultisig.json", "deployTx": "0x2337375f5685da694f7ae10fab9bd3daf48e5400dfe5adb5a02a90a49ebce056", "fullyQualifiedName": "contracts/multisig/MasterMultisig.sol:MasterMultisig" }, "ValidatorSet_Multisig": { "address": "0x08e0dB5952df058E18dbCD6F3d9433Cfd6bbC18B", - "abi": [ - "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", - "event Confirmation(address indexed sender, uint256 indexed txId)", - "event Execution(uint256 indexed txId)", - "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", - "event Revocation(address indexed sender, uint256 indexed txId)", - "event SignerAddition(address indexed signer, bool isInitiator)", - "event SignerRemoval(address indexed signer)", - "event Submission(uint256 indexed txId)", - "event ThresholdChange(uint256 required)", - "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", - "function changeThreshold(uint256 _threshold)", - "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", - "function confirmTransaction(uint256 txId)", - "function confirmations(uint256, address) view returns (bool)", - "function getConfirmations(uint256 txId) view returns (address[])", - "function getInitiatorsCount() view returns (uint256)", - "function getRequiredSignersCount() view returns (uint256)", - "function getSigners() view returns (address[], bool[])", - "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", - "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", - "function isConfirmed(uint256 txId) view returns (bool)", - "function isInitiator(address) view returns (bool)", - "function isSigner(address) view returns (bool)", - "function owner() view returns (address)", - "function renounceOwnership()", - "function revokeConfirmation(uint256 txId)", - "function signers(uint256) view returns (address)", - "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", - "function threshold() view returns (uint256)", - "function transactionCount() view returns (uint256)", - "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", - "function transferOwnership(address newOwner)", - "function withdraw(address to, uint256 amount)" - ], + "abiPath": "./abis/ValidatorSet_Multisig.json", "deployTx": "0xb9ba3f33548a6575a6918f63195af669474af7582e0c53f0a3752be397e6bfc0", "fullyQualifiedName": "contracts/multisig/Multisig.sol:Multisig" }, "ValidatorSet": { "address": "0x9e4D66bdF08FF38A75C619A345007Ca5eb9A2e05", - "abi": [ - "event Initialized(uint8 version)", - "event InitiateChange(bytes32 indexed parentHash, address[] newSet)", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "event ValidatorSetFinalized(address[] newSet)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function REWARD_ORACLE_ROLE() view returns (bytes32)", - "function STAKING_MANAGER_ROLE() view returns (bytes32)", - "function addBlockListener(address listener)", - "function baseReward() view returns (uint256)", - "function changeTopStakesCount(uint256 newTopStakesCount)", - "function finalizeChange()", - "function getNodeStake(address nodeAddress) view returns (uint256)", - "function getQueuedStakes() view returns (address[])", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function getTopStakes() view returns (address[])", - "function getValidators() view returns (address[])", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function initialize(address _multisig, address _rewardOracle, uint256 _baseReward, uint256 _topStakesCount)", - "function newStake(address nodeAddress, uint256 amount, bool isAlwaysTop)", - "function removeBlockListener(address listener)", - "function renounceRole(bytes32 role, address account)", - "function revokeRole(bytes32 role, address account)", - "function reward(address[] beneficiaries, uint16[] kind) returns (address[], uint256[])", - "function setReward(uint256 _baseReward)", - "function stake(address nodeAddress, uint256 amount)", - "function stakes(address) view returns (uint256 amount, address stakingContract, bool isAlwaysTop)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function topStakesCount() view returns (uint256)", - "function totalStakeAmount() view returns (uint256)", - "function unstake(address nodeAddress, uint256 amount)" - ], + "abiPath": "./abis/ValidatorSet.json", "deployTx": "0x305123cd918f9b272149e4d86039a2751e59a06ee2e5552cbdbbdc0146ca6b28", "fullyQualifiedName": "contracts/consensus/ValidatorSet.sol:ValidatorSet", "proxy": { @@ -128,24 +23,7 @@ }, "BaseNodesManager": { "address": "0x0C633C8dF7aaCEB5E0f0fb5e371659a7495B4713", - "abi": [ - "constructor(address _multisig, address _validatorSet)", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function addStake(address nodeAddress) payable", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function grantRole(bytes32 role, address account)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function removeStake(address nodeAddress, uint256 amount)", - "function renounceRole(bytes32 role, address account)", - "function report(address nodeAddress)", - "function revokeRole(bytes32 role, address account)", - "function reward(address nodeAddress, uint256 amount)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function validatorSet() view returns (address)" - ], + "abiPath": "./abis/BaseNodesManager.json", "deployTx": "0xece29b7b75aa7a868979d81d01632faaceca2f2dda3091022a5c7644b5a82e94", "fullyQualifiedName": "contracts/staking/BaseNodes_Manager.sol:BaseNodes_Manager" } diff --git a/deployments/abis/AirBond.json b/deployments/abis/AirBond.json new file mode 100644 index 00000000..d55e401d --- /dev/null +++ b/deployments/abis/AirBond.json @@ -0,0 +1,29 @@ +[ + "constructor(address admin)", + "event Approval(address indexed owner, address indexed spender, uint256 value)", + "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", + "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", + "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", + "event Transfer(address indexed from, address indexed to, uint256 value)", + "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", + "function MINTER_ROLE() view returns (bytes32)", + "function allowance(address owner, address spender) view returns (uint256)", + "function approve(address spender, uint256 amount) returns (bool)", + "function balanceOf(address account) view returns (uint256)", + "function burn(address account, uint256 amount)", + "function decimals() view returns (uint8)", + "function decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)", + "function getRoleAdmin(bytes32 role) view returns (bytes32)", + "function grantRole(bytes32 role, address account)", + "function hasRole(bytes32 role, address account) view returns (bool)", + "function increaseAllowance(address spender, uint256 addedValue) returns (bool)", + "function mint(address account, uint256 amount)", + "function name() view returns (string)", + "function renounceRole(bytes32 role, address account)", + "function revokeRole(bytes32 role, address account)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function symbol() view returns (string)", + "function totalSupply() view returns (uint256)", + "function transfer(address to, uint256 amount) returns (bool)", + "function transferFrom(address from, address to, uint256 amount) returns (bool)" +] \ No newline at end of file diff --git a/deployments/abis/AirDrop.json b/deployments/abis/AirDrop.json new file mode 100644 index 00000000..f9653a39 --- /dev/null +++ b/deployments/abis/AirDrop.json @@ -0,0 +1,17 @@ +[ + "constructor(address airBondToken_, address backendAddress_, uint256 minAmbBalance_, tuple(address user, bytes32 category, uint256 amount)[] claims) payable", + "event Claim(address user, bytes32[] categories, uint256[] amounts)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "function airBondToken() view returns (address)", + "function backendAddress() view returns (address)", + "function changeBackendAddress(address backendAddress_)", + "function changeMinAmbBalance(uint256 minAmbBalance_)", + "function claim(bytes32[] categories, uint256[] amounts, bytes signature)", + "function claimed(address, bytes32) view returns (uint256)", + "function getClaimed(address user, bytes32[] categories) view returns (uint256[])", + "function minAmbBalance() view returns (uint256)", + "function owner() view returns (address)", + "function renounceOwnership()", + "function transferOwnership(address newOwner)", + "function withdraw(address addressTo, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/BaseNodesManager.json b/deployments/abis/BaseNodesManager.json new file mode 100644 index 00000000..5482e210 --- /dev/null +++ b/deployments/abis/BaseNodesManager.json @@ -0,0 +1,18 @@ +[ + "constructor(address _multisig, address _validatorSet)", + "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", + "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", + "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", + "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", + "function addStake(address nodeAddress) payable", + "function getRoleAdmin(bytes32 role) view returns (bytes32)", + "function grantRole(bytes32 role, address account)", + "function hasRole(bytes32 role, address account) view returns (bool)", + "function removeStake(address nodeAddress, uint256 amount)", + "function renounceRole(bytes32 role, address account)", + "function report(address nodeAddress)", + "function revokeRole(bytes32 role, address account)", + "function reward(address nodeAddress, uint256 amount)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function validatorSet() view returns (address)" +] \ No newline at end of file diff --git a/deployments/abis/BaseNodesManager_Multisig.json b/deployments/abis/BaseNodesManager_Multisig.json new file mode 100644 index 00000000..0f64db1d --- /dev/null +++ b/deployments/abis/BaseNodesManager_Multisig.json @@ -0,0 +1,35 @@ +[ + "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", + "event Confirmation(address indexed sender, uint256 indexed txId)", + "event Execution(uint256 indexed txId)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "event Revocation(address indexed sender, uint256 indexed txId)", + "event SignerAddition(address indexed signer, bool isInitiator)", + "event SignerRemoval(address indexed signer)", + "event Submission(uint256 indexed txId)", + "event ThresholdChange(uint256 required)", + "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", + "function changeThreshold(uint256 _threshold)", + "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", + "function confirmTransaction(uint256 txId)", + "function confirmations(uint256, address) view returns (bool)", + "function getConfirmations(uint256 txId) view returns (address[])", + "function getInitiatorsCount() view returns (uint256)", + "function getRequiredSignersCount() view returns (uint256)", + "function getSigners() view returns (address[], bool[])", + "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", + "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", + "function isConfirmed(uint256 txId) view returns (bool)", + "function isInitiator(address) view returns (bool)", + "function isSigner(address) view returns (bool)", + "function owner() view returns (address)", + "function renounceOwnership()", + "function revokeConfirmation(uint256 txId)", + "function signers(uint256) view returns (address)", + "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", + "function threshold() view returns (uint256)", + "function transactionCount() view returns (uint256)", + "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", + "function transferOwnership(address newOwner)", + "function withdraw(address to, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/BaseNodesManager_RewardsBank.json b/deployments/abis/BaseNodesManager_RewardsBank.json new file mode 100644 index 00000000..3f7f4907 --- /dev/null +++ b/deployments/abis/BaseNodesManager_RewardsBank.json @@ -0,0 +1,15 @@ +[ + "constructor()", + "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", + "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", + "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", + "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", + "function getRoleAdmin(bytes32 role) view returns (bytes32)", + "function grantRole(bytes32 role, address account)", + "function hasRole(bytes32 role, address account) view returns (bool)", + "function renounceRole(bytes32 role, address account)", + "function revokeRole(bytes32 role, address account)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function withdrawAmb(address addressTo, uint256 amount)", + "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/Ecosystem_Astradex_ChronosFeeCollector.json b/deployments/abis/Ecosystem_Astradex_ChronosFeeCollector.json new file mode 100644 index 00000000..3f7f4907 --- /dev/null +++ b/deployments/abis/Ecosystem_Astradex_ChronosFeeCollector.json @@ -0,0 +1,15 @@ +[ + "constructor()", + "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", + "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", + "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", + "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", + "function getRoleAdmin(bytes32 role) view returns (bytes32)", + "function grantRole(bytes32 role, address account)", + "function hasRole(bytes32 role, address account) view returns (bool)", + "function renounceRole(bytes32 role, address account)", + "function revokeRole(bytes32 role, address account)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function withdrawAmb(address addressTo, uint256 amount)", + "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/Ecosystem_Astradex_Multisig.json b/deployments/abis/Ecosystem_Astradex_Multisig.json new file mode 100644 index 00000000..0f64db1d --- /dev/null +++ b/deployments/abis/Ecosystem_Astradex_Multisig.json @@ -0,0 +1,35 @@ +[ + "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", + "event Confirmation(address indexed sender, uint256 indexed txId)", + "event Execution(uint256 indexed txId)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "event Revocation(address indexed sender, uint256 indexed txId)", + "event SignerAddition(address indexed signer, bool isInitiator)", + "event SignerRemoval(address indexed signer)", + "event Submission(uint256 indexed txId)", + "event ThresholdChange(uint256 required)", + "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", + "function changeThreshold(uint256 _threshold)", + "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", + "function confirmTransaction(uint256 txId)", + "function confirmations(uint256, address) view returns (bool)", + "function getConfirmations(uint256 txId) view returns (address[])", + "function getInitiatorsCount() view returns (uint256)", + "function getRequiredSignersCount() view returns (uint256)", + "function getSigners() view returns (address[], bool[])", + "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", + "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", + "function isConfirmed(uint256 txId) view returns (bool)", + "function isInitiator(address) view returns (bool)", + "function isSigner(address) view returns (bool)", + "function owner() view returns (address)", + "function renounceOwnership()", + "function revokeConfirmation(uint256 txId)", + "function signers(uint256) view returns (address)", + "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", + "function threshold() view returns (uint256)", + "function transactionCount() view returns (uint256)", + "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", + "function transferOwnership(address newOwner)", + "function withdraw(address to, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/Ecosystem_Astradex_TokenSafe.json b/deployments/abis/Ecosystem_Astradex_TokenSafe.json new file mode 100644 index 00000000..3f7f4907 --- /dev/null +++ b/deployments/abis/Ecosystem_Astradex_TokenSafe.json @@ -0,0 +1,15 @@ +[ + "constructor()", + "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", + "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", + "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", + "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", + "function getRoleAdmin(bytes32 role) view returns (bytes32)", + "function grantRole(bytes32 role, address account)", + "function hasRole(bytes32 role, address account) view returns (bool)", + "function renounceRole(bytes32 role, address account)", + "function revokeRole(bytes32 role, address account)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function withdrawAmb(address addressTo, uint256 amount)", + "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/Ecosystem_Astradex_TokenSafe_Multisig.json b/deployments/abis/Ecosystem_Astradex_TokenSafe_Multisig.json new file mode 100644 index 00000000..0f64db1d --- /dev/null +++ b/deployments/abis/Ecosystem_Astradex_TokenSafe_Multisig.json @@ -0,0 +1,35 @@ +[ + "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", + "event Confirmation(address indexed sender, uint256 indexed txId)", + "event Execution(uint256 indexed txId)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "event Revocation(address indexed sender, uint256 indexed txId)", + "event SignerAddition(address indexed signer, bool isInitiator)", + "event SignerRemoval(address indexed signer)", + "event Submission(uint256 indexed txId)", + "event ThresholdChange(uint256 required)", + "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", + "function changeThreshold(uint256 _threshold)", + "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", + "function confirmTransaction(uint256 txId)", + "function confirmations(uint256, address) view returns (bool)", + "function getConfirmations(uint256 txId) view returns (address[])", + "function getInitiatorsCount() view returns (uint256)", + "function getRequiredSignersCount() view returns (uint256)", + "function getSigners() view returns (address[], bool[])", + "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", + "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", + "function isConfirmed(uint256 txId) view returns (bool)", + "function isInitiator(address) view returns (bool)", + "function isSigner(address) view returns (bool)", + "function owner() view returns (address)", + "function renounceOwnership()", + "function revokeConfirmation(uint256 txId)", + "function signers(uint256) view returns (address)", + "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", + "function threshold() view returns (uint256)", + "function transactionCount() view returns (uint256)", + "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", + "function transferOwnership(address newOwner)", + "function withdraw(address to, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/Ecosystem_BondMarketplace_Multisig.json b/deployments/abis/Ecosystem_BondMarketplace_Multisig.json new file mode 100644 index 00000000..0f64db1d --- /dev/null +++ b/deployments/abis/Ecosystem_BondMarketplace_Multisig.json @@ -0,0 +1,35 @@ +[ + "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", + "event Confirmation(address indexed sender, uint256 indexed txId)", + "event Execution(uint256 indexed txId)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "event Revocation(address indexed sender, uint256 indexed txId)", + "event SignerAddition(address indexed signer, bool isInitiator)", + "event SignerRemoval(address indexed signer)", + "event Submission(uint256 indexed txId)", + "event ThresholdChange(uint256 required)", + "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", + "function changeThreshold(uint256 _threshold)", + "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", + "function confirmTransaction(uint256 txId)", + "function confirmations(uint256, address) view returns (bool)", + "function getConfirmations(uint256 txId) view returns (address[])", + "function getInitiatorsCount() view returns (uint256)", + "function getRequiredSignersCount() view returns (uint256)", + "function getSigners() view returns (address[], bool[])", + "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", + "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", + "function isConfirmed(uint256 txId) view returns (bool)", + "function isInitiator(address) view returns (bool)", + "function isSigner(address) view returns (bool)", + "function owner() view returns (address)", + "function renounceOwnership()", + "function revokeConfirmation(uint256 txId)", + "function signers(uint256) view returns (address)", + "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", + "function threshold() view returns (uint256)", + "function transactionCount() view returns (uint256)", + "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", + "function transferOwnership(address newOwner)", + "function withdraw(address to, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/Ecosystem_BondMarketplace_RewardsBank.json b/deployments/abis/Ecosystem_BondMarketplace_RewardsBank.json new file mode 100644 index 00000000..3f7f4907 --- /dev/null +++ b/deployments/abis/Ecosystem_BondMarketplace_RewardsBank.json @@ -0,0 +1,15 @@ +[ + "constructor()", + "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", + "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", + "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", + "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", + "function getRoleAdmin(bytes32 role) view returns (bytes32)", + "function grantRole(bytes32 role, address account)", + "function hasRole(bytes32 role, address account) view returns (bool)", + "function renounceRole(bytes32 role, address account)", + "function revokeRole(bytes32 role, address account)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function withdrawAmb(address addressTo, uint256 amount)", + "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/Ecosystem_GeneralTokenBank.json b/deployments/abis/Ecosystem_GeneralTokenBank.json new file mode 100644 index 00000000..3f7f4907 --- /dev/null +++ b/deployments/abis/Ecosystem_GeneralTokenBank.json @@ -0,0 +1,15 @@ +[ + "constructor()", + "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", + "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", + "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", + "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", + "function getRoleAdmin(bytes32 role) view returns (bytes32)", + "function grantRole(bytes32 role, address account)", + "function hasRole(bytes32 role, address account) view returns (bool)", + "function renounceRole(bytes32 role, address account)", + "function revokeRole(bytes32 role, address account)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function withdrawAmb(address addressTo, uint256 amount)", + "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/Ecosystem_GeneralTokenBank_Multisig.json b/deployments/abis/Ecosystem_GeneralTokenBank_Multisig.json new file mode 100644 index 00000000..0f64db1d --- /dev/null +++ b/deployments/abis/Ecosystem_GeneralTokenBank_Multisig.json @@ -0,0 +1,35 @@ +[ + "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", + "event Confirmation(address indexed sender, uint256 indexed txId)", + "event Execution(uint256 indexed txId)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "event Revocation(address indexed sender, uint256 indexed txId)", + "event SignerAddition(address indexed signer, bool isInitiator)", + "event SignerRemoval(address indexed signer)", + "event Submission(uint256 indexed txId)", + "event ThresholdChange(uint256 required)", + "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", + "function changeThreshold(uint256 _threshold)", + "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", + "function confirmTransaction(uint256 txId)", + "function confirmations(uint256, address) view returns (bool)", + "function getConfirmations(uint256 txId) view returns (address[])", + "function getInitiatorsCount() view returns (uint256)", + "function getRequiredSignersCount() view returns (uint256)", + "function getSigners() view returns (address[], bool[])", + "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", + "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", + "function isConfirmed(uint256 txId) view returns (bool)", + "function isInitiator(address) view returns (bool)", + "function isSigner(address) view returns (bool)", + "function owner() view returns (address)", + "function renounceOwnership()", + "function revokeConfirmation(uint256 txId)", + "function signers(uint256) view returns (address)", + "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", + "function threshold() view returns (uint256)", + "function transactionCount() view returns (uint256)", + "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", + "function transferOwnership(address newOwner)", + "function withdraw(address to, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/Ecosystem_Government_Multisig.json b/deployments/abis/Ecosystem_Government_Multisig.json new file mode 100644 index 00000000..0f64db1d --- /dev/null +++ b/deployments/abis/Ecosystem_Government_Multisig.json @@ -0,0 +1,35 @@ +[ + "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", + "event Confirmation(address indexed sender, uint256 indexed txId)", + "event Execution(uint256 indexed txId)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "event Revocation(address indexed sender, uint256 indexed txId)", + "event SignerAddition(address indexed signer, bool isInitiator)", + "event SignerRemoval(address indexed signer)", + "event Submission(uint256 indexed txId)", + "event ThresholdChange(uint256 required)", + "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", + "function changeThreshold(uint256 _threshold)", + "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", + "function confirmTransaction(uint256 txId)", + "function confirmations(uint256, address) view returns (bool)", + "function getConfirmations(uint256 txId) view returns (address[])", + "function getInitiatorsCount() view returns (uint256)", + "function getRequiredSignersCount() view returns (uint256)", + "function getSigners() view returns (address[], bool[])", + "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", + "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", + "function isConfirmed(uint256 txId) view returns (bool)", + "function isInitiator(address) view returns (bool)", + "function isSigner(address) view returns (bool)", + "function owner() view returns (address)", + "function renounceOwnership()", + "function revokeConfirmation(uint256 txId)", + "function signers(uint256) view returns (address)", + "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", + "function threshold() view returns (uint256)", + "function transactionCount() view returns (uint256)", + "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", + "function transferOwnership(address newOwner)", + "function withdraw(address to, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/Ecosystem_HBRToken.json b/deployments/abis/Ecosystem_HBRToken.json new file mode 100644 index 00000000..d89e7722 --- /dev/null +++ b/deployments/abis/Ecosystem_HBRToken.json @@ -0,0 +1,27 @@ +[ + "constructor(address admin)", + "event Approval(address indexed owner, address indexed spender, uint256 value)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "event Paused(address account)", + "event Transfer(address indexed from, address indexed to, uint256 value)", + "event Unpaused(address account)", + "function allowance(address owner, address spender) view returns (uint256)", + "function approve(address spender, uint256 amount) returns (bool)", + "function balanceOf(address account) view returns (uint256)", + "function burn(address account, uint256 amount)", + "function decimals() view returns (uint8)", + "function decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)", + "function increaseAllowance(address spender, uint256 addedValue) returns (bool)", + "function mint(address account, uint256 amount)", + "function name() view returns (string)", + "function owner() view returns (address)", + "function pause()", + "function paused() view returns (bool)", + "function renounceOwnership()", + "function symbol() view returns (string)", + "function totalSupply() view returns (uint256)", + "function transfer(address to, uint256 amount) returns (bool)", + "function transferFrom(address from, address to, uint256 amount) returns (bool)", + "function transferOwnership(address newOwner)", + "function unpause()" +] \ No newline at end of file diff --git a/deployments/abis/Ecosystem_HRBToken.json b/deployments/abis/Ecosystem_HRBToken.json new file mode 100644 index 00000000..d55e401d --- /dev/null +++ b/deployments/abis/Ecosystem_HRBToken.json @@ -0,0 +1,29 @@ +[ + "constructor(address admin)", + "event Approval(address indexed owner, address indexed spender, uint256 value)", + "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", + "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", + "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", + "event Transfer(address indexed from, address indexed to, uint256 value)", + "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", + "function MINTER_ROLE() view returns (bytes32)", + "function allowance(address owner, address spender) view returns (uint256)", + "function approve(address spender, uint256 amount) returns (bool)", + "function balanceOf(address account) view returns (uint256)", + "function burn(address account, uint256 amount)", + "function decimals() view returns (uint8)", + "function decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)", + "function getRoleAdmin(bytes32 role) view returns (bytes32)", + "function grantRole(bytes32 role, address account)", + "function hasRole(bytes32 role, address account) view returns (bool)", + "function increaseAllowance(address spender, uint256 addedValue) returns (bool)", + "function mint(address account, uint256 amount)", + "function name() view returns (string)", + "function renounceRole(bytes32 role, address account)", + "function revokeRole(bytes32 role, address account)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function symbol() view returns (string)", + "function totalSupply() view returns (uint256)", + "function transfer(address to, uint256 amount) returns (bool)", + "function transferFrom(address from, address to, uint256 amount) returns (bool)" +] \ No newline at end of file diff --git a/deployments/abis/Ecosystem_LimitedTokenPoolsManager.json b/deployments/abis/Ecosystem_LimitedTokenPoolsManager.json new file mode 100644 index 00000000..d754695f --- /dev/null +++ b/deployments/abis/Ecosystem_LimitedTokenPoolsManager.json @@ -0,0 +1,25 @@ +[ + "constructor(address bank_, address lockKeeper_, address doubleSideBeacon_)", + "event LimitedPoolActivated(address pool)", + "event LimitedPoolConfigured(address pool, tuple(uint256 rewardTokenPrice, uint256 interest, uint256 interestRate, uint256 minDepositValue, uint256 minStakeValue, uint256 fastUnstakePenalty, uint256 unstakeLockPeriod, uint256 stakeLockPeriod, uint256 maxTotalStakeValue, uint256 maxStakePerUserValue, uint256 stakeLimitsMultiplier) params)", + "event LimitedPoolCreated(address pool, string name)", + "event LimitedPoolDeactivated(address pool)", + "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", + "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", + "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", + "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", + "function activatePool(address _pool)", + "function bank() view returns (address)", + "function configurePool(address _pool, tuple(uint256 rewardTokenPrice, uint256 interest, uint256 interestRate, uint256 minDepositValue, uint256 minStakeValue, uint256 fastUnstakePenalty, uint256 unstakeLockPeriod, uint256 stakeLockPeriod, uint256 maxTotalStakeValue, uint256 maxStakePerUserValue, uint256 stakeLimitsMultiplier) params)", + "function createPool(tuple(string name, address limitsMultiplierToken, address profitableToken, address rewardToken) params) returns (address)", + "function deactivatePool(address _pool)", + "function getRoleAdmin(bytes32 role) view returns (bytes32)", + "function grantRole(bytes32 role, address account)", + "function hasRole(bytes32 role, address account) view returns (bool)", + "function limitedTokenPoolBeacon() view returns (address)", + "function onBlock()", + "function pools(uint256) view returns (address)", + "function renounceRole(bytes32 role, address account)", + "function revokeRole(bytes32 role, address account)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)" +] \ No newline at end of file diff --git a/deployments/abis/Ecosystem_LimitedTokenPoolsManager_Multisig.json b/deployments/abis/Ecosystem_LimitedTokenPoolsManager_Multisig.json new file mode 100644 index 00000000..0f64db1d --- /dev/null +++ b/deployments/abis/Ecosystem_LimitedTokenPoolsManager_Multisig.json @@ -0,0 +1,35 @@ +[ + "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", + "event Confirmation(address indexed sender, uint256 indexed txId)", + "event Execution(uint256 indexed txId)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "event Revocation(address indexed sender, uint256 indexed txId)", + "event SignerAddition(address indexed signer, bool isInitiator)", + "event SignerRemoval(address indexed signer)", + "event Submission(uint256 indexed txId)", + "event ThresholdChange(uint256 required)", + "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", + "function changeThreshold(uint256 _threshold)", + "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", + "function confirmTransaction(uint256 txId)", + "function confirmations(uint256, address) view returns (bool)", + "function getConfirmations(uint256 txId) view returns (address[])", + "function getInitiatorsCount() view returns (uint256)", + "function getRequiredSignersCount() view returns (uint256)", + "function getSigners() view returns (address[], bool[])", + "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", + "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", + "function isConfirmed(uint256 txId) view returns (bool)", + "function isInitiator(address) view returns (bool)", + "function isSigner(address) view returns (bool)", + "function owner() view returns (address)", + "function renounceOwnership()", + "function revokeConfirmation(uint256 txId)", + "function signers(uint256) view returns (address)", + "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", + "function threshold() view returns (uint256)", + "function transactionCount() view returns (uint256)", + "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", + "function transferOwnership(address newOwner)", + "function withdraw(address to, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/Ecosystem_LimitedTokenPoolsManager_RewardsBank.json b/deployments/abis/Ecosystem_LimitedTokenPoolsManager_RewardsBank.json new file mode 100644 index 00000000..3f7f4907 --- /dev/null +++ b/deployments/abis/Ecosystem_LimitedTokenPoolsManager_RewardsBank.json @@ -0,0 +1,15 @@ +[ + "constructor()", + "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", + "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", + "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", + "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", + "function getRoleAdmin(bytes32 role) view returns (bytes32)", + "function grantRole(bytes32 role, address account)", + "function hasRole(bytes32 role, address account) view returns (bool)", + "function renounceRole(bytes32 role, address account)", + "function revokeRole(bytes32 role, address account)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function withdrawAmb(address addressTo, uint256 amount)", + "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/Ecosystem_LiquidNodesManager.json b/deployments/abis/Ecosystem_LiquidNodesManager.json new file mode 100644 index 00000000..6952f856 --- /dev/null +++ b/deployments/abis/Ecosystem_LiquidNodesManager.json @@ -0,0 +1,44 @@ +[ + "event AddNodeRequest(uint256 indexed requestId, uint256 indexed nodeId, uint256 stake)", + "event AdminChanged(address previousAdmin, address newAdmin)", + "event BeaconUpgraded(address indexed beacon)", + "event Initialized(uint8 version)", + "event NodeOnboarded(uint256 indexed requestId, address indexed node, uint256 indexed nodeId, uint256 stake)", + "event NodeRetired(uint256 indexed nodeId, address indexed node, uint256 stake)", + "event RequestFailed(uint256 indexed requestId, uint256 indexed nodeId, uint256 stake)", + "event Reward(address indexed addr, uint256 amount)", + "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", + "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", + "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", + "event Upgraded(address indexed implementation)", + "function BACKEND_ROLE() view returns (bytes32)", + "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", + "function POOL_ROLE() view returns (bytes32)", + "function getFreeBalance() view returns (uint256)", + "function getNodeDeposit(address node) view returns (uint256)", + "function getNodes() view returns (address[])", + "function getNodesCount() view returns (uint256)", + "function getRoleAdmin(bytes32 role) view returns (bytes32)", + "function grantRole(bytes32 role, address account)", + "function hasRole(bytes32 role, address account) view returns (bool)", + "function initialize(address validatorset_, address rewardsBank_, address treasury_, address treasuryFee_, uint256 nodeStake_, uint256 maxNodesCount_)", + "function maxNodesCount() view returns (uint256)", + "function nodeStake() view returns (uint256)", + "function nodes(uint256) view returns (address)", + "function onboardNode(uint256 requestId, address node, uint256 nodeId)", + "function proxiableUUID() view returns (bytes32)", + "function renounceRole(bytes32 role, address account)", + "function report(address nodeAddress)", + "function revokeRole(bytes32 role, address account)", + "function reward(address nodeAddress, uint256 amount)", + "function rewardsBank() view returns (address)", + "function setNodeStakeAndCount(uint256 nodeStake_, uint256 maxNodesCount_)", + "function stake() payable", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function treasury() view returns (address)", + "function treasuryFee() view returns (address)", + "function unstake(uint256 amount)", + "function upgradeTo(address newImplementation)", + "function upgradeToAndCall(address newImplementation, bytes data) payable", + "function validatorSet() view returns (address)" +] \ No newline at end of file diff --git a/deployments/abis/Ecosystem_LiquidNodesManager_RewardsBank.json b/deployments/abis/Ecosystem_LiquidNodesManager_RewardsBank.json new file mode 100644 index 00000000..3f7f4907 --- /dev/null +++ b/deployments/abis/Ecosystem_LiquidNodesManager_RewardsBank.json @@ -0,0 +1,15 @@ +[ + "constructor()", + "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", + "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", + "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", + "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", + "function getRoleAdmin(bytes32 role) view returns (bytes32)", + "function grantRole(bytes32 role, address account)", + "function hasRole(bytes32 role, address account) view returns (bool)", + "function renounceRole(bytes32 role, address account)", + "function revokeRole(bytes32 role, address account)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function withdrawAmb(address addressTo, uint256 amount)", + "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/Ecosystem_LiquidNodesManager_Treasury.json b/deployments/abis/Ecosystem_LiquidNodesManager_Treasury.json new file mode 100644 index 00000000..b28f9e51 --- /dev/null +++ b/deployments/abis/Ecosystem_LiquidNodesManager_Treasury.json @@ -0,0 +1,12 @@ +[ + "constructor(address owner, uint256 _fee)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "event Withdraw(address addressTo, uint256 amount)", + "function calcFee(uint256 amount) view returns (uint256)", + "function fee() view returns (uint256)", + "function owner() view returns (address)", + "function renounceOwnership()", + "function setFee(uint256 _fee)", + "function transferOwnership(address newOwner)", + "function withdraw(address addressTo, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/Ecosystem_LiquidNodesManager_TreasuryFees.json b/deployments/abis/Ecosystem_LiquidNodesManager_TreasuryFees.json new file mode 100644 index 00000000..b28f9e51 --- /dev/null +++ b/deployments/abis/Ecosystem_LiquidNodesManager_TreasuryFees.json @@ -0,0 +1,12 @@ +[ + "constructor(address owner, uint256 _fee)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "event Withdraw(address addressTo, uint256 amount)", + "function calcFee(uint256 amount) view returns (uint256)", + "function fee() view returns (uint256)", + "function owner() view returns (address)", + "function renounceOwnership()", + "function setFee(uint256 _fee)", + "function transferOwnership(address newOwner)", + "function withdraw(address addressTo, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/Ecosystem_LiquidPool.json b/deployments/abis/Ecosystem_LiquidPool.json new file mode 100644 index 00000000..05521e05 --- /dev/null +++ b/deployments/abis/Ecosystem_LiquidPool.json @@ -0,0 +1,54 @@ +[ + "event AdminChanged(address previousAdmin, address newAdmin)", + "event BeaconUpgraded(address indexed beacon)", + "event Claim(address indexed account, uint256 ambAmount, uint256 bondAmount)", + "event Initialized(uint8 version)", + "event Interest(uint256 amount)", + "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", + "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", + "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", + "event StakeChanged(address indexed account, int256 amount)", + "event UnstakeFast(address indexed account, uint256 amount, uint256 penalty)", + "event UnstakeLocked(address indexed account, uint256 amount, uint256 unlockTime, uint256 creationTime)", + "event Upgraded(address indexed implementation)", + "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", + "function beforeTokenTransfer(address from, address to, uint256 amount)", + "function bondAddress() view returns (address)", + "function claimRewards(uint256 desiredCoeff)", + "function fastUnstakePenalty() view returns (uint256)", + "function getClaimAmount(address user) view returns (uint256)", + "function getRoleAdmin(bytes32 role) view returns (bytes32)", + "function getStake(address user) view returns (uint256)", + "function getTotalRewards() view returns (uint256)", + "function getTotalStAmb() view returns (uint256)", + "function grantRole(bytes32 role, address account)", + "function hasRole(bytes32 role, address account) view returns (bool)", + "function initialize(address nodeManager_, address rewardsBank_, address tiers_, address lockKeeper_, address bondAddress_, address stAmb_, uint256 interest_, uint256 interestPeriod_, uint256 minStakeValue_, uint256 unstakeLockTime_, uint256 fastUnstakePenalty_)", + "function interest() view returns (uint256)", + "function interestPeriod() view returns (uint256)", + "function lockKeeper() view returns (address)", + "function lockedWithdraws(address) view returns (uint256)", + "function minStakeValue() view returns (uint256)", + "function nodeManager() view returns (address)", + "function onBlock()", + "function proxiableUUID() view returns (bytes32)", + "function renounceRole(bytes32 role, address account)", + "function revokeRole(bytes32 role, address account)", + "function rewardsBank() view returns (address)", + "function rewardsDebt(address) view returns (uint256)", + "function setFastUnstakePenalty(uint256 penalty)", + "function setInterest(uint256 interest_, uint256 interestPeriod_)", + "function setMinStakeValue(uint256 minStakeValue_)", + "function setUnstakeLockTime(uint256 unstakeLockTime_)", + "function stAmb() view returns (address)", + "function stake() payable", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function tiers() view returns (address)", + "function totalRewards() view returns (uint256)", + "function totalRewardsDebt() view returns (uint256)", + "function unstake(uint256 amount, uint256 desiredCoeff)", + "function unstakeFast(uint256 amount, uint256 desiredCoeff)", + "function unstakeLockTime() view returns (uint256)", + "function upgradeTo(address newImplementation)", + "function upgradeToAndCall(address newImplementation, bytes data) payable" +] \ No newline at end of file diff --git a/deployments/abis/Ecosystem_LiquidPool_Multisig.json b/deployments/abis/Ecosystem_LiquidPool_Multisig.json new file mode 100644 index 00000000..0f64db1d --- /dev/null +++ b/deployments/abis/Ecosystem_LiquidPool_Multisig.json @@ -0,0 +1,35 @@ +[ + "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", + "event Confirmation(address indexed sender, uint256 indexed txId)", + "event Execution(uint256 indexed txId)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "event Revocation(address indexed sender, uint256 indexed txId)", + "event SignerAddition(address indexed signer, bool isInitiator)", + "event SignerRemoval(address indexed signer)", + "event Submission(uint256 indexed txId)", + "event ThresholdChange(uint256 required)", + "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", + "function changeThreshold(uint256 _threshold)", + "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", + "function confirmTransaction(uint256 txId)", + "function confirmations(uint256, address) view returns (bool)", + "function getConfirmations(uint256 txId) view returns (address[])", + "function getInitiatorsCount() view returns (uint256)", + "function getRequiredSignersCount() view returns (uint256)", + "function getSigners() view returns (address[], bool[])", + "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", + "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", + "function isConfirmed(uint256 txId) view returns (bool)", + "function isInitiator(address) view returns (bool)", + "function isSigner(address) view returns (bool)", + "function owner() view returns (address)", + "function renounceOwnership()", + "function revokeConfirmation(uint256 txId)", + "function signers(uint256) view returns (address)", + "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", + "function threshold() view returns (uint256)", + "function transactionCount() view returns (uint256)", + "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", + "function transferOwnership(address newOwner)", + "function withdraw(address to, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/Ecosystem_LiquidPool_RewardsBank.json b/deployments/abis/Ecosystem_LiquidPool_RewardsBank.json new file mode 100644 index 00000000..3f7f4907 --- /dev/null +++ b/deployments/abis/Ecosystem_LiquidPool_RewardsBank.json @@ -0,0 +1,15 @@ +[ + "constructor()", + "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", + "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", + "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", + "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", + "function getRoleAdmin(bytes32 role) view returns (bytes32)", + "function grantRole(bytes32 role, address account)", + "function hasRole(bytes32 role, address account) view returns (bool)", + "function renounceRole(bytes32 role, address account)", + "function revokeRole(bytes32 role, address account)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function withdrawAmb(address addressTo, uint256 amount)", + "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/Ecosystem_LiquidPool_StAMB.json b/deployments/abis/Ecosystem_LiquidPool_StAMB.json new file mode 100644 index 00000000..3998c302 --- /dev/null +++ b/deployments/abis/Ecosystem_LiquidPool_StAMB.json @@ -0,0 +1,34 @@ +[ + "constructor()", + "event Approval(address indexed owner, address indexed spender, uint256 value)", + "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", + "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", + "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", + "event Transfer(address indexed from, address indexed to, uint256 value)", + "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", + "function MINTER_ROLE() view returns (bytes32)", + "function allowance(address owner, address spender) view returns (uint256)", + "function approve(address spender, uint256 amount) returns (bool)", + "function balanceOf(address account) view returns (uint256)", + "function burn(address account, uint256 amount)", + "function calculateHoldingTime(address user) view returns (uint256)", + "function decimals() view returns (uint8)", + "function decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)", + "function getRoleAdmin(bytes32 role) view returns (bytes32)", + "function grantRole(bytes32 role, address account)", + "function hasRole(bytes32 role, address account) view returns (bool)", + "function holdingTime(address) view returns (uint256)", + "function increaseAllowance(address spender, uint256 addedValue) returns (bool)", + "function liquidPool() view returns (address)", + "function mint(address account, uint256 amount)", + "function name() view returns (string)", + "function obtainedAt(address) view returns (uint256)", + "function renounceRole(bytes32 role, address account)", + "function revokeRole(bytes32 role, address account)", + "function setLiquidPool(address liquidPool_)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function symbol() view returns (string)", + "function totalSupply() view returns (uint256)", + "function transfer(address to, uint256 amount) returns (bool)", + "function transferFrom(address from, address to, uint256 amount) returns (bool)" +] \ No newline at end of file diff --git a/deployments/abis/Ecosystem_LiquidPool_StakingTiers.json b/deployments/abis/Ecosystem_LiquidPool_StakingTiers.json new file mode 100644 index 00000000..d74f7bdb --- /dev/null +++ b/deployments/abis/Ecosystem_LiquidPool_StakingTiers.json @@ -0,0 +1,27 @@ +[ + "event AdminChanged(address previousAdmin, address newAdmin)", + "event BeaconUpgraded(address indexed beacon)", + "event BonusSet(address indexed user, uint256 bonus)", + "event Initialized(uint8 version)", + "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", + "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", + "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", + "event Upgraded(address indexed implementation)", + "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", + "function bonuses(address) view returns (uint256)", + "function calculateTier(address user) view returns (uint256)", + "function getRoleAdmin(bytes32 role) view returns (bytes32)", + "function grantRole(bytes32 role, address account)", + "function hasRole(bytes32 role, address account) view returns (bool)", + "function initialize(address stAmb_)", + "function isTierAllowed(address user, uint256 desiredTier) view returns (bool)", + "function proxiableUUID() view returns (bytes32)", + "function renounceRole(bytes32 role, address account)", + "function revokeRole(bytes32 role, address account)", + "function setBonus(address user, uint256 bonus)", + "function setBonusBatch(address[] users, uint256[] bonuses_)", + "function stAmb() view returns (address)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function upgradeTo(address newImplementation)", + "function upgradeToAndCall(address newImplementation, bytes data) payable" +] \ No newline at end of file diff --git a/deployments/abis/Ecosystem_MasterMultisig.json b/deployments/abis/Ecosystem_MasterMultisig.json new file mode 100644 index 00000000..01e175ec --- /dev/null +++ b/deployments/abis/Ecosystem_MasterMultisig.json @@ -0,0 +1,38 @@ +[ + "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold)", + "event Confirmation(address indexed sender, uint256 indexed txId)", + "event Execution(uint256 indexed txId)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "event Revocation(address indexed sender, uint256 indexed txId)", + "event SignerAddition(address indexed signer, bool isInitiator)", + "event SignerRemoval(address indexed signer)", + "event Submission(uint256 indexed txId)", + "event ThresholdChange(uint256 required)", + "function changeOwners(address[] multisigs, address newOwner)", + "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", + "function changeSignersMaster(tuple(address contract_, address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)[] changes)", + "function changeThreshold(uint256 _threshold)", + "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", + "function confirmTransaction(uint256 txId)", + "function confirmations(uint256, address) view returns (bool)", + "function getAllSigners(address[] multisigs) view returns (tuple(address[] signers, bool[] isInitiatorFlags, uint256 threshold)[])", + "function getConfirmations(uint256 txId) view returns (address[])", + "function getInitiatorsCount() view returns (uint256)", + "function getRequiredSignersCount() view returns (uint256)", + "function getSigners() view returns (address[], bool[])", + "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", + "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", + "function isConfirmed(uint256 txId) view returns (bool)", + "function isInitiator(address) view returns (bool)", + "function isSigner(address) view returns (bool)", + "function owner() view returns (address)", + "function renounceOwnership()", + "function revokeConfirmation(uint256 txId)", + "function signers(uint256) view returns (address)", + "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", + "function threshold() view returns (uint256)", + "function transactionCount() view returns (uint256)", + "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", + "function transferOwnership(address newOwner)", + "function withdraw(address to, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/Ecosystem_Starfleet_Multisig.json b/deployments/abis/Ecosystem_Starfleet_Multisig.json new file mode 100644 index 00000000..0f64db1d --- /dev/null +++ b/deployments/abis/Ecosystem_Starfleet_Multisig.json @@ -0,0 +1,35 @@ +[ + "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", + "event Confirmation(address indexed sender, uint256 indexed txId)", + "event Execution(uint256 indexed txId)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "event Revocation(address indexed sender, uint256 indexed txId)", + "event SignerAddition(address indexed signer, bool isInitiator)", + "event SignerRemoval(address indexed signer)", + "event Submission(uint256 indexed txId)", + "event ThresholdChange(uint256 required)", + "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", + "function changeThreshold(uint256 _threshold)", + "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", + "function confirmTransaction(uint256 txId)", + "function confirmations(uint256, address) view returns (bool)", + "function getConfirmations(uint256 txId) view returns (address[])", + "function getInitiatorsCount() view returns (uint256)", + "function getRequiredSignersCount() view returns (uint256)", + "function getSigners() view returns (address[], bool[])", + "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", + "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", + "function isConfirmed(uint256 txId) view returns (bool)", + "function isInitiator(address) view returns (bool)", + "function isSigner(address) view returns (bool)", + "function owner() view returns (address)", + "function renounceOwnership()", + "function revokeConfirmation(uint256 txId)", + "function signers(uint256) view returns (address)", + "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", + "function threshold() view returns (uint256)", + "function transactionCount() view returns (uint256)", + "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", + "function transferOwnership(address newOwner)", + "function withdraw(address to, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/Ecosystem_Starfleet_RewardsBank.json b/deployments/abis/Ecosystem_Starfleet_RewardsBank.json new file mode 100644 index 00000000..3f7f4907 --- /dev/null +++ b/deployments/abis/Ecosystem_Starfleet_RewardsBank.json @@ -0,0 +1,15 @@ +[ + "constructor()", + "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", + "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", + "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", + "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", + "function getRoleAdmin(bytes32 role) view returns (bytes32)", + "function grantRole(bytes32 role, address account)", + "function hasRole(bytes32 role, address account) view returns (bool)", + "function renounceRole(bytes32 role, address account)", + "function revokeRole(bytes32 role, address account)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function withdrawAmb(address addressTo, uint256 amount)", + "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/Fees.json b/deployments/abis/Fees.json new file mode 100644 index 00000000..3f87f552 --- /dev/null +++ b/deployments/abis/Fees.json @@ -0,0 +1,28 @@ +[ + "event AdminChanged(address previousAdmin, address newAdmin)", + "event BeaconUpgraded(address indexed beacon)", + "event FeesParamsChanged(address indexed addr, uint256 indexed percent)", + "event GasPriceChanged(uint256 indexed price)", + "event Initialized(uint8 version)", + "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", + "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", + "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", + "event Upgraded(address indexed implementation)", + "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", + "function getFeesParams() view returns (address addr, uint256 percent)", + "function getGasPrice() view returns (uint256)", + "function getRoleAdmin(bytes32 role) view returns (bytes32)", + "function getRoleMember(bytes32 role, uint256 index) view returns (address)", + "function getRoleMemberCount(bytes32 role) view returns (uint256)", + "function grantRole(bytes32 role, address account)", + "function hasRole(bytes32 role, address account) view returns (bool)", + "function initialize(uint256 _gasPrice, address _payAddress, uint256 _feePercent)", + "function proxiableUUID() view returns (bytes32)", + "function renounceRole(bytes32 role, address account)", + "function revokeRole(bytes32 role, address account)", + "function setFeesParams(address addr, uint256 percent)", + "function setGasPrice(uint256 price)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function upgradeTo(address newImplementation)", + "function upgradeToAndCall(address newImplementation, bytes data) payable" +] \ No newline at end of file diff --git a/deployments/abis/Fees_Multisig.json b/deployments/abis/Fees_Multisig.json new file mode 100644 index 00000000..0f64db1d --- /dev/null +++ b/deployments/abis/Fees_Multisig.json @@ -0,0 +1,35 @@ +[ + "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", + "event Confirmation(address indexed sender, uint256 indexed txId)", + "event Execution(uint256 indexed txId)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "event Revocation(address indexed sender, uint256 indexed txId)", + "event SignerAddition(address indexed signer, bool isInitiator)", + "event SignerRemoval(address indexed signer)", + "event Submission(uint256 indexed txId)", + "event ThresholdChange(uint256 required)", + "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", + "function changeThreshold(uint256 _threshold)", + "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", + "function confirmTransaction(uint256 txId)", + "function confirmations(uint256, address) view returns (bool)", + "function getConfirmations(uint256 txId) view returns (address[])", + "function getInitiatorsCount() view returns (uint256)", + "function getRequiredSignersCount() view returns (uint256)", + "function getSigners() view returns (address[], bool[])", + "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", + "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", + "function isConfirmed(uint256 txId) view returns (bool)", + "function isInitiator(address) view returns (bool)", + "function isSigner(address) view returns (bool)", + "function owner() view returns (address)", + "function renounceOwnership()", + "function revokeConfirmation(uint256 txId)", + "function signers(uint256) view returns (address)", + "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", + "function threshold() view returns (uint256)", + "function transactionCount() view returns (uint256)", + "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", + "function transferOwnership(address newOwner)", + "function withdraw(address to, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/Fees_Treasure.json b/deployments/abis/Fees_Treasure.json new file mode 100644 index 00000000..5cfdadc9 --- /dev/null +++ b/deployments/abis/Fees_Treasure.json @@ -0,0 +1,9 @@ +[ + "constructor(address owner)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "event Withdraw(address addressTo, uint256 amount)", + "function owner() view returns (address)", + "function renounceOwnership()", + "function transferOwnership(address newOwner)", + "function withdraw(address addressTo, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/FinanceEcosystem.json b/deployments/abis/FinanceEcosystem.json new file mode 100644 index 00000000..5cfdadc9 --- /dev/null +++ b/deployments/abis/FinanceEcosystem.json @@ -0,0 +1,9 @@ +[ + "constructor(address owner)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "event Withdraw(address addressTo, uint256 amount)", + "function owner() view returns (address)", + "function renounceOwnership()", + "function transferOwnership(address newOwner)", + "function withdraw(address addressTo, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/FinanceEcosystem_Multisig.json b/deployments/abis/FinanceEcosystem_Multisig.json new file mode 100644 index 00000000..0f64db1d --- /dev/null +++ b/deployments/abis/FinanceEcosystem_Multisig.json @@ -0,0 +1,35 @@ +[ + "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", + "event Confirmation(address indexed sender, uint256 indexed txId)", + "event Execution(uint256 indexed txId)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "event Revocation(address indexed sender, uint256 indexed txId)", + "event SignerAddition(address indexed signer, bool isInitiator)", + "event SignerRemoval(address indexed signer)", + "event Submission(uint256 indexed txId)", + "event ThresholdChange(uint256 required)", + "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", + "function changeThreshold(uint256 _threshold)", + "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", + "function confirmTransaction(uint256 txId)", + "function confirmations(uint256, address) view returns (bool)", + "function getConfirmations(uint256 txId) view returns (address[])", + "function getInitiatorsCount() view returns (uint256)", + "function getRequiredSignersCount() view returns (uint256)", + "function getSigners() view returns (address[], bool[])", + "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", + "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", + "function isConfirmed(uint256 txId) view returns (bool)", + "function isInitiator(address) view returns (bool)", + "function isSigner(address) view returns (bool)", + "function owner() view returns (address)", + "function renounceOwnership()", + "function revokeConfirmation(uint256 txId)", + "function signers(uint256) view returns (address)", + "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", + "function threshold() view returns (uint256)", + "function transactionCount() view returns (uint256)", + "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", + "function transferOwnership(address newOwner)", + "function withdraw(address to, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/FinanceInvestors.json b/deployments/abis/FinanceInvestors.json new file mode 100644 index 00000000..5cfdadc9 --- /dev/null +++ b/deployments/abis/FinanceInvestors.json @@ -0,0 +1,9 @@ +[ + "constructor(address owner)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "event Withdraw(address addressTo, uint256 amount)", + "function owner() view returns (address)", + "function renounceOwnership()", + "function transferOwnership(address newOwner)", + "function withdraw(address addressTo, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/FinanceInvestors_Multisig.json b/deployments/abis/FinanceInvestors_Multisig.json new file mode 100644 index 00000000..0f64db1d --- /dev/null +++ b/deployments/abis/FinanceInvestors_Multisig.json @@ -0,0 +1,35 @@ +[ + "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", + "event Confirmation(address indexed sender, uint256 indexed txId)", + "event Execution(uint256 indexed txId)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "event Revocation(address indexed sender, uint256 indexed txId)", + "event SignerAddition(address indexed signer, bool isInitiator)", + "event SignerRemoval(address indexed signer)", + "event Submission(uint256 indexed txId)", + "event ThresholdChange(uint256 required)", + "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", + "function changeThreshold(uint256 _threshold)", + "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", + "function confirmTransaction(uint256 txId)", + "function confirmations(uint256, address) view returns (bool)", + "function getConfirmations(uint256 txId) view returns (address[])", + "function getInitiatorsCount() view returns (uint256)", + "function getRequiredSignersCount() view returns (uint256)", + "function getSigners() view returns (address[], bool[])", + "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", + "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", + "function isConfirmed(uint256 txId) view returns (bool)", + "function isInitiator(address) view returns (bool)", + "function isSigner(address) view returns (bool)", + "function owner() view returns (address)", + "function renounceOwnership()", + "function revokeConfirmation(uint256 txId)", + "function signers(uint256) view returns (address)", + "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", + "function threshold() view returns (uint256)", + "function transactionCount() view returns (uint256)", + "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", + "function transferOwnership(address newOwner)", + "function withdraw(address to, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/FinanceMaster.json b/deployments/abis/FinanceMaster.json new file mode 100644 index 00000000..55cba6a9 --- /dev/null +++ b/deployments/abis/FinanceMaster.json @@ -0,0 +1,12 @@ +[ + "constructor(address owner, uint256 maxBanks_, uint256 maxBankBalance_)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "event Withdraw(address addressTo, uint256 amount)", + "function banks(uint256) view returns (address)", + "function getBalances() view returns (address[] addresses, uint256[] balances)", + "function owner() view returns (address)", + "function renounceOwnership()", + "function transferOwnership(address newOwner)", + "function transferToBanks()", + "function withdraw(address addressTo, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/FinanceMaster_Multisig.json b/deployments/abis/FinanceMaster_Multisig.json new file mode 100644 index 00000000..0f64db1d --- /dev/null +++ b/deployments/abis/FinanceMaster_Multisig.json @@ -0,0 +1,35 @@ +[ + "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", + "event Confirmation(address indexed sender, uint256 indexed txId)", + "event Execution(uint256 indexed txId)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "event Revocation(address indexed sender, uint256 indexed txId)", + "event SignerAddition(address indexed signer, bool isInitiator)", + "event SignerRemoval(address indexed signer)", + "event Submission(uint256 indexed txId)", + "event ThresholdChange(uint256 required)", + "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", + "function changeThreshold(uint256 _threshold)", + "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", + "function confirmTransaction(uint256 txId)", + "function confirmations(uint256, address) view returns (bool)", + "function getConfirmations(uint256 txId) view returns (address[])", + "function getInitiatorsCount() view returns (uint256)", + "function getRequiredSignersCount() view returns (uint256)", + "function getSigners() view returns (address[], bool[])", + "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", + "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", + "function isConfirmed(uint256 txId) view returns (bool)", + "function isInitiator(address) view returns (bool)", + "function isSigner(address) view returns (bool)", + "function owner() view returns (address)", + "function renounceOwnership()", + "function revokeConfirmation(uint256 txId)", + "function signers(uint256) view returns (address)", + "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", + "function threshold() view returns (uint256)", + "function transactionCount() view returns (uint256)", + "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", + "function transferOwnership(address newOwner)", + "function withdraw(address to, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/FinanceRevenue.json b/deployments/abis/FinanceRevenue.json new file mode 100644 index 00000000..5cfdadc9 --- /dev/null +++ b/deployments/abis/FinanceRevenue.json @@ -0,0 +1,9 @@ +[ + "constructor(address owner)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "event Withdraw(address addressTo, uint256 amount)", + "function owner() view returns (address)", + "function renounceOwnership()", + "function transferOwnership(address newOwner)", + "function withdraw(address addressTo, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/FinanceRevenue_Multisig.json b/deployments/abis/FinanceRevenue_Multisig.json new file mode 100644 index 00000000..0f64db1d --- /dev/null +++ b/deployments/abis/FinanceRevenue_Multisig.json @@ -0,0 +1,35 @@ +[ + "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", + "event Confirmation(address indexed sender, uint256 indexed txId)", + "event Execution(uint256 indexed txId)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "event Revocation(address indexed sender, uint256 indexed txId)", + "event SignerAddition(address indexed signer, bool isInitiator)", + "event SignerRemoval(address indexed signer)", + "event Submission(uint256 indexed txId)", + "event ThresholdChange(uint256 required)", + "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", + "function changeThreshold(uint256 _threshold)", + "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", + "function confirmTransaction(uint256 txId)", + "function confirmations(uint256, address) view returns (bool)", + "function getConfirmations(uint256 txId) view returns (address[])", + "function getInitiatorsCount() view returns (uint256)", + "function getRequiredSignersCount() view returns (uint256)", + "function getSigners() view returns (address[], bool[])", + "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", + "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", + "function isConfirmed(uint256 txId) view returns (bool)", + "function isInitiator(address) view returns (bool)", + "function isSigner(address) view returns (bool)", + "function owner() view returns (address)", + "function renounceOwnership()", + "function revokeConfirmation(uint256 txId)", + "function signers(uint256) view returns (address)", + "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", + "function threshold() view returns (uint256)", + "function transactionCount() view returns (uint256)", + "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", + "function transferOwnership(address newOwner)", + "function withdraw(address to, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/FinanceRewards.json b/deployments/abis/FinanceRewards.json new file mode 100644 index 00000000..5cfdadc9 --- /dev/null +++ b/deployments/abis/FinanceRewards.json @@ -0,0 +1,9 @@ +[ + "constructor(address owner)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "event Withdraw(address addressTo, uint256 amount)", + "function owner() view returns (address)", + "function renounceOwnership()", + "function transferOwnership(address newOwner)", + "function withdraw(address addressTo, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/FinanceRewards_Multisig.json b/deployments/abis/FinanceRewards_Multisig.json new file mode 100644 index 00000000..0f64db1d --- /dev/null +++ b/deployments/abis/FinanceRewards_Multisig.json @@ -0,0 +1,35 @@ +[ + "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", + "event Confirmation(address indexed sender, uint256 indexed txId)", + "event Execution(uint256 indexed txId)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "event Revocation(address indexed sender, uint256 indexed txId)", + "event SignerAddition(address indexed signer, bool isInitiator)", + "event SignerRemoval(address indexed signer)", + "event Submission(uint256 indexed txId)", + "event ThresholdChange(uint256 required)", + "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", + "function changeThreshold(uint256 _threshold)", + "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", + "function confirmTransaction(uint256 txId)", + "function confirmations(uint256, address) view returns (bool)", + "function getConfirmations(uint256 txId) view returns (address[])", + "function getInitiatorsCount() view returns (uint256)", + "function getRequiredSignersCount() view returns (uint256)", + "function getSigners() view returns (address[], bool[])", + "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", + "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", + "function isConfirmed(uint256 txId) view returns (bool)", + "function isInitiator(address) view returns (bool)", + "function isSigner(address) view returns (bool)", + "function owner() view returns (address)", + "function renounceOwnership()", + "function revokeConfirmation(uint256 txId)", + "function signers(uint256) view returns (address)", + "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", + "function threshold() view returns (uint256)", + "function transactionCount() view returns (uint256)", + "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", + "function transferOwnership(address newOwner)", + "function withdraw(address to, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/FinanceTeam.json b/deployments/abis/FinanceTeam.json new file mode 100644 index 00000000..5cfdadc9 --- /dev/null +++ b/deployments/abis/FinanceTeam.json @@ -0,0 +1,9 @@ +[ + "constructor(address owner)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "event Withdraw(address addressTo, uint256 amount)", + "function owner() view returns (address)", + "function renounceOwnership()", + "function transferOwnership(address newOwner)", + "function withdraw(address addressTo, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/FinanceTeam_Multisig.json b/deployments/abis/FinanceTeam_Multisig.json new file mode 100644 index 00000000..0f64db1d --- /dev/null +++ b/deployments/abis/FinanceTeam_Multisig.json @@ -0,0 +1,35 @@ +[ + "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", + "event Confirmation(address indexed sender, uint256 indexed txId)", + "event Execution(uint256 indexed txId)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "event Revocation(address indexed sender, uint256 indexed txId)", + "event SignerAddition(address indexed signer, bool isInitiator)", + "event SignerRemoval(address indexed signer)", + "event Submission(uint256 indexed txId)", + "event ThresholdChange(uint256 required)", + "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", + "function changeThreshold(uint256 _threshold)", + "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", + "function confirmTransaction(uint256 txId)", + "function confirmations(uint256, address) view returns (bool)", + "function getConfirmations(uint256 txId) view returns (address[])", + "function getInitiatorsCount() view returns (uint256)", + "function getRequiredSignersCount() view returns (uint256)", + "function getSigners() view returns (address[], bool[])", + "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", + "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", + "function isConfirmed(uint256 txId) view returns (bool)", + "function isInitiator(address) view returns (bool)", + "function isSigner(address) view returns (bool)", + "function owner() view returns (address)", + "function renounceOwnership()", + "function revokeConfirmation(uint256 txId)", + "function signers(uint256) view returns (address)", + "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", + "function threshold() view returns (uint256)", + "function transactionCount() view returns (uint256)", + "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", + "function transferOwnership(address newOwner)", + "function withdraw(address to, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/LegacyPoolManager.json b/deployments/abis/LegacyPoolManager.json new file mode 100644 index 00000000..4f4b0548 --- /dev/null +++ b/deployments/abis/LegacyPoolManager.json @@ -0,0 +1,40 @@ +[ + "event AdminChanged(address previousAdmin, address newAdmin)", + "event BeaconUpgraded(address indexed beacon)", + "event Initialized(uint8 version)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "event Paused(address account)", + "event PoolAdded(address poolAddress)", + "event PoolRemoved(address poolAddress)", + "event Unpaused(address account)", + "event Upgraded(address indexed implementation)", + "function addNodeRequest(uint256 stake, uint256 requestId, uint256 nodeId, uint8 role)", + "function addNodeRequestResolved(uint256 requestId, uint256 status)", + "function addPool(address pool)", + "function getDeposit(address nodeAddress) view returns (uint256)", + "function getPools() view returns (address[])", + "function importOldStakes(address[] addresses, address[] pools, uint256[] amounts)", + "function initialize(address _validatorSet, address _rewardsBank, address _treasury, address _poolsStore, address _apolloDepositStore, address _rolesEventEmitter, address _poolEventsEmitter)", + "function isPool(address poolAddress) view returns (bool)", + "function nextId() returns (uint256)", + "function node2pool(address) view returns (address)", + "function onboard(address nodeAddress, uint8 nodeType) payable", + "function owner() view returns (address)", + "function pause()", + "function paused() view returns (bool)", + "function poolReward(uint256 reward, uint256 tokenPrice)", + "function poolStakeChanged(address user, int256 stake, int256 tokens)", + "function proxiableUUID() view returns (bytes32)", + "function removePool(address pool)", + "function renounceOwnership()", + "function report(address nodeAddress)", + "function retire(address nodeAddress, uint8 nodeType) returns (uint256)", + "function reward(address nodeAddress, uint256 amount)", + "function rewardsBank() view returns (address)", + "function transferOwnership(address newOwner)", + "function treasury() view returns (address)", + "function unpause()", + "function upgradeTo(address newImplementation)", + "function upgradeToAndCall(address newImplementation, bytes data) payable", + "function validatorSet() view returns (address)" +] \ No newline at end of file diff --git a/deployments/abis/LegacyPoolManager_Multisig.json b/deployments/abis/LegacyPoolManager_Multisig.json new file mode 100644 index 00000000..0f64db1d --- /dev/null +++ b/deployments/abis/LegacyPoolManager_Multisig.json @@ -0,0 +1,35 @@ +[ + "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", + "event Confirmation(address indexed sender, uint256 indexed txId)", + "event Execution(uint256 indexed txId)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "event Revocation(address indexed sender, uint256 indexed txId)", + "event SignerAddition(address indexed signer, bool isInitiator)", + "event SignerRemoval(address indexed signer)", + "event Submission(uint256 indexed txId)", + "event ThresholdChange(uint256 required)", + "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", + "function changeThreshold(uint256 _threshold)", + "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", + "function confirmTransaction(uint256 txId)", + "function confirmations(uint256, address) view returns (bool)", + "function getConfirmations(uint256 txId) view returns (address[])", + "function getInitiatorsCount() view returns (uint256)", + "function getRequiredSignersCount() view returns (uint256)", + "function getSigners() view returns (address[], bool[])", + "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", + "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", + "function isConfirmed(uint256 txId) view returns (bool)", + "function isInitiator(address) view returns (bool)", + "function isSigner(address) view returns (bool)", + "function owner() view returns (address)", + "function renounceOwnership()", + "function revokeConfirmation(uint256 txId)", + "function signers(uint256) view returns (address)", + "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", + "function threshold() view returns (uint256)", + "function transactionCount() view returns (uint256)", + "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", + "function transferOwnership(address newOwner)", + "function withdraw(address to, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/LegacyPoolManager_RewardsBank.json b/deployments/abis/LegacyPoolManager_RewardsBank.json new file mode 100644 index 00000000..3f7f4907 --- /dev/null +++ b/deployments/abis/LegacyPoolManager_RewardsBank.json @@ -0,0 +1,15 @@ +[ + "constructor()", + "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", + "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", + "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", + "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", + "function getRoleAdmin(bytes32 role) view returns (bytes32)", + "function grantRole(bytes32 role, address account)", + "function hasRole(bytes32 role, address account) view returns (bool)", + "function renounceRole(bytes32 role, address account)", + "function revokeRole(bytes32 role, address account)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function withdrawAmb(address addressTo, uint256 amount)", + "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/LockKeeper.json b/deployments/abis/LockKeeper.json new file mode 100644 index 00000000..5a63ad24 --- /dev/null +++ b/deployments/abis/LockKeeper.json @@ -0,0 +1,35 @@ +[ + "event AdminChanged(address previousAdmin, address newAdmin)", + "event BeaconUpgraded(address indexed beacon)", + "event Claim(uint256 indexed lockId, address indexed userAddress, uint256 amount)", + "event Initialized(uint8 version)", + "event LockCanceled(uint256 indexed lockId, uint256 canceledAmount)", + "event Locked(uint256 indexed lockId, address indexed receiver, address indexed token, address locker, uint64 lockTime, uint64 firstUnlockTime, uint64 unlockPeriod, uint64 totalClaims, uint256 intervalAmount, string description)", + "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", + "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", + "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", + "event Upgraded(address indexed implementation)", + "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", + "function allUserLocks(address user) view returns (uint256[], tuple(address locker, address receiver, address token, uint64 firstUnlockTime, uint64 unlockPeriod, uint64 totalClaims, uint64 timesClaimed, uint256 intervalAmount, string description)[])", + "function autoClaim()", + "function cancelLock(uint256 lockId) returns (uint256 unclaimedAmount)", + "function claim(uint256 lockId)", + "function claimAll()", + "function getAllLocks() view returns (tuple(address locker, address receiver, address token, uint64 firstUnlockTime, uint64 unlockPeriod, uint64 totalClaims, uint64 timesClaimed, uint256 intervalAmount, string description)[])", + "function getAllLocksIds() view returns (uint256[])", + "function getLock(uint256 id) view returns (tuple(address locker, address receiver, address token, uint64 firstUnlockTime, uint64 unlockPeriod, uint64 totalClaims, uint64 timesClaimed, uint256 intervalAmount, string description))", + "function getRoleAdmin(bytes32 role) view returns (bytes32)", + "function grantRole(bytes32 role, address account)", + "function hasRole(bytes32 role, address account) view returns (bool)", + "function initialize()", + "function latestLockId() view returns (uint256)", + "function lockLinear(address receiver, address token, uint64 firstUnlockTime, uint64 totalClaims, uint64 unlockPeriod, uint256 unlockAmount, string description) payable returns (uint256)", + "function lockSingle(address receiver, address token, uint64 unlockTime, uint256 amount, string description) payable returns (uint256)", + "function onBlock()", + "function proxiableUUID() view returns (bytes32)", + "function renounceRole(bytes32 role, address account)", + "function revokeRole(bytes32 role, address account)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function upgradeTo(address newImplementation)", + "function upgradeToAndCall(address newImplementation, bytes data) payable" +] \ No newline at end of file diff --git a/deployments/abis/MasterMultisig.json b/deployments/abis/MasterMultisig.json new file mode 100644 index 00000000..01e175ec --- /dev/null +++ b/deployments/abis/MasterMultisig.json @@ -0,0 +1,38 @@ +[ + "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold)", + "event Confirmation(address indexed sender, uint256 indexed txId)", + "event Execution(uint256 indexed txId)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "event Revocation(address indexed sender, uint256 indexed txId)", + "event SignerAddition(address indexed signer, bool isInitiator)", + "event SignerRemoval(address indexed signer)", + "event Submission(uint256 indexed txId)", + "event ThresholdChange(uint256 required)", + "function changeOwners(address[] multisigs, address newOwner)", + "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", + "function changeSignersMaster(tuple(address contract_, address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)[] changes)", + "function changeThreshold(uint256 _threshold)", + "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", + "function confirmTransaction(uint256 txId)", + "function confirmations(uint256, address) view returns (bool)", + "function getAllSigners(address[] multisigs) view returns (tuple(address[] signers, bool[] isInitiatorFlags, uint256 threshold)[])", + "function getConfirmations(uint256 txId) view returns (address[])", + "function getInitiatorsCount() view returns (uint256)", + "function getRequiredSignersCount() view returns (uint256)", + "function getSigners() view returns (address[], bool[])", + "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", + "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", + "function isConfirmed(uint256 txId) view returns (bool)", + "function isInitiator(address) view returns (bool)", + "function isSigner(address) view returns (bool)", + "function owner() view returns (address)", + "function renounceOwnership()", + "function revokeConfirmation(uint256 txId)", + "function signers(uint256) view returns (address)", + "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", + "function threshold() view returns (uint256)", + "function transactionCount() view returns (uint256)", + "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", + "function transferOwnership(address newOwner)", + "function withdraw(address to, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/MultisigFactory.json b/deployments/abis/MultisigFactory.json new file mode 100644 index 00000000..d857008a --- /dev/null +++ b/deployments/abis/MultisigFactory.json @@ -0,0 +1,29 @@ +[ + "event AdminChanged(address previousAdmin, address newAdmin)", + "event BeaconUpgraded(address indexed beacon)", + "event Initialized(uint8 version)", + "event MultisigCreated(address indexed multisig)", + "event MultisigDeleted(address indexed multisig)", + "event MultisigRegistered(address indexed multisig)", + "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", + "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", + "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", + "event Upgraded(address indexed implementation)", + "function CREATOR_ROLE() view returns (bytes32)", + "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", + "function createMultisig(string name, tuple(address[] signers, bool[] isInitiatorFlags, uint256 threshold, address owner) settings) returns (address)", + "function deleteMultisig(string name)", + "function getMultisigAddress(string _name) view returns (address)", + "function getRoleAdmin(bytes32 role) view returns (bytes32)", + "function grantRole(bytes32 role, address account)", + "function hasRole(bytes32 role, address account) view returns (bool)", + "function initialize()", + "function multisigs(string) view returns (address)", + "function proxiableUUID() view returns (bytes32)", + "function registerMultisigs(address[] _multisigs, string[] _names)", + "function renounceRole(bytes32 role, address account)", + "function revokeRole(bytes32 role, address account)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function upgradeTo(address newImplementation)", + "function upgradeToAndCall(address newImplementation, bytes data) payable" +] \ No newline at end of file diff --git a/deployments/abis/ServerNodesManager.json b/deployments/abis/ServerNodesManager.json new file mode 100644 index 00000000..dee9ed39 --- /dev/null +++ b/deployments/abis/ServerNodesManager.json @@ -0,0 +1,54 @@ +[ + "event AdminChanged(address previousAdmin, address newAdmin)", + "event BeaconUpgraded(address indexed beacon)", + "event Initialized(uint8 version)", + "event Paused(address account)", + "event Reward(address indexed nodeAddress, address indexed rewardAddress, uint256 amountAmb, uint256 amountBonds)", + "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", + "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", + "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", + "event StakeChanged(address indexed nodeAddress, address indexed nodeOwner, int256 amount)", + "event Unpaused(address account)", + "event Upgraded(address indexed implementation)", + "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", + "function addStake(address nodeAddress) payable", + "function airBond() view returns (address)", + "function changeMinStakeAmount(uint256 newMinStakeAmount)", + "function changeNodeOwner(address nodeAddress, address newOwnerAddress)", + "function changeOnboardingDelay(uint256 newOnboardingDelay)", + "function changeUnstakeLockTime(uint256 newUnstakeLockTime)", + "function forceUnstake(address nodeAddress)", + "function getOnboardingWaitingList() view returns (address[])", + "function getRoleAdmin(bytes32 role) view returns (bytes32)", + "function getStakesList() view returns (address[])", + "function getUserStakesList(address ownerAddress) view returns (address[] result)", + "function grantRole(bytes32 role, address account)", + "function hasRole(bytes32 role, address account) view returns (bool)", + "function importOldStakes(address[] addresses, uint256[] amounts, uint256[] timestamps) payable", + "function initialize(address _validatorSet, address _lockKeeper, address _rewardsBank, address _airBond, address _treasury, uint256 _onboardingDelay, uint256 _unstakeLockTime, uint256 _minStakeAmount)", + "function lockKeeper() view returns (address)", + "function lockedWithdraws(address) view returns (uint256)", + "function minStakeAmount() view returns (uint256)", + "function newStake(address nodeAddress, address rewardAddress) payable", + "function onBlock()", + "function onboardingDelay() view returns (uint256)", + "function pause()", + "function paused() view returns (bool)", + "function proxiableUUID() view returns (bytes32)", + "function renounceRole(bytes32 role, address account)", + "function report(address nodeAddress)", + "function restake(address nodeAddress)", + "function revokeRole(bytes32 role, address account)", + "function reward(address nodeAddress, uint256 amount)", + "function rewardsBank() view returns (address)", + "function setRewardsAddress(address nodeAddress, address rewardsAddress)", + "function stakes(address) view returns (uint256 stake, uint256 timestampStake, address ownerAddress, address rewardsAddress)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function treasury() view returns (address)", + "function unpause()", + "function unstake(address nodeAddress, uint256 amount)", + "function unstakeLockTime() view returns (uint256)", + "function upgradeTo(address newImplementation)", + "function upgradeToAndCall(address newImplementation, bytes data) payable", + "function validatorSet() view returns (address)" +] \ No newline at end of file diff --git a/deployments/abis/ServerNodesManager_Multisig.json b/deployments/abis/ServerNodesManager_Multisig.json new file mode 100644 index 00000000..0f64db1d --- /dev/null +++ b/deployments/abis/ServerNodesManager_Multisig.json @@ -0,0 +1,35 @@ +[ + "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", + "event Confirmation(address indexed sender, uint256 indexed txId)", + "event Execution(uint256 indexed txId)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "event Revocation(address indexed sender, uint256 indexed txId)", + "event SignerAddition(address indexed signer, bool isInitiator)", + "event SignerRemoval(address indexed signer)", + "event Submission(uint256 indexed txId)", + "event ThresholdChange(uint256 required)", + "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", + "function changeThreshold(uint256 _threshold)", + "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", + "function confirmTransaction(uint256 txId)", + "function confirmations(uint256, address) view returns (bool)", + "function getConfirmations(uint256 txId) view returns (address[])", + "function getInitiatorsCount() view returns (uint256)", + "function getRequiredSignersCount() view returns (uint256)", + "function getSigners() view returns (address[], bool[])", + "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", + "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", + "function isConfirmed(uint256 txId) view returns (bool)", + "function isInitiator(address) view returns (bool)", + "function isSigner(address) view returns (bool)", + "function owner() view returns (address)", + "function renounceOwnership()", + "function revokeConfirmation(uint256 txId)", + "function signers(uint256) view returns (address)", + "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", + "function threshold() view returns (uint256)", + "function transactionCount() view returns (uint256)", + "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", + "function transferOwnership(address newOwner)", + "function withdraw(address to, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/ServerNodesManager_RewardsBank.json b/deployments/abis/ServerNodesManager_RewardsBank.json new file mode 100644 index 00000000..3f7f4907 --- /dev/null +++ b/deployments/abis/ServerNodesManager_RewardsBank.json @@ -0,0 +1,15 @@ +[ + "constructor()", + "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", + "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", + "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", + "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", + "function getRoleAdmin(bytes32 role) view returns (bytes32)", + "function grantRole(bytes32 role, address account)", + "function hasRole(bytes32 role, address account) view returns (bool)", + "function renounceRole(bytes32 role, address account)", + "function revokeRole(bytes32 role, address account)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function withdrawAmb(address addressTo, uint256 amount)", + "function withdrawErc20(address tokenAddress, address addressTo, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/Treasury.json b/deployments/abis/Treasury.json new file mode 100644 index 00000000..b28f9e51 --- /dev/null +++ b/deployments/abis/Treasury.json @@ -0,0 +1,12 @@ +[ + "constructor(address owner, uint256 _fee)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "event Withdraw(address addressTo, uint256 amount)", + "function calcFee(uint256 amount) view returns (uint256)", + "function fee() view returns (uint256)", + "function owner() view returns (address)", + "function renounceOwnership()", + "function setFee(uint256 _fee)", + "function transferOwnership(address newOwner)", + "function withdraw(address addressTo, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/Treasury_Multisig.json b/deployments/abis/Treasury_Multisig.json new file mode 100644 index 00000000..0f64db1d --- /dev/null +++ b/deployments/abis/Treasury_Multisig.json @@ -0,0 +1,35 @@ +[ + "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", + "event Confirmation(address indexed sender, uint256 indexed txId)", + "event Execution(uint256 indexed txId)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "event Revocation(address indexed sender, uint256 indexed txId)", + "event SignerAddition(address indexed signer, bool isInitiator)", + "event SignerRemoval(address indexed signer)", + "event Submission(uint256 indexed txId)", + "event ThresholdChange(uint256 required)", + "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", + "function changeThreshold(uint256 _threshold)", + "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", + "function confirmTransaction(uint256 txId)", + "function confirmations(uint256, address) view returns (bool)", + "function getConfirmations(uint256 txId) view returns (address[])", + "function getInitiatorsCount() view returns (uint256)", + "function getRequiredSignersCount() view returns (uint256)", + "function getSigners() view returns (address[], bool[])", + "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", + "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", + "function isConfirmed(uint256 txId) view returns (bool)", + "function isInitiator(address) view returns (bool)", + "function isSigner(address) view returns (bool)", + "function owner() view returns (address)", + "function renounceOwnership()", + "function revokeConfirmation(uint256 txId)", + "function signers(uint256) view returns (address)", + "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", + "function threshold() view returns (uint256)", + "function transactionCount() view returns (uint256)", + "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", + "function transferOwnership(address newOwner)", + "function withdraw(address to, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/ValidatorSet.json b/deployments/abis/ValidatorSet.json new file mode 100644 index 00000000..95e46eea --- /dev/null +++ b/deployments/abis/ValidatorSet.json @@ -0,0 +1,35 @@ +[ + "event Initialized(uint8 version)", + "event InitiateChange(bytes32 indexed parentHash, address[] newSet)", + "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", + "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", + "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", + "event ValidatorSetFinalized(address[] newSet)", + "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", + "function REWARD_ORACLE_ROLE() view returns (bytes32)", + "function STAKING_MANAGER_ROLE() view returns (bytes32)", + "function addBlockListener(address listener)", + "function baseReward() view returns (uint256)", + "function changeTopStakesCount(uint256 newTopStakesCount)", + "function finalizeChange()", + "function getNodeStake(address nodeAddress) view returns (uint256)", + "function getQueuedStakes() view returns (address[])", + "function getRoleAdmin(bytes32 role) view returns (bytes32)", + "function getTopStakes() view returns (address[])", + "function getValidators() view returns (address[])", + "function grantRole(bytes32 role, address account)", + "function hasRole(bytes32 role, address account) view returns (bool)", + "function initialize(address _multisig, address _rewardOracle, uint256 _baseReward, uint256 _topStakesCount)", + "function newStake(address nodeAddress, uint256 amount, bool isAlwaysTop)", + "function removeBlockListener(address listener)", + "function renounceRole(bytes32 role, address account)", + "function revokeRole(bytes32 role, address account)", + "function reward(address[] beneficiaries, uint16[] kind) returns (address[], uint256[])", + "function setReward(uint256 _baseReward)", + "function stake(address nodeAddress, uint256 amount)", + "function stakes(address) view returns (uint256 amount, address stakingContract, bool isAlwaysTop)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function topStakesCount() view returns (uint256)", + "function totalStakeAmount() view returns (uint256)", + "function unstake(address nodeAddress, uint256 amount)" +] \ No newline at end of file diff --git a/deployments/abis/ValidatorSet_Multisig.json b/deployments/abis/ValidatorSet_Multisig.json new file mode 100644 index 00000000..0f64db1d --- /dev/null +++ b/deployments/abis/ValidatorSet_Multisig.json @@ -0,0 +1,35 @@ +[ + "constructor(address[] _signers, bool[] isInitiatorFlags, uint256 _threshold, address owner)", + "event Confirmation(address indexed sender, uint256 indexed txId)", + "event Execution(uint256 indexed txId)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "event Revocation(address indexed sender, uint256 indexed txId)", + "event SignerAddition(address indexed signer, bool isInitiator)", + "event SignerRemoval(address indexed signer)", + "event Submission(uint256 indexed txId)", + "event ThresholdChange(uint256 required)", + "function changeSigners(address[] signersToRemove, address[] signersToAdd, bool[] isInitiatorFlags)", + "function changeThreshold(uint256 _threshold)", + "function checkBeforeSubmitTransaction(address destination, uint256 value, bytes data) payable", + "function confirmTransaction(uint256 txId)", + "function confirmations(uint256, address) view returns (bool)", + "function getConfirmations(uint256 txId) view returns (address[])", + "function getInitiatorsCount() view returns (uint256)", + "function getRequiredSignersCount() view returns (uint256)", + "function getSigners() view returns (address[], bool[])", + "function getTransactionData(uint256 txId) view returns (tuple(address destination, uint256 value, bytes data, bool executed), address[])", + "function getTransactionIds(uint256 from, uint256 to, bool pending, bool executed) view returns (uint256[] result)", + "function isConfirmed(uint256 txId) view returns (bool)", + "function isInitiator(address) view returns (bool)", + "function isSigner(address) view returns (bool)", + "function owner() view returns (address)", + "function renounceOwnership()", + "function revokeConfirmation(uint256 txId)", + "function signers(uint256) view returns (address)", + "function submitTransaction(address destination, uint256 value, bytes data) payable returns (uint256 txId)", + "function threshold() view returns (uint256)", + "function transactionCount() view returns (uint256)", + "function transactions(uint256) view returns (address destination, uint256 value, bytes data, bool executed)", + "function transferOwnership(address newOwner)", + "function withdraw(address to, uint256 amount)" +] \ No newline at end of file diff --git a/hardhat.config.ts b/hardhat.config.ts index 7d84286a..795fd820 100644 --- a/hardhat.config.ts +++ b/hardhat.config.ts @@ -13,12 +13,12 @@ dotenv.config(); const config: HardhatUserConfig = { networks: { hardhat: { - //forking: { - // url: "https://network-archive.ambrosus.io", - //}, - //chainId: 16718, - //gasPrice: 0, - //initialBaseFeePerGas: 0, + forking: { + url: "https://network-archive.ambrosus.io", + }, + chainId: 16718, + gasPrice: 0, + initialBaseFeePerGas: 0, }, local: { url: "http://127.0.0.1:8545", diff --git a/package-lock.json b/package-lock.json index bace3752..c6ffd2cd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,18 +1,18 @@ { "name": "@airdao/airdao-node-contracts", - "version": "1.3.19", + "version": "1.3.30", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@airdao/airdao-node-contracts", - "version": "1.3.19", + "version": "1.3.30", "dependencies": { "csv-parse": "^5.5.6", "ethers": "^5.7.2" }, "devDependencies": { - "@airdao/deployments": "0.2.4", + "@airdao/deployments": "file:.yalc/@airdao/deployments", "@nomicfoundation/hardhat-toolbox": "^2.0.1", "@openzeppelin/contracts": "^4.9.0", "@openzeppelin/contracts-upgradeable": "4.9.0", @@ -29,6 +29,18 @@ "typescript": "^4.9.5" } }, + ".yalc/@airdao/deployments": { + "version": "0.2.5-test.6", + "dev": true, + "license": "ISC", + "peerDependencies": { + "@nomicfoundation/hardhat-toolbox": "^2.0.1", + "@openzeppelin/contracts-upgradeable": "^4.9.6", + "@openzeppelin/hardhat-upgrades": "^1.28.0", + "ethers": "^5.7.2", + "hardhat": "^2.12.6" + } + }, "node_modules/@aashutoshrathi/word-wrap": { "version": "1.2.6", "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", @@ -39,17 +51,8 @@ } }, "node_modules/@airdao/deployments": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@airdao/deployments/-/deployments-0.2.4.tgz", - "integrity": "sha512-nrvuBBHjYjA4dfczcHNfWfPqrBTn+ZDopK2RhNEgKoFt6UDxAfVld4lzAEjMZ3PC/k1W0KC85AMaS+l7+eT4qw==", - "dev": true, - "peerDependencies": { - "@nomicfoundation/hardhat-toolbox": "^2.0.1", - "@openzeppelin/contracts-upgradeable": "4.9.0", - "@openzeppelin/hardhat-upgrades": "^1.26.0", - "ethers": "^5.7.2", - "hardhat": "^2.12.6" - } + "resolved": ".yalc/@airdao/deployments", + "link": true }, "node_modules/@aws-crypto/sha256-js": { "version": "1.2.2", @@ -10802,8129 +10805,5 @@ "url": "https://github.com/sponsors/sindresorhus" } } - }, - "dependencies": { - "@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true - }, - "@airdao/deployments": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@airdao/deployments/-/deployments-0.2.4.tgz", - "integrity": "sha512-nrvuBBHjYjA4dfczcHNfWfPqrBTn+ZDopK2RhNEgKoFt6UDxAfVld4lzAEjMZ3PC/k1W0KC85AMaS+l7+eT4qw==", - "dev": true, - "requires": {} - }, - "@aws-crypto/sha256-js": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-1.2.2.tgz", - "integrity": "sha512-Nr1QJIbW/afYYGzYvrF70LtaHrIRtd4TNAglX8BvlfxJLZ45SAmueIKYl5tWoNBPzp65ymXGFK0Bb1vZUpuc9g==", - "dev": true, - "requires": { - "@aws-crypto/util": "^1.2.2", - "@aws-sdk/types": "^3.1.0", - "tslib": "^1.11.1" - } - }, - "@aws-crypto/util": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-1.2.2.tgz", - "integrity": "sha512-H8PjG5WJ4wz0UXAFXeJjWCW1vkvIJ3qUUD+rGRwJ2/hj+xT58Qle2MTql/2MGzkU+1JLAFuR6aJpLAjHwhmwwg==", - "dev": true, - "requires": { - "@aws-sdk/types": "^3.1.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" - } - }, - "@aws-sdk/types": { - "version": "3.370.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.370.0.tgz", - "integrity": "sha512-8PGMKklSkRKjunFhzM2y5Jm0H2TBu7YRNISdYzXLUHKSP9zlMEYagseKVdmox0zKHf1LXVNuSlUV2b6SRrieCQ==", - "dev": true, - "requires": { - "@smithy/types": "^1.1.0", - "tslib": "^2.5.0" - }, - "dependencies": { - "tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", - "dev": true - } - } - }, - "@aws-sdk/util-utf8-browser": { - "version": "3.259.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz", - "integrity": "sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==", - "dev": true, - "requires": { - "tslib": "^2.3.1" - }, - "dependencies": { - "tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", - "dev": true - } - } - }, - "@chainsafe/as-sha256": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@chainsafe/as-sha256/-/as-sha256-0.3.1.tgz", - "integrity": "sha512-hldFFYuf49ed7DAakWVXSJODuq3pzJEguD8tQ7h+sGkM18vja+OFoJI9krnGmgzyuZC2ETX0NOIcCTy31v2Mtg==", - "dev": true - }, - "@chainsafe/persistent-merkle-tree": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@chainsafe/persistent-merkle-tree/-/persistent-merkle-tree-0.4.2.tgz", - "integrity": "sha512-lLO3ihKPngXLTus/L7WHKaw9PnNJWizlOF1H9NNzHP6Xvh82vzg9F2bzkXhYIFshMZ2gTCEz8tq6STe7r5NDfQ==", - "dev": true, - "requires": { - "@chainsafe/as-sha256": "^0.3.1" - } - }, - "@chainsafe/ssz": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/@chainsafe/ssz/-/ssz-0.9.4.tgz", - "integrity": "sha512-77Qtg2N1ayqs4Bg/wvnWfg5Bta7iy7IRh8XqXh7oNMeP2HBbBwx8m6yTpA8p0EHItWPEBkgZd5S5/LSlp3GXuQ==", - "dev": true, - "requires": { - "@chainsafe/as-sha256": "^0.3.1", - "@chainsafe/persistent-merkle-tree": "^0.4.2", - "case": "^1.6.3" - } - }, - "@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "0.3.9" - } - }, - "@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^3.3.0" - } - }, - "@eslint-community/regexpp": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.2.tgz", - "integrity": "sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==", - "dev": true - }, - "@eslint/eslintrc": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.0.tgz", - "integrity": "sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - } - }, - "@eslint/js": { - "version": "8.35.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.35.0.tgz", - "integrity": "sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw==", - "dev": true - }, - "@ethersproject/abi": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", - "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", - "requires": { - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "@ethersproject/abstract-provider": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", - "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", - "requires": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/networks": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/web": "^5.7.0" - } - }, - "@ethersproject/abstract-signer": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", - "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", - "requires": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0" - } - }, - "@ethersproject/address": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", - "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", - "requires": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/rlp": "^5.7.0" - } - }, - "@ethersproject/base64": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", - "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", - "requires": { - "@ethersproject/bytes": "^5.7.0" - } - }, - "@ethersproject/basex": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz", - "integrity": "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/properties": "^5.7.0" - } - }, - "@ethersproject/bignumber": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", - "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "bn.js": "^5.2.1" - } - }, - "@ethersproject/bytes": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", - "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", - "requires": { - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/constants": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", - "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", - "requires": { - "@ethersproject/bignumber": "^5.7.0" - } - }, - "@ethersproject/contracts": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz", - "integrity": "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==", - "requires": { - "@ethersproject/abi": "^5.7.0", - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/transactions": "^5.7.0" - } - }, - "@ethersproject/hash": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", - "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", - "requires": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/base64": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "@ethersproject/hdnode": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz", - "integrity": "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==", - "requires": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/basex": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/pbkdf2": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/wordlists": "^5.7.0" - } - }, - "@ethersproject/json-wallets": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz", - "integrity": "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==", - "requires": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hdnode": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/pbkdf2": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "aes-js": "3.0.0", - "scrypt-js": "3.0.1" - } - }, - "@ethersproject/keccak256": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", - "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "js-sha3": "0.8.0" - } - }, - "@ethersproject/logger": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", - "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==" - }, - "@ethersproject/networks": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", - "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", - "requires": { - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/pbkdf2": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz", - "integrity": "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/sha2": "^5.7.0" - } - }, - "@ethersproject/properties": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", - "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", - "requires": { - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/providers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz", - "integrity": "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==", - "requires": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/base64": "^5.7.0", - "@ethersproject/basex": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/networks": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/rlp": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/web": "^5.7.0", - "bech32": "1.1.4", - "ws": "7.4.6" - } - }, - "@ethersproject/random": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz", - "integrity": "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/rlp": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", - "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/sha2": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz", - "integrity": "sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "hash.js": "1.1.7" - } - }, - "@ethersproject/signing-key": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", - "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "bn.js": "^5.2.1", - "elliptic": "6.5.4", - "hash.js": "1.1.7" - } - }, - "@ethersproject/solidity": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz", - "integrity": "sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==", - "requires": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "@ethersproject/strings": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", - "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/transactions": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", - "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", - "requires": { - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/rlp": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0" - } - }, - "@ethersproject/units": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz", - "integrity": "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==", - "requires": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/wallet": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz", - "integrity": "sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==", - "requires": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/hdnode": "^5.7.0", - "@ethersproject/json-wallets": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/wordlists": "^5.7.0" - } - }, - "@ethersproject/web": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", - "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", - "requires": { - "@ethersproject/base64": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "@ethersproject/wordlists": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz", - "integrity": "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "@humanwhocodes/config-array": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", - "dev": true, - "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - } - }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "@jridgewell/resolve-uri": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", - "dev": true - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true - }, - "@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "@metamask/eth-sig-util": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@metamask/eth-sig-util/-/eth-sig-util-4.0.1.tgz", - "integrity": "sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ==", - "dev": true, - "requires": { - "ethereumjs-abi": "^0.6.8", - "ethereumjs-util": "^6.2.1", - "ethjs-util": "^0.1.6", - "tweetnacl": "^1.0.3", - "tweetnacl-util": "^0.15.1" - }, - "dependencies": { - "@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "dev": true, - "requires": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - } - } - }, - "@noble/hashes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.2.0.tgz", - "integrity": "sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==", - "dev": true - }, - "@noble/secp256k1": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.7.1.tgz", - "integrity": "sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==", - "dev": true - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@nomicfoundation/ethereumjs-block": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-block/-/ethereumjs-block-5.0.1.tgz", - "integrity": "sha512-u1Yioemi6Ckj3xspygu/SfFvm8vZEO8/Yx5a1QLzi6nVU0jz3Pg2OmHKJ5w+D9Ogk1vhwRiqEBAqcb0GVhCyHw==", - "dev": true, - "requires": { - "@nomicfoundation/ethereumjs-common": "4.0.1", - "@nomicfoundation/ethereumjs-rlp": "5.0.1", - "@nomicfoundation/ethereumjs-trie": "6.0.1", - "@nomicfoundation/ethereumjs-tx": "5.0.1", - "@nomicfoundation/ethereumjs-util": "9.0.1", - "ethereum-cryptography": "0.1.3", - "ethers": "^5.7.1" - } - }, - "@nomicfoundation/ethereumjs-blockchain": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-blockchain/-/ethereumjs-blockchain-7.0.1.tgz", - "integrity": "sha512-NhzndlGg829XXbqJEYrF1VeZhAwSPgsK/OB7TVrdzft3y918hW5KNd7gIZ85sn6peDZOdjBsAXIpXZ38oBYE5A==", - "dev": true, - "requires": { - "@nomicfoundation/ethereumjs-block": "5.0.1", - "@nomicfoundation/ethereumjs-common": "4.0.1", - "@nomicfoundation/ethereumjs-ethash": "3.0.1", - "@nomicfoundation/ethereumjs-rlp": "5.0.1", - "@nomicfoundation/ethereumjs-trie": "6.0.1", - "@nomicfoundation/ethereumjs-tx": "5.0.1", - "@nomicfoundation/ethereumjs-util": "9.0.1", - "abstract-level": "^1.0.3", - "debug": "^4.3.3", - "ethereum-cryptography": "0.1.3", - "level": "^8.0.0", - "lru-cache": "^5.1.1", - "memory-level": "^1.0.0" - } - }, - "@nomicfoundation/ethereumjs-common": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-common/-/ethereumjs-common-4.0.1.tgz", - "integrity": "sha512-OBErlkfp54GpeiE06brBW/TTbtbuBJV5YI5Nz/aB2evTDo+KawyEzPjBlSr84z/8MFfj8wS2wxzQX1o32cev5g==", - "dev": true, - "requires": { - "@nomicfoundation/ethereumjs-util": "9.0.1", - "crc-32": "^1.2.0" - } - }, - "@nomicfoundation/ethereumjs-ethash": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-ethash/-/ethereumjs-ethash-3.0.1.tgz", - "integrity": "sha512-KDjGIB5igzWOp8Ik5I6QiRH5DH+XgILlplsHR7TEuWANZA759G6krQ6o8bvj+tRUz08YygMQu/sGd9mJ1DYT8w==", - "dev": true, - "requires": { - "@nomicfoundation/ethereumjs-block": "5.0.1", - "@nomicfoundation/ethereumjs-rlp": "5.0.1", - "@nomicfoundation/ethereumjs-util": "9.0.1", - "abstract-level": "^1.0.3", - "bigint-crypto-utils": "^3.0.23", - "ethereum-cryptography": "0.1.3" - } - }, - "@nomicfoundation/ethereumjs-evm": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-evm/-/ethereumjs-evm-2.0.1.tgz", - "integrity": "sha512-oL8vJcnk0Bx/onl+TgQOQ1t/534GKFaEG17fZmwtPFeH8S5soiBYPCLUrvANOl4sCp9elYxIMzIiTtMtNNN8EQ==", - "dev": true, - "requires": { - "@ethersproject/providers": "^5.7.1", - "@nomicfoundation/ethereumjs-common": "4.0.1", - "@nomicfoundation/ethereumjs-tx": "5.0.1", - "@nomicfoundation/ethereumjs-util": "9.0.1", - "debug": "^4.3.3", - "ethereum-cryptography": "0.1.3", - "mcl-wasm": "^0.7.1", - "rustbn.js": "~0.2.0" - } - }, - "@nomicfoundation/ethereumjs-rlp": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-rlp/-/ethereumjs-rlp-5.0.1.tgz", - "integrity": "sha512-xtxrMGa8kP4zF5ApBQBtjlSbN5E2HI8m8FYgVSYAnO6ssUoY5pVPGy2H8+xdf/bmMa22Ce8nWMH3aEW8CcqMeQ==", - "dev": true - }, - "@nomicfoundation/ethereumjs-statemanager": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-statemanager/-/ethereumjs-statemanager-2.0.1.tgz", - "integrity": "sha512-B5ApMOnlruVOR7gisBaYwFX+L/AP7i/2oAahatssjPIBVDF6wTX1K7Qpa39E/nzsH8iYuL3krkYeUFIdO3EMUQ==", - "dev": true, - "requires": { - "@nomicfoundation/ethereumjs-common": "4.0.1", - "@nomicfoundation/ethereumjs-rlp": "5.0.1", - "debug": "^4.3.3", - "ethereum-cryptography": "0.1.3", - "ethers": "^5.7.1", - "js-sdsl": "^4.1.4" - } - }, - "@nomicfoundation/ethereumjs-trie": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-trie/-/ethereumjs-trie-6.0.1.tgz", - "integrity": "sha512-A64It/IMpDVODzCgxDgAAla8jNjNtsoQZIzZUfIV5AY6Coi4nvn7+VReBn5itlxMiL2yaTlQr9TRWp3CSI6VoA==", - "dev": true, - "requires": { - "@nomicfoundation/ethereumjs-rlp": "5.0.1", - "@nomicfoundation/ethereumjs-util": "9.0.1", - "@types/readable-stream": "^2.3.13", - "ethereum-cryptography": "0.1.3", - "readable-stream": "^3.6.0" - } - }, - "@nomicfoundation/ethereumjs-tx": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-tx/-/ethereumjs-tx-5.0.1.tgz", - "integrity": "sha512-0HwxUF2u2hrsIM1fsasjXvlbDOq1ZHFV2dd1yGq8CA+MEYhaxZr8OTScpVkkxqMwBcc5y83FyPl0J9MZn3kY0w==", - "dev": true, - "requires": { - "@chainsafe/ssz": "^0.9.2", - "@ethersproject/providers": "^5.7.2", - "@nomicfoundation/ethereumjs-common": "4.0.1", - "@nomicfoundation/ethereumjs-rlp": "5.0.1", - "@nomicfoundation/ethereumjs-util": "9.0.1", - "ethereum-cryptography": "0.1.3" - } - }, - "@nomicfoundation/ethereumjs-util": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-util/-/ethereumjs-util-9.0.1.tgz", - "integrity": "sha512-TwbhOWQ8QoSCFhV/DDfSmyfFIHjPjFBj957219+V3jTZYZ2rf9PmDtNOeZWAE3p3vlp8xb02XGpd0v6nTUPbsA==", - "dev": true, - "requires": { - "@chainsafe/ssz": "^0.10.0", - "@nomicfoundation/ethereumjs-rlp": "5.0.1", - "ethereum-cryptography": "0.1.3" - }, - "dependencies": { - "@chainsafe/persistent-merkle-tree": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@chainsafe/persistent-merkle-tree/-/persistent-merkle-tree-0.5.0.tgz", - "integrity": "sha512-l0V1b5clxA3iwQLXP40zYjyZYospQLZXzBVIhhr9kDg/1qHZfzzHw0jj4VPBijfYCArZDlPkRi1wZaV2POKeuw==", - "dev": true, - "requires": { - "@chainsafe/as-sha256": "^0.3.1" - } - }, - "@chainsafe/ssz": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/@chainsafe/ssz/-/ssz-0.10.2.tgz", - "integrity": "sha512-/NL3Lh8K+0q7A3LsiFq09YXS9fPE+ead2rr7vM2QK8PLzrNsw3uqrif9bpRX5UxgeRjM+vYi+boCM3+GM4ovXg==", - "dev": true, - "requires": { - "@chainsafe/as-sha256": "^0.3.1", - "@chainsafe/persistent-merkle-tree": "^0.5.0" - } - } - } - }, - "@nomicfoundation/ethereumjs-vm": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/ethereumjs-vm/-/ethereumjs-vm-7.0.1.tgz", - "integrity": "sha512-rArhyn0jPsS/D+ApFsz3yVJMQ29+pVzNZ0VJgkzAZ+7FqXSRtThl1C1prhmlVr3YNUlfpZ69Ak+RUT4g7VoOuQ==", - "dev": true, - "requires": { - "@nomicfoundation/ethereumjs-block": "5.0.1", - "@nomicfoundation/ethereumjs-blockchain": "7.0.1", - "@nomicfoundation/ethereumjs-common": "4.0.1", - "@nomicfoundation/ethereumjs-evm": "2.0.1", - "@nomicfoundation/ethereumjs-rlp": "5.0.1", - "@nomicfoundation/ethereumjs-statemanager": "2.0.1", - "@nomicfoundation/ethereumjs-trie": "6.0.1", - "@nomicfoundation/ethereumjs-tx": "5.0.1", - "@nomicfoundation/ethereumjs-util": "9.0.1", - "debug": "^4.3.3", - "ethereum-cryptography": "0.1.3", - "mcl-wasm": "^0.7.1", - "rustbn.js": "~0.2.0" - } - }, - "@nomicfoundation/hardhat-chai-matchers": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-chai-matchers/-/hardhat-chai-matchers-1.0.6.tgz", - "integrity": "sha512-f5ZMNmabZeZegEfuxn/0kW+mm7+yV7VNDxLpMOMGXWFJ2l/Ct3QShujzDRF9cOkK9Ui/hbDeOWGZqyQALDXVCQ==", - "dev": true, - "peer": true, - "requires": { - "@ethersproject/abi": "^5.1.2", - "@types/chai-as-promised": "^7.1.3", - "chai-as-promised": "^7.1.1", - "deep-eql": "^4.0.1", - "ordinal": "^1.0.3" - } - }, - "@nomicfoundation/hardhat-network-helpers": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-network-helpers/-/hardhat-network-helpers-1.0.8.tgz", - "integrity": "sha512-MNqQbzUJZnCMIYvlniC3U+kcavz/PhhQSsY90tbEtUyMj/IQqsLwIRZa4ctjABh3Bz0KCh9OXUZ7Yk/d9hr45Q==", - "dev": true, - "peer": true, - "requires": { - "ethereumjs-util": "^7.1.4" - } - }, - "@nomicfoundation/hardhat-toolbox": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-toolbox/-/hardhat-toolbox-2.0.2.tgz", - "integrity": "sha512-vnN1AzxbvpSx9pfdRHbUzTRIXpMLPXnUlkW855VaDk6N1pwRaQ2gNzEmFAABk4lWf11E00PKwFd/q27HuwYrYg==", - "dev": true, - "requires": {} - }, - "@nomicfoundation/solidity-analyzer": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer/-/solidity-analyzer-0.1.1.tgz", - "integrity": "sha512-1LMtXj1puAxyFusBgUIy5pZk3073cNXYnXUpuNKFghHbIit/xZgbk0AokpUADbNm3gyD6bFWl3LRFh3dhVdREg==", - "dev": true, - "requires": { - "@nomicfoundation/solidity-analyzer-darwin-arm64": "0.1.1", - "@nomicfoundation/solidity-analyzer-darwin-x64": "0.1.1", - "@nomicfoundation/solidity-analyzer-freebsd-x64": "0.1.1", - "@nomicfoundation/solidity-analyzer-linux-arm64-gnu": "0.1.1", - "@nomicfoundation/solidity-analyzer-linux-arm64-musl": "0.1.1", - "@nomicfoundation/solidity-analyzer-linux-x64-gnu": "0.1.1", - "@nomicfoundation/solidity-analyzer-linux-x64-musl": "0.1.1", - "@nomicfoundation/solidity-analyzer-win32-arm64-msvc": "0.1.1", - "@nomicfoundation/solidity-analyzer-win32-ia32-msvc": "0.1.1", - "@nomicfoundation/solidity-analyzer-win32-x64-msvc": "0.1.1" - } - }, - "@nomicfoundation/solidity-analyzer-darwin-arm64": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-arm64/-/solidity-analyzer-darwin-arm64-0.1.1.tgz", - "integrity": "sha512-KcTodaQw8ivDZyF+D76FokN/HdpgGpfjc/gFCImdLUyqB6eSWVaZPazMbeAjmfhx3R0zm/NYVzxwAokFKgrc0w==", - "dev": true, - "optional": true - }, - "@nomicfoundation/solidity-analyzer-darwin-x64": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-x64/-/solidity-analyzer-darwin-x64-0.1.1.tgz", - "integrity": "sha512-XhQG4BaJE6cIbjAVtzGOGbK3sn1BO9W29uhk9J8y8fZF1DYz0Doj8QDMfpMu+A6TjPDs61lbsmeYodIDnfveSA==", - "dev": true, - "optional": true - }, - "@nomicfoundation/solidity-analyzer-freebsd-x64": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-freebsd-x64/-/solidity-analyzer-freebsd-x64-0.1.1.tgz", - "integrity": "sha512-GHF1VKRdHW3G8CndkwdaeLkVBi5A9u2jwtlS7SLhBc8b5U/GcoL39Q+1CSO3hYqePNP+eV5YI7Zgm0ea6kMHoA==", - "dev": true, - "optional": true - }, - "@nomicfoundation/solidity-analyzer-linux-arm64-gnu": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-gnu/-/solidity-analyzer-linux-arm64-gnu-0.1.1.tgz", - "integrity": "sha512-g4Cv2fO37ZsUENQ2vwPnZc2zRenHyAxHcyBjKcjaSmmkKrFr64yvzeNO8S3GBFCo90rfochLs99wFVGT/0owpg==", - "dev": true, - "optional": true - }, - "@nomicfoundation/solidity-analyzer-linux-arm64-musl": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-musl/-/solidity-analyzer-linux-arm64-musl-0.1.1.tgz", - "integrity": "sha512-WJ3CE5Oek25OGE3WwzK7oaopY8xMw9Lhb0mlYuJl/maZVo+WtP36XoQTb7bW/i8aAdHW5Z+BqrHMux23pvxG3w==", - "dev": true, - "optional": true - }, - "@nomicfoundation/solidity-analyzer-linux-x64-gnu": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-gnu/-/solidity-analyzer-linux-x64-gnu-0.1.1.tgz", - "integrity": "sha512-5WN7leSr5fkUBBjE4f3wKENUy9HQStu7HmWqbtknfXkkil+eNWiBV275IOlpXku7v3uLsXTOKpnnGHJYI2qsdA==", - "dev": true, - "optional": true - }, - "@nomicfoundation/solidity-analyzer-linux-x64-musl": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-musl/-/solidity-analyzer-linux-x64-musl-0.1.1.tgz", - "integrity": "sha512-KdYMkJOq0SYPQMmErv/63CwGwMm5XHenEna9X9aB8mQmhDBrYrlAOSsIPgFCUSL0hjxE3xHP65/EPXR/InD2+w==", - "dev": true, - "optional": true - }, - "@nomicfoundation/solidity-analyzer-win32-arm64-msvc": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-arm64-msvc/-/solidity-analyzer-win32-arm64-msvc-0.1.1.tgz", - "integrity": "sha512-VFZASBfl4qiBYwW5xeY20exWhmv6ww9sWu/krWSesv3q5hA0o1JuzmPHR4LPN6SUZj5vcqci0O6JOL8BPw+APg==", - "dev": true, - "optional": true - }, - "@nomicfoundation/solidity-analyzer-win32-ia32-msvc": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-ia32-msvc/-/solidity-analyzer-win32-ia32-msvc-0.1.1.tgz", - "integrity": "sha512-JnFkYuyCSA70j6Si6cS1A9Gh1aHTEb8kOTBApp/c7NRTFGNMH8eaInKlyuuiIbvYFhlXW4LicqyYuWNNq9hkpQ==", - "dev": true, - "optional": true - }, - "@nomicfoundation/solidity-analyzer-win32-x64-msvc": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-x64-msvc/-/solidity-analyzer-win32-x64-msvc-0.1.1.tgz", - "integrity": "sha512-HrVJr6+WjIXGnw3Q9u6KQcbZCtk0caVWhCdFADySvRyUxJ8PnzlaP+MhwNE8oyT8OZ6ejHBRrrgjSqDCFXGirw==", - "dev": true, - "optional": true - }, - "@nomiclabs/hardhat-ethers": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-ethers/-/hardhat-ethers-2.2.3.tgz", - "integrity": "sha512-YhzPdzb612X591FOe68q+qXVXGG2ANZRvDo0RRUtimev85rCrAlv/TLMEZw5c+kq9AbzocLTVX/h2jVIFPL9Xg==", - "dev": true, - "peer": true, - "requires": {} - }, - "@nomiclabs/hardhat-etherscan": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/@nomiclabs/hardhat-etherscan/-/hardhat-etherscan-3.1.7.tgz", - "integrity": "sha512-tZ3TvSgpvsQ6B6OGmo1/Au6u8BrAkvs1mIC/eURA3xgIfznUZBhmpne8hv7BXUzw9xNL3fXdpOYgOQlVMTcoHQ==", - "dev": true, - "peer": true, - "requires": { - "@ethersproject/abi": "^5.1.2", - "@ethersproject/address": "^5.0.2", - "cbor": "^8.1.0", - "chalk": "^2.4.2", - "debug": "^4.1.1", - "fs-extra": "^7.0.1", - "lodash": "^4.17.11", - "semver": "^6.3.0", - "table": "^6.8.0", - "undici": "^5.14.0" - } - }, - "@openzeppelin/contracts": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-4.9.2.tgz", - "integrity": "sha512-mO+y6JaqXjWeMh9glYVzVu8HYPGknAAnWyxTRhGeckOruyXQMNnlcW6w/Dx9ftLeIQk6N+ZJFuVmTwF7lEIFrg==", - "dev": true - }, - "@openzeppelin/contracts-upgradeable": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-4.9.0.tgz", - "integrity": "sha512-+6i2j6vr2fdudTqkBvG+UOosankukxYzg3WN1nqU7ijjQ5A4osWaD3ip6CEz6YvDoSdZgcFVZoiGr7zRlUUoZw==", - "dev": true - }, - "@openzeppelin/defender-base-client": { - "version": "1.47.0", - "resolved": "https://registry.npmjs.org/@openzeppelin/defender-base-client/-/defender-base-client-1.47.0.tgz", - "integrity": "sha512-y9dDm+gX0MHHEn17W7f7oO3X083JAVMk3YcuXHavSE7kjiCLoFOaZ23joYqoHeaccL10nGt7KOOzZ0sh9iJHTQ==", - "dev": true, - "requires": { - "amazon-cognito-identity-js": "^6.0.1", - "async-retry": "^1.3.3", - "axios": "^1.4.0", - "lodash": "^4.17.19", - "node-fetch": "^2.6.0" - } - }, - "@openzeppelin/hardhat-upgrades": { - "version": "1.28.0", - "resolved": "https://registry.npmjs.org/@openzeppelin/hardhat-upgrades/-/hardhat-upgrades-1.28.0.tgz", - "integrity": "sha512-7sb/Jf+X+uIufOBnmHR0FJVWuxEs2lpxjJnLNN6eCJCP8nD0v+Ot5lTOW2Qb/GFnh+fLvJtEkhkowz4ZQ57+zQ==", - "dev": true, - "requires": { - "@openzeppelin/defender-base-client": "^1.46.0", - "@openzeppelin/platform-deploy-client": "^0.8.0", - "@openzeppelin/upgrades-core": "^1.27.0", - "chalk": "^4.1.0", - "debug": "^4.1.1", - "proper-lockfile": "^4.1.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@openzeppelin/platform-deploy-client": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@openzeppelin/platform-deploy-client/-/platform-deploy-client-0.8.0.tgz", - "integrity": "sha512-POx3AsnKwKSV/ZLOU/gheksj0Lq7Is1q2F3pKmcFjGZiibf+4kjGxr4eSMrT+2qgKYZQH1ZLQZ+SkbguD8fTvA==", - "dev": true, - "requires": { - "@ethersproject/abi": "^5.6.3", - "@openzeppelin/defender-base-client": "^1.46.0", - "axios": "^0.21.2", - "lodash": "^4.17.19", - "node-fetch": "^2.6.0" - }, - "dependencies": { - "axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", - "dev": true, - "requires": { - "follow-redirects": "^1.14.0" - } - } - } - }, - "@openzeppelin/upgrades-core": { - "version": "1.27.3", - "resolved": "https://registry.npmjs.org/@openzeppelin/upgrades-core/-/upgrades-core-1.27.3.tgz", - "integrity": "sha512-IqlSMUkno1XKF4L46aUqZ4BqHxj4dF0BRGrFcKeG2Q0vrsKoazhY67JG9bO+wMYG4zxl6jgmG0bd5ef9HLcLmw==", - "dev": true, - "requires": { - "cbor": "^8.0.0", - "chalk": "^4.1.0", - "compare-versions": "^6.0.0", - "debug": "^4.1.1", - "ethereumjs-util": "^7.0.3", - "minimist": "^1.2.7", - "proper-lockfile": "^4.1.1", - "solidity-ast": "^0.4.15" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@scure/base": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.1.tgz", - "integrity": "sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA==", - "dev": true - }, - "@scure/bip32": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.1.5.tgz", - "integrity": "sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==", - "dev": true, - "requires": { - "@noble/hashes": "~1.2.0", - "@noble/secp256k1": "~1.7.0", - "@scure/base": "~1.1.0" - } - }, - "@scure/bip39": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.1.1.tgz", - "integrity": "sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==", - "dev": true, - "requires": { - "@noble/hashes": "~1.2.0", - "@scure/base": "~1.1.0" - } - }, - "@sentry/core": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.30.0.tgz", - "integrity": "sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==", - "dev": true, - "requires": { - "@sentry/hub": "5.30.0", - "@sentry/minimal": "5.30.0", - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "tslib": "^1.9.3" - } - }, - "@sentry/hub": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.30.0.tgz", - "integrity": "sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==", - "dev": true, - "requires": { - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "tslib": "^1.9.3" - } - }, - "@sentry/minimal": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.30.0.tgz", - "integrity": "sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==", - "dev": true, - "requires": { - "@sentry/hub": "5.30.0", - "@sentry/types": "5.30.0", - "tslib": "^1.9.3" - } - }, - "@sentry/node": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/node/-/node-5.30.0.tgz", - "integrity": "sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==", - "dev": true, - "requires": { - "@sentry/core": "5.30.0", - "@sentry/hub": "5.30.0", - "@sentry/tracing": "5.30.0", - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "cookie": "^0.4.1", - "https-proxy-agent": "^5.0.0", - "lru_map": "^0.3.3", - "tslib": "^1.9.3" - } - }, - "@sentry/tracing": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-5.30.0.tgz", - "integrity": "sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==", - "dev": true, - "requires": { - "@sentry/hub": "5.30.0", - "@sentry/minimal": "5.30.0", - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "tslib": "^1.9.3" - } - }, - "@sentry/types": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.30.0.tgz", - "integrity": "sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==", - "dev": true - }, - "@sentry/utils": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-5.30.0.tgz", - "integrity": "sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==", - "dev": true, - "requires": { - "@sentry/types": "5.30.0", - "tslib": "^1.9.3" - } - }, - "@smithy/types": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-1.2.0.tgz", - "integrity": "sha512-z1r00TvBqF3dh4aHhya7nz1HhvCg4TRmw51fjMrh5do3h+ngSstt/yKlNbHeb9QxJmFbmN8KEVSWgb1bRvfEoA==", - "dev": true, - "requires": { - "tslib": "^2.5.0" - }, - "dependencies": { - "tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", - "dev": true - } - } - }, - "@solidity-parser/parser": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.14.5.tgz", - "integrity": "sha512-6dKnHZn7fg/iQATVEzqyUOyEidbn05q7YA2mQ9hC0MMXhhV3/JrsxmFSYZAcr7j1yUP700LLhTruvJ3MiQmjJg==", - "dev": true, - "peer": true, - "requires": { - "antlr4ts": "^0.5.0-alpha.4" - } - }, - "@tsconfig/node10": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", - "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", - "dev": true - }, - "@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true - }, - "@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true - }, - "@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", - "dev": true - }, - "@typechain/ethers-v5": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/@typechain/ethers-v5/-/ethers-v5-10.2.1.tgz", - "integrity": "sha512-n3tQmCZjRE6IU4h6lqUGiQ1j866n5MTCBJreNEHHVWXa2u9GJTaeYyU1/k+1qLutkyw+sS6VAN+AbeiTqsxd/A==", - "dev": true, - "peer": true, - "requires": { - "lodash": "^4.17.15", - "ts-essentials": "^7.0.1" - } - }, - "@typechain/hardhat": { - "version": "6.1.6", - "resolved": "https://registry.npmjs.org/@typechain/hardhat/-/hardhat-6.1.6.tgz", - "integrity": "sha512-BiVnegSs+ZHVymyidtK472syodx1sXYlYJJixZfRstHVGYTi8V1O7QG4nsjyb0PC/LORcq7sfBUcHto1y6UgJA==", - "dev": true, - "peer": true, - "requires": { - "fs-extra": "^9.1.0" - }, - "dependencies": { - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "peer": true, - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "peer": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, - "peer": true - } - } - }, - "@types/bn.js": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.1.tgz", - "integrity": "sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/chai": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.5.tgz", - "integrity": "sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==", - "dev": true, - "peer": true - }, - "@types/chai-as-promised": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/@types/chai-as-promised/-/chai-as-promised-7.1.5.tgz", - "integrity": "sha512-jStwss93SITGBwt/niYrkf2C+/1KTeZCZl1LaeezTlqppAKeoQC7jxyqYuP72sxBGKCIbw7oHgbYssIRzT5FCQ==", - "dev": true, - "peer": true, - "requires": { - "@types/chai": "*" - } - }, - "@types/concat-stream": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", - "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", - "dev": true, - "peer": true, - "requires": { - "@types/node": "*" - } - }, - "@types/form-data": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", - "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", - "dev": true, - "peer": true, - "requires": { - "@types/node": "*" - } - }, - "@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", - "dev": true, - "peer": true, - "requires": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", - "dev": true - }, - "@types/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==", - "dev": true - }, - "@types/minimatch": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", - "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", - "dev": true, - "peer": true - }, - "@types/mocha": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.1.tgz", - "integrity": "sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q==", - "dev": true, - "peer": true - }, - "@types/node": { - "version": "20.4.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.4.5.tgz", - "integrity": "sha512-rt40Nk13II9JwQBdeYqmbn2Q6IVTA5uPhvSO+JVqdXw/6/4glI6oR9ezty/A9Hg5u7JH4OmYmuQ+XvjKm0Datg==", - "dev": true - }, - "@types/pbkdf2": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz", - "integrity": "sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/prettier": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", - "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==", - "dev": true, - "peer": true - }, - "@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", - "dev": true, - "peer": true - }, - "@types/readable-stream": { - "version": "2.3.15", - "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-2.3.15.tgz", - "integrity": "sha512-oM5JSKQCcICF1wvGgmecmHldZ48OZamtMxcGGVICOJA8o8cahXC1zEVAif8iwoc5j8etxFaRFnf095+CDsuoFQ==", - "dev": true, - "requires": { - "@types/node": "*", - "safe-buffer": "~5.1.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - } - } - }, - "@types/secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", - "dev": true - }, - "@typescript-eslint/eslint-plugin": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", - "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", - "dev": true, - "requires": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/type-utils": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } - }, - "@typescript-eslint/parser": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", - "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", - "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "debug": "^4.3.4" - } - }, - "@typescript-eslint/scope-manager": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" - } - }, - "@typescript-eslint/type-utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", - "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", - "dev": true, - "requires": { - "@typescript-eslint/typescript-estree": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } - }, - "@typescript-eslint/utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", - "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", - "dev": true, - "requires": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" - } - }, - "abbrev": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", - "integrity": "sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q==", - "dev": true, - "peer": true - }, - "abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "dev": true, - "requires": { - "event-target-shim": "^5.0.0" - } - }, - "abstract-level": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/abstract-level/-/abstract-level-1.0.3.tgz", - "integrity": "sha512-t6jv+xHy+VYwc4xqZMn2Pa9DjcdzvzZmQGRjTFc8spIbRGHgBrEKbPq+rYXc7CCo0lxgYvSgKVg9qZAhpVQSjA==", - "dev": true, - "requires": { - "buffer": "^6.0.3", - "catering": "^2.1.0", - "is-buffer": "^2.0.5", - "level-supports": "^4.0.0", - "level-transcoder": "^1.0.1", - "module-error": "^1.0.1", - "queue-microtask": "^1.2.3" - }, - "dependencies": { - "buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - } - } - }, - "acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", - "dev": true - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "requires": {} - }, - "acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "dev": true - }, - "address": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", - "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", - "dev": true, - "peer": true - }, - "adm-zip": { - "version": "0.4.16", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", - "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", - "dev": true - }, - "aes-js": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", - "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==" - }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "requires": { - "debug": "4" - } - }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "amazon-cognito-identity-js": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/amazon-cognito-identity-js/-/amazon-cognito-identity-js-6.3.1.tgz", - "integrity": "sha512-PxBdufgS8uZShrcIFAsRjmqNXsh/4fXOWUGQOUhKLHWWK1pcp/y+VeFF48avXIWefM8XwsT3JlN6m9J2eHt4LA==", - "dev": true, - "requires": { - "@aws-crypto/sha256-js": "1.2.2", - "buffer": "4.9.2", - "fast-base64-decode": "^1.0.0", - "isomorphic-unfetch": "^3.0.0", - "js-cookie": "^2.2.1" - } - }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==", - "dev": true, - "optional": true, - "peer": true - }, - "ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "dev": true - }, - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "requires": { - "type-fest": "^0.21.3" - }, - "dependencies": { - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true - } - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "antlr4ts": { - "version": "0.5.0-alpha.4", - "resolved": "https://registry.npmjs.org/antlr4ts/-/antlr4ts-0.5.0-alpha.4.tgz", - "integrity": "sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ==", - "dev": true, - "peer": true - }, - "anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "array-back": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", - "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", - "dev": true, - "peer": true - }, - "array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", - "dev": true, - "peer": true, - "requires": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - } - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", - "dev": true, - "peer": true - }, - "array.prototype.reduce": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.5.tgz", - "integrity": "sha512-kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q==", - "dev": true, - "peer": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-array-method-boxes-properly": "^1.0.0", - "is-string": "^1.0.7" - } - }, - "arraybuffer.prototype.slice": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz", - "integrity": "sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==", - "dev": true, - "peer": true, - "requires": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "get-intrinsic": "^1.2.1", - "is-array-buffer": "^3.0.2", - "is-shared-array-buffer": "^1.0.2" - } - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", - "dev": true, - "peer": true - }, - "asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "dev": true, - "peer": true, - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "dev": true, - "peer": true - }, - "assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true, - "peer": true - }, - "astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true, - "peer": true - }, - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==", - "dev": true, - "peer": true - }, - "async-retry": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.3.3.tgz", - "integrity": "sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==", - "dev": true, - "requires": { - "retry": "0.13.1" - } - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true - }, - "at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true, - "peer": true - }, - "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "dev": true, - "peer": true - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", - "dev": true, - "peer": true - }, - "aws4": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", - "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", - "dev": true, - "peer": true - }, - "axios": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.4.0.tgz", - "integrity": "sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==", - "dev": true, - "requires": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "base-x": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", - "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", - "dev": true, - "peer": true, - "requires": { - "tweetnacl": "^0.14.3" - }, - "dependencies": { - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", - "dev": true, - "peer": true - } - } - }, - "bech32": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", - "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" - }, - "bigint-crypto-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/bigint-crypto-utils/-/bigint-crypto-utils-3.3.0.tgz", - "integrity": "sha512-jOTSb+drvEDxEq6OuUybOAv/xxoh3cuYRUIPyu8sSHQNKM303UQ2R1DAo45o1AkcIXw6fzbaFI1+xGGdaXs2lg==", - "dev": true - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true - }, - "blakejs": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", - "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==", - "dev": true - }, - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" - }, - "browser-level": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browser-level/-/browser-level-1.0.1.tgz", - "integrity": "sha512-XECYKJ+Dbzw0lbydyQuJzwNXtOpbMSq737qxJN11sIRTErOMShvDpbzTlgju7orJKvx4epULolZAuJGLzCmWRQ==", - "dev": true, - "requires": { - "abstract-level": "^1.0.2", - "catering": "^2.1.1", - "module-error": "^1.0.2", - "run-parallel-limit": "^1.1.0" - } - }, - "browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "bs58": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", - "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", - "dev": true, - "requires": { - "base-x": "^3.0.2" - } - }, - "bs58check": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", - "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", - "dev": true, - "requires": { - "bs58": "^4.0.0", - "create-hash": "^1.1.0", - "safe-buffer": "^5.1.2" - } - }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "dev": true, - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", - "dev": true - }, - "busboy": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", - "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", - "dev": true, - "requires": { - "streamsearch": "^1.1.0" - } - }, - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "peer": true, - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - }, - "case": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/case/-/case-1.6.3.tgz", - "integrity": "sha512-mzDSXIPaFwVDvZAHqZ9VlbyF4yyXRuX6IvB06WvPYkqJVO24kX1PPhv9bfpKNFZyxYFmmgo03HUiD8iklmJYRQ==", - "dev": true - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", - "dev": true, - "peer": true - }, - "catering": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/catering/-/catering-2.1.1.tgz", - "integrity": "sha512-K7Qy8O9p76sL3/3m7/zLKbRkyOlSZAgzEaLhyj2mXS8PsCud2Eo4hAb8aLtZqHh0QGqLcb9dlJSu6lHRVENm1w==", - "dev": true - }, - "cbor": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/cbor/-/cbor-8.1.0.tgz", - "integrity": "sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==", - "dev": true, - "requires": { - "nofilter": "^3.1.0" - } - }, - "chai": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", - "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", - "dev": true, - "peer": true, - "requires": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^4.1.2", - "get-func-name": "^2.0.0", - "loupe": "^2.3.1", - "pathval": "^1.1.1", - "type-detect": "^4.0.5" - } - }, - "chai-as-promised": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz", - "integrity": "sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==", - "dev": true, - "peer": true, - "requires": { - "check-error": "^1.0.2" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "charenc": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", - "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", - "dev": true, - "peer": true - }, - "check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==", - "dev": true, - "peer": true - }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "classic-level": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/classic-level/-/classic-level-1.3.0.tgz", - "integrity": "sha512-iwFAJQYtqRTRM0F6L8h4JCt00ZSGdOyqh7yVrhhjrOpFhmBjNlRUey64MCiyo6UmQHMJ+No3c81nujPv+n9yrg==", - "dev": true, - "requires": { - "abstract-level": "^1.0.2", - "catering": "^2.1.0", - "module-error": "^1.0.1", - "napi-macros": "^2.2.2", - "node-gyp-build": "^4.3.0" - } - }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true - }, - "cli-table3": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", - "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", - "dev": true, - "peer": true, - "requires": { - "colors": "^1.1.2", - "object-assign": "^4.1.0", - "string-width": "^2.1.1" - } - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - } - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "dev": true, - "peer": true - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "command-exists": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", - "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==", - "dev": true - }, - "command-line-args": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", - "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", - "dev": true, - "peer": true, - "requires": { - "array-back": "^3.1.0", - "find-replace": "^3.0.0", - "lodash.camelcase": "^4.3.0", - "typical": "^4.0.0" - } - }, - "command-line-usage": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-6.1.3.tgz", - "integrity": "sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw==", - "dev": true, - "peer": true, - "requires": { - "array-back": "^4.0.2", - "chalk": "^2.4.2", - "table-layout": "^1.0.2", - "typical": "^5.2.0" - }, - "dependencies": { - "array-back": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", - "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", - "dev": true, - "peer": true - }, - "typical": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", - "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", - "dev": true, - "peer": true - } - } - }, - "commander": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", - "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==", - "dev": true - }, - "compare-versions": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-6.0.0.tgz", - "integrity": "sha512-s2MzYxfRsE9f/ow8hjn7ysa7pod1xhHdQMsgiJtKx6XSNf4x2N1KG4fjrkUmXcP/e9Y2ZX4zB6sHIso0Lm6evQ==", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "peer": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "peer": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "peer": true - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "peer": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", - "dev": true, - "peer": true - }, - "crc-32": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", - "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", - "dev": true - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "crypt": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", - "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", - "dev": true, - "peer": true - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", - "dev": true, - "peer": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "death": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/death/-/death-1.1.0.tgz", - "integrity": "sha512-vsV6S4KVHvTGxbEcij7hkWRv0It+sGGWVOM67dQde/o5Xjnr+KmLjxWJii2uEObIrt1CcM9w0Yaovx+iOlIL+w==", - "dev": true, - "peer": true - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", - "dev": true - }, - "deep-eql": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", - "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", - "dev": true, - "peer": true, - "requires": { - "type-detect": "^4.0.0" - } - }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true, - "peer": true - }, - "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "dev": true, - "peer": true, - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "dev": true - }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true - }, - "detect-port": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.5.1.tgz", - "integrity": "sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==", - "dev": true, - "peer": true, - "requires": { - "address": "^1.0.1", - "debug": "4" - } - }, - "diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", - "dev": true - }, - "difflib": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/difflib/-/difflib-0.2.4.tgz", - "integrity": "sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w==", - "dev": true, - "peer": true, - "requires": { - "heap": ">= 0.2.0" - } - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "dotenv": { - "version": "16.3.1", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz", - "integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==", - "dev": true - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", - "dev": true, - "peer": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "requires": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - } - } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, - "requires": { - "ansi-colors": "^4.1.1" - } - }, - "env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "dev": true - }, - "es-abstract": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", - "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", - "dev": true, - "peer": true, - "requires": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.1", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.1", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.0", - "safe-array-concat": "^1.0.0", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.10" - }, - "dependencies": { - "object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "dev": true, - "peer": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - } - } - }, - "es-array-method-boxes-properly": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", - "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", - "dev": true, - "peer": true - }, - "es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", - "dev": true, - "peer": true, - "requires": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "peer": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "escodegen": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", - "integrity": "sha512-yhi5S+mNTOuRvyW4gWlg5W1byMaQGWWSYHXsuFZ7GBo7tpyOwi2EdzMP/QWxh9hwkD2m+wDVHJsxhRIj+v/b/A==", - "dev": true, - "peer": true, - "requires": { - "esprima": "^2.7.1", - "estraverse": "^1.9.1", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.2.0" - }, - "dependencies": { - "estraverse": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", - "integrity": "sha512-25w1fMXQrGdoquWnScXZGckOv+Wes+JDnuN/+7ex3SauFRS72r2lFDec0EKPt2YD1wUJ/IrfEex+9yp4hfSOJA==", - "dev": true, - "peer": true - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", - "dev": true, - "peer": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "peer": true, - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", - "dev": true, - "peer": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", - "dev": true, - "peer": true, - "requires": { - "prelude-ls": "~1.1.2" - } - } - } - }, - "eslint": { - "version": "8.35.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.35.0.tgz", - "integrity": "sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw==", - "dev": true, - "requires": { - "@eslint/eslintrc": "^2.0.0", - "@eslint/js": "8.35.0", - "@humanwhocodes/config-array": "^0.11.8", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.4.0", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true - }, - "eslint-scope": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.1.tgz", - "integrity": "sha512-CvefSOsDdaYYvxChovdrPo/ZGt8d5lrJWleAc1diXRKhHGiTYEI26cvo8Kle/wGnsizoCJjK73FMg1/IkIwiNA==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "eslint-config-prettier": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz", - "integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==", - "dev": true, - "requires": {} - }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^2.0.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true - } - } - }, - "eslint-visitor-keys": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", - "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", - "dev": true - }, - "espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, - "requires": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - } - }, - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==", - "dev": true, - "peer": true - }, - "esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "eth-gas-reporter": { - "version": "0.2.25", - "resolved": "https://registry.npmjs.org/eth-gas-reporter/-/eth-gas-reporter-0.2.25.tgz", - "integrity": "sha512-1fRgyE4xUB8SoqLgN3eDfpDfwEfRxh2Sz1b7wzFbyQA+9TekMmvSjjoRu9SKcSVyK+vLkLIsVbJDsTWjw195OQ==", - "dev": true, - "peer": true, - "requires": { - "@ethersproject/abi": "^5.0.0-beta.146", - "@solidity-parser/parser": "^0.14.0", - "cli-table3": "^0.5.0", - "colors": "1.4.0", - "ethereum-cryptography": "^1.0.3", - "ethers": "^4.0.40", - "fs-readdir-recursive": "^1.1.0", - "lodash": "^4.17.14", - "markdown-table": "^1.1.3", - "mocha": "^7.1.1", - "req-cwd": "^2.0.0", - "request": "^2.88.0", - "request-promise-native": "^1.0.5", - "sha1": "^1.1.1", - "sync-request": "^6.0.0" - }, - "dependencies": { - "ansi-colors": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", - "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", - "dev": true, - "peer": true - }, - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true, - "peer": true - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "peer": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true, - "peer": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "peer": true - }, - "chokidar": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", - "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==", - "dev": true, - "peer": true, - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.1.1", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.2.0" - } - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "peer": true, - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "peer": true, - "requires": { - "ms": "^2.1.1" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true, - "peer": true - }, - "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "dev": true, - "peer": true - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true, - "peer": true - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, - "peer": true - }, - "ethereum-cryptography": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-1.2.0.tgz", - "integrity": "sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw==", - "dev": true, - "peer": true, - "requires": { - "@noble/hashes": "1.2.0", - "@noble/secp256k1": "1.7.1", - "@scure/bip32": "1.1.5", - "@scure/bip39": "1.1.1" - } - }, - "ethers": { - "version": "4.0.49", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.49.tgz", - "integrity": "sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg==", - "dev": true, - "peer": true, - "requires": { - "aes-js": "3.0.0", - "bn.js": "^4.11.9", - "elliptic": "6.5.4", - "hash.js": "1.1.3", - "js-sha3": "0.5.7", - "scrypt-js": "2.0.4", - "setimmediate": "1.0.4", - "uuid": "2.0.1", - "xmlhttprequest": "1.8.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "peer": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "flat": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz", - "integrity": "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==", - "dev": true, - "peer": true, - "requires": { - "is-buffer": "~2.0.3" - } - }, - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "dev": true, - "optional": true, - "peer": true - }, - "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "dev": true, - "peer": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "peer": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "hash.js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", - "dev": true, - "peer": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.0" - } - }, - "js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==", - "dev": true, - "peer": true - }, - "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "dev": true, - "peer": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "peer": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", - "dev": true, - "peer": true, - "requires": { - "chalk": "^2.4.2" - } - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "peer": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "peer": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "mocha": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-7.2.0.tgz", - "integrity": "sha512-O9CIypScywTVpNaRrCAgoUnJgozpIofjKUYmJhiCIJMiuYnLI6otcb1/kpW9/n/tJODHGZ7i8aLQoDVsMtOKQQ==", - "dev": true, - "peer": true, - "requires": { - "ansi-colors": "3.2.3", - "browser-stdout": "1.3.1", - "chokidar": "3.3.0", - "debug": "3.2.6", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "find-up": "3.0.0", - "glob": "7.1.3", - "growl": "1.10.5", - "he": "1.2.0", - "js-yaml": "3.13.1", - "log-symbols": "3.0.0", - "minimatch": "3.0.4", - "mkdirp": "0.5.5", - "ms": "2.1.1", - "node-environment-flags": "1.0.6", - "object.assign": "4.1.0", - "strip-json-comments": "2.0.1", - "supports-color": "6.0.0", - "which": "1.3.1", - "wide-align": "1.1.3", - "yargs": "13.3.2", - "yargs-parser": "13.1.2", - "yargs-unparser": "1.6.0" - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true, - "peer": true - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "peer": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "peer": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true, - "peer": true - }, - "readdirp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", - "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", - "dev": true, - "peer": true, - "requires": { - "picomatch": "^2.0.4" - } - }, - "scrypt-js": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", - "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==", - "dev": true, - "peer": true - }, - "setimmediate": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", - "integrity": "sha512-/TjEmXQVEzdod/FFskf3o7oOAsGhHf2j1dZqRFbDzq4F3mvvxflIIi4Hd3bLQE9y/CpwqfSQam5JakI/mi3Pog==", - "dev": true, - "peer": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "peer": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "peer": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "dev": true, - "peer": true - }, - "supports-color": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", - "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", - "dev": true, - "peer": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "uuid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", - "integrity": "sha512-nWg9+Oa3qD2CQzHIP4qKUqwNfzKn8P0LtFhotaCTFchsV7ZfDhAybeip/HZVeMIpZi9JgY1E3nUlwaCmZT1sEg==", - "dev": true, - "peer": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "peer": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "peer": true, - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - } - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true, - "peer": true - }, - "yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dev": true, - "peer": true, - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "peer": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "yargs-unparser": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", - "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", - "dev": true, - "peer": true, - "requires": { - "flat": "^4.1.0", - "lodash": "^4.17.15", - "yargs": "^13.3.0" - } - } - } - }, - "ethereum-bloom-filters": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz", - "integrity": "sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA==", - "dev": true, - "peer": true, - "requires": { - "js-sha3": "^0.8.0" - } - }, - "ethereum-cryptography": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", - "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", - "dev": true, - "requires": { - "@types/pbkdf2": "^3.0.0", - "@types/secp256k1": "^4.0.1", - "blakejs": "^1.1.0", - "browserify-aes": "^1.2.0", - "bs58check": "^2.1.2", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "hash.js": "^1.1.7", - "keccak": "^3.0.0", - "pbkdf2": "^3.0.17", - "randombytes": "^2.1.0", - "safe-buffer": "^5.1.2", - "scrypt-js": "^3.0.0", - "secp256k1": "^4.0.1", - "setimmediate": "^1.0.5" - } - }, - "ethereumjs-abi": { - "version": "0.6.8", - "resolved": "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz", - "integrity": "sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==", - "dev": true, - "requires": { - "bn.js": "^4.11.8", - "ethereumjs-util": "^6.0.0" - }, - "dependencies": { - "@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "dev": true, - "requires": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - } - } - }, - "ethereumjs-util": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", - "integrity": "sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==", - "dev": true, - "requires": { - "@types/bn.js": "^5.1.0", - "bn.js": "^5.1.2", - "create-hash": "^1.1.2", - "ethereum-cryptography": "^0.1.3", - "rlp": "^2.2.4" - } - }, - "ethers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", - "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", - "requires": { - "@ethersproject/abi": "5.7.0", - "@ethersproject/abstract-provider": "5.7.0", - "@ethersproject/abstract-signer": "5.7.0", - "@ethersproject/address": "5.7.0", - "@ethersproject/base64": "5.7.0", - "@ethersproject/basex": "5.7.0", - "@ethersproject/bignumber": "5.7.0", - "@ethersproject/bytes": "5.7.0", - "@ethersproject/constants": "5.7.0", - "@ethersproject/contracts": "5.7.0", - "@ethersproject/hash": "5.7.0", - "@ethersproject/hdnode": "5.7.0", - "@ethersproject/json-wallets": "5.7.0", - "@ethersproject/keccak256": "5.7.0", - "@ethersproject/logger": "5.7.0", - "@ethersproject/networks": "5.7.1", - "@ethersproject/pbkdf2": "5.7.0", - "@ethersproject/properties": "5.7.0", - "@ethersproject/providers": "5.7.2", - "@ethersproject/random": "5.7.0", - "@ethersproject/rlp": "5.7.0", - "@ethersproject/sha2": "5.7.0", - "@ethersproject/signing-key": "5.7.0", - "@ethersproject/solidity": "5.7.0", - "@ethersproject/strings": "5.7.0", - "@ethersproject/transactions": "5.7.0", - "@ethersproject/units": "5.7.0", - "@ethersproject/wallet": "5.7.0", - "@ethersproject/web": "5.7.1", - "@ethersproject/wordlists": "5.7.0" - } - }, - "ethjs-unit": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", - "integrity": "sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==", - "dev": true, - "peer": true, - "requires": { - "bn.js": "4.11.6", - "number-to-bn": "1.7.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==", - "dev": true, - "peer": true - } - } - }, - "ethjs-util": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", - "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", - "dev": true, - "requires": { - "is-hex-prefixed": "1.0.0", - "strip-hex-prefix": "1.0.0" - } - }, - "event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", - "dev": true - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true, - "peer": true - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", - "dev": true, - "peer": true - }, - "fast-base64-decode": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fast-base64-decode/-/fast-base64-decode-1.0.0.tgz", - "integrity": "sha512-qwaScUgUGBYeDNRnbc/KyllVU88Jk1pRHPStuF/lO7B0/RTRLj7U0lkdTAutlBblY08rwZDff6tNU9cjv6j//Q==", - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "requires": { - "flat-cache": "^3.0.4" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-replace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", - "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", - "dev": true, - "peer": true, - "requires": { - "array-back": "^3.0.1" - } - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true - }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", - "dev": true - }, - "follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", - "dev": true - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dev": true, - "peer": true, - "requires": { - "is-callable": "^1.1.3" - } - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", - "dev": true, - "peer": true - }, - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "fp-ts": { - "version": "1.19.3", - "resolved": "https://registry.npmjs.org/fp-ts/-/fp-ts-1.19.3.tgz", - "integrity": "sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==", - "dev": true - }, - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "fs-readdir-recursive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", - "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", - "dev": true, - "peer": true - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true, - "peer": true - }, - "function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", - "dev": true, - "peer": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - } - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", - "dev": true - }, - "functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true, - "peer": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", - "dev": true, - "peer": true - }, - "get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", - "dev": true, - "peer": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" - } - }, - "get-port": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==", - "dev": true, - "peer": true - }, - "get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dev": true, - "peer": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", - "dev": true, - "peer": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "ghost-testrpc": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/ghost-testrpc/-/ghost-testrpc-0.0.2.tgz", - "integrity": "sha512-i08dAEgJ2g8z5buJIrCTduwPIhih3DP+hOCTyyryikfV8T0bNvHnGXO67i0DD1H4GBDETTclPy9njZbfluQYrQ==", - "dev": true, - "peer": true, - "requires": { - "chalk": "^2.4.2", - "node-emoji": "^1.10.0" - } - }, - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "dev": true, - "peer": true, - "requires": { - "global-prefix": "^3.0.0" - } - }, - "global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "dev": true, - "peer": true, - "requires": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "dependencies": { - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "peer": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", - "dev": true, - "peer": true, - "requires": { - "define-properties": "^1.1.3" - } - }, - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - } - }, - "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dev": true, - "peer": true, - "requires": { - "get-intrinsic": "^1.1.3" - } - }, - "graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, - "grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", - "dev": true - }, - "graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", - "dev": true, - "peer": true - }, - "handlebars": { - "version": "4.7.7", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", - "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", - "dev": true, - "peer": true, - "requires": { - "minimist": "^1.2.5", - "neo-async": "^2.6.0", - "source-map": "^0.6.1", - "uglify-js": "^3.1.4", - "wordwrap": "^1.0.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "peer": true - } - } - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", - "dev": true, - "peer": true - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "dev": true, - "peer": true, - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - } - }, - "hardhat": { - "version": "2.17.0", - "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.17.0.tgz", - "integrity": "sha512-CaEGa13tkJNe2/rdaBiive4pmdNShwxvdWVhr1zfb6aVpRhQt9VNO0l/UIBt/zzajz38ZFjvhfM2bj8LDXo9gw==", - "dev": true, - "requires": { - "@ethersproject/abi": "^5.1.2", - "@metamask/eth-sig-util": "^4.0.0", - "@nomicfoundation/ethereumjs-block": "5.0.1", - "@nomicfoundation/ethereumjs-blockchain": "7.0.1", - "@nomicfoundation/ethereumjs-common": "4.0.1", - "@nomicfoundation/ethereumjs-evm": "2.0.1", - "@nomicfoundation/ethereumjs-rlp": "5.0.1", - "@nomicfoundation/ethereumjs-statemanager": "2.0.1", - "@nomicfoundation/ethereumjs-trie": "6.0.1", - "@nomicfoundation/ethereumjs-tx": "5.0.1", - "@nomicfoundation/ethereumjs-util": "9.0.1", - "@nomicfoundation/ethereumjs-vm": "7.0.1", - "@nomicfoundation/solidity-analyzer": "^0.1.0", - "@sentry/node": "^5.18.1", - "@types/bn.js": "^5.1.0", - "@types/lru-cache": "^5.1.0", - "abort-controller": "^3.0.0", - "adm-zip": "^0.4.16", - "aggregate-error": "^3.0.0", - "ansi-escapes": "^4.3.0", - "chalk": "^2.4.2", - "chokidar": "^3.4.0", - "ci-info": "^2.0.0", - "debug": "^4.1.1", - "enquirer": "^2.3.0", - "env-paths": "^2.2.0", - "ethereum-cryptography": "^1.0.3", - "ethereumjs-abi": "^0.6.8", - "find-up": "^2.1.0", - "fp-ts": "1.19.3", - "fs-extra": "^7.0.1", - "glob": "7.2.0", - "immutable": "^4.0.0-rc.12", - "io-ts": "1.10.4", - "keccak": "^3.0.2", - "lodash": "^4.17.11", - "mnemonist": "^0.38.0", - "mocha": "^10.0.0", - "p-map": "^4.0.0", - "raw-body": "^2.4.1", - "resolve": "1.17.0", - "semver": "^6.3.0", - "solc": "0.7.3", - "source-map-support": "^0.5.13", - "stacktrace-parser": "^0.1.10", - "tsort": "0.0.1", - "undici": "^5.14.0", - "uuid": "^8.3.2", - "ws": "^7.4.6" - }, - "dependencies": { - "ethereum-cryptography": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-1.2.0.tgz", - "integrity": "sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw==", - "dev": true, - "requires": { - "@noble/hashes": "1.2.0", - "@noble/secp256k1": "1.7.1", - "@scure/bip32": "1.1.5", - "@scure/bip39": "1.1.1" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", - "dev": true - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true - } - } - }, - "hardhat-gas-reporter": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/hardhat-gas-reporter/-/hardhat-gas-reporter-1.0.9.tgz", - "integrity": "sha512-INN26G3EW43adGKBNzYWOlI3+rlLnasXTwW79YNnUhXPDa+yHESgt639dJEs37gCjhkbNKcRRJnomXEuMFBXJg==", - "dev": true, - "peer": true, - "requires": { - "array-uniq": "1.0.3", - "eth-gas-reporter": "^0.2.25", - "sha1": "^1.1.1" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "peer": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "dev": true, - "peer": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dev": true, - "peer": true, - "requires": { - "get-intrinsic": "^1.1.1" - } - }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", - "dev": true, - "peer": true - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true, - "peer": true - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dev": true, - "peer": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dev": true, - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true - }, - "heap": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.7.tgz", - "integrity": "sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==", - "dev": true, - "peer": true - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "http-basic": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", - "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", - "dev": true, - "peer": true, - "requires": { - "caseless": "^0.12.0", - "concat-stream": "^1.6.2", - "http-response-object": "^3.0.1", - "parse-cache-control": "^1.0.1" - } - }, - "http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dev": true, - "requires": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - } - }, - "http-response-object": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", - "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", - "dev": true, - "peer": true, - "requires": { - "@types/node": "^10.0.3" - }, - "dependencies": { - "@types/node": { - "version": "10.17.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==", - "dev": true, - "peer": true - } - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", - "dev": true, - "peer": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dev": true, - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true - }, - "ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true - }, - "immutable": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.1.tgz", - "integrity": "sha512-lj9cnmB/kVS0QHsJnYKD1uo3o39nrbKxszjnqS9Fr6NB7bZzW45U6WSGBPKXDL/CvDKqDNPA4r3DoDQ8GTxo2A==", - "dev": true - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true, - "peer": true - }, - "internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", - "dev": true, - "peer": true, - "requires": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true, - "peer": true - }, - "io-ts": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/io-ts/-/io-ts-1.10.4.tgz", - "integrity": "sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==", - "dev": true, - "requires": { - "fp-ts": "^1.0.0" - } - }, - "is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", - "dev": true, - "peer": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - } - }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "peer": true, - "requires": { - "has-bigints": "^1.0.1" - } - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, - "peer": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "dev": true - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true, - "peer": true - }, - "is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, - "peer": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "dev": true, - "peer": true - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-hex-prefixed": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", - "integrity": "sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==", - "dev": true - }, - "is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", - "dev": true, - "peer": true - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dev": true, - "peer": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true - }, - "is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "dev": true - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "peer": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "dev": true, - "peer": true, - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "peer": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, - "peer": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", - "dev": true, - "peer": true, - "requires": { - "which-typed-array": "^1.1.11" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true, - "peer": true - }, - "is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true - }, - "is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dev": true, - "peer": true, - "requires": { - "call-bind": "^1.0.2" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "isomorphic-unfetch": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/isomorphic-unfetch/-/isomorphic-unfetch-3.1.0.tgz", - "integrity": "sha512-geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q==", - "dev": true, - "requires": { - "node-fetch": "^2.6.1", - "unfetch": "^4.2.0" - } - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", - "dev": true, - "peer": true - }, - "js-cookie": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.1.tgz", - "integrity": "sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==", - "dev": true - }, - "js-sdsl": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.2.tgz", - "integrity": "sha512-dwXFwByc/ajSV6m5bcKAPwe4yDDF6D614pxmIi5odytzxRlwqF6nwoiCek80Ixc7Cvma5awClxrzFtxCQvcM8w==", - "dev": true - }, - "js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", - "dev": true, - "peer": true - }, - "json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "dev": true, - "peer": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", - "dev": true, - "peer": true - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "jsonschema": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.4.1.tgz", - "integrity": "sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ==", - "dev": true, - "peer": true - }, - "jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "dev": true, - "peer": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - } - }, - "keccak": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.3.tgz", - "integrity": "sha512-JZrLIAJWuZxKbCilMpNz5Vj7Vtb4scDG3dMXLOsbzBmQGyjwE61BbW7bJkfKKCShXiQZt3T6sBgALRtmd+nZaQ==", - "dev": true, - "requires": { - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0", - "readable-stream": "^3.6.0" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "peer": true - }, - "klaw": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", - "integrity": "sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.9" - } - }, - "level": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/level/-/level-8.0.0.tgz", - "integrity": "sha512-ypf0jjAk2BWI33yzEaaotpq7fkOPALKAgDBxggO6Q9HGX2MRXn0wbP1Jn/tJv1gtL867+YOjOB49WaUF3UoJNQ==", - "dev": true, - "requires": { - "browser-level": "^1.0.1", - "classic-level": "^1.2.0" - } - }, - "level-supports": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-4.0.1.tgz", - "integrity": "sha512-PbXpve8rKeNcZ9C1mUicC9auIYFyGpkV9/i6g76tLgANwWhtG2v7I4xNBUlkn3lE2/dZF3Pi0ygYGtLc4RXXdA==", - "dev": true - }, - "level-transcoder": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/level-transcoder/-/level-transcoder-1.0.1.tgz", - "integrity": "sha512-t7bFwFtsQeD8cl8NIoQ2iwxA0CL/9IFw7/9gAjOonH0PWTTiRfY7Hq+Ejbsxh86tXobDQ6IOiddjNYIfOBs06w==", - "dev": true, - "requires": { - "buffer": "^6.0.3", - "module-error": "^1.0.1" - }, - "dependencies": { - "buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - } - } - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", - "dev": true, - "peer": true - }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", - "dev": true, - "peer": true - }, - "log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "loupe": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", - "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", - "dev": true, - "peer": true, - "requires": { - "get-func-name": "^2.0.0" - } - }, - "lru_map": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", - "integrity": "sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==", - "dev": true - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "markdown-table": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz", - "integrity": "sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==", - "dev": true, - "peer": true - }, - "mcl-wasm": { - "version": "0.7.9", - "resolved": "https://registry.npmjs.org/mcl-wasm/-/mcl-wasm-0.7.9.tgz", - "integrity": "sha512-iJIUcQWA88IJB/5L15GnJVnSQJmf/YaxxV6zRavv83HILHaJQb6y0iFyDMdDO0gN8X37tdxmAOrH/P8B6RB8sQ==", - "dev": true - }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "memory-level": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/memory-level/-/memory-level-1.0.0.tgz", - "integrity": "sha512-UXzwewuWeHBz5krr7EvehKcmLFNoXxGcvuYhC41tRnkrTbJohtS7kVn9akmgirtRygg+f7Yjsfi8Uu5SGSQ4Og==", - "dev": true, - "requires": { - "abstract-level": "^1.0.0", - "functional-red-black-tree": "^1.0.1", - "module-error": "^1.0.1" - } - }, - "memorystream": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", - "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", - "dev": true - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true - }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "requires": { - "mime-db": "1.52.0" - } - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true - }, - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, - "peer": true, - "requires": { - "minimist": "^1.2.6" - } - }, - "mnemonist": { - "version": "0.38.5", - "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.5.tgz", - "integrity": "sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==", - "dev": true, - "requires": { - "obliterator": "^2.0.0" - } - }, - "mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", - "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", - "dev": true, - "requires": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "nanoid": "3.3.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "dependencies": { - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true - }, - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "module-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/module-error/-/module-error-1.0.2.tgz", - "integrity": "sha512-0yuvsqSCv8LbaOKhnsQ/T5JhyFlCYLPXK3U2sgV10zoKQwzs/MyfuQUOZQ1V/6OCOJsK/TRgNVrPuPDqtdMFtA==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", - "dev": true - }, - "napi-macros": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-2.2.2.tgz", - "integrity": "sha512-hmEVtAGYzVQpCKdbQea4skABsdXW4RUh5t5mJ2zzqowJS2OyXZTU1KhDVFhx+NlWZ4ap9mqR9TcDO3LTTttd+g==", - "dev": true - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", - "dev": true - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true, - "peer": true - }, - "node-addon-api": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", - "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==", - "dev": true - }, - "node-emoji": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", - "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", - "dev": true, - "peer": true, - "requires": { - "lodash": "^4.17.21" - } - }, - "node-environment-flags": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz", - "integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==", - "dev": true, - "peer": true, - "requires": { - "object.getownpropertydescriptors": "^2.0.3", - "semver": "^5.7.0" - }, - "dependencies": { - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "peer": true - } - } - }, - "node-fetch": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.12.tgz", - "integrity": "sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==", - "dev": true, - "requires": { - "whatwg-url": "^5.0.0" - } - }, - "node-gyp-build": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz", - "integrity": "sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==", - "dev": true - }, - "nofilter": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-3.1.0.tgz", - "integrity": "sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==", - "dev": true - }, - "nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg==", - "dev": true, - "peer": true, - "requires": { - "abbrev": "1" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "number-to-bn": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", - "integrity": "sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==", - "dev": true, - "peer": true, - "requires": { - "bn.js": "4.11.6", - "strip-hex-prefix": "1.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==", - "dev": true, - "peer": true - } - } - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true, - "peer": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true, - "peer": true - }, - "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", - "dev": true, - "peer": true - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "peer": true - }, - "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", - "dev": true, - "peer": true, - "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" - } - }, - "object.getownpropertydescriptors": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.6.tgz", - "integrity": "sha512-lq+61g26E/BgHv0ZTFgRvi7NMEPuAxLkFU7rukXjc/AlwH4Am5xXVnIXy3un1bg/JPbXHrixRkK1itUzzPiIjQ==", - "dev": true, - "peer": true, - "requires": { - "array.prototype.reduce": "^1.0.5", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.21.2", - "safe-array-concat": "^1.0.0" - } - }, - "obliterator": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/obliterator/-/obliterator-2.0.4.tgz", - "integrity": "sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ==", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "openzeppelin-solidity": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/openzeppelin-solidity/-/openzeppelin-solidity-1.12.0.tgz", - "integrity": "sha512-WlorzMXIIurugiSdw121RVD5qA3EfSI7GybTn+/Du0mPNgairjt29NpVTAaH8eLjAeAwlw46y7uQKy0NYem/gA==", - "dev": true - }, - "optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "dev": true, - "requires": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" - } - }, - "ordinal": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/ordinal/-/ordinal-1.0.3.tgz", - "integrity": "sha512-cMddMgb2QElm8G7vdaa02jhUNbTSrhsgAGUz1OokD83uJTwSUn+nKoNoKVVaRa08yF6sgfO7Maou1+bgLd9rdQ==", - "dev": true, - "peer": true - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", - "dev": true - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - }, - "p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "peer": true - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-cache-control": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", - "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==", - "dev": true, - "peer": true - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true - }, - "pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "dev": true, - "peer": true - }, - "pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", - "dev": true, - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", - "dev": true, - "peer": true - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true, - "peer": true - }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true - }, - "prettier": { - "version": "2.8.4", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.4.tgz", - "integrity": "sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==", - "dev": true - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true, - "peer": true - }, - "promise": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", - "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", - "dev": true, - "peer": true, - "requires": { - "asap": "~2.0.6" - } - }, - "proper-lockfile": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz", - "integrity": "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.4", - "retry": "^0.12.0", - "signal-exit": "^3.0.2" - }, - "dependencies": { - "retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", - "dev": true - } - } - }, - "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "dev": true - }, - "psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", - "dev": true, - "peer": true - }, - "punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "dev": true - }, - "qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", - "dev": true, - "peer": true - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", - "dev": true, - "requires": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - } - }, - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", - "dev": true, - "peer": true, - "requires": { - "resolve": "^1.1.6" - } - }, - "recursive-readdir": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", - "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", - "dev": true, - "peer": true, - "requires": { - "minimatch": "^3.0.5" - } - }, - "reduce-flatten": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz", - "integrity": "sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==", - "dev": true, - "peer": true - }, - "regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", - "dev": true, - "peer": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" - } - }, - "regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true - }, - "req-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/req-cwd/-/req-cwd-2.0.0.tgz", - "integrity": "sha512-ueoIoLo1OfB6b05COxAA9UpeoscNpYyM+BqYlA7H6LVF4hKGPXQQSSaD2YmvDVJMkk4UDpAHIeU1zG53IqjvlQ==", - "dev": true, - "peer": true, - "requires": { - "req-from": "^2.0.0" - } - }, - "req-from": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/req-from/-/req-from-2.0.0.tgz", - "integrity": "sha512-LzTfEVDVQHBRfjOUMgNBA+V6DWsSnoeKzf42J7l0xa/B4jyPOuuF5MlNSmomLNGemWTnV2TIdjSSLnEn95fOQA==", - "dev": true, - "peer": true, - "requires": { - "resolve-from": "^3.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", - "dev": true, - "peer": true - } - } - }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "dev": true, - "peer": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "peer": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true, - "peer": true - } - } - }, - "request-promise-core": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", - "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", - "dev": true, - "peer": true, - "requires": { - "lodash": "^4.17.19" - } - }, - "request-promise-native": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", - "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", - "dev": true, - "peer": true, - "requires": { - "request-promise-core": "1.1.4", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true, - "peer": true - }, - "resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", - "dev": true, - "requires": { - "path-parse": "^1.0.6" - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, - "retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "dev": true - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "rlp": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", - "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", - "dev": true, - "requires": { - "bn.js": "^5.2.0" - } - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "run-parallel-limit": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/run-parallel-limit/-/run-parallel-limit-1.1.0.tgz", - "integrity": "sha512-jJA7irRNM91jaKc3Hcl1npHsFLOXOoTkPCUL1JEa1R82O2miplXXRaGdjW/KM/98YQWDhJLiSs793CnXfblJUw==", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "rustbn.js": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.2.0.tgz", - "integrity": "sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA==", - "dev": true - }, - "safe-array-concat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz", - "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==", - "dev": true, - "peer": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" - }, - "dependencies": { - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true, - "peer": true - } - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - }, - "safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", - "dev": true, - "peer": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "sc-istanbul": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/sc-istanbul/-/sc-istanbul-0.4.6.tgz", - "integrity": "sha512-qJFF/8tW/zJsbyfh/iT/ZM5QNHE3CXxtLJbZsL+CzdJLBsPD7SedJZoUA4d8iAcN2IoMp/Dx80shOOd2x96X/g==", - "dev": true, - "peer": true, - "requires": { - "abbrev": "1.0.x", - "async": "1.x", - "escodegen": "1.8.x", - "esprima": "2.7.x", - "glob": "^5.0.15", - "handlebars": "^4.0.1", - "js-yaml": "3.x", - "mkdirp": "0.5.x", - "nopt": "3.x", - "once": "1.x", - "resolve": "1.1.x", - "supports-color": "^3.1.0", - "which": "^1.1.1", - "wordwrap": "^1.0.0" - }, - "dependencies": { - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "peer": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==", - "dev": true, - "peer": true, - "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==", - "dev": true, - "peer": true - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "peer": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "dependencies": { - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, - "peer": true - } - } - }, - "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==", - "dev": true, - "peer": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==", - "dev": true, - "peer": true, - "requires": { - "has-flag": "^1.0.0" - } - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "peer": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "scrypt-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" - }, - "secp256k1": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz", - "integrity": "sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==", - "dev": true, - "requires": { - "elliptic": "^6.5.4", - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0" - } - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - }, - "serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "dev": true, - "peer": true - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", - "dev": true - }, - "setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "sha1": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/sha1/-/sha1-1.1.1.tgz", - "integrity": "sha512-dZBS6OrMjtgVkopB1Gmo4RQCDKiZsqcpAQpkV/aaj+FCrCg8r4I4qMkDPQjBgLIxlmu9k4nUbWq6ohXahOneYA==", - "dev": true, - "peer": true, - "requires": { - "charenc": ">= 0.0.1", - "crypt": ">= 0.0.1" - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "dev": true, - "peer": true, - "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - } - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, - "peer": true, - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "peer": true, - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "peer": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "peer": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "peer": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "peer": true - } - } - }, - "solc": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.7.3.tgz", - "integrity": "sha512-GAsWNAjGzIDg7VxzP6mPjdurby3IkGCjQcM8GFYZT6RyaoUZKmMU6Y7YwG+tFGhv7dwZ8rmR4iwFDrrD99JwqA==", - "dev": true, - "requires": { - "command-exists": "^1.2.8", - "commander": "3.0.2", - "follow-redirects": "^1.12.1", - "fs-extra": "^0.30.0", - "js-sha3": "0.8.0", - "memorystream": "^0.3.1", - "require-from-string": "^2.0.0", - "semver": "^5.5.0", - "tmp": "0.0.33" - }, - "dependencies": { - "fs-extra": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", - "integrity": "sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" - } - }, - "jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true - } - } - }, - "solidity-ast": { - "version": "0.4.49", - "resolved": "https://registry.npmjs.org/solidity-ast/-/solidity-ast-0.4.49.tgz", - "integrity": "sha512-Pr5sCAj1SFqzwFZw1HPKSq0PehlQNdM8GwKyAVYh2DOn7/cCK8LUKD1HeHnKtTgBW7hi9h4nnnan7hpAg5RhWQ==", - "dev": true - }, - "solidity-coverage": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/solidity-coverage/-/solidity-coverage-0.8.4.tgz", - "integrity": "sha512-xeHOfBOjdMF6hWTbt42iH4x+7j1Atmrf5OldDPMxI+i/COdExUxszOswD9qqvcBTaLGiOrrpnh9UZjSpt4rBsg==", - "dev": true, - "peer": true, - "requires": { - "@ethersproject/abi": "^5.0.9", - "@solidity-parser/parser": "^0.16.0", - "chalk": "^2.4.2", - "death": "^1.1.0", - "detect-port": "^1.3.0", - "difflib": "^0.2.4", - "fs-extra": "^8.1.0", - "ghost-testrpc": "^0.0.2", - "global-modules": "^2.0.0", - "globby": "^10.0.1", - "jsonschema": "^1.2.4", - "lodash": "^4.17.15", - "mocha": "7.1.2", - "node-emoji": "^1.10.0", - "pify": "^4.0.1", - "recursive-readdir": "^2.2.2", - "sc-istanbul": "^0.4.5", - "semver": "^7.3.4", - "shelljs": "^0.8.3", - "web3-utils": "^1.3.6" - }, - "dependencies": { - "@solidity-parser/parser": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.16.1.tgz", - "integrity": "sha512-PdhRFNhbTtu3x8Axm0uYpqOy/lODYQK+MlYSgqIsq2L8SFYEHJPHNUiOTAJbDGzNjjr1/n9AcIayxafR/fWmYw==", - "dev": true, - "peer": true, - "requires": { - "antlr4ts": "^0.5.0-alpha.4" - } - }, - "ansi-colors": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", - "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", - "dev": true, - "peer": true - }, - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true, - "peer": true - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "peer": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "peer": true - }, - "chokidar": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", - "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==", - "dev": true, - "peer": true, - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.1.1", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.2.0" - } - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "peer": true, - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "peer": true, - "requires": { - "ms": "^2.1.1" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true, - "peer": true - }, - "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "dev": true, - "peer": true - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true, - "peer": true - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, - "peer": true - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "peer": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "flat": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz", - "integrity": "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==", - "dev": true, - "peer": true, - "requires": { - "is-buffer": "~2.0.3" - } - }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "peer": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "dev": true, - "optional": true, - "peer": true - }, - "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "dev": true, - "peer": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "peer": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "globby": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", - "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", - "dev": true, - "peer": true, - "requires": { - "@types/glob": "^7.1.1", - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.0.3", - "glob": "^7.1.3", - "ignore": "^5.1.1", - "merge2": "^1.2.3", - "slash": "^3.0.0" - } - }, - "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "dev": true, - "peer": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "peer": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", - "dev": true, - "peer": true, - "requires": { - "chalk": "^2.4.2" - } - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "peer": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "peer": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "peer": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "mocha": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-7.1.2.tgz", - "integrity": "sha512-o96kdRKMKI3E8U0bjnfqW4QMk12MwZ4mhdBTf+B5a1q9+aq2HRnj+3ZdJu0B/ZhJeK78MgYuv6L8d/rA5AeBJA==", - "dev": true, - "peer": true, - "requires": { - "ansi-colors": "3.2.3", - "browser-stdout": "1.3.1", - "chokidar": "3.3.0", - "debug": "3.2.6", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "find-up": "3.0.0", - "glob": "7.1.3", - "growl": "1.10.5", - "he": "1.2.0", - "js-yaml": "3.13.1", - "log-symbols": "3.0.0", - "minimatch": "3.0.4", - "mkdirp": "0.5.5", - "ms": "2.1.1", - "node-environment-flags": "1.0.6", - "object.assign": "4.1.0", - "strip-json-comments": "2.0.1", - "supports-color": "6.0.0", - "which": "1.3.1", - "wide-align": "1.1.3", - "yargs": "13.3.2", - "yargs-parser": "13.1.2", - "yargs-unparser": "1.6.0" - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true, - "peer": true - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "peer": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "peer": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true, - "peer": true - }, - "readdirp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", - "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", - "dev": true, - "peer": true, - "requires": { - "picomatch": "^2.0.4" - } - }, - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "peer": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "peer": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "peer": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "dev": true, - "peer": true - }, - "supports-color": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", - "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", - "dev": true, - "peer": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "peer": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "peer": true, - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - } - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true, - "peer": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true, - "peer": true - }, - "yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dev": true, - "peer": true, - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "peer": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "yargs-unparser": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", - "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", - "dev": true, - "peer": true, - "requires": { - "flat": "^4.1.0", - "lodash": "^4.17.15", - "yargs": "^13.3.0" - } - } - } - }, - "source-map": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", - "integrity": "sha512-CBdZ2oa/BHhS4xj5DlhjWNHcan57/5YuvfdLf17iVmIpd9KRm+DFLmC6nBNj+6Ua7Kt3TmOjDpQT1aTYOQtoUA==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "amdefine": ">=0.0.4" - } - }, - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true, - "peer": true - }, - "sshpk": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", - "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", - "dev": true, - "peer": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "dependencies": { - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", - "dev": true, - "peer": true - } - } - }, - "stacktrace-parser": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", - "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", - "dev": true, - "requires": { - "type-fest": "^0.7.1" - }, - "dependencies": { - "type-fest": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", - "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", - "dev": true - } - } - }, - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true - }, - "stealthy-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", - "integrity": "sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g==", - "dev": true, - "peer": true - }, - "streamsearch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", - "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", - "dev": true - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "requires": { - "safe-buffer": "~5.2.0" - } - }, - "string-format": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/string-format/-/string-format-2.0.0.tgz", - "integrity": "sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA==", - "dev": true, - "peer": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "peer": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", - "dev": true, - "peer": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", - "dev": true, - "peer": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "string.prototype.trim": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", - "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", - "dev": true, - "peer": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", - "dev": true, - "peer": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", - "dev": true, - "peer": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-hex-prefix": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", - "integrity": "sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==", - "dev": true, - "requires": { - "is-hex-prefixed": "1.0.0" - } - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "sync-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", - "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", - "dev": true, - "peer": true, - "requires": { - "http-response-object": "^3.0.1", - "sync-rpc": "^1.2.1", - "then-request": "^6.0.0" - } - }, - "sync-rpc": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", - "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", - "dev": true, - "peer": true, - "requires": { - "get-port": "^3.1.0" - } - }, - "table": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", - "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", - "dev": true, - "peer": true, - "requires": { - "ajv": "^8.0.1", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, - "peer": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "peer": true - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true, - "peer": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "peer": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - } - } - }, - "table-layout": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-1.0.2.tgz", - "integrity": "sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A==", - "dev": true, - "peer": true, - "requires": { - "array-back": "^4.0.1", - "deep-extend": "~0.6.0", - "typical": "^5.2.0", - "wordwrapjs": "^4.0.0" - }, - "dependencies": { - "array-back": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", - "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", - "dev": true, - "peer": true - }, - "typical": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", - "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", - "dev": true, - "peer": true - } - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "then-request": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", - "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", - "dev": true, - "peer": true, - "requires": { - "@types/concat-stream": "^1.6.0", - "@types/form-data": "0.0.33", - "@types/node": "^8.0.0", - "@types/qs": "^6.2.31", - "caseless": "~0.12.0", - "concat-stream": "^1.6.0", - "form-data": "^2.2.0", - "http-basic": "^8.1.1", - "http-response-object": "^3.0.1", - "promise": "^8.0.0", - "qs": "^6.4.0" - }, - "dependencies": { - "@types/node": { - "version": "8.10.66", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", - "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==", - "dev": true, - "peer": true - }, - "form-data": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", - "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", - "dev": true, - "peer": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - } - } - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.2" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "dev": true - }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "peer": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true - }, - "ts-command-line-args": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/ts-command-line-args/-/ts-command-line-args-2.5.1.tgz", - "integrity": "sha512-H69ZwTw3rFHb5WYpQya40YAX2/w7Ut75uUECbgBIsLmM+BNuYnxsltfyyLMxy6sEeKxgijLTnQtLd0nKd6+IYw==", - "dev": true, - "peer": true, - "requires": { - "chalk": "^4.1.0", - "command-line-args": "^5.1.1", - "command-line-usage": "^6.1.0", - "string-format": "^2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "peer": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "peer": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "peer": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "peer": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "peer": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "peer": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "ts-essentials": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-7.0.3.tgz", - "integrity": "sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ==", - "dev": true, - "peer": true, - "requires": {} - }, - "ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", - "dev": true, - "requires": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "dependencies": { - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true - } - } - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "tsort": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/tsort/-/tsort-0.0.1.tgz", - "integrity": "sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==", - "dev": true - }, - "tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "requires": { - "tslib": "^1.8.1" - } - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "dev": true, - "peer": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", - "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==", - "dev": true - }, - "tweetnacl-util": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz", - "integrity": "sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==", - "dev": true - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, - "peer": true - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true - }, - "typechain": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/typechain/-/typechain-8.3.1.tgz", - "integrity": "sha512-fA7clol2IP/56yq6vkMTR+4URF1nGjV82Wx6Rf09EsqD4tkzMAvEaqYxVFCavJm/1xaRga/oD55K+4FtuXwQOQ==", - "dev": true, - "peer": true, - "requires": { - "@types/prettier": "^2.1.1", - "debug": "^4.3.1", - "fs-extra": "^7.0.0", - "glob": "7.1.7", - "js-sha3": "^0.8.0", - "lodash": "^4.17.15", - "mkdirp": "^1.0.4", - "prettier": "^2.3.1", - "ts-command-line-args": "^2.2.0", - "ts-essentials": "^7.0.1" - }, - "dependencies": { - "glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "dev": true, - "peer": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "peer": true - } - } - }, - "typed-array-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", - "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", - "dev": true, - "peer": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "is-typed-array": "^1.1.10" - } - }, - "typed-array-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", - "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", - "dev": true, - "peer": true, - "requires": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" - } - }, - "typed-array-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", - "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", - "dev": true, - "peer": true, - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" - } - }, - "typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", - "dev": true, - "peer": true, - "requires": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", - "dev": true, - "peer": true - }, - "typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", - "dev": true - }, - "typical": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", - "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", - "dev": true, - "peer": true - }, - "uglify-js": { - "version": "3.17.4", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", - "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", - "dev": true, - "optional": true, - "peer": true - }, - "unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dev": true, - "peer": true, - "requires": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - } - }, - "undici": { - "version": "5.22.1", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.22.1.tgz", - "integrity": "sha512-Ji2IJhFXZY0x/0tVBXeQwgPlLWw13GVzpsWPQ3rV50IFMMof2I55PZZxtm4P6iNq+L5znYN9nSTAq0ZyE6lSJw==", - "dev": true, - "requires": { - "busboy": "^1.6.0" - } - }, - "unfetch": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/unfetch/-/unfetch-4.2.0.tgz", - "integrity": "sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==", - "dev": true - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "dev": true - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", - "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==", - "dev": true, - "peer": true - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true - }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true - }, - "v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", - "dev": true, - "peer": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "web3-utils": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.0.tgz", - "integrity": "sha512-kSaCM0uMcZTNUSmn5vMEhlo02RObGNRRCkdX0V9UTAU0+lrvn0HSaudyCo6CQzuXUsnuY2ERJGCGPfeWmv19Rg==", - "dev": true, - "peer": true, - "requires": { - "bn.js": "^5.2.1", - "ethereum-bloom-filters": "^1.0.6", - "ethereumjs-util": "^7.1.0", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "utf8": "3.0.0" - } - }, - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true - }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dev": true, - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "peer": true, - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - }, - "which-module": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", - "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", - "dev": true, - "peer": true - }, - "which-typed-array": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", - "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", - "dev": true, - "peer": true, - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - } - }, - "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "dev": true, - "peer": true, - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "peer": true - }, - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", - "dev": true, - "peer": true - }, - "wordwrapjs": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-4.0.1.tgz", - "integrity": "sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA==", - "dev": true, - "peer": true, - "requires": { - "reduce-flatten": "^2.0.0", - "typical": "^5.2.0" - }, - "dependencies": { - "typical": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", - "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", - "dev": true, - "peer": true - } - } - }, - "workerpool": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", - "dev": true - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "ws": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", - "requires": {} - }, - "xmlhttprequest": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz", - "integrity": "sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA==", - "dev": true, - "peer": true - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - } - } - }, - "yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "dev": true - }, - "yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", - "dev": true, - "requires": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" - } - }, - "yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true - } } } diff --git a/package.json b/package.json index 853eb434..e9e05e73 100644 --- a/package.json +++ b/package.json @@ -38,13 +38,12 @@ "deploy_limited_token_staking": "hardhat run scripts/ecosystem/token_staking/deploy_limited_manager.ts --network dev", "deploy_token_staking": "hardhat run scripts/ecosystem/token_staking/deploy_token_manager.ts --network dev", "deploy_hbr_token": "hardhat run scripts/ecosystem/token_staking/deploy_hbr.ts --network dev", - "sourcify:dev": "hardhat sourcify --network dev", "sourcify:test": "hardhat sourcify --network test", "sourcify:main": "hardhat sourcify --network main" }, "devDependencies": { - "@airdao/deployments": "0.2.4", + "@airdao/deployments": "file:.yalc/@airdao/deployments", "@nomicfoundation/hardhat-toolbox": "^2.0.1", "@openzeppelin/contracts": "^4.9.0", "@openzeppelin/contracts-upgradeable": "4.9.0", From bc6caebc6bf59339e31a989bca1c03bbe9c3d966 Mon Sep 17 00:00:00 2001 From: SigismundSchlomo Date: Tue, 3 Dec 2024 17:25:06 +0200 Subject: [PATCH 11/14] feat: Add MultisigFactory contract with basic initialization and role management --- contracts/multisig/MultisigFactory.sol | 1 - 1 file changed, 1 deletion(-) diff --git a/contracts/multisig/MultisigFactory.sol b/contracts/multisig/MultisigFactory.sol index aa87879a..eb6315db 100644 --- a/contracts/multisig/MultisigFactory.sol +++ b/contracts/multisig/MultisigFactory.sol @@ -11,7 +11,6 @@ import "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol" contract MultisigFactory is IMultisigFactory, UUPSUpgradeable, AccessControlUpgradeable { bytes32 constant public CREATOR_ROLE = keccak256("CREATOR_ROLE"); - // Track ecosystem and common multisigs separately mapping(string => address) public multisigs; function initialize() public initializer { From 6dc874c472df0e3803684e739d7191ad879a8e11 Mon Sep 17 00:00:00 2001 From: "SigismundSchlomo (aider)" Date: Tue, 3 Dec 2024 17:25:08 +0200 Subject: [PATCH 12/14] refactor: Remove name-based tracking from MultisigFactory contract --- contracts/multisig/IMultisigFactory.sol | 8 ++++---- contracts/multisig/MultisigFactory.sol | 25 +++++++++++-------------- 2 files changed, 15 insertions(+), 18 deletions(-) diff --git a/contracts/multisig/IMultisigFactory.sol b/contracts/multisig/IMultisigFactory.sol index 88355a8f..0cd4d55d 100644 --- a/contracts/multisig/IMultisigFactory.sol +++ b/contracts/multisig/IMultisigFactory.sol @@ -17,10 +17,10 @@ interface IMultisigFactory { event MultisigRegistered(address indexed multisig); event MultisigDeleted(address indexed multisig); - function createMultisig(string calldata name, MultisigSettings calldata settings) external returns (address); - function deleteMultisig(string calldata name) external; - function registerMultisigs(address[] calldata _multisigsAddresses, string[] calldata _multisigsNames) external; - function getMultisigAddress(string calldata _name) external view returns (address); + function createMultisig(MultisigSettings calldata settings) external returns (address); + function deleteMultisig(address multisigAddress) external; + function registerMultisigs(address[] calldata _multisigsAddresses) external; + function isRegisteredMultisig(address multisig) external view returns (bool); } diff --git a/contracts/multisig/MultisigFactory.sol b/contracts/multisig/MultisigFactory.sol index eb6315db..84853cd3 100644 --- a/contracts/multisig/MultisigFactory.sol +++ b/contracts/multisig/MultisigFactory.sol @@ -11,7 +11,7 @@ import "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol" contract MultisigFactory is IMultisigFactory, UUPSUpgradeable, AccessControlUpgradeable { bytes32 constant public CREATOR_ROLE = keccak256("CREATOR_ROLE"); - mapping(string => address) public multisigs; + mapping(address => bool) public registeredMultisigs; function initialize() public initializer { _setupRole(DEFAULT_ADMIN_ROLE, msg.sender); @@ -19,7 +19,7 @@ contract MultisigFactory is IMultisigFactory, UUPSUpgradeable, AccessControlUpgr __UUPSUpgradeable_init(); } - function createMultisig(string calldata name, MultisigSettings calldata settings) external onlyRole(CREATOR_ROLE) returns (address) { + function createMultisig(MultisigSettings calldata settings) external onlyRole(CREATOR_ROLE) returns (address) { Multisig newMultisig = new Multisig( settings.signers, settings.isInitiatorFlags, @@ -27,36 +27,33 @@ contract MultisigFactory is IMultisigFactory, UUPSUpgradeable, AccessControlUpgr settings.owner ); - multisigs[name] = address(newMultisig); + registeredMultisigs[address(newMultisig)] = true; emit MultisigCreated(address(newMultisig)); return address(newMultisig); } // Register previously deployed multisigs in batch - function registerMultisigs(address[] calldata _multisigs, string[] calldata _names) external onlyRole(CREATOR_ROLE) { + function registerMultisigs(address[] calldata _multisigs) external onlyRole(CREATOR_ROLE) { for (uint i = 0; i < _multisigs.length; i++) { - string memory name = _names[i]; address multisigAddress = _multisigs[i]; require(multisigAddress != address(0), "Invalid multisig address"); - require(multisigs[name] == address(0), "Already registered"); + require(!registeredMultisigs[multisigAddress], "Already registered"); - multisigs[name] = multisigAddress; + registeredMultisigs[multisigAddress] = true; emit MultisigRegistered(multisigAddress); } } - // View functions - function getMultisigAddress(string calldata _name) external view override returns (address) { - return multisigs[_name]; + function isRegisteredMultisig(address multisig) external view override returns (bool) { + return registeredMultisigs[multisig]; } - function deleteMultisig(string calldata name) external onlyRole(DEFAULT_ADMIN_ROLE) { - address multisigAddress = multisigs[name]; - require(multisigAddress != address(0), "Multisig not found"); + function deleteMultisig(address multisigAddress) external onlyRole(DEFAULT_ADMIN_ROLE) { + require(registeredMultisigs[multisigAddress], "Multisig not found"); - delete multisigs[name]; + delete registeredMultisigs[multisigAddress]; emit MultisigDeleted(multisigAddress); } From fab420a4401b78debb83d815907af4c033c4626a Mon Sep 17 00:00:00 2001 From: SigismundSchlomo Date: Tue, 3 Dec 2024 21:27:00 +0200 Subject: [PATCH 13/14] WIP --- deployments/16718.json | 150 +++++++++++++++++++++++++++----- scripts/utils/deployMultisig.ts | 33 +++---- 2 files changed, 147 insertions(+), 36 deletions(-) diff --git a/deployments/16718.json b/deployments/16718.json index 605d6b21..24c80b7c 100644 --- a/deployments/16718.json +++ b/deployments/16718.json @@ -15,7 +15,11 @@ "address": "0x68c66f1C56CC6341856cf4427650978B653C78D6", "abiPath": "./abis/FinanceMaster.json", "deployTx": "0xe42984dfaae33628e9749c8cf1fa3e32dad88374075fa752aceefca33b6aa807", - "fullyQualifiedName": "contracts/finance/MasterFinance.sol:MasterFinance" + "fullyQualifiedName": "contracts/finance/MasterFinance.sol:MasterFinance", + "multisig": { + "address": "0x5C62B48A985938eD8944b54Ce1FaEF9A7938D290", + "type": "COMMON" + } }, "FinanceRewards_Multisig": { "address": "0x3224a48b63991a989e5326b69D0d3663bA7F087f", @@ -27,7 +31,11 @@ "address": "0xA9aFf50ABE9997EBe09834493cB675F8b13feB50", "abiPath": "./abis/FinanceRewards.json", "deployTx": "0x2e828c2a206b0738eb045fbf5ed4119b01a39ab948f7099e54c9156001aa1c42", - "fullyQualifiedName": "contracts/finance/Finance.sol:Finance" + "fullyQualifiedName": "contracts/finance/Finance.sol:Finance", + "multisig": { + "address": "0x3224a48b63991a989e5326b69D0d3663bA7F087f", + "type": "COMMON" + } }, "FinanceInvestors_Multisig": { "address": "0x50c023Be318DFf1D8dDfa00Bb5dF0D7E18656F44", @@ -39,7 +47,11 @@ "address": "0xC24b4c73dc9002c8aaBc3620965D727C29E0126F", "abiPath": "./abis/FinanceInvestors.json", "deployTx": "0xcb8e35bd5474a4a1a57d6561c816923f0dbb6cb56dd0f8ef9539f277adfb5c09", - "fullyQualifiedName": "contracts/finance/Finance.sol:Finance" + "fullyQualifiedName": "contracts/finance/Finance.sol:Finance", + "multisig" : { + "address": "0x50c023Be318DFf1D8dDfa00Bb5dF0D7E18656F44", + "type": "COMMON" + } }, "FinanceTeam_Multisig": { "address": "0x0Fcd3f7bB7C22BC92E80B7E26cC19F8Df8F502e0", @@ -51,7 +63,11 @@ "address": "0xfaE424EA67c94a510f9230b551bfE13340d9cA15", "abiPath": "./abis/FinanceTeam.json", "deployTx": "0x77773efe37e0d69e6cf1d89768fa9aa0c258303cfe0ad15a7332bfaab4b3d92d", - "fullyQualifiedName": "contracts/finance/Finance.sol:Finance" + "fullyQualifiedName": "contracts/finance/Finance.sol:Finance", + "multisig" : { + "address": "0x0Fcd3f7bB7C22BC92E80B7E26cC19F8Df8F502e0", + "type": "COMMON" + } }, "FinanceEcosystem_Multisig": { "address": "0x48A768523Aa2a68c33B711F825749D27C651fEd3", @@ -63,7 +79,11 @@ "address": "0xAfaBC47C72440037Db5F5F6011Dc2ac34fc52Fa6", "abiPath": "./abis/FinanceEcosystem.json", "deployTx": "0x3f167d4ba9de22fc23cdf8d0378543e97a0fb9ba386776489edb804abfd9d6eb", - "fullyQualifiedName": "contracts/finance/Finance.sol:Finance" + "fullyQualifiedName": "contracts/finance/Finance.sol:Finance", + "multisig" : { + "address": "0x48A768523Aa2a68c33B711F825749D27C651fEd3", + "type": "COMMON" + } }, "FinanceRevenue_Multisig": { "address": "0x1A4D8ECc2277599d1Da5ffc43Ad91f5e81E79296", @@ -75,7 +95,11 @@ "address": "0xD6F26AfFA195C145BBe9aabF188F2c56dee40018", "abiPath": "./abis/FinanceRevenue.json", "deployTx": "0x218f4e4cdca52c335cabfce4425066a50812f6044c8a8d973efe8ae467def9aa", - "fullyQualifiedName": "contracts/finance/Finance.sol:Finance" + "fullyQualifiedName": "contracts/finance/Finance.sol:Finance", + "multisig" : { + "address": "0x1A4D8ECc2277599d1Da5ffc43Ad91f5e81E79296", + "type": "COMMON" + } }, "AirBond": { "address": "0x096B5914C95C34Df19500DAff77470C845EC749D", @@ -103,6 +127,10 @@ "proxy": { "implementation": "0xb1662957A9e38441b2C6FE58dF2A1974B138e233", "fullyQualifiedName": "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol:ERC1967Proxy" + }, + "multisig": { + "address": "0x448da646517389ce148791CCB6CeA4a9966FA2E5", + "type": "COMMON" } }, "Treasury_Multisig": { @@ -115,7 +143,11 @@ "address": "0xF938841dc2889Ab0cC9fB3F198a01FAfA2852a0c", "abiPath": "./abis/Treasury.json", "deployTx": "0x2ed8dca668211bbf649bc445585a1555654909fdd4a875a4c6bf0a2c95b15398", - "fullyQualifiedName": "contracts/finance/Treasury.sol:Treasury" + "fullyQualifiedName": "contracts/finance/Treasury.sol:Treasury", + "multisig": { + "address": "0xF1136c049c8ad60d750BF6056Ce7510b2D3909a4", + "type": "COMMON" + } }, "BaseNodesManager_Multisig": { "address": "0x5A6D7162c59966046D1119550954D4e3B6C39dA3", @@ -137,6 +169,10 @@ "proxy": { "implementation": "0x1cde89EE9654296dDA9c7a263E0475C1FECe232D", "fullyQualifiedName": "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol:ERC1967Proxy" + }, + "multisig": { + "address": "0x5A6D7162c59966046D1119550954D4e3B6C39dA3", + "type": "COMMON" } }, "ServerNodesManager_Multisig": { @@ -159,6 +195,10 @@ "proxy": { "implementation": "0x2fc6Ad39bdd9Ad47Ee42782eDAec58Da2124D055", "fullyQualifiedName": "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol:ERC1967Proxy" + }, + "multisig": { + "address": "0xE7C1ae9EB8376159d9b4f64789A42bE5517A5077", + "type": "COMMON" } }, "LegacyPoolManager_Multisig": { @@ -181,6 +221,10 @@ "proxy": { "implementation": "0xe2A4c8ba76D8e8F2A756a4B847D9082AF5ce0601", "fullyQualifiedName": "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol:ERC1967Proxy" + }, + "multisig": { + "address": "0xa7f4FB51457e19A08EDF94Bc3A768acec3AdabdA", + "type": "COMMON" } }, "LockKeeper": { @@ -209,7 +253,11 @@ "address": "0x3629C36d39992bF8ece9748EfCa7AD279236A599", "abiPath": "./abis/Ecosystem_BondMarketplace_RewardsBank.json", "deployTx": "0x18f81408f4148feebf6d8093d4b66bc12c3e2d9837e7f411a5ad14fbac238db7", - "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" + "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank", + "multisig": { + "address": "0xe96c6206631615a78c94eaF256E3F360BA8603F1", + "type": "ECOSYSTEM" + } }, "Ecosystem_Starfleet_Multisig": { "address": "0x56f8d46C3D088576880204f6E840293841708766", @@ -221,7 +269,11 @@ "address": "0x8D310fEd1C8154bD00688d77b05722210CCBf52f", "abiPath": "./abis/Ecosystem_Starfleet_RewardsBank.json", "deployTx": "0x81293bdfc0acce762bec7f54258659fd94cc615d2a9a533c9dd0e6e7fe67deda", - "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" + "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank", + "multisig": { + "address": "0x56f8d46C3D088576880204f6E840293841708766", + "type": "ECOSYSTEM" + } }, "Ecosystem_Astradex_Multisig": { "address": "0x3AfEbeE38E5A4e3E7EDD66dAdEeD475Dc7287F6d", @@ -239,7 +291,11 @@ "address": "0x321FbD2cB1EA2073D554FD2b77063276B8C9331F", "abiPath": "./abis/Ecosystem_Astradex_TokenSafe.json", "deployTx": "0x632f1a52ba35c09ea4f633570060b3ad42a87fb29c1217ffcde0737e5941dcc8", - "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" + "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank", + "multisig": { + "address": "0xa2a5ea8cEc4F6968d4aa54359FECA8b02D6B5878", + "type": "COMMON" + } }, "Ecosystem_Government_Multisig": { "address": "0x0EDf3f28648b5a84563dCc9CA41f51BE59090948", @@ -257,31 +313,51 @@ "address": "0xA53444cb6Eb61c915F27Cc4eF8576500fC187B24", "abiPath": "./abis/Ecosystem_LiquidNodesManager_RewardsBank.json", "deployTx": "0x9d2bc0418dbb7a72db054f078cbf0f8e2aa28df33acb757d0915b3f6d2305334", - "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" + "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank", + "multisig": { + "address": "0x623f45fBCFa5f3B5eD518C7Ef753307dc438EF2C", + "type": "ECOSYSTEM" + } }, "Ecosystem_LiquidNodesManager_Treasury": { "address": "0x29ADdcdDed146B8764825555AdB47Bf4784997bF", "abiPath": "./abis/Ecosystem_LiquidNodesManager_Treasury.json", "deployTx": "0x2a82ece37847b0bb0d06b54e57dcdb8eb52b070db573c9f0d7834292a3dfdaf7", - "fullyQualifiedName": "contracts/finance/Treasury.sol:Treasury" + "fullyQualifiedName": "contracts/finance/Treasury.sol:Treasury", + "multisig": { + "address": "0x623f45fBCFa5f3B5eD518C7Ef753307dc438EF2C", + "type": "ECOSYSTEM" + } }, "Ecosystem_LiquidNodesManager_TreasuryFees": { "address": "0xee0dD0af0757DaBC46ea2fE6Dc75e17046617a66", "abiPath": "./abis/Ecosystem_LiquidNodesManager_TreasuryFees.json", "deployTx": "0xcc7b242045acf553330b5bc46de124f8e5aab484d0bf4877658cae71e04e3354", - "fullyQualifiedName": "contracts/finance/Treasury.sol:Treasury" + "fullyQualifiedName": "contracts/finance/Treasury.sol:Treasury", + "multisig": { + "address": "0x623f45fBCFa5f3B5eD518C7Ef753307dc438EF2C", + "type": "ECOSYSTEM" + } }, "Ecosystem_LiquidPool_RewardsBank": { "address": "0xEaFb27cF593609885856F68CC74524aBec81C5c8", "abiPath": "./abis/Ecosystem_LiquidPool_RewardsBank.json", "deployTx": "0x811e0a7f40520ec231871ba6b7560b373b2759a4d7bd520773efbdd99a85782b", - "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" + "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank", + "multisig": { + "address": "0x623f45fBCFa5f3B5eD518C7Ef753307dc438EF2C", + "type": "ECOSYSTEM" + } }, "Ecosystem_LiquidPool_StAMB": { "address": "0x2834C436d04ED155e736F994c1F3a0d05C4A8dE4", "abiPath": "./abis/Ecosystem_LiquidPool_StAMB.json", "deployTx": "0x1705263ad6adf4f1f87f62f87e73950b9bb69070a518062ee75fb399f7aa6d9d", - "fullyQualifiedName": "contracts/staking/liquid/StAMB.sol:StAMB" + "fullyQualifiedName": "contracts/staking/liquid/StAMB.sol:StAMB", + "multisig": { + "address": "0x623f45fBCFa5f3B5eD518C7Ef753307dc438EF2C", + "type": "ECOSYSTEM" + } }, "Ecosystem_LiquidPool_StakingTiers": { "address": "0xD0442B6d4cCf2fEe0B48bc1be607390F4f8EB987", @@ -291,6 +367,10 @@ "proxy": { "implementation": "0x220bB4D0d16AA509D126907d3fAe4EF55bE7316C", "fullyQualifiedName": "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol:ERC1967Proxy" + }, + "multisig": { + "address": "0x623f45fBCFa5f3B5eD518C7Ef753307dc438EF2C", + "type": "ECOSYSTEM" } }, "Ecosystem_LiquidNodesManager": { @@ -301,6 +381,10 @@ "proxy": { "implementation": "0xC54450028dAE52c1DC1bb9Dabe553457eABd4Aa3", "fullyQualifiedName": "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol:ERC1967Proxy" + }, + "multisig": { + "address": "0x623f45fBCFa5f3B5eD518C7Ef753307dc438EF2C", + "type": "ECOSYSTEM" } }, "Ecosystem_LiquidPool": { @@ -311,13 +395,21 @@ "proxy": { "implementation": "0xf8EB6FfA7b37406aB7FA4F55c2E38D6fE3652C55", "fullyQualifiedName": "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol:ERC1967Proxy" + }, + "multisig": { + "address": "0x623f45fBCFa5f3B5eD518C7Ef753307dc438EF2C", + "type": "ECOSYSTEM" } }, "Ecosystem_Astradex_ChronosFeeCollector": { "address": "0x97B7bDAcE8672a2aA553938FA5C289538E7449Ac", "abiPath": "./abis/Ecosystem_Astradex_ChronosFeeCollector.json", "deployTx": "0xf21babb4ad16277b8ef36ddac63adf4a99f909c0175e832a4ae5c33e55aa9d18", - "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" + "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank", + "multisig": { + "address": "0x3AfEbeE38E5A4e3E7EDD66dAdEeD475Dc7287F6d", + "type": "ECOSYSTEM" + } }, "Ecosystem_LimitedTokenPoolsManager_Multisig": { "address": "0x31baD4443e66E625b83D6EEC392Fec832A99945e", @@ -329,7 +421,11 @@ "address": "0xd09270E917024E75086e27854740871F1C8E0E10", "abiPath": "./abis/Ecosystem_HBRToken.json", "deployTx": "0x8217c563de8c3bae1cd041968cf3e67fcb6fdfcf9ef3d828483ad1cbdb10ab69", - "fullyQualifiedName": "contracts/staking/token/HBRToken.sol:HBRToken" + "fullyQualifiedName": "contracts/staking/token/HBRToken.sol:HBRToken", + "multisig": { + "address": "0x31baD4443e66E625b83D6EEC392Fec832A99945e", + "type": "ECOSYSTEM" + } }, "Ecosystem_GeneralTokenBank_Multisig": { "address": "0x7ebCde7D910A2A1167391D24E929e1c3a021Aa2C", @@ -341,18 +437,30 @@ "address": "0xaa2EE244E7644D42FD995AF7d45d4ecFD0F2bF6F", "abiPath": "./abis/Ecosystem_GeneralTokenBank.json", "deployTx": "0x1d6552e36b5ccf075e239ea8789747b9682947929ab8081947469264dae4dee2", - "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" + "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank", + "multisig": { + "address": "0x7ebCde7D910A2A1167391D24E929e1c3a021Aa2C", + "type": "ECOSYSTEM" + } }, "Ecosystem_LimitedTokenPoolsManager_RewardsBank": { "address": "0xd8E8819F9A3160F561a754a3f8c499BFd76947cb", "abiPath": "./abis/Ecosystem_LimitedTokenPoolsManager_RewardsBank.json", "deployTx": "0x785297bb1786ea24cf6ec7ef84eac28a2e92b9cf83a270cfa3da69edcdd1df19", - "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" + "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank", + "multisig": { + "address": "0x31baD4443e66E625b83D6EEC392Fec832A99945e", + "type": "ECOSYSTEM" + } }, "Ecosystem_LimitedTokenPoolsManager": { "address": "0x4A0dbD61d017198a9eC5B444CdD307D55d4d879A", "abiPath": "./abis/Ecosystem_LimitedTokenPoolsManager.json", "deployTx": "0xb9778368eba50a55a4606d480ea3d6e4e572963b911096c949d7486fb3bdc377", - "fullyQualifiedName": "contracts/staking/token/LimitedTokenPoolsManager.sol:LimitedTokenPoolsManager" + "fullyQualifiedName": "contracts/staking/token/LimitedTokenPoolsManager.sol:LimitedTokenPoolsManager", + "multisig": { + "address": "0x31baD4443e66E625b83D6EEC392Fec832A99945e", + "type": "ECOSYSTEM" + } } -} \ No newline at end of file +} diff --git a/scripts/utils/deployMultisig.ts b/scripts/utils/deployMultisig.ts index b5c9c0a4..768546f2 100644 --- a/scripts/utils/deployMultisig.ts +++ b/scripts/utils/deployMultisig.ts @@ -1,33 +1,36 @@ -import { Multisig__factory } from "../../typechain-types"; import { ContractNames } from "../../src"; import { EcosystemMultisigSettings, Roadmap2023MultisigSettings } from "./addresses"; import { Signer } from "ethers"; -import { loadDeployment, deploy } from "@airdao/deployments/deploying"; - +import { loadDeployment, getMultisigFactory, MultisigSettings } from "@airdao/deployments/deploying"; export async function deployMultisig(contractName: string, signer: Signer, version: "common" | "eco" = "common") { const chainId = (await signer.provider!.getNetwork()).chainId; - - let deployArgs: any = []; + const settings: MultisigSettings = { + owner: "", + signers: [], + isInitiatorFlags: [], + threshold: 0, + }; if (version === "eco") { const ecosystemMasterMultisig = loadDeployment(ContractNames.Ecosystem_MasterMultisig, chainId).address; - deployArgs = [...EcosystemMultisigSettings, ecosystemMasterMultisig]; + settings.owner = ecosystemMasterMultisig; + settings.signers = EcosystemMultisigSettings[0]; + settings.isInitiatorFlags = EcosystemMultisigSettings[1]; + settings.threshold = EcosystemMultisigSettings[2]; } else { const masterMultisig = loadDeployment(ContractNames.MasterMultisig, chainId).address; - deployArgs = [...Roadmap2023MultisigSettings, masterMultisig]; + settings.owner = masterMultisig; + settings.signers = Roadmap2023MultisigSettings[0]; + settings.isInitiatorFlags = Roadmap2023MultisigSettings[1]; + settings.threshold = Roadmap2023MultisigSettings[2]; } - const isMainnet = chainId === 16718; - if (!isMainnet) deployArgs[2] = 1; // threshold + const factory = getMultisigFactory(chainId); - - return await deploy({ - artifactName: "Multisig", - contractName, deployArgs, signer, - loadIfAlreadyDeployed: true, - }); + const isMainnet = chainId === 16718; + if (!isMainnet) settings.threshold = 1;// threshold } From 0ef22e7b6a1d83cbfdc52b9e0cb898e6492a2adf Mon Sep 17 00:00:00 2001 From: SigismundSchlomo Date: Wed, 4 Dec 2024 12:54:43 +0200 Subject: [PATCH 14/14] Update deployments --- deployments/22040.json | 186 ++++++++++++++++++++++++++++++++++------- 1 file changed, 154 insertions(+), 32 deletions(-) diff --git a/deployments/22040.json b/deployments/22040.json index 9c563481..092624f0 100644 --- a/deployments/22040.json +++ b/deployments/22040.json @@ -15,7 +15,11 @@ "address": "0x090801d716A9d501F57519B1f4bd6aBD2961aa88", "abiPath": "./abis/FinanceMaster.json", "deployTx": "0x39ebeb15a48d42d2f759eb1480d073a67a2273e86e879f00c69de1dedfc98547", - "fullyQualifiedName": "contracts/finance/MasterFinance.sol:MasterFinance" + "fullyQualifiedName": "contracts/finance/MasterFinance.sol:MasterFinance", + "multisig": { + "address": "0x4db96017947838031561b35A643B2d9Dbf163241", + "type": "COMMON" + } }, "FinanceRewards_Multisig": { "address": "0x17c9b9A8BeeB1FE98566877AF442dbeBd0F5dB09", @@ -27,7 +31,11 @@ "address": "0xF01EF9dFf8cA6e4324b000812D75Aa4A67ee52ca", "abiPath": "./abis/FinanceRewards.json", "deployTx": "0x43124c139cdd9b485abb70b145bd19610d0d2a339725762d8d20198471560aac", - "fullyQualifiedName": "contracts/finance/Finance.sol:Finance" + "fullyQualifiedName": "contracts/finance/Finance.sol:Finance", + "multisig": { + "address": "0x17c9b9A8BeeB1FE98566877AF442dbeBd0F5dB09", + "type": "COMMON" + } }, "FinanceInvestors_Multisig": { "address": "0x58E98B0974A22270D974Ce914Fc430E048368546", @@ -39,7 +47,11 @@ "address": "0xea3011C9Efeb1e2A63A0c6cb23a0e0314970735F", "abiPath": "./abis/FinanceInvestors.json", "deployTx": "0x0a0cfca158f1610f305d1b6d4d5632f0317b3cbe81250028a00524f5fb94a860", - "fullyQualifiedName": "contracts/finance/Finance.sol:Finance" + "fullyQualifiedName": "contracts/finance/Finance.sol:Finance", + "multisig": { + "address": "0x58E98B0974A22270D974Ce914Fc430E048368546", + "type": "COMMON" + } }, "FinanceTeam_Multisig": { "address": "0xeeff62628dcD8E8AF2aA376C718f54602a54B5c5", @@ -51,7 +63,11 @@ "address": "0x8eb921E5F4C3e04a6cd9D7934e533225aEf722e5", "abiPath": "./abis/FinanceTeam.json", "deployTx": "0xd33fde7b42e16746ae61655b1312a3608602b0efac604dbe96cae438a8923bb5", - "fullyQualifiedName": "contracts/finance/Finance.sol:Finance" + "fullyQualifiedName": "contracts/finance/Finance.sol:Finance", + "multisig": { + "address": "0xeeff62628dcD8E8AF2aA376C718f54602a54B5c5", + "type": "COMMON" + } }, "FinanceEcosystem_Multisig": { "address": "0x8e21c4FD0FBEb51484272a9DaA626740B3817e48", @@ -63,7 +79,11 @@ "address": "0x1D49c49CD99d149142a4B9c673bbeacB8cBe194c", "abiPath": "./abis/FinanceEcosystem.json", "deployTx": "0xdc8a7bff62854494c2272855bbefaf1adac9d1adc9090395de4ae2d18f430fc4", - "fullyQualifiedName": "contracts/finance/Finance.sol:Finance" + "fullyQualifiedName": "contracts/finance/Finance.sol:Finance", + "multisig": { + "address": "0x8e21c4FD0FBEb51484272a9DaA626740B3817e48", + "type": "COMMON" + } }, "FinanceRevenue_Multisig": { "address": "0xc050F45e9394C47c020AE3322F7017D67D4e215b", @@ -75,7 +95,11 @@ "address": "0x1D1c26e0b8DAFa08FD678A888a8f4de175B1d060", "abiPath": "./abis/FinanceRevenue.json", "deployTx": "0x9ece25118ea8dfa3142139df5979acc2da622b3c584f3fa86521fdb9f11f0b4a", - "fullyQualifiedName": "contracts/finance/Finance.sol:Finance" + "fullyQualifiedName": "contracts/finance/Finance.sol:Finance", + "multisig": { + "address": "0xc050F45e9394C47c020AE3322F7017D67D4e215b", + "type": "COMMON" + } }, "AirBond": { "address": "0x765e3e03f8dfca312EfdAb378e386E1EA60ee93F", @@ -103,6 +127,10 @@ "proxy": { "implementation": "0xeFfc86f39423d762be186187283Ffe5c352b7ee3", "fullyQualifiedName": "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol:ERC1967Proxy" + }, + "multisig": { + "address": "0x7cee2ae3042D2C646Aa24FACfA92dfeE589046f0", + "type": "COMMON" } }, "Treasury_Multisig": { @@ -115,7 +143,11 @@ "address": "0xdC103bf9a3789f78958f365321F3BA07e369667A", "abiPath": "./abis/Treasury.json", "deployTx": "0x5e1b0c50bd919292c64b8e730118f204730ff5535ee2abb9ba80a29453377a93", - "fullyQualifiedName": "contracts/finance/Treasury.sol:Treasury" + "fullyQualifiedName": "contracts/finance/Treasury.sol:Treasury", + "multisig": { + "address": "0x5f0EA6276D40A3529E060EA5Acb9bf963f5c430a", + "type": "COMMON" + } }, "BaseNodesManager_Multisig": { "address": "0x450A606B9D42D081CE58bC5cDF6acA380acF7731", @@ -127,7 +159,11 @@ "address": "0xe8DA2709BCAD1e2045f25A13347ed994b3d2cBaD", "abiPath": "./abis/BaseNodesManager_RewardsBank.json", "deployTx": "0x2fb8460e66d74d45b1e30e4eee2c064bc4737b803ce688df7f0f814daaf6fbde", - "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" + "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank", + "multisig": { + "address": "0x450A606B9D42D081CE58bC5cDF6acA380acF7731", + "type": "COMMON" + } }, "BaseNodesManager": { "address": "0x97464F18b71cbF5f42B134CE48b47341f4B4fddf", @@ -137,7 +173,11 @@ "proxy": { "implementation": "0x7aE1eAFC7a9b106b392ddEE027449b09dbDE1347", "fullyQualifiedName": "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol:ERC1967Proxy" - } + }, + "multisig": { + "address": "0x450A606B9D42D081CE58bC5cDF6acA380acF7731", + "type": "COMMON" + } }, "ServerNodesManager_Multisig": { "address": "0x3fbb4BfEfB478fcE4fb52503ce95e7602E4BB760", @@ -159,7 +199,11 @@ "address": "0x99B1A627604dB1479379c2c576dAFdC8AE4C546E", "abiPath": "./abis/ServerNodesManager_RewardsBank.json", "deployTx": "0xe269d2a9f2d6e13dda7213d603e908a3bb0b84590971276b502f005d61740822", - "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" + "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank", + "multisig": { + "address": "0x3fbb4BfEfB478fcE4fb52503ce95e7602E4BB760", + "type": "COMMON" + } }, "ServerNodesManager": { "address": "0x55C402b5F9C2c3DfE3d866B36598f0Fd53e03B89", @@ -169,6 +213,10 @@ "proxy": { "implementation": "0xC54007213080526139d38eAe66777dFac413772C", "fullyQualifiedName": "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol:ERC1967Proxy" + }, + "multisig": { + "address": "0x3fbb4BfEfB478fcE4fb52503ce95e7602E4BB760", + "type": "COMMON" } }, "LegacyPoolManager_Multisig": { @@ -181,7 +229,11 @@ "address": "0xF3EE25f6600B68cDBeECa955B4bCcF9c9ABF9a40", "abiPath": "./abis/LegacyPoolManager_RewardsBank.json", "deployTx": "0xb20a3daef68f30c8dc44dffa11d28cea672b57482789d893e2da71922153ac4d", - "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" + "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank", + "multisig": { + "address": "0xE6b3585c2E2Fe8C39EECB163e5D8C90346c873F4", + "type": "COMMON" + } }, "LegacyPoolManager": { "address": "0x0aE9a337A10F1E31cAf4Ff7b0F915277361708c6", @@ -191,6 +243,10 @@ "proxy": { "implementation": "0x91c2F6725a1e076929E1fDECCfD72209D0694af0", "fullyQualifiedName": "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol:ERC1967Proxy" + }, + "multisig": { + "address": "0xE6b3585c2E2Fe8C39EECB163e5D8C90346c873F4", + "type": "COMMON" } }, "Fees_Multisig": { @@ -203,7 +259,11 @@ "address": "0xebd013e82004a58f0599d2f45918250e04d80Abf", "abiPath": "./abis/Fees_Treasure.json", "deployTx": "0x005ee9b58676be26d6f03997b8e3be2c8f50b3307c79226faca5bae01ac31ef1", - "fullyQualifiedName": "contracts/finance/Finance.sol:Finance" + "fullyQualifiedName": "contracts/finance/Finance.sol:Finance", + "multisig": { + "address": "0x8C52c360270b324A65Cd4bD4a5e2DCBe6aF8f500", + "type": "COMMON" + } }, "Fees": { "address": "0x0784273B3eb7EC159bb48Da834e230fe583D11CC", @@ -213,6 +273,10 @@ "proxy": { "implementation": "0x31Ec9254bf00cF1429c250398d30A711E19BffC3", "fullyQualifiedName": "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol:ERC1967Proxy" + }, + "multisig": { + "address": "0x8C52c360270b324A65Cd4bD4a5e2DCBe6aF8f500", + "type": "COMMON" } }, "Ecosystem_MasterMultisig": { @@ -231,7 +295,11 @@ "address": "0xC6613c683f2d4684D806FAcb9D413f41221537c6", "abiPath": "./abis/Ecosystem_BondMarketplace_RewardsBank.json", "deployTx": "0x24504b2eb16838604215f33de18ce78645f7fb9b75d4421eeeeaddbc8159f473", - "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" + "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank", + "multisig": { + "address": "0xb04D84FC6BA3202f741d0db0124d890e7A3493b7", + "type": "ECOSYSTEM" + } }, "Ecosystem_Starfleet_Multisig": { "address": "0x97a3cC52DB5DB58AF95E939d9b76EDCd965038B0", @@ -243,7 +311,11 @@ "address": "0x2f82974A7F45D626Bcd332C2f09729aCeC8b8923", "abiPath": "./abis/Ecosystem_Starfleet_RewardsBank.json", "deployTx": "0x821ddb582a721b47a17c074cc7dce49810f79c63304f2b42b60db99d0394feb7", - "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" + "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank", + "multisig": { + "address": "0x97a3cC52DB5DB58AF95E939d9b76EDCd965038B0", + "type": "ECOSYSTEM" + } }, "Ecosystem_Astradex_Multisig": { "address": "0xfFc01d93c4c80884E7F17EC8DAf3D92f56562bcb", @@ -261,13 +333,21 @@ "address": "0xB6FCa75A108bCde974e2DDcC603855DbE96E45DA", "abiPath": "./abis/Ecosystem_Astradex_TokenSafe.json", "deployTx": "0x91dcfdbe3cb1a0c7a0d7cb5f51a18e75fd4003cc40b35cd577d17962d2810fd9", - "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" + "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank", + "multisig": { + "address": "0xd9724A3D6aa2441d78727C3eeEfE4b941186B41a", + "type": "COMMON" + } }, "Ecosystem_Astradex_ChronosFeeCollector": { "address": "0x927ade9eF5a4A4B94E2eBcBcc84441d584c44d7D", "abiPath": "./abis/Ecosystem_Astradex_ChronosFeeCollector.json", "deployTx": "0x28b23ef153dd329d2786fab91a6a52c42b95495b5e10564ab7476eae825fa5a8", - "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" + "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank", + "multisig": { + "address": "0xfFc01d93c4c80884E7F17EC8DAf3D92f56562bcb", + "type": "ECOSYSTEM" + } }, "Ecosystem_Government_Multisig": { "address": "0xCf457c3A00b2132241357C3b026C590909074837", @@ -285,31 +365,51 @@ "address": "0xd997CBf5d25973e750354Afb97d87dFF86670ef9", "abiPath": "./abis/Ecosystem_LiquidNodesManager_RewardsBank.json", "deployTx": "0xdc1365f9594b0208cc290c5400b26a02e53898f883eeb094a4b695a63c815d53", - "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" + "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank", + "multisig": { + "address": "0xf1ee85d0d76D5165aa7825c14CE93B53fb1812de", + "type": "ECOSYSTEM" + } }, "Ecosystem_LiquidNodesManager_Treasury": { "address": "0xaAFA9049908ca8897F64b54a19fc913F9f0476b3", "abiPath": "./abis/Ecosystem_LiquidNodesManager_Treasury.json", "deployTx": "0x494265d84dfbfac627dc6f5e5b417a142ce9e9a1e5ab10bb92141579531302d8", - "fullyQualifiedName": "contracts/finance/Treasury.sol:Treasury" + "fullyQualifiedName": "contracts/finance/Treasury.sol:Treasury", + "multisig": { + "address": "0xf1ee85d0d76D5165aa7825c14CE93B53fb1812de", + "type": "ECOSYSTEM" + } }, "Ecosystem_LiquidNodesManager_TreasuryFees": { "address": "0xbeF462D62A5351bADF6D220F98F05E38bB3A53d1", "abiPath": "./abis/Ecosystem_LiquidNodesManager_TreasuryFees.json", "deployTx": "0xe6f9f5ce7081eef7b0c90981be71bcccd79ea111f34d6d0a7c54b179d2a8edf7", - "fullyQualifiedName": "contracts/finance/Treasury.sol:Treasury" + "fullyQualifiedName": "contracts/finance/Treasury.sol:Treasury", + "multisig": { + "address": "0xf1ee85d0d76D5165aa7825c14CE93B53fb1812de", + "type": "ECOSYSTEM" + } }, "Ecosystem_LiquidPool_RewardsBank": { "address": "0xB11685611cBC6E9445a14BA02594d42931276550", "abiPath": "./abis/Ecosystem_LiquidPool_RewardsBank.json", "deployTx": "0xf3d812d3fe728e108b883ab43990ec381371bc536b36822b56626e30952e3d3a", - "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" + "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank", + "multisig": { + "address": "0xf1ee85d0d76D5165aa7825c14CE93B53fb1812de", + "type": "ECOSYSTEM" + } }, "Ecosystem_LiquidPool_StAMB": { "address": "0x5C114A3E9b6DB57A9FE5950eC1946278a2d7A22b", "abiPath": "./abis/Ecosystem_LiquidPool_StAMB.json", "deployTx": "0xf1a8d45804b131d2420d422d16cc961c955ee4f344f78e89e105604a9faed840", - "fullyQualifiedName": "contracts/staking/liquid/StAMB.sol:StAMB" + "fullyQualifiedName": "contracts/staking/liquid/StAMB.sol:StAMB", + "multisig": { + "address": "0xf1ee85d0d76D5165aa7825c14CE93B53fb1812de", + "type": "ECOSYSTEM" + } }, "Ecosystem_LiquidPool_StakingTiers": { "address": "0x926C2A4a3355d608540749af9017D4613A14E3e1", @@ -319,6 +419,10 @@ "proxy": { "implementation": "0xb9f7D7274e09386A8706b1386484cd5A578e9c1b", "fullyQualifiedName": "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol:ERC1967Proxy" + }, + "multisig": { + "address": "0xf1ee85d0d76D5165aa7825c14CE93B53fb1812de", + "type": "ECOSYSTEM" } }, "Ecosystem_LiquidNodesManager": { @@ -329,6 +433,10 @@ "proxy": { "implementation": "0x0e774C2289a1Aadc7257b0248A505CEeE59fCF0E", "fullyQualifiedName": "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol:ERC1967Proxy" + }, + "multisig": { + "address": "0xf1ee85d0d76D5165aa7825c14CE93B53fb1812de", + "type": "ECOSYSTEM" } }, "Ecosystem_LiquidPool": { @@ -339,14 +447,12 @@ "proxy": { "implementation": "0x7184DD655aacCCb28376Fa1B59e3712566Df670b", "fullyQualifiedName": "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol:ERC1967Proxy" + }, + "multisig": { + "address": "0xf1ee85d0d76D5165aa7825c14CE93B53fb1812de", + "type": "ECOSYSTEM" } }, - "Ecosystem_HRBToken": { - "address": "0xCB856833c615ef09Ba779D35D663b849aD23C957", - "abiPath": "./abis/Ecosystem_HRBToken.json", - "deployTx": "0x1c7a3ff3e00b95e2e01212a0078613ee807a28591b9a2024060e6c6d68fadfe9", - "fullyQualifiedName": "contracts/staking/token/HBRToken.sol:HBRToken" - }, "Ecosystem_LimitedTokenPoolsManager_Multisig": { "address": "0x40d0634d0D34f8da1D8A68010EBEFEE63cB2324d", "abiPath": "./abis/Ecosystem_LimitedTokenPoolsManager_Multisig.json", @@ -357,19 +463,31 @@ "address": "0x7B58Cbb7c4Ff2E53F8c4405606D0A7AF707ab00b", "abiPath": "./abis/Ecosystem_HBRToken.json", "deployTx": "0x29bc4a78e3c19ca922cfc90d4346815b146ec271c41b95b7334d0050d7b3081d", - "fullyQualifiedName": "contracts/staking/token/HBRToken.sol:HBRToken" + "fullyQualifiedName": "contracts/staking/token/HBRToken.sol:HBRToken", + "multisig": { + "address": "0x40d0634d0D34f8da1D8A68010EBEFEE63cB2324d", + "type": "ECOSYSTEM" + } }, "Ecosystem_LimitedTokenPoolsManager_RewardsBank": { "address": "0xc46F3802ABe7Ce5025Fd18c15a7f6249815A9cFa", "abiPath": "./abis/Ecosystem_LimitedTokenPoolsManager_RewardsBank.json", "deployTx": "0x6f6be0984930962cf249e058c3aa3be26a1461c216bc4c8b6b538eddb47f2647", - "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" + "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank", + "multisig": { + "address": "0x40d0634d0D34f8da1D8A68010EBEFEE63cB2324d", + "type": "ECOSYSTEM" + } }, "Ecosystem_LimitedTokenPoolsManager": { "address": "0x2192f4763e1AfC275A71C14BDBe663dE461c2b17", "abiPath": "./abis/Ecosystem_LimitedTokenPoolsManager.json", "deployTx": "0x8be309830279a581a3a02b166b53d7c0ed303bf7b4b857fa056cf9836178c257", - "fullyQualifiedName": "contracts/staking/token/LimitedTokenPoolsManager.sol:LimitedTokenPoolsManager" + "fullyQualifiedName": "contracts/staking/token/LimitedTokenPoolsManager.sol:LimitedTokenPoolsManager", + "multisig": { + "address": "0x40d0634d0D34f8da1D8A68010EBEFEE63cB2324d", + "type": "ECOSYSTEM" + } }, "Ecosystem_GeneralTokenBank_Multisig": { "address": "0x418af75764C5D0d156E4a3fb77427Ffc9e735042", @@ -381,7 +499,11 @@ "address": "0x3Ec863bbdA1AebEaF72819EF47Abf201c5Ff085e", "abiPath": "./abis/Ecosystem_GeneralTokenBank.json", "deployTx": "0xfa38d1e01829005fe34eafa81be95f8fe78d20e77c59c3451141cb93e6e2d0a8", - "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank" + "fullyQualifiedName": "contracts/funds/RewardsBank.sol:RewardsBank", + "multisig": { + "address": "0x3Ec863bbdA1AebEaF72819EF47Abf201c5Ff085e", + "type": "ECOSYSTEM" + } }, "MultisigFactory": { "address": "0x930bafD4580f0ce20E8985Cd38Ee5526A252B14d", @@ -393,4 +515,4 @@ "fullyQualifiedName": "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol:ERC1967Proxy" } } -} \ No newline at end of file +}