diff --git a/.gas-snapshot b/.gas-snapshot index fe1d895c..66be408a 100644 --- a/.gas-snapshot +++ b/.gas-snapshot @@ -1,23 +1,42 @@ -AccountMargin:test_depositCollateral() (gas: 814422) -AccountOwnership:test_accountIdsByOwner() (gas: 453960) -AccountOwnership:test_getOwnerByAccountId() (gas: 452716) -AccountOwnership:test_isActorAccountOwner() (gas: 453177) -AccountOwnership:test_transferOwnership() (gas: 462785) -AccountOwnership:test_transferOwnership_OnlyOwner() (gas: 456192) -AccountOwnership:test_transferOwnership_accountIdsByOwner() (gas: 465022) -AccountOwnership:test_transferOwnership_ownerByAccountId() (gas: 461957) -CreateAccount:test_CreateAccount() (gas: 446367) -CreateAccount:test_createAccount() (gas: 449552) -Delegation:test_getAccountIdsByDelegate() (gas: 1518889) -Delegation:test_getDelegatesByAccountId() (gas: 777076) -Delegation:test_isActorDelegate() (gas: 777944) -Delegation:test_isActorDelegate_OnlyOwner() (gas: 480589) -Delegation:test_removeDelegate() (gas: 706380) -Delegation:test_removeDelegate_All_Delegates() (gas: 642005) -Delegation:test_removeDelegate_From_AccountIds() (gas: 1310861) -Delegation:test_removeDelegate_None_Existent() (gas: 487460) -Delegation:test_removeDelegate_OnlyOwner() (gas: 593223) -Delegation:test_removeDelegate_Twice() (gas: 499819) -Delegation:test_removeDelegate_accountIdsByDelegate() (gas: 1446944) -Delegation:test_removeDelegate_delegatesByAccountId() (gas: 704871) -Mint:test_mint() (gas: 170989) \ No newline at end of file +AccountManagement:test_createAccount() (gas: 311953) +AccountManagement:test_createAccount_event() (gas: 289796) +AccountManagement:test_createAccount_with_marginEngine() (gas: 475650) +AccountManagement:test_createAccount_with_marginEngine_event() (gas: 471492) +AccountManagement:test_createAccount_with_marginEngine_notZeroAddress() (gas: 9179) +ActorManagement:test_changeAccountActor() (gas: 322838) +ActorManagement:test_changeAccountActor_accountIdsByOwner() (gas: 325635) +ActorManagement:test_changeAccountActor_event() (gas: 321428) +ActorManagement:test_changeAccountActor_notZeroAddress() (gas: 314309) +ActorManagement:test_changeAccountActor_onlyAccountActor() (gas: 314882) +ActorManagement:test_changeAccountActor_ownerByAccountId() (gas: 322682) +ActorManagement:test_getAccountIdsByActor() (gas: 314457) +ActorManagement:test_getActorByAccountId() (gas: 313097) +ActorManagement:test_isCallerAccountActor() (gas: 313268) +CollateralManagement:test_depositCollateral_availableMargin() (gas: 265639) +CollateralManagement:test_depositCollateral_collateralAmount() (gas: 258647) +CollateralManagement:test_depositCollateral_totalCollateralValue() (gas: 262990) +DelegateManagement:test_addDelegate() (gas: 426148) +DelegateManagement:test_addDelegate_event() (gas: 424785) +DelegateManagement:test_addDelegate_notZeroAddress() (gas: 314375) +DelegateManagement:test_addDelegate_onlyAccountActor() (gas: 14173) +DelegateManagement:test_getAccountIdsByDelegate() (gas: 1036061) +DelegateManagement:test_getDelegatesByAccountId() (gas: 608968) +DelegateManagement:test_isCallerAccountDelegate() (gas: 609940) +DelegateManagement:test_removeDelegate() (gas: 538289) +DelegateManagement:test_removeDelegate_Twice() (gas: 344065) +DelegateManagement:test_removeDelegate_accountIdsByDelegate() (gas: 964030) +DelegateManagement:test_removeDelegate_delegatesByAccountId() (gas: 536795) +DelegateManagement:test_removeDelegate_event() (gas: 431395) +DelegateManagement:test_removeDelegate_none_exists() (gas: 323558) +DelegateManagement:test_removeDelegate_onlyAccountActor() (gas: 14142) +DelegateManagement:test_remove_all_accounts_from_delegate() (gas: 848673) +DelegateManagement:test_remove_all_delegates_from_account() (gas: 507269) +MarginEngineManagement:test_registerMarginEngine() (gas: 477057) +MarginEngineManagement:test_registerMarginEngine_event() (gas: 472798) +MarginEngineManagement:test_registerMarginEngine_notZeroAddress() (gas: 314273) +MarginEngineManagement:test_registerMarginEngine_onlyAccountActor() (gas: 14151) +MarginEngineManagement:test_unregisterMarginEngine() (gas: 387466) +MarginEngineManagement:test_unregisterMarginEngine_event() (gas: 384014) +MarginEngineManagement:test_unregisterMarginEngine_none_exists() (gas: 326082) +MarginEngineManagement:test_unregisterMarginEngine_onlyAccountActor() (gas: 14185) +Mint:test_mint() (gas: 171025) \ No newline at end of file diff --git a/.gitignore b/.gitignore index ad05ff27..9270291a 100644 --- a/.gitignore +++ b/.gitignore @@ -13,4 +13,3 @@ out/ # Other .vscode .idea -lcov.info diff --git a/lcov.info b/lcov.info new file mode 100644 index 00000000..e83134a1 --- /dev/null +++ b/lcov.info @@ -0,0 +1,361 @@ +TN: +SF:src/MarginEngine.sol +FN:46,MarginEngine.depositCollateral +FNDA:3,MarginEngine.depositCollateral +DA:51,3 +BRDA:51,0,0,- +BRDA:51,0,1,3 +DA:54,3 +BRDA:54,1,0,- +BRDA:54,1,1,3 +DA:56,3 +DA:58,3 +DA:62,3 +DA:66,3 +FN:69,MarginEngine.withdrawCollateral +FNDA:0,MarginEngine.withdrawCollateral +DA:74,0 +BRDA:74,2,0,- +BRDA:74,2,1,- +DA:77,0 +BRDA:77,3,0,- +BRDA:77,3,1,- +DA:79,0 +DA:81,0 +DA:83,0 +FN:86,MarginEngine._getSynthAddress +FNDA:3,MarginEngine._getSynthAddress +DA:93,3 +DA:96,3 +BRDA:96,4,0,- +BRDA:96,4,1,3 +FN:103,MarginEngine.commitOrder +FNDA:0,MarginEngine.commitOrder +DA:111,0 +BRDA:111,5,0,- +BRDA:111,5,1,- +DA:116,0 +DA:129,0 +FNF:4 +FNH:2 +LF:16 +LH:8 +BRF:12 +BRH:3 +end_of_record +TN: +SF:src/libraries/INT128Lib.sol +FN:8,Int128Lib.abs +FNDA:0,Int128Lib.abs +DA:22,0 +FN:31,Int128Lib.isSameSign +FNDA:0,Int128Lib.isSameSign +DA:32,0 +BRDA:32,0,0,- +BRDA:32,0,1,- +DA:33,0 +FNF:2 +FNH:0 +LF:3 +LH:0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/libraries/INT256Lib.sol +FN:8,Int256Lib.abs +FNDA:0,Int256Lib.abs +DA:22,0 +FN:31,Int256Lib.isSameSign +FNDA:0,Int256Lib.isSameSign +DA:32,0 +BRDA:32,0,0,- +BRDA:32,0,1,- +DA:33,0 +FNF:2 +FNH:0 +LF:3 +LH:0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/libraries/Int128Lib.sol +FN:8,Int128Lib.abs +FNDA:0,Int128Lib.abs +DA:22,0 +FN:31,Int128Lib.isSameSign +FNDA:0,Int128Lib.isSameSign +DA:32,0 +BRDA:32,0,0,- +BRDA:32,0,1,- +DA:33,0 +FNF:2 +FNH:0 +LF:3 +LH:0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/libraries/Int256Lib.sol +FN:8,Int256Lib.abs +FNDA:0,Int256Lib.abs +DA:22,0 +FN:31,Int256Lib.isSameSign +FNDA:0,Int256Lib.isSameSign +DA:32,0 +BRDA:32,0,0,- +BRDA:32,0,1,- +DA:33,0 +FNF:2 +FNH:0 +LF:3 +LH:0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/modules/Auth.sol +FN:85,Auth._onlyAccountActor +FNDA:60,Auth._onlyAccountActor +DA:88,60 +BRDA:88,0,0,5 +BRDA:88,0,1,55 +DA:89,5 +FN:105,Auth._notZeroAddress +FNDA:42,Auth._notZeroAddress +DA:106,42 +BRDA:106,1,0,4 +BRDA:106,1,1,38 +FN:123,Auth.isCallerAccountActor +FNDA:5,Auth.isCallerAccountActor +DA:128,5 +FN:131,Auth.getActorByAccountId +FNDA:2,Auth.getActorByAccountId +DA:136,2 +FN:139,Auth.getAccountIdsByActor +FNDA:3,Auth.getAccountIdsByActor +DA:144,3 +FN:147,Auth.isCallerAccountDelegate +FNDA:16,Auth.isCallerAccountDelegate +DA:152,16 +FN:155,Auth.getDelegatesByAccountId +FNDA:6,Auth.getDelegatesByAccountId +DA:160,6 +FN:163,Auth.getAccountIdsByDelegate +FNDA:6,Auth.getAccountIdsByDelegate +DA:168,6 +FN:171,Auth.hasAccountRegisteredMarginEngine +FNDA:4,Auth.hasAccountRegisteredMarginEngine +DA:175,7 +FN:188,Auth.createAccount +FNDA:37,Auth.createAccount +DA:190,37 +DA:193,37 +DA:194,37 +FN:201,Auth.createAccount +FNDA:3,Auth.createAccount +DA:207,2 +DA:209,2 +DA:216,2 +DA:217,2 +FN:227,Auth.changeAccountActor +FNDA:6,Auth.changeAccountActor +DA:233,4 +DA:236,4 +DA:237,4 +FN:242,Auth._removeAccountIdFromAccountIdsByActor +FNDA:4,Auth._removeAccountIdFromAccountIdsByActor +DA:245,4 +DA:247,4 +DA:249,4 +DA:250,4 +BRDA:250,2,0,- +BRDA:250,2,1,4 +DA:251,4 +DA:252,4 +DA:253,4 +DA:254,4 +DA:258,0 +FN:271,Auth.addDelegate +FNDA:30,Auth.addDelegate +DA:276,28 +DA:278,28 +DA:279,28 +FN:286,Auth.removeDelegate +FNDA:14,Auth.removeDelegate +DA:290,13 +DA:292,13 +DA:293,13 +FN:299,Auth._removeDelegateFromDelegatesByAccountId +FNDA:13,Auth._removeDelegateFromDelegatesByAccountId +DA:303,13 +DA:305,13 +DA:307,13 +DA:308,14 +BRDA:308,3,0,- +BRDA:308,3,1,10 +DA:309,10 +DA:310,10 +DA:311,10 +DA:312,10 +DA:316,4 +FN:324,Auth._removeDelegateFromAccountIdsByDelegate +FNDA:13,Auth._removeDelegateFromAccountIdsByDelegate +DA:328,13 +DA:330,13 +DA:332,13 +DA:333,12 +BRDA:333,4,0,- +BRDA:333,4,1,10 +DA:334,10 +DA:335,10 +DA:336,10 +DA:337,10 +DA:341,2 +FN:355,Auth.registerMarginEngine +FNDA:6,Auth.registerMarginEngine +DA:360,4 +FN:372,Auth.unregisterMarginEngine +FNDA:4,Auth.unregisterMarginEngine +DA:376,3 +BRDA:376,5,0,- +BRDA:376,5,1,2 +DA:377,2 +DA:383,1 +FNF:19 +FNH:19 +LF:57 +LH:56 +BRF:12 +BRH:8 +end_of_record +TN: +SF:src/modules/Stats.sol +FN:43,Stats.registerMarginEngine +FNDA:0,Stats.registerMarginEngine +DA:44,0 +FN:52,Stats.updateAccountStats +FNDA:0,Stats.updateAccountStats +DA:57,0 +BRDA:57,0,0,- +BRDA:57,0,1,- +DA:58,0 +DA:61,0 +DA:63,0 +DA:64,0 +DA:65,0 +FNF:2 +FNH:0 +LF:7 +LH:0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:src/tokens/ERC721Receiver.sol +FN:5,ERC721Receiver.onERC721Received +FNDA:39,ERC721Receiver.onERC721Received +DA:10,39 +FNF:1 +FNH:1 +LF:1 +LH:1 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/utils/Multicallable.sol +FN:19,Multicallable.multicall +FNDA:0,Multicallable.multicall +DA:28,0 +BRDA:28,0,0,- +DA:38,0 +FNF:1 +FNH:0 +LF:2 +LH:0 +BRF:1 +BRH:0 +end_of_record +TN: +SF:src/utils/Ownable.sol +FN:73,Ownable._initializeOwner +FNDA:0,Ownable._initializeOwner +DA:77,0 +FN:86,Ownable._setOwner +FNDA:0,Ownable._setOwner +DA:91,0 +FN:106,Ownable._checkOwner +FNDA:0,Ownable._checkOwner +DA:110,0 +BRDA:110,0,0,- +FN:122,Ownable.transferOwnership +FNDA:0,Ownable.transferOwnership +DA:130,0 +BRDA:130,1,0,- +DA:135,0 +FN:139,Ownable.renounceOwnership +FNDA:0,Ownable.renounceOwnership +DA:140,0 +FN:148,Ownable.owner +FNDA:0,Ownable.owner +DA:151,0 +FNF:6 +FNH:0 +LF:7 +LH:0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:test/unit/Auth.t.sol +FN:15,AuthTest.setUp +FNDA:0,AuthTest.setUp +DA:16,0 +DA:18,0 +FNF:1 +FNH:0 +LF:2 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:test/unit/MarginEngine.t.sol +FN:32,MarginEngineTest.setUp +FNDA:0,MarginEngineTest.setUp +DA:33,0 +DA:35,0 +DA:36,0 +DA:38,0 +DA:40,0 +DA:42,0 +DA:50,0 +DA:51,0 +DA:53,0 +DA:55,0 +DA:56,0 +DA:57,0 +DA:59,0 +DA:61,0 +FNF:1 +FNH:0 +LF:14 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:test/utils/SUSDHelper.sol +FN:13,SUSDHelper.mint +FNDA:0,SUSDHelper.mint +DA:14,0 +FNF:1 +FNH:0 +LF:1 +LH:0 +BRF:0 +BRH:0 +end_of_record