@evvm/testnet-contracts 2.2.3 → 3.0.0
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 +145 -118
- package/README.md +162 -39
- package/contracts/core/Core.sol +1394 -0
- package/contracts/core/lib/CoreStorage.sol +171 -0
- package/contracts/nameService/NameService.sol +666 -586
- package/contracts/nameService/lib/IdentityValidation.sol +18 -3
- package/contracts/p2pSwap/P2PSwap.sol +439 -285
- package/contracts/staking/Estimator.sol +128 -40
- package/contracts/staking/Staking.sol +329 -322
- package/contracts/treasury/Treasury.sol +48 -37
- package/contracts/treasuryTwoChains/TreasuryExternalChainStation.sol +585 -198
- package/contracts/treasuryTwoChains/TreasuryHostChainStation.sol +425 -174
- package/contracts/treasuryTwoChains/lib/PayloadUtils.sol +2 -4
- package/interfaces/{IEvvm.sol → ICore.sol} +67 -29
- package/interfaces/IEstimator.sol +1 -1
- package/interfaces/INameService.sol +58 -52
- package/interfaces/IP2PSwap.sol +18 -17
- package/interfaces/IStaking.sol +22 -17
- package/interfaces/ITreasury.sol +2 -1
- package/interfaces/ITreasuryExternalChainStation.sol +15 -9
- package/interfaces/ITreasuryHostChainStation.sol +14 -11
- package/interfaces/IUserValidator.sol +6 -0
- package/library/Erc191TestBuilder.sol +350 -297
- package/library/EvvmService.sol +38 -27
- package/library/errors/CoreError.sol +116 -0
- package/library/errors/CrossChainTreasuryError.sol +36 -0
- package/library/errors/NameServiceError.sol +79 -0
- package/library/errors/StakingError.sol +79 -0
- package/library/errors/TreasuryError.sol +33 -0
- package/library/primitives/SignatureRecover.sol +33 -0
- package/library/structs/CoreStructs.sol +146 -0
- package/library/structs/ExternalChainStationStructs.sol +92 -0
- package/library/structs/HostChainStationStructs.sol +77 -0
- package/library/structs/NameServiceStructs.sol +47 -0
- package/library/structs/P2PSwapStructs.sol +127 -0
- package/library/structs/StakingStructs.sol +67 -0
- package/library/utils/AdvancedStrings.sol +84 -5
- package/library/utils/CAUtils.sol +29 -0
- package/library/utils/SignatureUtil.sol +34 -0
- package/library/utils/governance/Admin.sol +66 -0
- package/library/utils/governance/ProposalStructs.sol +49 -0
- package/library/utils/service/CoreExecution.sol +177 -0
- package/library/utils/service/StakingServiceUtils.sol +30 -3
- package/library/utils/signature/CoreHashUtils.sol +73 -0
- package/library/utils/signature/NameServiceHashUtils.sol +156 -0
- package/library/utils/signature/P2PSwapHashUtils.sol +65 -0
- package/library/utils/signature/StakingHashUtils.sol +41 -0
- package/library/utils/signature/TreasuryCrossChainHashUtils.sol +40 -0
- package/package.json +2 -1
- package/contracts/evvm/Evvm.sol +0 -1327
- package/contracts/evvm/lib/ErrorsLib.sol +0 -18
- package/contracts/evvm/lib/EvvmStorage.sol +0 -62
- package/contracts/evvm/lib/EvvmStructs.sol +0 -90
- package/contracts/evvm/lib/SignatureUtils.sol +0 -120
- package/contracts/nameService/lib/ErrorsLib.sol +0 -21
- package/contracts/nameService/lib/NameServiceStructs.sol +0 -69
- package/contracts/nameService/lib/SignatureUtils.sol +0 -245
- package/contracts/p2pSwap/lib/P2PSwapStructs.sol +0 -59
- package/contracts/p2pSwap/lib/SignatureUtils.sol +0 -98
- package/contracts/staking/lib/ErrorsLib.sol +0 -22
- package/contracts/staking/lib/SignatureUtils.sol +0 -39
- package/contracts/staking/lib/StakingStructs.sol +0 -94
- package/contracts/treasury/lib/ErrorsLib.sol +0 -11
- package/contracts/treasuryTwoChains/lib/ErrorsLib.sol +0 -48
- package/contracts/treasuryTwoChains/lib/ExternalChainStationStructs.sol +0 -80
- package/contracts/treasuryTwoChains/lib/HostChainStationStructs.sol +0 -87
- package/contracts/treasuryTwoChains/lib/SignatureUtils.sol +0 -79
- package/library/utils/GovernanceUtils.sol +0 -81
- package/library/utils/nonces/AsyncNonce.sol +0 -32
- package/library/utils/nonces/SyncNonce.sol +0 -27
- package/library/utils/service/EvvmPayments.sol +0 -79
|
@@ -1,27 +0,0 @@
|
|
|
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
|
-
abstract contract SyncNonce {
|
|
7
|
-
error SyncNonceMismatch();
|
|
8
|
-
|
|
9
|
-
mapping(address user => uint256 nonce) private syncNonce;
|
|
10
|
-
|
|
11
|
-
function incrementSyncNonce(address user) internal virtual {
|
|
12
|
-
syncNonce[user]++;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
function verifySyncNonce(
|
|
16
|
-
address user,
|
|
17
|
-
uint256 nonce
|
|
18
|
-
) internal view virtual {
|
|
19
|
-
if (syncNonce[user] != nonce) revert SyncNonceMismatch();
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
function getNextCurrentSyncNonce(
|
|
23
|
-
address user
|
|
24
|
-
) public view virtual returns (uint256) {
|
|
25
|
-
return syncNonce[user];
|
|
26
|
-
}
|
|
27
|
-
}
|
|
@@ -1,79 +0,0 @@
|
|
|
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
|
-
import {IEvvm, EvvmStructs} from "@evvm/testnet-contracts/interfaces/IEvvm.sol";
|
|
7
|
-
|
|
8
|
-
abstract contract EvvmPayments {
|
|
9
|
-
IEvvm internal evvm;
|
|
10
|
-
|
|
11
|
-
constructor(address evvmAddress) {
|
|
12
|
-
evvm = IEvvm(evvmAddress);
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
function requestPay(
|
|
16
|
-
address from,
|
|
17
|
-
address token,
|
|
18
|
-
uint256 amount,
|
|
19
|
-
uint256 priorityFee,
|
|
20
|
-
uint256 nonce,
|
|
21
|
-
bool priorityFlag,
|
|
22
|
-
bytes memory signature
|
|
23
|
-
) internal virtual {
|
|
24
|
-
evvm.pay(
|
|
25
|
-
from,
|
|
26
|
-
address(this),
|
|
27
|
-
"",
|
|
28
|
-
token,
|
|
29
|
-
amount,
|
|
30
|
-
priorityFee,
|
|
31
|
-
nonce,
|
|
32
|
-
priorityFlag,
|
|
33
|
-
address(this),
|
|
34
|
-
signature
|
|
35
|
-
);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
function requestDispersePay(
|
|
39
|
-
EvvmStructs.DispersePayMetadata[] memory toData,
|
|
40
|
-
address token,
|
|
41
|
-
uint256 amount,
|
|
42
|
-
uint256 priorityFee,
|
|
43
|
-
uint256 nonce,
|
|
44
|
-
bool priorityFlag,
|
|
45
|
-
bytes memory signature
|
|
46
|
-
) internal virtual {
|
|
47
|
-
evvm.dispersePay(
|
|
48
|
-
address(this),
|
|
49
|
-
toData,
|
|
50
|
-
token,
|
|
51
|
-
amount,
|
|
52
|
-
priorityFee,
|
|
53
|
-
nonce,
|
|
54
|
-
priorityFlag,
|
|
55
|
-
address(this),
|
|
56
|
-
signature
|
|
57
|
-
);
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
function makeCaPay(
|
|
61
|
-
address to,
|
|
62
|
-
address token,
|
|
63
|
-
uint256 amount
|
|
64
|
-
) internal virtual {
|
|
65
|
-
evvm.caPay(to, token, amount);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
function makeDisperseCaPay(
|
|
69
|
-
EvvmStructs.DisperseCaPayMetadata[] memory toData,
|
|
70
|
-
address token,
|
|
71
|
-
uint256 amount
|
|
72
|
-
) internal virtual {
|
|
73
|
-
evvm.disperseCaPay(toData, token, amount);
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
function _changeEvvmAddress(address newEvvmAddress) internal virtual {
|
|
77
|
-
evvm = IEvvm(newEvvmAddress);
|
|
78
|
-
}
|
|
79
|
-
}
|