@evvm/testnet-contracts 1.0.4 → 1.0.6
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/README.md +220 -45
- package/contracts/evvm/lib/SignatureUtils.sol +2 -2
- package/contracts/nameService/NameService.sol +1 -1
- package/contracts/nameService/lib/SignatureUtils.sol +2 -2
- package/contracts/staking/lib/SignatureUtils.sol +2 -2
- package/contracts/treasuryTwoChains/lib/SignatureUtils.sol +2 -2
- package/package.json +5 -5
- /package/{lib → library}/AdvancedStrings.sol +0 -0
- /package/{lib → library}/Erc191TestBuilder.sol +0 -0
- /package/{lib → library}/SignatureRecover.sol +0 -0
package/README.md
CHANGED
|
@@ -2,14 +2,209 @@
|
|
|
2
2
|
|
|
3
3
|

|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
EVVM is an innovative blockchain virtualization system that allows you to create and deploy your own virtual blockchains on top of existing Ethereum networks where you can:
|
|
6
6
|
|
|
7
|
-
**
|
|
7
|
+
- **Create your own virtual blockchain** with custom tokens and governance
|
|
8
|
+
- **Deploy on testnets** like Ethereum Sepolia or Arbitrum Sepolia for testing
|
|
9
|
+
- **Use proven, audited contracts** for staking, treasury management, and domain services
|
|
10
|
+
- **Scale to mainnet** when ready for production
|
|
8
11
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
-
|
|
12
|
+
## What's included?
|
|
13
|
+
|
|
14
|
+
EVVM provides a complete ecosystem of smart contracts:
|
|
15
|
+
- **Core EVVM**: Your virtual blockchain's main engine
|
|
16
|
+
- **NameService**: Domain name system for your blockchain (like ENS)
|
|
17
|
+
- **Staking**: Token staking and rewards system
|
|
18
|
+
- **Treasury**: Secure fund management inside the host chain or across chains
|
|
19
|
+
- **Estimator**: Reward calculation and optimization
|
|
20
|
+
|
|
21
|
+
## Use Cases
|
|
22
|
+
|
|
23
|
+
This repository serves two main purposes:
|
|
24
|
+
|
|
25
|
+
### Deploy Your Own EVVM Instance
|
|
26
|
+
Create and deploy a complete virtual blockchain with all EVVM contracts on testnets for experimentation and testing.
|
|
27
|
+
|
|
28
|
+
### Build Services Using Existing EVVM
|
|
29
|
+
Use EVVM contracts as a library to build services that interact with already deployed EVVM instances.
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Quick Start Options
|
|
34
|
+
|
|
35
|
+
Choose your path based on what you want to achieve:
|
|
36
|
+
|
|
37
|
+
### Option A: Building Services on Existing EVVM
|
|
38
|
+
|
|
39
|
+
**Perfect if you want to create smart contracts that interact with already deployed EVVM instances.**
|
|
40
|
+
|
|
41
|
+
Simply install the library and start building:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
# Install via NPM
|
|
45
|
+
npm install @evvm/testnet-contracts
|
|
46
|
+
|
|
47
|
+
# OR install via Forge
|
|
48
|
+
forge install EVVM-org/Testnet-Contracts
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
**What you get**: Access to all EVVM interfaces and contracts to build services that interact with live EVVM instances on testnets.
|
|
52
|
+
|
|
53
|
+
**Next steps**: Jump to [Library Usage](#library-usage) section below.
|
|
54
|
+
|
|
55
|
+
### Option B: Deploy Your Own Complete EVVM Instance
|
|
56
|
+
|
|
57
|
+
**Perfect if you want to create your own virtual blockchain with custom tokens and governance.**
|
|
58
|
+
|
|
59
|
+
Follow the complete deployment process:
|
|
60
|
+
|
|
61
|
+
**What you get**: Your own virtual blockchain with custom tokens, domain system, staking rewards, and treasury management - all deployed and verified on public testnets.
|
|
62
|
+
|
|
63
|
+
**Next steps**: Jump to [Deploy Your Own EVVM](#deploy-your-own-evvm) section below.
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Library Usage
|
|
68
|
+
|
|
69
|
+
> **For Building Services**: This section is for developers who want to build smart contracts that interact with existing EVVM instances. If you want to deploy your own complete EVVM instance, skip to [Deploy Your Own EVVM](#deploy-your-own-evvm).
|
|
70
|
+
|
|
71
|
+
This repository can be used as a library in your Solidity projects through multiple installation methods:
|
|
72
|
+
|
|
73
|
+
### Installation Options
|
|
74
|
+
|
|
75
|
+
#### Option 1: NPM
|
|
76
|
+
```bash
|
|
77
|
+
npm install @evvm/testnet-contracts
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
#### Option 2: Forge
|
|
81
|
+
```bash
|
|
82
|
+
forge install EVVM-org/Testnet-Contracts
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Configuration
|
|
86
|
+
|
|
87
|
+
#### If using NPM installation
|
|
88
|
+
Add to your `foundry.toml`:
|
|
89
|
+
```toml
|
|
90
|
+
remappings = [
|
|
91
|
+
"@evvm/testnet-contracts/=node_modules/@evvm/testnet-contracts/src/",
|
|
92
|
+
]
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
#### If using Forge installation
|
|
96
|
+
Add to your `foundry.toml`:
|
|
97
|
+
```toml
|
|
98
|
+
remappings = [
|
|
99
|
+
"@evvm/testnet-contracts/=lib/Testnet-Contracts/src/",
|
|
100
|
+
]
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### Package Structure
|
|
104
|
+
|
|
105
|
+
```
|
|
106
|
+
@evvm/testnet-contracts/
|
|
107
|
+
├── src/
|
|
108
|
+
│ ├── contracts/
|
|
109
|
+
│ │ ├── evvm/Evvm.sol # Core EVVM implementation
|
|
110
|
+
│ │ ├── nameService/NameService.sol # Domain name resolution
|
|
111
|
+
│ │ ├── staking/Staking.sol # Staking mechanism
|
|
112
|
+
│ │ ├── staking/Estimator.sol # Rewards estimation
|
|
113
|
+
│ │ ├── treasury/Treasury.sol # Treasury management
|
|
114
|
+
│ │ └── treasuryTwoChains/ # Cross-chain treasury contracts
|
|
115
|
+
│ ├── interfaces/ # All contract interfaces
|
|
116
|
+
│ └── lib/ # Utility libraries
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### Quick Integration Example
|
|
120
|
+
|
|
121
|
+
```solidity
|
|
122
|
+
// SPDX-License-Identifier: MIT
|
|
123
|
+
pragma solidity ^0.8.19;
|
|
124
|
+
|
|
125
|
+
import "@evvm/testnet-contracts/interfaces/IEvvm.sol";
|
|
126
|
+
import "@evvm/testnet-contracts/interfaces/ITreasury.sol";
|
|
127
|
+
|
|
128
|
+
contract MyDApp {
|
|
129
|
+
IEvvm public immutable evvm;
|
|
130
|
+
ITreasury public immutable treasury;
|
|
131
|
+
|
|
132
|
+
constructor(address _evvm, address _treasury) {
|
|
133
|
+
evvm = IEvvm(_evvm);
|
|
134
|
+
treasury = ITreasury(_treasury);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
function getEvvmInfo() external view returns (string memory name, uint256 id) {
|
|
138
|
+
name = evvm.getEvvmName();
|
|
139
|
+
id = evvm.getEvvmID();
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### Available Contracts
|
|
145
|
+
|
|
146
|
+
#### Core Contracts
|
|
147
|
+
- `contracts/evvm/Evvm.sol` - Main EVVM virtual machine implementation
|
|
148
|
+
- `contracts/nameService/NameService.sol` - Domain name resolution system
|
|
149
|
+
- `contracts/staking/Staking.sol` - Token staking and rewards mechanism
|
|
150
|
+
- `contracts/staking/Estimator.sol` - Staking rewards estimation and calculation
|
|
151
|
+
- `contracts/treasury/Treasury.sol` - Manages deposits and withdrawals
|
|
152
|
+
|
|
153
|
+
#### Cross-chain Treasury
|
|
154
|
+
- `contracts/treasuryTwoChains/TreasuryHostChainStation.sol` - Host chain treasury management
|
|
155
|
+
- `contracts/treasuryTwoChains/TreasuryExternalChainStation.sol` - External chain treasury management
|
|
156
|
+
|
|
157
|
+
#### Interfaces
|
|
158
|
+
All contracts have corresponding interfaces in the `interfaces/` directory:
|
|
159
|
+
- `interfaces/IEvvm.sol`
|
|
160
|
+
- `interfaces/INameService.sol`
|
|
161
|
+
- `interfaces/IStaking.sol`
|
|
162
|
+
- `interfaces/IEstimator.sol`
|
|
163
|
+
- `interfaces/ITreasury.sol`
|
|
164
|
+
- `interfaces/ITreasuryHostChainStation.sol`
|
|
165
|
+
- `interfaces/ITreasuryExternalChainStation.sol`
|
|
166
|
+
|
|
167
|
+
#### Utility Libraries
|
|
168
|
+
- `lib/AdvancedStrings.sol` - Advanced string manipulation utilities
|
|
169
|
+
- `lib/SignatureRecover.sol` - Signature recovery utilities
|
|
170
|
+
- `lib/Erc191TestBuilder.sol` - ERC-191 signature testing utilities
|
|
171
|
+
|
|
172
|
+
### Import Patterns
|
|
173
|
+
|
|
174
|
+
#### Individual Contract Imports
|
|
175
|
+
```solidity
|
|
176
|
+
import "@evvm/testnet-contracts/contracts/evvm/Evvm.sol";
|
|
177
|
+
import "@evvm/testnet-contracts/interfaces/IEvvm.sol";
|
|
178
|
+
import "@evvm/testnet-contracts/lib/AdvancedStrings.sol";
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
#### Interface-Only Imports (Recommended for DApps)
|
|
182
|
+
```solidity
|
|
183
|
+
import "@evvm/testnet-contracts/interfaces/IEvvm.sol";
|
|
184
|
+
import "@evvm/testnet-contracts/interfaces/IStaking.sol";
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### Dependencies
|
|
188
|
+
|
|
189
|
+
#### If using NPM installation
|
|
190
|
+
Dependencies are automatically handled when you install the package. However, you need to ensure you have the peer dependencies:
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
npm install @openzeppelin/contracts
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
For cross-chain functionality, you might also need:
|
|
197
|
+
```bash
|
|
198
|
+
npm install @hyperlane-xyz/core
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
#### If using Forge installation
|
|
202
|
+
You need to manually install all dependencies:
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
forge install OpenZeppelin/openzeppelin-contracts
|
|
206
|
+
forge install hyperlane-xyz/hyperlane-monorepo # For cross-chain functionality
|
|
207
|
+
```
|
|
13
208
|
|
|
14
209
|
## Repository Structure
|
|
15
210
|
- `src/contracts/evvm/` — Core EVVM contracts and storage
|
|
@@ -24,30 +219,9 @@ EVVM provides a comprehensive set of smart contracts and tools for scalable, mod
|
|
|
24
219
|
- `input/` — Configuration files for deployment (generated by `evvm-init.sh`)
|
|
25
220
|
- `evvm-init.sh` — Interactive setup and deployment script
|
|
26
221
|
|
|
27
|
-
## Public EVVM Contract Address
|
|
28
|
-
|
|
29
|
-
### Ethereum Sepolia Testnet
|
|
30
|
-
- **EVVM**: [0x2029bb5e15E22c19Bc8bde3426fab29dD4db8A98](https://sepolia.etherscan.io/address/0x2029bb5e15E22c19Bc8bde3426fab29dD4db8A98#code)
|
|
31
|
-
- **NameService**: [0xD904f38B8c9968AbAb63f47c21aB120FCe59F013](https://sepolia.etherscan.io/address/0xD904f38B8c9968AbAb63f47c21aB120FCe59F013#code)
|
|
32
|
-
- **Staking**: [0xA68D4a0cFFDc6145D35Ae27521d01b166Fe4AE46](https://sepolia.etherscan.io/address/0xA68D4a0cFFDc6145D35Ae27521d01b166Fe4AE46#code)
|
|
33
|
-
- **Estimator**: [0x2aBEAD7519c9AFc14eEc2582dDD9FF04f0da0F42](https://sepolia.etherscan.io/address/0x2aBEAD7519c9AFc14eEc2582dDD9FF04f0da0F42#code)
|
|
34
|
-
- **Treasury**: [0x98465F828b82d0b676937e159547F35BBDBdfe91](https://sepolia.etherscan.io/address/0x98465F828b82d0b676937e159547F35BBDBdfe91#code)
|
|
35
|
-
|
|
36
|
-
### Arbitrum Sepolia Testnet
|
|
37
|
-
- **EVVM**: [0xC688C12541Ff85EF3E63755F6889317f312d03A3](https://sepolia.arbiscan.io/address/0xC688C12541Ff85EF3E63755F6889317f312d03A3#code)
|
|
38
|
-
- **NameService**: [0x82Fbac7857E8407cE6578E02B0be0d3Cd15Fb790](https://sepolia.arbiscan.io/address/0x82Fbac7857E8407cE6578E02B0be0d3Cd15Fb790#code)
|
|
39
|
-
- **Staking**: [0xaC3C70604a5633807Ae0149B6E6766452355635C](https://sepolia.arbiscan.io/address/0xaC3C70604a5633807Ae0149B6E6766452355635C#code)
|
|
40
|
-
- **Estimator**: [0xC4FF60fBAEf050FC476f4Ab10CA75378A2Cc79A3](https://sepolia.arbiscan.io/address/0xC4FF60fBAEf050FC476f4Ab10CA75378A2Cc79A3#code)
|
|
41
|
-
- **Treasury**: [0x7d4F9D95e84f6903c7247527e6BF1FA864F7c764](https://sepolia.arbiscan.io/address/0x7d4F9D95e84f6903c7247527e6BF1FA864F7c764#code)
|
|
42
|
-
|
|
43
|
-
## Development Flow
|
|
44
|
-
1. **Playground**: Prototype and experiment with new features in the playground repo.
|
|
45
|
-
2. **Testnet (this repo)**: Integrate, test, and validate on public testnets.
|
|
46
|
-
3. **Mainnet**: After successful testnet validation, proceed to mainnet deployment.
|
|
47
|
-
|
|
48
222
|
## Prerequisites
|
|
49
223
|
- [Foundry](https://getfoundry.sh/) (Solidity development toolkit)
|
|
50
|
-
- Node.js (
|
|
224
|
+
- Node.js (if using npm installation method)
|
|
51
225
|
- Bash shell (for running `evvm-init.sh`)
|
|
52
226
|
- Environment variables set up (`.env` file with API keys and RPC URLs)
|
|
53
227
|
|
|
@@ -73,9 +247,11 @@ This command will prompt you to enter your private key securely. The key will be
|
|
|
73
247
|
## Key Dependencies
|
|
74
248
|
- [OpenZeppelin Contracts](https://github.com/OpenZeppelin/openzeppelin-contracts)
|
|
75
249
|
|
|
76
|
-
##
|
|
250
|
+
## Deploy Your Own EVVM
|
|
251
|
+
|
|
252
|
+
Want to create your own virtual blockchain? Follow these steps to deploy a complete EVVM instance on testnets:
|
|
77
253
|
|
|
78
|
-
|
|
254
|
+
> **What you'll get**: Your own virtual blockchain with custom tokens, domain system, staking rewards, and treasury management - all deployed and verified on public testnets.
|
|
79
255
|
|
|
80
256
|
### 1. Clone and Install
|
|
81
257
|
```bash
|
|
@@ -142,18 +318,15 @@ If you prefer manual control over configuration, create these files in `input/`:
|
|
|
142
318
|
}
|
|
143
319
|
```
|
|
144
320
|
|
|
145
|
-
## Local Development
|
|
146
|
-
Start a local Anvil chain:
|
|
147
|
-
```bash
|
|
148
|
-
make anvil
|
|
149
|
-
```
|
|
321
|
+
## Local Development & Manual Deployment
|
|
150
322
|
|
|
151
|
-
|
|
323
|
+
### Start Local Development
|
|
152
324
|
```bash
|
|
153
|
-
make
|
|
325
|
+
make anvil # Start local blockchain
|
|
326
|
+
make deployLocalTestnet # Deploy to local chain
|
|
154
327
|
```
|
|
155
328
|
|
|
156
|
-
|
|
329
|
+
### Manual Deployment to Testnets
|
|
157
330
|
|
|
158
331
|
If you prefer to deploy manually after configuration:
|
|
159
332
|
|
|
@@ -173,12 +346,6 @@ forge script script/DeployTestnet.s.sol:DeployTestnet \
|
|
|
173
346
|
--etherscan-api-key $ETHERSCAN_API
|
|
174
347
|
```
|
|
175
348
|
|
|
176
|
-
## Local Development
|
|
177
|
-
```bash
|
|
178
|
-
make anvil # Start local blockchain
|
|
179
|
-
make deployLocalTestnet # Deploy to local chain
|
|
180
|
-
```
|
|
181
|
-
|
|
182
349
|
## Development Commands
|
|
183
350
|
```bash
|
|
184
351
|
make install # Install dependencies and compile
|
|
@@ -194,7 +361,6 @@ The EVVM ecosystem consists of five main contracts:
|
|
|
194
361
|
- **Staking.sol**: Token staking and rewards mechanism
|
|
195
362
|
- **Estimator.sol**: Staking rewards estimation and calculation
|
|
196
363
|
- **Treasury.sol**: Manages deposits and withdrawals of ETH and ERC20 tokens
|
|
197
|
-
- **Treasury.sol**: Manages deposits and withdrawals of ETH and ERC20 tokens
|
|
198
364
|
|
|
199
365
|
## Configuration Files
|
|
200
366
|
Key files for EVVM deployment:
|
|
@@ -204,6 +370,15 @@ Key files for EVVM deployment:
|
|
|
204
370
|
- `makefile` — Build and deployment automation
|
|
205
371
|
|
|
206
372
|
## Contributing
|
|
373
|
+
|
|
374
|
+
**Development Flow Context**: This repository is the next step after successful playground testing. It is dedicated to advanced integration, deployment, and validation on public testnets, before mainnet implementation.
|
|
375
|
+
|
|
376
|
+
### Development Flow
|
|
377
|
+
1. **Playground**: Prototype and experiment with new features in the playground repo.
|
|
378
|
+
2. **Testnet (this repo)**: Integrate, test, and validate on public testnets.
|
|
379
|
+
3. **Mainnet**: After successful testnet validation, proceed to mainnet deployment.
|
|
380
|
+
|
|
381
|
+
### How to Contribute
|
|
207
382
|
1. Fork the repository
|
|
208
383
|
2. Create a feature branch and make changes
|
|
209
384
|
3. Add tests for new features
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// SPDX-License-Identifier: EVVM-NONCOMMERCIAL-1.0
|
|
2
2
|
// Full license terms available at: https://www.evvm.info/docs/EVVMNoncommercialLicense
|
|
3
3
|
|
|
4
|
-
import {SignatureRecover} from "@evvm/testnet-contracts/
|
|
5
|
-
import {AdvancedStrings} from "@evvm/testnet-contracts/
|
|
4
|
+
import {SignatureRecover} from "@evvm/testnet-contracts/library/SignatureRecover.sol";
|
|
5
|
+
import {AdvancedStrings} from "@evvm/testnet-contracts/library/AdvancedStrings.sol";
|
|
6
6
|
import {Strings} from "@openzeppelin/contracts/utils/Strings.sol";
|
|
7
7
|
|
|
8
8
|
pragma solidity ^0.8.0;
|
|
@@ -58,7 +58,7 @@ pragma solidity ^0.8.0;
|
|
|
58
58
|
|
|
59
59
|
import {Evvm} from "@evvm/testnet-contracts/contracts/evvm/Evvm.sol";
|
|
60
60
|
import {Strings} from "@openzeppelin/contracts/utils/Strings.sol";
|
|
61
|
-
import {AdvancedStrings} from "@evvm/testnet-contracts/
|
|
61
|
+
import {AdvancedStrings} from "@evvm/testnet-contracts/library/AdvancedStrings.sol";
|
|
62
62
|
import {ErrorsLib} from "@evvm/testnet-contracts/contracts/nameService/lib/ErrorsLib.sol";
|
|
63
63
|
import {SignatureUtils} from "@evvm/testnet-contracts/contracts/nameService/lib/SignatureUtils.sol";
|
|
64
64
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// SPDX-License-Identifier: EVVM-NONCOMMERCIAL-1.0
|
|
2
2
|
// Full license terms available at: https://www.evvm.info/docs/EVVMNoncommercialLicense
|
|
3
3
|
|
|
4
|
-
import {SignatureRecover} from "@evvm/testnet-contracts/
|
|
5
|
-
import {AdvancedStrings} from "@evvm/testnet-contracts/
|
|
4
|
+
import {SignatureRecover} from "@evvm/testnet-contracts/library/SignatureRecover.sol";
|
|
5
|
+
import {AdvancedStrings} from "@evvm/testnet-contracts/library/AdvancedStrings.sol";
|
|
6
6
|
import {Strings} from "@openzeppelin/contracts/utils/Strings.sol";
|
|
7
7
|
|
|
8
8
|
pragma solidity ^0.8.0;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// SPDX-License-Identifier: EVVM-NONCOMMERCIAL-1.0
|
|
2
2
|
// Full license terms available at: https://www.evvm.info/docs/EVVMNoncommercialLicense
|
|
3
3
|
|
|
4
|
-
import {SignatureRecover} from "@evvm/testnet-contracts/
|
|
5
|
-
import {AdvancedStrings} from "@evvm/testnet-contracts/
|
|
4
|
+
import {SignatureRecover} from "@evvm/testnet-contracts/library/SignatureRecover.sol";
|
|
5
|
+
import {AdvancedStrings} from "@evvm/testnet-contracts/library/AdvancedStrings.sol";
|
|
6
6
|
import {Strings} from "@openzeppelin/contracts/utils/Strings.sol";
|
|
7
7
|
|
|
8
8
|
pragma solidity ^0.8.0;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// SPDX-License-Identifier: EVVM-NONCOMMERCIAL-1.0
|
|
2
2
|
// Full license terms available at: https://www.evvm.info/docs/EVVMNoncommercialLicense
|
|
3
3
|
|
|
4
|
-
import {SignatureRecover} from "@evvm/testnet-contracts/
|
|
5
|
-
import {AdvancedStrings} from "@evvm/testnet-contracts/
|
|
4
|
+
import {SignatureRecover} from "@evvm/testnet-contracts/library/SignatureRecover.sol";
|
|
5
|
+
import {AdvancedStrings} from "@evvm/testnet-contracts/library/AdvancedStrings.sol";
|
|
6
6
|
import {Strings} from "@openzeppelin/contracts/utils/Strings.sol";
|
|
7
7
|
|
|
8
8
|
pragma solidity ^0.8.0;
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@evvm/testnet-contracts",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.6",
|
|
4
4
|
"description": "EVVM Testnet Contracts - Smart contracts and tools for scalable, modular, and cross-chain EVM virtualization",
|
|
5
5
|
"files": [
|
|
6
6
|
"contracts/**/*.sol",
|
|
7
|
-
"interfaces/**/*.sol",
|
|
8
|
-
"
|
|
7
|
+
"interfaces/**/*.sol",
|
|
8
|
+
"library/**/*.sol",
|
|
9
9
|
"README.md",
|
|
10
10
|
"LICENSE"
|
|
11
11
|
],
|
|
@@ -36,8 +36,8 @@
|
|
|
36
36
|
},
|
|
37
37
|
"scripts": {
|
|
38
38
|
"build": "npm run copy-files",
|
|
39
|
-
"copy-files": "cp -r src/contracts . && cp -r src/interfaces . && cp -r src/
|
|
40
|
-
"clean": "rm -rf contracts interfaces
|
|
39
|
+
"copy-files": "cp -r src/contracts . && cp -r src/interfaces . && cp -r src/library .",
|
|
40
|
+
"clean": "rm -rf contracts interfaces library",
|
|
41
41
|
"prepare-publish": "npm run copy-files && npm pack",
|
|
42
42
|
"publish-package": "npm run copy-files && npm publish && npm run clean",
|
|
43
43
|
"compile": "forge build",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|