@evvm/testnet-contracts 2.1.3 → 2.2.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/LICENSE +2 -2
- package/README.md +355 -55
- package/contracts/evvm/Evvm.sol +39 -38
- package/contracts/evvm/lib/ErrorsLib.sol +2 -1
- package/contracts/evvm/lib/EvvmStorage.sol +2 -0
- package/contracts/evvm/lib/EvvmStructs.sol +27 -1
- package/contracts/evvm/lib/SignatureUtils.sol +14 -17
- package/contracts/nameService/NameService.sol +124 -366
- package/contracts/nameService/lib/ErrorsLib.sol +2 -8
- package/contracts/nameService/lib/IdentityValidation.sol +182 -0
- package/contracts/nameService/lib/NameServiceStructs.sol +69 -0
- package/contracts/nameService/lib/SignatureUtils.sol +47 -41
- package/contracts/p2pSwap/P2PSwap.sol +54 -535
- package/contracts/p2pSwap/lib/P2PSwapStructs.sol +59 -0
- package/contracts/p2pSwap/lib/SignatureUtils.sol +16 -18
- package/contracts/staking/Estimator.sol +7 -6
- package/contracts/staking/Staking.sol +70 -159
- package/contracts/staking/lib/ErrorsLib.sol +0 -1
- package/contracts/staking/lib/SignatureUtils.sol +7 -36
- package/contracts/staking/lib/StakingStructs.sol +94 -0
- package/contracts/treasury/Treasury.sol +18 -20
- package/contracts/treasuryTwoChains/TreasuryExternalChainStation.sol +88 -35
- package/contracts/treasuryTwoChains/TreasuryHostChainStation.sol +81 -47
- package/contracts/treasuryTwoChains/lib/ErrorsLib.sol +2 -0
- package/contracts/treasuryTwoChains/lib/ExternalChainStationStructs.sol +3 -14
- package/contracts/treasuryTwoChains/lib/HostChainStationStructs.sol +3 -7
- package/contracts/treasuryTwoChains/lib/SignatureUtils.sol +12 -14
- package/interfaces/IEstimator.sol +7 -50
- package/interfaces/IEvvm.sol +17 -91
- package/interfaces/INameService.sol +37 -88
- package/interfaces/IP2PSwap.sol +19 -15
- package/interfaces/IStaking.sol +20 -50
- package/interfaces/ITreasury.sol +1 -4
- package/interfaces/ITreasuryExternalChainStation.sol +11 -15
- package/interfaces/ITreasuryHostChainStation.sol +7 -10
- package/library/Erc191TestBuilder.sol +56 -57
- package/library/EvvmService.sol +40 -0
- package/library/primitives/IERC20.sol +79 -0
- package/library/primitives/Math.sol +415 -0
- package/library/primitives/SignatureRecover.sol +42 -0
- package/library/utils/AdvancedStrings.sol +89 -0
- package/library/utils/GovernanceUtils.sol +81 -0
- package/library/utils/SignatureUtil.sol +29 -0
- package/library/utils/nonces/AsyncNonce.sol +32 -0
- package/library/utils/nonces/SyncNonce.sol +27 -0
- package/library/utils/service/EvvmPayments.sol +77 -0
- package/library/utils/service/StakingServiceUtils.sol +32 -0
- package/package.json +11 -13
- package/contracts/evvm/EvvmLegacy.sol +0 -1553
- package/library/AdvancedStrings.sol +0 -77
- package/library/SignatureRecover.sol +0 -140
- package/library/StakingServiceHooks.sol +0 -116
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
// SPDX-License-Identifier: EVVM-NONCOMMERCIAL-1.0
|
|
2
|
+
// Full license terms available at: https://www.evvm.info/docs/EVVMNoncommercialLicense
|
|
3
|
+
|
|
4
|
+
pragma solidity ^0.8.0;
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
abstract contract P2PSwapStructs {
|
|
8
|
+
struct MarketInformation {
|
|
9
|
+
address tokenA;
|
|
10
|
+
address tokenB;
|
|
11
|
+
uint256 maxSlot;
|
|
12
|
+
uint256 ordersAvailable;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
struct Order {
|
|
16
|
+
address seller;
|
|
17
|
+
uint256 amountA;
|
|
18
|
+
uint256 amountB;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
struct OrderForGetter {
|
|
22
|
+
uint256 marketId;
|
|
23
|
+
uint256 orderId;
|
|
24
|
+
address seller;
|
|
25
|
+
uint256 amountA;
|
|
26
|
+
uint256 amountB;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
struct Percentage {
|
|
30
|
+
uint256 seller;
|
|
31
|
+
uint256 service;
|
|
32
|
+
uint256 mateStaker;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
struct MetadataMakeOrder {
|
|
36
|
+
uint256 nonce;
|
|
37
|
+
address tokenA;
|
|
38
|
+
address tokenB;
|
|
39
|
+
uint256 amountA;
|
|
40
|
+
uint256 amountB;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
struct MetadataCancelOrder {
|
|
44
|
+
uint256 nonce;
|
|
45
|
+
address tokenA;
|
|
46
|
+
address tokenB;
|
|
47
|
+
uint256 orderId;
|
|
48
|
+
bytes signature;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
struct MetadataDispatchOrder {
|
|
52
|
+
uint256 nonce;
|
|
53
|
+
address tokenA;
|
|
54
|
+
address tokenB;
|
|
55
|
+
uint256 orderId;
|
|
56
|
+
uint256 amountOfTokenBToFill;
|
|
57
|
+
bytes signature;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
// SPDX-License-Identifier: EVVM-NONCOMMERCIAL-1.0
|
|
2
2
|
// Full license terms available at: https://www.evvm.info/docs/EVVMNoncommercialLicense
|
|
3
|
-
|
|
4
|
-
import {SignatureRecover} from "@evvm/testnet-contracts/library/SignatureRecover.sol";
|
|
5
|
-
import {AdvancedStrings} from "@evvm/testnet-contracts/library/AdvancedStrings.sol";
|
|
6
|
-
import {Strings} from "@openzeppelin/contracts/utils/Strings.sol";
|
|
7
|
-
|
|
8
3
|
pragma solidity ^0.8.0;
|
|
9
4
|
|
|
5
|
+
import {SignatureUtil} from "@evvm/testnet-contracts/library/utils/SignatureUtil.sol";
|
|
6
|
+
import {AdvancedStrings} from "@evvm/testnet-contracts/library/utils/AdvancedStrings.sol";
|
|
7
|
+
|
|
10
8
|
library SignatureUtils {
|
|
11
9
|
/**
|
|
12
10
|
* @dev using EIP-191 (https://eips.ethereum.org/EIPS/eip-191) can be used to sign and
|
|
@@ -25,19 +23,19 @@ library SignatureUtils {
|
|
|
25
23
|
bytes memory signature
|
|
26
24
|
) internal pure returns (bool) {
|
|
27
25
|
return
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
SignatureUtil.verifySignature(
|
|
27
|
+
evvmID,
|
|
30
28
|
"makeOrder",
|
|
31
29
|
string.concat(
|
|
32
|
-
|
|
30
|
+
AdvancedStrings.uintToString(_nonce),
|
|
33
31
|
",",
|
|
34
32
|
AdvancedStrings.addressToString(_tokenA),
|
|
35
33
|
",",
|
|
36
34
|
AdvancedStrings.addressToString(_tokenB),
|
|
37
35
|
",",
|
|
38
|
-
|
|
36
|
+
AdvancedStrings.uintToString(_amountA),
|
|
39
37
|
",",
|
|
40
|
-
|
|
38
|
+
AdvancedStrings.uintToString(_amountB)
|
|
41
39
|
),
|
|
42
40
|
signature,
|
|
43
41
|
signer
|
|
@@ -54,17 +52,17 @@ library SignatureUtils {
|
|
|
54
52
|
bytes memory signature
|
|
55
53
|
) internal pure returns (bool) {
|
|
56
54
|
return
|
|
57
|
-
|
|
58
|
-
|
|
55
|
+
SignatureUtil.verifySignature(
|
|
56
|
+
evvmID,
|
|
59
57
|
"cancelOrder",
|
|
60
58
|
string.concat(
|
|
61
|
-
|
|
59
|
+
AdvancedStrings.uintToString(_nonce),
|
|
62
60
|
",",
|
|
63
61
|
AdvancedStrings.addressToString(_tokenA),
|
|
64
62
|
",",
|
|
65
63
|
AdvancedStrings.addressToString(_tokenB),
|
|
66
64
|
",",
|
|
67
|
-
|
|
65
|
+
AdvancedStrings.uintToString(_orderId)
|
|
68
66
|
),
|
|
69
67
|
signature,
|
|
70
68
|
signer
|
|
@@ -81,17 +79,17 @@ library SignatureUtils {
|
|
|
81
79
|
bytes memory signature
|
|
82
80
|
) internal pure returns (bool) {
|
|
83
81
|
return
|
|
84
|
-
|
|
85
|
-
|
|
82
|
+
SignatureUtil.verifySignature(
|
|
83
|
+
evvmID,
|
|
86
84
|
"dispatchOrder",
|
|
87
85
|
string.concat(
|
|
88
|
-
|
|
86
|
+
AdvancedStrings.uintToString(_nonce),
|
|
89
87
|
",",
|
|
90
88
|
AdvancedStrings.addressToString(_tokenA),
|
|
91
89
|
",",
|
|
92
90
|
AdvancedStrings.addressToString(_tokenB),
|
|
93
91
|
",",
|
|
94
|
-
|
|
92
|
+
AdvancedStrings.uintToString(_orderId)
|
|
95
93
|
),
|
|
96
94
|
signature,
|
|
97
95
|
signer
|
|
@@ -16,6 +16,7 @@ MMMMMMMMMMMM
|
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
18
|
import {Staking} from "@evvm/testnet-contracts/contracts/staking/Staking.sol";
|
|
19
|
+
import {StakingStructs} from "@evvm/testnet-contracts/contracts/staking/lib/StakingStructs.sol";
|
|
19
20
|
import {Evvm} from "@evvm/testnet-contracts/contracts/evvm/Evvm.sol";
|
|
20
21
|
|
|
21
22
|
contract Estimator {
|
|
@@ -111,7 +112,7 @@ contract Estimator {
|
|
|
111
112
|
uint256 sumSmT;
|
|
112
113
|
|
|
113
114
|
uint256 tLast = epoch.tStart;
|
|
114
|
-
|
|
115
|
+
StakingStructs.HistoryMetadata memory h;
|
|
115
116
|
uint256 size = Staking(addressStaking.actual).getSizeOfAddressHistory(
|
|
116
117
|
_user
|
|
117
118
|
);
|
|
@@ -180,7 +181,7 @@ contract Estimator {
|
|
|
180
181
|
address _proposal
|
|
181
182
|
) external onlyActivator {
|
|
182
183
|
activator.proposal = _proposal;
|
|
183
|
-
activator.timeToAccept = block.timestamp + 1
|
|
184
|
+
activator.timeToAccept = block.timestamp + 1 days;
|
|
184
185
|
}
|
|
185
186
|
|
|
186
187
|
function cancelActivatorProposal() external onlyActivator {
|
|
@@ -200,7 +201,7 @@ contract Estimator {
|
|
|
200
201
|
address _proposal
|
|
201
202
|
) external onlyAdmin {
|
|
202
203
|
evvmAddress.proposal = _proposal;
|
|
203
|
-
evvmAddress.timeToAccept = block.timestamp + 1
|
|
204
|
+
evvmAddress.timeToAccept = block.timestamp + 1 days;
|
|
204
205
|
}
|
|
205
206
|
|
|
206
207
|
function cancelEvvmAddressProposal() external onlyAdmin {
|
|
@@ -220,7 +221,7 @@ contract Estimator {
|
|
|
220
221
|
address _proposal
|
|
221
222
|
) external onlyAdmin {
|
|
222
223
|
addressStaking.proposal = _proposal;
|
|
223
|
-
addressStaking.timeToAccept = block.timestamp + 1
|
|
224
|
+
addressStaking.timeToAccept = block.timestamp + 1 days;
|
|
224
225
|
}
|
|
225
226
|
|
|
226
227
|
function cancelAddressStakingProposal() external onlyAdmin {
|
|
@@ -240,7 +241,7 @@ contract Estimator {
|
|
|
240
241
|
address _proposal
|
|
241
242
|
) external onlyAdmin {
|
|
242
243
|
admin.proposal = _proposal;
|
|
243
|
-
admin.timeToAccept = block.timestamp + 1
|
|
244
|
+
admin.timeToAccept = block.timestamp + 1 days;
|
|
244
245
|
}
|
|
245
246
|
|
|
246
247
|
function cancelAdminProposal() external onlyAdmin {
|
|
@@ -315,7 +316,7 @@ contract Estimator {
|
|
|
315
316
|
uint256 sumSmT;
|
|
316
317
|
|
|
317
318
|
uint256 tLast = epoch.tStart;
|
|
318
|
-
|
|
319
|
+
StakingStructs.HistoryMetadata memory h;
|
|
319
320
|
uint256 size = Staking(addressStaking.actual).getSizeOfAddressHistory(
|
|
320
321
|
_user
|
|
321
322
|
);
|