• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

SizeCredit / size-solidity / 15634097868

13 Jun 2025 12:04PM UTC coverage: 93.562%. First build
15634097868

Pull #177

github

web-flow
Merge b3753fff5 into 79f57bb3d
Pull Request #177: v1.8 bugfixes

325 of 349 branches covered (93.12%)

Branch coverage included in aggregate %.

643 of 662 new or added lines in 29 files covered. (97.13%)

1695 of 1810 relevant lines covered (93.65%)

4357.28 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

84.62
/src/market/libraries/actions/SetCopyLimitOrderConfigs.sol
1
// SPDX-License-Identifier: MIT
2
pragma solidity 0.8.23;
3

4
import {State, UserCopyLimitOrderConfigs} from "@src/market/SizeStorage.sol";
5

6
import {Action} from "@src/factory/libraries/Authorization.sol";
7
import {Errors} from "@src/market/libraries/Errors.sol";
8
import {Events} from "@src/market/libraries/Events.sol";
9
import {CopyLimitOrderConfig, OfferLibrary} from "@src/market/libraries/OfferLibrary.sol";
10

11
struct SetCopyLimitOrderConfigsParams {
12
    // the loan offer copy config parameters
13
    CopyLimitOrderConfig copyLoanOfferConfig;
14
    // the borrow offer copy config parameters
15
    CopyLimitOrderConfig copyBorrowOfferConfig;
16
}
17

18
struct SetCopyLimitOrderConfigsOnBehalfOfParams {
19
    // the parameters for the copy limit order configs
20
    SetCopyLimitOrderConfigsParams params;
21
    // the address to perform the copy on behalf of
22
    address onBehalfOf;
23
}
24

25
/// @title SetCopyLimitOrderConfigs
26
/// @custom:security-contact security@size.credit
27
/// @author Size (https://size.credit/)
28
/// @notice Contains the logic for setting copy limit order configs
29
library SetCopyLimitOrderConfigs {
30
    using OfferLibrary for CopyLimitOrderConfig;
31

32
    /// @notice Validates the input parameters for setting copy limit order configs
33
    /// @param externalParams The input parameters for setting copy limit order configs
34
    /// @dev Does not validate against riskConfig.minTenor or riskConfig.maxTenor since these are already enforced during limit order creation
35
    function validateSetCopyLimitOrderConfigs(
283✔
36
        State storage state,
37
        SetCopyLimitOrderConfigsOnBehalfOfParams memory externalParams
38
    ) external view {
39
        SetCopyLimitOrderConfigsParams memory params = externalParams.params;
283✔
40
        address onBehalfOf = externalParams.onBehalfOf;
283✔
41

42
        // validate msg.sender
43
        if (!state.data.sizeFactory.isAuthorized(msg.sender, onBehalfOf, Action.SET_COPY_LIMIT_ORDER_CONFIGS)) {
283!
NEW
44
            revert Errors.UNAUTHORIZED_ACTION(msg.sender, onBehalfOf, uint8(Action.SET_COPY_LIMIT_ORDER_CONFIGS));
×
45
        }
46

47
        // validate copyLoanOfferConfig and copyBorrowOfferConfig
48
        OfferLibrary.validateCopyLimitOrderConfigs(params.copyLoanOfferConfig, params.copyBorrowOfferConfig);
283✔
49
    }
50

51
    /// @notice Executes the setting of copy limit order configs
52
    /// @param state The state
53
    /// @param externalParams The input parameters for setting copy limit order configs
54
    function executeSetCopyLimitOrderConfigs(
33✔
55
        State storage state,
56
        SetCopyLimitOrderConfigsOnBehalfOfParams memory externalParams
57
    ) external {
58
        SetCopyLimitOrderConfigsParams memory params = externalParams.params;
33✔
59
        address onBehalfOf = externalParams.onBehalfOf;
33✔
60

61
        emit Events.SetCopyLimitOrderConfigs(
33✔
62
            msg.sender,
63
            onBehalfOf,
64
            params.copyLoanOfferConfig.minTenor,
65
            params.copyLoanOfferConfig.maxTenor,
66
            params.copyLoanOfferConfig.minAPR,
67
            params.copyLoanOfferConfig.maxAPR,
68
            params.copyLoanOfferConfig.offsetAPR,
69
            params.copyBorrowOfferConfig.minTenor,
70
            params.copyBorrowOfferConfig.maxTenor,
71
            params.copyBorrowOfferConfig.minAPR,
72
            params.copyBorrowOfferConfig.maxAPR,
73
            params.copyBorrowOfferConfig.offsetAPR
74
        );
75

76
        state.data.usersCopyLimitOrderConfigs[onBehalfOf].copyLoanOfferConfig = params.copyLoanOfferConfig;
33✔
77
        state.data.usersCopyLimitOrderConfigs[onBehalfOf].copyBorrowOfferConfig = params.copyBorrowOfferConfig;
33✔
78
    }
79
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc