@gooddollar/goodprotocol 2.1.4 → 2.2.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/abis/IdentityV4.min.json +1 -0
- package/artifacts/contracts/DAOStackInterfaces.sol/Avatar.dbg.json +1 -1
- package/artifacts/contracts/DAOStackInterfaces.sol/Controller.dbg.json +1 -1
- package/artifacts/contracts/DAOStackInterfaces.sol/GlobalConstraintInterface.dbg.json +1 -1
- package/artifacts/contracts/DAOStackInterfaces.sol/IntVoteInterface.dbg.json +1 -1
- package/artifacts/contracts/DAOStackInterfaces.sol/ReputationInterface.dbg.json +1 -1
- package/artifacts/contracts/DAOStackInterfaces.sol/SchemeRegistrar.dbg.json +1 -1
- package/artifacts/contracts/IUniswapV3.sol/INonfungiblePositionManager.dbg.json +1 -1
- package/artifacts/contracts/IUniswapV3.sol/IUniswapV3Pool.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/AggregatorV3Interface.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/ERC20.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IAaveIncentivesController.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IAdminWallet.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IDonationStaking.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IERC2917.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IFirstClaimPool.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IGoodDollar.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IGoodStaking.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IHasRouter.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IIdentity.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IIdentityV2.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/ILendingPool.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IMultichainRouter.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/INameService.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IQuoterV2.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/ISwapRouter.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/IUBIScheme.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/ProxyAdmin.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/Reserve.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/Uniswap.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/UniswapFactory.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/UniswapPair.dbg.json +1 -1
- package/artifacts/contracts/Interfaces.sol/cERC20.dbg.json +1 -1
- package/artifacts/contracts/MentoInterfaces.sol/IBancorExchangeProvider.dbg.json +1 -1
- package/artifacts/contracts/MentoInterfaces.sol/IBroker.dbg.json +1 -1
- package/artifacts/contracts/MentoInterfaces.sol/IGoodDollarExchangeProvider.dbg.json +1 -1
- package/artifacts/contracts/MentoInterfaces.sol/IGoodDollarExpansionController.dbg.json +1 -1
- package/artifacts/contracts/MentoInterfaces.sol/IMentoReserve.dbg.json +1 -1
- package/artifacts/contracts/MentoInterfaces.sol/ITradingLimits.dbg.json +1 -1
- package/artifacts/contracts/fuseFaucet/Faucet.sol/Faucet.dbg.json +1 -1
- package/artifacts/contracts/fuseFaucet/FuseFaucet.sol/FuseFaucet.dbg.json +1 -1
- package/artifacts/contracts/fuseFaucet/FuseFaucetV2.sol/FuseFaucetV2.dbg.json +1 -1
- package/artifacts/contracts/fuseFaucet/SuperfluidFacuet.sol/SuperfluidFaucet.dbg.json +1 -1
- package/artifacts/contracts/governance/ClaimersDistribution.sol/ClaimersDistribution.dbg.json +1 -1
- package/artifacts/contracts/governance/CompoundVotingMachine.sol/CompoundVotingMachine.dbg.json +1 -1
- package/artifacts/contracts/governance/GReputation.sol/GReputation.dbg.json +1 -1
- package/artifacts/contracts/governance/GovernanceStaking.sol/GovernanceStaking.dbg.json +1 -1
- package/artifacts/contracts/governance/MultiBaseGovernanceShareField.sol/MultiBaseGovernanceShareField.dbg.json +1 -1
- package/artifacts/contracts/governance/Reputation.sol/Reputation.dbg.json +1 -1
- package/artifacts/contracts/governance/StakersDistribution.sol/StakersDistribution.dbg.json +1 -1
- package/artifacts/contracts/identity/IdentityV2.sol/IdentityV2.dbg.json +1 -1
- package/artifacts/contracts/identity/IdentityV3.sol/IdentityV3.dbg.json +1 -1
- package/artifacts/contracts/identity/IdentityV3.sol/IdentityV3.json +2 -2
- package/artifacts/contracts/identity/IdentityV4.sol/IdentityV4.dbg.json +4 -0
- package/artifacts/contracts/identity/IdentityV4.sol/IdentityV4.json +1162 -0
- package/artifacts/contracts/invite/InvitesFuseV2.sol/InvitesFuseV2.dbg.json +1 -1
- package/artifacts/contracts/invite/InvitesV1.sol/InvitesV1.dbg.json +1 -1
- package/artifacts/contracts/invite/InvitesV2.sol/InvitesV2.dbg.json +1 -1
- package/artifacts/contracts/invite/OneTimeReward.sol/OneTimeReward.dbg.json +1 -1
- package/artifacts/contracts/mocks/AaveMock.sol/AaveMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/AaveUSDMockOracle.sol/AaveUSDMockOracle.dbg.json +1 -1
- package/artifacts/contracts/mocks/BatUSDMockOracle.sol/BatUSDMockOracle.dbg.json +1 -1
- package/artifacts/contracts/mocks/CeloDistributionHelperTest.sol/CeloDistributionHelperTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/CeloDistributionHelperTest.sol/CeloDistributionHelperTestHelper.dbg.json +1 -1
- package/artifacts/contracts/mocks/CompUsdMockOracle.sol/CompUSDMockOracle.dbg.json +1 -1
- package/artifacts/contracts/mocks/DAIMock.sol/DAIMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/DaiEthPriceMockOracle.sol/DaiEthPriceMockOracle.dbg.json +1 -1
- package/artifacts/contracts/mocks/DecimalsMock.sol/DecimalsMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/DistributionHelperTest.sol/DistributionHelperTestHelper.dbg.json +1 -1
- package/artifacts/contracts/mocks/EthUSDMockOracle.sol/EthUSDMockOracle.dbg.json +1 -1
- package/artifacts/contracts/mocks/FeesFormularMock.sol/FeesFormulaMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/GasPriceMockOracle.sol/GasPriceMockOracle.dbg.json +1 -1
- package/artifacts/contracts/mocks/GenericDistributionHelperTest.sol/GenericDistributionHelperTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/GenericDistributionHelperTest.sol/GenericDistributionHelperTestHelper.dbg.json +1 -1
- package/artifacts/contracts/mocks/GoodCompoundStakingTest.sol/GoodCompoundStakingTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/GoodFundManagerTest.sol/GoodFundManagerTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/IdentityMock.sol/IdentityMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/IncentiveControllerMock.sol/IncentiveControllerMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/LendingPoolMock.sol/LendingPoolMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/OverMintTester.sol/IGoodDollarStakingTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/OverMintTester.sol/OverMintTester.dbg.json +1 -1
- package/artifacts/contracts/mocks/OverMintTesterRegularStake.sol/OverMintTesterRegularStake.dbg.json +1 -1
- package/artifacts/contracts/mocks/PayableMock.sol/PayableMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/SixteenDecimalsTokenMock.sol/SixteenDecimalsTokenMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/SwapHelperTest.sol/SwapHelperTest.dbg.json +1 -1
- package/artifacts/contracts/mocks/TwentyDecimalsTokenMock.sol/TwentyDecimalsTokenMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock2.dbg.json +1 -1
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock3.dbg.json +1 -1
- package/artifacts/contracts/mocks/UpgradableMocks.sol/UpgradableMock4.dbg.json +1 -1
- package/artifacts/contracts/mocks/UsdcMock.sol/USDCMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cBATMock.sol/cBATMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cDAILowWorthMock.sol/cDAILowWorthMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cDAIMock.sol/cDAIMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cDAINonMintableMock.sol/cDAINonMintableMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cDecimalsMock.sol/cDecimalsMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cSDTMock.sol/cSDTMock.dbg.json +1 -1
- package/artifacts/contracts/mocks/cUSDCMock.sol/cUSDCMock.dbg.json +1 -1
- package/artifacts/contracts/reserve/CeloDistributionHelper.sol/CeloDistributionHelper.dbg.json +1 -1
- package/artifacts/contracts/reserve/DistributionHelper.sol/DistributionHelper.dbg.json +1 -1
- package/artifacts/contracts/reserve/ExchangeHelper.sol/ExchangeHelper.dbg.json +1 -1
- package/artifacts/contracts/reserve/GenericDistributionHelper.sol/GenericDistributionHelper.dbg.json +1 -1
- package/artifacts/contracts/reserve/GoodMarketMaker.sol/GoodMarketMaker.dbg.json +1 -1
- package/artifacts/contracts/reserve/GoodReserveCDai.sol/ContributionCalc.dbg.json +1 -1
- package/artifacts/contracts/reserve/GoodReserveCDai.sol/GoodReserveCDai.dbg.json +1 -1
- package/artifacts/contracts/staking/BaseShareField.sol/BaseShareField.dbg.json +1 -1
- package/artifacts/contracts/staking/BaseShareFieldV2.sol/BaseShareFieldV2.dbg.json +1 -1
- package/artifacts/contracts/staking/DonationsStaking.sol/DonationsStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/FuseStakingV3.sol/FuseStakingV3.dbg.json +1 -1
- package/artifacts/contracts/staking/FuseStakingV3.sol/IConsensus.dbg.json +1 -1
- package/artifacts/contracts/staking/FuseStakingV3.sol/PegSwap.dbg.json +1 -1
- package/artifacts/contracts/staking/GoodFundManager.sol/GoodFundManager.dbg.json +1 -1
- package/artifacts/contracts/staking/SimpleStaking.sol/SimpleStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/SimpleStakingV2.sol/SimpleStakingV2.dbg.json +1 -1
- package/artifacts/contracts/staking/UniswapV2SwapHelper.sol/UniswapV2SwapHelper.dbg.json +1 -1
- package/artifacts/contracts/staking/aave/AaveStakingFactory.sol/AaveStakingFactory.dbg.json +1 -1
- package/artifacts/contracts/staking/aave/GoodAaveStaking.sol/GoodAaveStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/aave/GoodAaveStakingV2.sol/GoodAaveStakingV2.dbg.json +1 -1
- package/artifacts/contracts/staking/compound/CompoundStakingFactory.sol/CompoundStakingFactory.dbg.json +1 -1
- package/artifacts/contracts/staking/compound/GoodCompoundStaking.sol/GoodCompoundStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/compound/GoodCompoundStakingV2.sol/GoodCompoundStakingV2.dbg.json +1 -1
- package/artifacts/contracts/staking/utils/Math64X64.sol/Math64x64.dbg.json +1 -1
- package/artifacts/contracts/token/ERC20PresetMinterPauserUpgradeable.sol/ERC20PresetMinterPauserUpgradeable.dbg.json +1 -1
- package/artifacts/contracts/token/ERC677.sol/ERC677.dbg.json +1 -1
- package/artifacts/contracts/token/ERC677.sol/ERC677Receiver.dbg.json +1 -1
- package/artifacts/contracts/token/GoodDollar.sol/GoodDollar.dbg.json +1 -1
- package/artifacts/contracts/token/GoodDollar2.sol/GoodDollar2.dbg.json +1 -1
- package/artifacts/contracts/token/IFeesFormula.sol/IFeesFormula.dbg.json +1 -1
- package/artifacts/contracts/token/MultichainFeeFormula.sol/MultichainFeeFormula.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/ERC20Permit.sol/ERC20Permit.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/ERC20Permit.sol/SelfApprove.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/IGoodDollarCustom.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/ISuperGoodDollar.sol/ISuperGoodDollar.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/ISuperToken.sol/ISuperToken.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/SuperGoodDollar.sol/SuperGoodDollar.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/SuperToken.sol/SuperToken.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/SuperfluidToken.sol/SuperfluidToken.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/UUPSProxiable.sol/UUPSProxiable.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/UUPSProxy.sol/Proxy.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSProxy.dbg.json +1 -1
- package/artifacts/contracts/token/superfluid/UUPSProxy.sol/UUPSUtils.dbg.json +1 -1
- package/artifacts/contracts/ubi/UBIScheme.sol/UBIScheme.dbg.json +1 -1
- package/artifacts/contracts/ubi/UBISchemeV2.sol/UBISchemeV2.dbg.json +1 -1
- package/artifacts/contracts/utils/AdminWallet.sol/AdminWallet.dbg.json +1 -1
- package/artifacts/contracts/utils/AdminWalletFuse.sol/AdminWalletFuse.dbg.json +1 -1
- package/artifacts/contracts/utils/BancorFormula.sol/BancorFormula.dbg.json +1 -1
- package/artifacts/contracts/utils/BulkProof.sol/BulkProof.dbg.json +1 -1
- package/artifacts/contracts/utils/BulkWhitelist.sol/BulkWhitelist.dbg.json +1 -1
- package/artifacts/contracts/utils/BuyAndBridgeHelper.sol/BuyAndBridgeHelper.dbg.json +1 -1
- package/artifacts/contracts/utils/BuyFromReserveHelper.sol/BuyFromReserveHelper.dbg.json +1 -1
- package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDClone.dbg.json +1 -1
- package/artifacts/contracts/utils/BuyGDClone.sol/BuyGDCloneFactory.dbg.json +1 -1
- package/artifacts/contracts/utils/BuyGDClone.sol/DonateGDClone.dbg.json +1 -1
- package/artifacts/contracts/utils/DAOContract.sol/DAOContract.dbg.json +1 -1
- package/artifacts/contracts/utils/DAOUpgradeableContract.sol/DAOUpgradeableContract.dbg.json +1 -1
- package/artifacts/contracts/utils/DSMath.sol/DSMath.dbg.json +1 -1
- package/artifacts/contracts/utils/DataTypes.sol/DataTypes.dbg.json +1 -1
- package/artifacts/contracts/utils/FuseOldBridgeKill.sol/EternalStorage.dbg.json +1 -1
- package/artifacts/contracts/utils/FuseOldBridgeKill.sol/FuseOldBridgeKill.dbg.json +1 -1
- package/artifacts/contracts/utils/FuseOldBridgeKill.sol/IUpgradeabilityOwnerStorage.dbg.json +1 -1
- package/artifacts/contracts/utils/FuseOldBridgeKill.sol/Initializable.dbg.json +1 -1
- package/artifacts/contracts/utils/FuseOldBridgeKill.sol/Ownable.dbg.json +1 -1
- package/artifacts/contracts/utils/FuseOldBridgeKill.sol/Upgradeable.dbg.json +1 -1
- package/artifacts/contracts/utils/GDFaucet.sol/GDFaucet.dbg.json +1 -1
- package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/GoodDollarMintBurnWrapper.dbg.json +1 -1
- package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/IRouter.dbg.json +1 -1
- package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/PausableControl.dbg.json +1 -1
- package/artifacts/contracts/utils/GoodDollarMintBurnWrapper.sol/TokenOperation.dbg.json +1 -1
- package/artifacts/contracts/utils/IdentityFix.sol/IdentityFix.dbg.json +1 -1
- package/artifacts/contracts/utils/MultiCall.sol/Multicall.dbg.json +1 -1
- package/artifacts/contracts/utils/MultichainBridgeHelper.sol/MultichainBridgeHelper.dbg.json +1 -1
- package/artifacts/contracts/utils/NameService.sol/NameService.dbg.json +1 -1
- package/artifacts/contracts/utils/OneTimePayments.sol/OneTimePayments.dbg.json +1 -1
- package/artifacts/contracts/utils/OneTimePaymentsV2.sol/OneTimePaymentsV2.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtoclUpgradeV4Mento.sol/MentoExchange.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtoclUpgradeV4Mento.sol/ProtocolUpgradeV4Mento.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtocolUpgrade.sol/OldMarketMaker.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtocolUpgrade.sol/ProtocolUpgrade.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtocolUpgradeFuse.sol/ProtocolUpgradeFuse.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtocolUpgradeFuseRecover.sol/ProtocolUpgradeFuseRecover.dbg.json +1 -1
- package/artifacts/contracts/utils/ProtocolUpgradeRecover.sol/ProtocolUpgradeRecover.dbg.json +1 -1
- package/artifacts/contracts/utils/ProxyFactory1967.sol/ERC1967Proxy.dbg.json +1 -1
- package/artifacts/contracts/utils/ProxyFactory1967.sol/ProxyFactory1967.dbg.json +1 -1
- package/artifacts/contracts/utils/ReputationTestHelper.sol/ReputationTestHelper.dbg.json +1 -1
- package/contracts/identity/IdentityV3.sol +0 -3
- package/contracts/identity/IdentityV4.sol +578 -0
- package/hardhat.config.ts +3 -4
- package/package.json +8 -4
- package/releases/deployment.json +691 -1
- package/test/governance/ClaimersDistribution.test.ts +1 -1
- package/test/governance/CompoundVotingMachine.castvote.test.ts +30 -30
- package/test/helpers.ts +76 -195
- package/test/identity/IdentityV3.test.ts +53 -129
- package/test/identity/IdentityV4.test.ts +454 -0
- package/test/reserve/GenericDistributionHelper.e2e.test.ts +445 -0
- package/test/utils/AdminWallet.test.ts +14 -15
- package/types/contracts/identity/IdentityV4.ts +2001 -0
- package/types/contracts/identity/index.ts +1 -0
- package/types/contracts/utils/UpdateReserveRatio.sol/MentoExchange.ts +81 -0
- package/types/contracts/utils/UpdateReserveRatio.sol/UpdateReserveRatio.ts +134 -0
- package/types/contracts/utils/UpdateReserveRatio.sol/index.ts +5 -0
- package/types/contracts/utils/UpdateReserveRatioAfterXDC.sol/UpdateReserveRatioAfterXDC.ts +7 -2
- package/types/contracts/utils/index.ts +2 -0
- package/types/factories/contracts/identity/IdentityV3__factory.ts +1 -1
- package/types/factories/contracts/identity/IdentityV4__factory.ts +1213 -0
- package/types/factories/contracts/identity/index.ts +1 -0
- package/types/factories/contracts/utils/UpdateReserveRatio.sol/MentoExchange__factory.ts +39 -0
- package/types/factories/contracts/utils/UpdateReserveRatio.sol/UpdateReserveRatio__factory.ts +113 -0
- package/types/factories/contracts/utils/UpdateReserveRatio.sol/index.ts +5 -0
- package/types/factories/contracts/utils/UpdateReserveRatioAfterXDC.sol/UpdateReserveRatioAfterXDC__factory.ts +9 -15
- package/types/factories/contracts/utils/index.ts +1 -0
- package/types/hardhat.d.ts +27 -0
- package/types/index.ts +4 -0
- package/scripts/ProxyFactory.json +0 -4425
- package/scripts/analytics/activeGDStakers.ts +0 -188
- package/scripts/analytics/activeStakers.ts +0 -25
- package/scripts/analytics/activeUsersCount.ts +0 -156
- package/scripts/analytics/activeWalletsStats.ts +0 -301
- package/scripts/analytics/checkActiveWallets.ts +0 -60
- package/scripts/analytics/checkBridgeBalances.ts +0 -442
- package/scripts/analytics/claimIncidentStats.ts +0 -98
- package/scripts/analytics/faucetStats.ts +0 -130
- package/scripts/analytics/gdinflow.ts +0 -57
- package/scripts/analytics/goodHolders.ts +0 -46
- package/scripts/analytics/goodgiveback.ts +0 -64
- package/scripts/analytics/p2pTxs.ts +0 -564
- package/scripts/analytics/stuckgd.ts +0 -70
- package/scripts/analytics/tokenInOutStats.ts +0 -48
- package/scripts/analytics/whitelistsyncIssue.ts +0 -87
- package/scripts/bulkProof.ts +0 -202
- package/scripts/bulkWhitelist.ts +0 -31
- package/scripts/deployGnosisSafe.ts +0 -111
- package/scripts/fetchOrDeployProxyFactory.ts +0 -46
- package/scripts/fv.ts +0 -263
- package/scripts/gdx/gdxAirdropCalculation.ts +0 -479
- package/scripts/getFounders.ts +0 -32
- package/scripts/governance/README.md +0 -70
- package/scripts/governance/airdropCalculation.ts +0 -1119
- package/scripts/governance/airdropCalculationRecover.ts +0 -416
- package/scripts/governance/airdropCalculationSorted.ts +0 -438
- package/scripts/governance/goodCheckpointSorted.ts +0 -300
- package/scripts/keeper/fishInactive.ts +0 -47
- package/scripts/minimize.sh +0 -17
- package/scripts/multichain-deploy/0_proxyFactory-deploy.ts +0 -131
- package/scripts/multichain-deploy/1_basicdao-deploy.ts +0 -294
- package/scripts/multichain-deploy/2_helpers-deploy.ts +0 -152
- package/scripts/multichain-deploy/2b_otp-deploy.ts +0 -73
- package/scripts/multichain-deploy/3_gdSavings-deploy.ts +0 -190
- package/scripts/multichain-deploy/4_ubi-deploy.ts +0 -129
- package/scripts/multichain-deploy/5_gov-deploy.ts +0 -179
- package/scripts/multichain-deploy/6_testnetFaucet.ts +0 -85
- package/scripts/multichain-deploy/7_superfluidfaucet-deploy.ts +0 -123
- package/scripts/multichain-deploy/8_disthelper-deploy.ts +0 -152
- package/scripts/multichain-deploy/createUniswapTestPools.ts +0 -163
- package/scripts/multichain-deploy/flattened/Avatar.sol +0 -913
- package/scripts/multichain-deploy/flattened/Controller.sol +0 -1891
- package/scripts/multichain-deploy/flattened/FeeFormula.sol +0 -1290
- package/scripts/multichain-deploy/fulldeploy.sh +0 -26
- package/scripts/multichain-deploy/helpers.ts +0 -647
- package/scripts/multichain-deploy/multichainWrapper-deploy.ts +0 -59
- package/scripts/multichain-deploy/verifyEtherscan.ts +0 -177
- package/scripts/proposals/gip-14_1.ts +0 -251
- package/scripts/proposals/gip-15.ts +0 -427
- package/scripts/proposals/gip-25-xdc-upgrade-ubi.ts +0 -746
- package/scripts/proposals/gips-14_1.md +0 -29
- package/scripts/proposals/hack-ubi-recovery.ts +0 -414
- package/scripts/proposals/identityAuthPeriod.ts +0 -229
- package/scripts/proposals/reserveRestore.ts +0 -474
- package/scripts/proposals/updateDistHelper.ts +0 -180
- package/scripts/proposals/v4Upgrade.ts +0 -845
- package/scripts/releaser.js +0 -24
- package/scripts/staking/stakersGdRewardsCalculation.ts +0 -64
- package/scripts/upgradeScheme.ts +0 -97
- package/scripts/upgradeToV2/upgradeToV2.ts +0 -853
- package/scripts/upgradeToV2/upgradeToV2Recover.ts +0 -939
- package/scripts/upgradeToV3/v3-fix.ts +0 -120
- package/scripts/upgradeToV3/v3-fuse-multichain.ts +0 -117
- package/scripts/upgradeToV3/v3-upgrade.ts +0 -219
- package/scripts/upgrades/celo-defi-ubi-deploy.ts +0 -184
- package/scripts/upgrades/identity-upgrade.ts +0 -126
- package/scripts/upgrades/multichain-formula-upgrade.ts +0 -143
- package/scripts/upgrades/multichain-temp-fix.ts +0 -129
- package/scripts/upgrades/restoreFunds.ts +0 -91
- package/scripts/upgrades/superfluid-nft-celo-gas-token.ts +0 -159
- package/scripts/upgrades/transferDaoToGuardians.ts +0 -80
- package/scripts/upgrades/upgradeAdminWallet.ts +0 -29
- package/scripts/upgrades/upgradeFaucet.ts +0 -46
- package/scripts/utils.ts +0 -50
- package/scripts/verify.ts +0 -67
- package/scripts/voltageswaps.ts +0 -46
|
@@ -16,16 +16,12 @@ describe("IdentityV3", () => {
|
|
|
16
16
|
|
|
17
17
|
let avatar, gd: IGoodDollar, Controller, id: IIdentity;
|
|
18
18
|
|
|
19
|
+
const createDAOv3 = async () => {
|
|
20
|
+
return createDAO("super", "v3");
|
|
21
|
+
};
|
|
19
22
|
before(async () => {
|
|
20
23
|
[founder, ...signers] = await ethers.getSigners();
|
|
21
|
-
let {
|
|
22
|
-
controller,
|
|
23
|
-
avatar: av,
|
|
24
|
-
gd: gooddollar,
|
|
25
|
-
identity: idv2,
|
|
26
|
-
genericCall: gc
|
|
27
|
-
} = await loadFixture(createDAO);
|
|
28
|
-
|
|
24
|
+
let { controller, avatar: av, gd: gooddollar, identity: idv2, genericCall: gc } = await loadFixture(createDAOv3);
|
|
29
25
|
genericCall = gc;
|
|
30
26
|
identity = (await ethers.getContractAt("IdentityV3", idv2)) as IdentityV3;
|
|
31
27
|
Controller = controller;
|
|
@@ -38,34 +34,24 @@ describe("IdentityV3", () => {
|
|
|
38
34
|
// ""
|
|
39
35
|
// );
|
|
40
36
|
|
|
41
|
-
gd = (await ethers.getContractAt(
|
|
42
|
-
"IGoodDollar",
|
|
43
|
-
gooddollar,
|
|
44
|
-
founder
|
|
45
|
-
)) as IGoodDollar;
|
|
37
|
+
gd = (await ethers.getContractAt("IGoodDollar", gooddollar, founder)) as IGoodDollar;
|
|
46
38
|
});
|
|
47
39
|
|
|
48
40
|
it("should set DAO by creator", async () => {
|
|
49
41
|
let f = await ethers.getContractFactory("IdentityV3");
|
|
50
|
-
let newid = (await upgrades.deployProxy(
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
{ kind: "uups" }
|
|
54
|
-
)) as IdentityV2;
|
|
42
|
+
let newid = (await upgrades.deployProxy(f, [signers[0].address, ethers.constants.AddressZero], {
|
|
43
|
+
kind: "uups"
|
|
44
|
+
})) as IdentityV3;
|
|
55
45
|
expect(await newid.dao()).eq(ethers.constants.AddressZero);
|
|
56
|
-
await expect(
|
|
57
|
-
newid.connect(signers[0]).initDAO(await identity.nameService())
|
|
58
|
-
).not.reverted;
|
|
46
|
+
await expect(newid.connect(signers[0]).initDAO(await identity.nameService())).not.reverted;
|
|
59
47
|
expect(await newid.dao()).not.eq(ethers.constants.AddressZero);
|
|
60
48
|
});
|
|
61
49
|
|
|
62
50
|
it("should not be able to set DAO by non-creator", async () => {
|
|
63
51
|
let f = await ethers.getContractFactory("IdentityV3");
|
|
64
|
-
let newid = (await upgrades.deployProxy(
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
{ kind: "uups" }
|
|
68
|
-
)) as IdentityV2;
|
|
52
|
+
let newid = (await upgrades.deployProxy(f, [signers[0].address, ethers.constants.AddressZero], {
|
|
53
|
+
kind: "uups"
|
|
54
|
+
})) as IdentityV3;
|
|
69
55
|
expect(await newid.dao()).eq(ethers.constants.AddressZero);
|
|
70
56
|
await expect(newid.initDAO(await identity.nameService())).reverted;
|
|
71
57
|
});
|
|
@@ -96,43 +82,35 @@ describe("IdentityV3", () => {
|
|
|
96
82
|
|
|
97
83
|
await identity.addWhitelisted(whitelisted.address);
|
|
98
84
|
|
|
99
|
-
const diffWhitelistedCount = (
|
|
100
|
-
(await identity.whitelistedCount()) as any
|
|
101
|
-
).sub(oldWhitelistedCount);
|
|
85
|
+
const diffWhitelistedCount = ((await identity.whitelistedCount()) as any).sub(oldWhitelistedCount);
|
|
102
86
|
expect(diffWhitelistedCount.toString()).to.be.equal("1");
|
|
103
87
|
|
|
104
88
|
await identity.removeWhitelisted(whitelisted.address);
|
|
105
89
|
|
|
106
90
|
const whitelistedCount = (await identity.whitelistedCount()) as any;
|
|
107
|
-
expect(whitelistedCount.toString()).to.be.equal(
|
|
108
|
-
oldWhitelistedCount.toString()
|
|
109
|
-
);
|
|
91
|
+
expect(whitelistedCount.toString()).to.be.equal(oldWhitelistedCount.toString());
|
|
110
92
|
});
|
|
111
93
|
|
|
112
94
|
it("should revert when non admin tries to add whitelisted", async () => {
|
|
113
95
|
let whitelisted = signers[1];
|
|
114
|
-
await expect(
|
|
115
|
-
|
|
116
|
-
)
|
|
96
|
+
await expect(identity.connect(signers[2]).addWhitelisted(whitelisted.address)).revertedWith(
|
|
97
|
+
/AccessControl: account/
|
|
98
|
+
);
|
|
117
99
|
});
|
|
118
100
|
|
|
119
101
|
it("should revert when non admin tries to add blacklist", async () => {
|
|
120
102
|
let blacklisted = signers[1];
|
|
121
|
-
await expect(
|
|
122
|
-
|
|
123
|
-
)
|
|
103
|
+
await expect(identity.connect(signers[2]).addBlacklisted(blacklisted.address)).revertedWith(
|
|
104
|
+
/AccessControl: account/
|
|
105
|
+
);
|
|
124
106
|
});
|
|
125
107
|
|
|
126
108
|
it("should revert when non admin tries to set the authentication period", async () => {
|
|
127
|
-
await expect(identity.connect(signers[2]).setAuthenticationPeriod(10))
|
|
128
|
-
.reverted;
|
|
109
|
+
await expect(identity.connect(signers[2]).setAuthenticationPeriod(10)).reverted;
|
|
129
110
|
});
|
|
130
111
|
|
|
131
112
|
it("should let owner set auth period", async () => {
|
|
132
|
-
const encoded = identity.interface.encodeFunctionData(
|
|
133
|
-
"setAuthenticationPeriod",
|
|
134
|
-
[10]
|
|
135
|
-
);
|
|
113
|
+
const encoded = identity.interface.encodeFunctionData("setAuthenticationPeriod", [10]);
|
|
136
114
|
await genericCall(identity.address, encoded);
|
|
137
115
|
expect(await identity.authenticationPeriod()).eq(10);
|
|
138
116
|
});
|
|
@@ -148,9 +126,7 @@ describe("IdentityV3", () => {
|
|
|
148
126
|
|
|
149
127
|
it("should revert when non admin tries to authentice a user", async () => {
|
|
150
128
|
let authuser = signers[0].address;
|
|
151
|
-
await expect(
|
|
152
|
-
identity.connect(signers[2]).authenticate(authuser)
|
|
153
|
-
).revertedWith(/AccessControl: account/);
|
|
129
|
+
await expect(identity.connect(signers[2]).authenticate(authuser)).revertedWith(/AccessControl: account/);
|
|
154
130
|
});
|
|
155
131
|
|
|
156
132
|
it("should authenticate the user with the correct timestamp", async () => {
|
|
@@ -167,18 +143,14 @@ describe("IdentityV3", () => {
|
|
|
167
143
|
it("should add identity admin", async () => {
|
|
168
144
|
let outsider = signers[5].address;
|
|
169
145
|
await identity.grantRole(await identity.IDENTITY_ADMIN_ROLE(), outsider);
|
|
170
|
-
expect(
|
|
171
|
-
await identity.hasRole(await identity.IDENTITY_ADMIN_ROLE(), outsider)
|
|
172
|
-
).true;
|
|
146
|
+
expect(await identity.hasRole(await identity.IDENTITY_ADMIN_ROLE(), outsider)).true;
|
|
173
147
|
});
|
|
174
148
|
|
|
175
149
|
it("should remove identity admin", async () => {
|
|
176
150
|
let outsider = signers[5].address;
|
|
177
151
|
await identity.revokeRole(await identity.IDENTITY_ADMIN_ROLE(), outsider);
|
|
178
152
|
|
|
179
|
-
expect(
|
|
180
|
-
await identity.hasRole(await identity.IDENTITY_ADMIN_ROLE(), outsider)
|
|
181
|
-
).false;
|
|
153
|
+
expect(await identity.hasRole(await identity.IDENTITY_ADMIN_ROLE(), outsider)).false;
|
|
182
154
|
});
|
|
183
155
|
|
|
184
156
|
it("should revert when adding to whitelisted twice", async () => {
|
|
@@ -223,16 +195,14 @@ describe("IdentityV3", () => {
|
|
|
223
195
|
it("should not allow adding with used did", async () => {
|
|
224
196
|
let whitelisted2 = signers[2];
|
|
225
197
|
|
|
226
|
-
await expect(
|
|
227
|
-
|
|
228
|
-
)
|
|
198
|
+
await expect(identity.addWhitelistedWithDID(whitelisted2.address, "testString")).revertedWith(
|
|
199
|
+
/DID already registered/
|
|
200
|
+
);
|
|
229
201
|
});
|
|
230
202
|
|
|
231
203
|
it("should not allow adding non contract to contracts", async () => {
|
|
232
204
|
let outsider = signers[0];
|
|
233
|
-
await expect(identity.addContract(outsider.address)).revertedWith(
|
|
234
|
-
/Given address is not a contract/
|
|
235
|
-
);
|
|
205
|
+
await expect(identity.addContract(outsider.address)).revertedWith(/Given address is not a contract/);
|
|
236
206
|
});
|
|
237
207
|
|
|
238
208
|
it("should add contract to contracts", async () => {
|
|
@@ -255,19 +225,13 @@ describe("IdentityV3", () => {
|
|
|
255
225
|
const toconnect = signers[10];
|
|
256
226
|
let whitelisted = signers[1];
|
|
257
227
|
|
|
258
|
-
expect(await identity.getWhitelistedRoot(toconnect.address)).eq(
|
|
259
|
-
ethers.constants.AddressZero
|
|
260
|
-
);
|
|
228
|
+
expect(await identity.getWhitelistedRoot(toconnect.address)).eq(ethers.constants.AddressZero);
|
|
261
229
|
|
|
262
230
|
await loadFixture(connectedFixture);
|
|
263
231
|
|
|
264
|
-
expect(await identity.getWhitelistedRoot(whitelisted.address)).eq(
|
|
265
|
-
whitelisted.address
|
|
266
|
-
);
|
|
232
|
+
expect(await identity.getWhitelistedRoot(whitelisted.address)).eq(whitelisted.address);
|
|
267
233
|
|
|
268
|
-
expect(await identity.getWhitelistedRoot(toconnect.address)).eq(
|
|
269
|
-
whitelisted.address
|
|
270
|
-
);
|
|
234
|
+
expect(await identity.getWhitelistedRoot(toconnect.address)).eq(whitelisted.address);
|
|
271
235
|
});
|
|
272
236
|
|
|
273
237
|
it("should not allow to connect account already whitelisted", async () => {
|
|
@@ -276,9 +240,7 @@ describe("IdentityV3", () => {
|
|
|
276
240
|
await identity.addWhitelisted(signers[2].address);
|
|
277
241
|
let whitelisted = signers[1];
|
|
278
242
|
|
|
279
|
-
await expect(
|
|
280
|
-
identity.connect(whitelisted).connectAccount(signers[2].address)
|
|
281
|
-
).revertedWith(/invalid account/);
|
|
243
|
+
await expect(identity.connect(whitelisted).connectAccount(signers[2].address)).revertedWith(/invalid account/);
|
|
282
244
|
});
|
|
283
245
|
|
|
284
246
|
it("should allow to disconnect account by owner or connected", async () => {
|
|
@@ -287,14 +249,10 @@ describe("IdentityV3", () => {
|
|
|
287
249
|
const connected = signers[10];
|
|
288
250
|
const whitelisted = signers[1];
|
|
289
251
|
await identity.connect(connected).disconnectAccount(connected.address);
|
|
290
|
-
expect(await identity.getWhitelistedRoot(connected.address)).eq(
|
|
291
|
-
ethers.constants.AddressZero
|
|
292
|
-
);
|
|
252
|
+
expect(await identity.getWhitelistedRoot(connected.address)).eq(ethers.constants.AddressZero);
|
|
293
253
|
await loadFixture(connectedFixture);
|
|
294
254
|
await identity.connect(whitelisted).disconnectAccount(connected.address);
|
|
295
|
-
expect(await identity.getWhitelistedRoot(connected.address)).eq(
|
|
296
|
-
ethers.constants.AddressZero
|
|
297
|
-
);
|
|
255
|
+
expect(await identity.getWhitelistedRoot(connected.address)).eq(ethers.constants.AddressZero);
|
|
298
256
|
});
|
|
299
257
|
|
|
300
258
|
it("should not allow to disconnect account not by owner or by connected", async () => {
|
|
@@ -302,9 +260,7 @@ describe("IdentityV3", () => {
|
|
|
302
260
|
|
|
303
261
|
const connected = signers[10];
|
|
304
262
|
const whitelisted = signers[1];
|
|
305
|
-
await expect(identity.disconnectAccount(connected.address)).revertedWith(
|
|
306
|
-
/unauthorized/
|
|
307
|
-
);
|
|
263
|
+
await expect(identity.disconnectAccount(connected.address)).revertedWith(/unauthorized/);
|
|
308
264
|
});
|
|
309
265
|
|
|
310
266
|
it("should not allow to connect to an already connected account", async () => {
|
|
@@ -314,9 +270,7 @@ describe("IdentityV3", () => {
|
|
|
314
270
|
expect(await identity.isWhitelisted(signers[2].address)).true;
|
|
315
271
|
const connected = signers[10];
|
|
316
272
|
|
|
317
|
-
await expect(
|
|
318
|
-
identity.connect(signers[2]).connectAccount(connected.address)
|
|
319
|
-
).revertedWith(/already connected/);
|
|
273
|
+
await expect(identity.connect(signers[2]).connectAccount(connected.address)).revertedWith(/already connected/);
|
|
320
274
|
});
|
|
321
275
|
|
|
322
276
|
it("should return same root for multiple connected accounts", async () => {
|
|
@@ -335,27 +289,19 @@ describe("IdentityV3", () => {
|
|
|
335
289
|
const toWhitelist = signers[2];
|
|
336
290
|
|
|
337
291
|
const ts = (Date.now() / 1000 - 100000).toFixed(0);
|
|
338
|
-
await identity.addWhitelistedWithDIDAndChain(
|
|
339
|
-
toWhitelist.address,
|
|
340
|
-
"xxx",
|
|
341
|
-
1234,
|
|
342
|
-
ts
|
|
343
|
-
);
|
|
292
|
+
await identity.addWhitelistedWithDIDAndChain(toWhitelist.address, "xxx", 1234, ts);
|
|
344
293
|
const record = await identity.identities(toWhitelist.address);
|
|
345
294
|
expect(record.whitelistedOnChainId).eq(1234);
|
|
346
295
|
expect(record.dateAuthenticated).eq(ts);
|
|
347
296
|
});
|
|
348
297
|
|
|
349
298
|
const oldidFixture = async () => {
|
|
350
|
-
const newid = (await upgrades.deployProxy(
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
)) as IdentityV3;
|
|
354
|
-
|
|
355
|
-
await identity.grantRole(
|
|
356
|
-
await identity.IDENTITY_ADMIN_ROLE(),
|
|
357
|
-
newid.address
|
|
358
|
-
);
|
|
299
|
+
const newid = (await upgrades.deployProxy(await ethers.getContractFactory("IdentityV3"), [
|
|
300
|
+
founder.address,
|
|
301
|
+
identity.address
|
|
302
|
+
])) as IdentityV3;
|
|
303
|
+
|
|
304
|
+
await identity.grantRole(await identity.IDENTITY_ADMIN_ROLE(), newid.address);
|
|
359
305
|
await identity.addBlacklisted(signers[4].address);
|
|
360
306
|
await identity.addContract(identity.address);
|
|
361
307
|
await identity.removeWhitelisted(signers[3].address);
|
|
@@ -365,9 +311,7 @@ describe("IdentityV3", () => {
|
|
|
365
311
|
|
|
366
312
|
it("should default to old identity isWhitelisted, isBlacklisted, isContract", async () => {
|
|
367
313
|
const { newid } = await loadFixture(oldidFixture);
|
|
368
|
-
expect(await (await identity.identities(signers[3].address)).did).eq(
|
|
369
|
-
"testolddid"
|
|
370
|
-
);
|
|
314
|
+
expect(await (await identity.identities(signers[3].address)).did).eq("testolddid");
|
|
371
315
|
expect(await (await newid.identities(signers[3].address)).did).eq("");
|
|
372
316
|
|
|
373
317
|
expect(await identity.addrToDID(signers[3].address)).eq("testolddid");
|
|
@@ -396,51 +340,31 @@ describe("IdentityV3", () => {
|
|
|
396
340
|
it("should not set did if set in oldidentity", async () => {
|
|
397
341
|
const { newid } = await loadFixture(oldidFixture);
|
|
398
342
|
|
|
399
|
-
await expect(
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
["setDID(address,string)"](signers[1].address, "testolddid")
|
|
403
|
-
).revertedWith(/DID already registered oldIdentity/);
|
|
343
|
+
await expect(newid.connect(signers[1])["setDID(address,string)"](signers[1].address, "testolddid")).revertedWith(
|
|
344
|
+
/DID already registered oldIdentity/
|
|
345
|
+
);
|
|
404
346
|
});
|
|
405
347
|
|
|
406
348
|
it("should set did if set in oldidentity by same owner", async () => {
|
|
407
349
|
const { newid } = await loadFixture(oldidFixture);
|
|
408
350
|
|
|
409
|
-
await expect(
|
|
410
|
-
newid
|
|
411
|
-
.connect(signers[3])
|
|
412
|
-
["setDID(address,string)"](signers[3].address, "testolddid")
|
|
413
|
-
).not.reverted;
|
|
351
|
+
await expect(newid.connect(signers[3])["setDID(address,string)"](signers[3].address, "testolddid")).not.reverted;
|
|
414
352
|
expect(await newid.addrToDID(signers[3].address)).eq("testolddid");
|
|
415
353
|
});
|
|
416
354
|
it("should set did if set in oldidentity by different owner but updated in new identity", async () => {
|
|
417
355
|
const { newid } = await loadFixture(oldidFixture);
|
|
418
356
|
|
|
419
|
-
await expect(
|
|
420
|
-
newid
|
|
421
|
-
.connect(signers[3])
|
|
422
|
-
["setDID(address,string)"](signers[3].address, "newdid")
|
|
423
|
-
).not.reverted;
|
|
357
|
+
await expect(newid.connect(signers[3])["setDID(address,string)"](signers[3].address, "newdid")).not.reverted;
|
|
424
358
|
expect(await newid.addrToDID(signers[3].address)).eq("newdid");
|
|
425
359
|
|
|
426
|
-
await expect(
|
|
427
|
-
newid
|
|
428
|
-
.connect(signers[1])
|
|
429
|
-
["setDID(address,string)"](signers[1].address, "testolddid")
|
|
430
|
-
).not.reverted;
|
|
360
|
+
await expect(newid.connect(signers[1])["setDID(address,string)"](signers[1].address, "testolddid")).not.reverted;
|
|
431
361
|
expect(await newid.addrToDID(signers[1].address)).eq("testolddid");
|
|
432
362
|
});
|
|
433
363
|
|
|
434
364
|
it("should let admin setDID", async () => {
|
|
435
|
-
await expect(
|
|
436
|
-
identity["setDID(address,string)"](signers[1].address, "admindid")
|
|
437
|
-
).not.reverted;
|
|
365
|
+
await expect(identity["setDID(address,string)"](signers[1].address, "admindid")).not.reverted;
|
|
438
366
|
expect(await identity.addrToDID(signers[1].address)).eq("admindid");
|
|
439
|
-
await expect(
|
|
440
|
-
identity
|
|
441
|
-
.connect(signers[2])
|
|
442
|
-
["setDID(address,string)"](signers[1].address, "admindid")
|
|
443
|
-
).reverted;
|
|
367
|
+
await expect(identity.connect(signers[2])["setDID(address,string)"](signers[1].address, "admindid")).reverted;
|
|
444
368
|
});
|
|
445
369
|
|
|
446
370
|
it("should be registered for v1 compatability", async () => {
|