@0xsequence/catapult 1.3.16 → 1.3.17

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 CHANGED
@@ -388,7 +388,7 @@ Common options (run):
388
388
  - `-p, --project <path>`: Project root directory (defaults to current directory)
389
389
  - `--dotenv <path>`: Load environment variables from a custom .env file (run command only)
390
390
  - `-n, --network <selectors>`: Comma-separated selectors by chain ID or network name
391
- - `--rpc-url <url>`: Run against a single custom RPC; chain ID is auto-detected (no networks.yaml required)
391
+ - `--rpc-url <url>`: Run against a single custom RPC; chain ID is auto-detected. If `networks.yaml` defines that chain, Catapult merges yaml settings (name, `supports`, `gasLimit`, `testnet`, `evmVersion`, `params`) while using your RPC URL.
392
392
  - `-k, --private-key <key>`: EOA private key (or set `PRIVATE_KEY`)
393
393
  - `--etherscan-api-key <key>`: Etherscan API key (or set `ETHERSCAN_API_KEY`)
394
394
  - `--fail-early`: Stop as soon as any job fails
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AA0BnC,wBAAgB,cAAc,IAAI,OAAO,CAkHxC"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AA0BnC,wBAAgB,cAAc,IAAI,OAAO,CAuHxC"}
@@ -44,13 +44,16 @@ function makeRunCommand() {
44
44
  }
45
45
  try {
46
46
  const detectedNetwork = await (0, network_utils_1.detectNetworkFromRpc)(options.rpcUrl);
47
+ const knownNetwork = networks.find(n => n.chainId === detectedNetwork.chainId);
47
48
  const customNetwork = {
48
- name: detectedNetwork.name || `custom-${detectedNetwork.chainId}`,
49
+ name: detectedNetwork.name || knownNetwork?.name || `custom-${detectedNetwork.chainId}`,
49
50
  chainId: detectedNetwork.chainId,
50
51
  rpcUrl: options.rpcUrl,
51
- supports: detectedNetwork.supports || [],
52
- gasLimit: detectedNetwork.gasLimit,
53
- testnet: detectedNetwork.testnet
52
+ supports: detectedNetwork.supports || knownNetwork?.supports || [],
53
+ gasLimit: detectedNetwork.gasLimit || knownNetwork?.gasLimit,
54
+ testnet: detectedNetwork.testnet !== undefined ? detectedNetwork.testnet : knownNetwork?.testnet,
55
+ evmVersion: detectedNetwork.evmVersion || knownNetwork?.evmVersion,
56
+ params: detectedNetwork.params || knownNetwork?.params,
54
57
  };
55
58
  networks = [customNetwork];
56
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
@@ -83,11 +83,11 @@ describe('Network Utils', () => {
83
83
  const { ethers } = require('ethers');
84
84
  const mockNetwork = {
85
85
  name: 'sepolia',
86
- chainId: 11155111
86
+ chainId: 11155111,
87
87
  };
88
88
  const getNetworkMock = jest.fn().mockResolvedValue(mockNetwork);
89
89
  ethers.JsonRpcProvider.mockImplementation(() => ({
90
- getNetwork: getNetworkMock
90
+ getNetwork: getNetworkMock,
91
91
  }));
92
92
  const detectedInfo = await (0, network_utils_1.detectNetworkFromRpc)('https://sepolia.infura.io/v3/abc123');
93
93
  const customNetwork = {
@@ -96,7 +96,9 @@ describe('Network Utils', () => {
96
96
  rpcUrl: 'https://sepolia.infura.io/v3/abc123',
97
97
  supports: detectedInfo.supports || [],
98
98
  gasLimit: detectedInfo.gasLimit,
99
- testnet: detectedInfo.testnet
99
+ testnet: detectedInfo.testnet,
100
+ evmVersion: detectedInfo.evmVersion,
101
+ params: detectedInfo.params,
100
102
  };
101
103
  expect(customNetwork).toEqual({
102
104
  name: 'sepolia',
@@ -104,18 +106,57 @@ describe('Network Utils', () => {
104
106
  rpcUrl: 'https://sepolia.infura.io/v3/abc123',
105
107
  supports: [],
106
108
  gasLimit: undefined,
107
- testnet: undefined
109
+ testnet: undefined,
110
+ evmVersion: undefined,
111
+ params: undefined,
112
+ });
113
+ });
114
+ it('should merge params and other yaml fields when chainId matches networks.yaml', async () => {
115
+ const { ethers } = require('ethers');
116
+ const getNetworkMock = jest.fn().mockResolvedValue({ name: 'unknown', chainId: 137 });
117
+ ethers.JsonRpcProvider.mockImplementation(() => ({
118
+ getNetwork: getNetworkMock,
119
+ }));
120
+ const detectedInfo = await (0, network_utils_1.detectNetworkFromRpc)('http://127.0.0.1:8545');
121
+ const knownNetwork = {
122
+ name: 'Polygon',
123
+ chainId: 137,
124
+ rpcUrl: 'https://nodes.sequence.app/polygon/token',
125
+ supports: ['etherscan_v2', 'sourcify'],
126
+ testnet: false,
127
+ evmVersion: 'paris',
128
+ params: { trailsOnly: false },
129
+ };
130
+ const customNetwork = {
131
+ name: detectedInfo.name || knownNetwork.name || `custom-${detectedInfo.chainId}`,
132
+ chainId: detectedInfo.chainId,
133
+ rpcUrl: 'http://127.0.0.1:8545',
134
+ supports: detectedInfo.supports || knownNetwork.supports || [],
135
+ gasLimit: detectedInfo.gasLimit || knownNetwork.gasLimit,
136
+ testnet: detectedInfo.testnet !== undefined ? detectedInfo.testnet : knownNetwork.testnet,
137
+ evmVersion: detectedInfo.evmVersion || knownNetwork.evmVersion,
138
+ params: detectedInfo.params || knownNetwork.params,
139
+ };
140
+ expect(customNetwork).toEqual({
141
+ name: 'unknown',
142
+ chainId: 137,
143
+ rpcUrl: 'http://127.0.0.1:8545',
144
+ supports: ['etherscan_v2', 'sourcify'],
145
+ gasLimit: undefined,
146
+ testnet: false,
147
+ evmVersion: 'paris',
148
+ params: { trailsOnly: false },
108
149
  });
109
150
  });
110
151
  it('should handle partial network information gracefully', async () => {
111
152
  const { ethers } = require('ethers');
112
153
  const mockNetwork = {
113
154
  name: 'unknown',
114
- chainId: 42
155
+ chainId: 42,
115
156
  };
116
157
  const getNetworkMock = jest.fn().mockResolvedValue(mockNetwork);
117
158
  ethers.JsonRpcProvider.mockImplementation(() => ({
118
- getNetwork: getNetworkMock
159
+ getNetwork: getNetworkMock,
119
160
  }));
120
161
  const detectedInfo = await (0, network_utils_1.detectNetworkFromRpc)('http://custom-network:8545');
121
162
  const customNetwork = {
@@ -124,7 +165,9 @@ describe('Network Utils', () => {
124
165
  rpcUrl: 'http://custom-network:8545',
125
166
  supports: detectedInfo.supports || [],
126
167
  gasLimit: detectedInfo.gasLimit,
127
- testnet: detectedInfo.testnet
168
+ testnet: detectedInfo.testnet,
169
+ evmVersion: detectedInfo.evmVersion,
170
+ params: detectedInfo.params,
128
171
  };
129
172
  expect(customNetwork).toEqual({
130
173
  name: 'unknown',
@@ -132,7 +175,9 @@ describe('Network Utils', () => {
132
175
  rpcUrl: 'http://custom-network:8545',
133
176
  supports: [],
134
177
  gasLimit: undefined,
135
- testnet: undefined
178
+ testnet: undefined,
179
+ evmVersion: undefined,
180
+ params: undefined,
136
181
  });
137
182
  });
138
183
  });
@@ -1 +1 @@
1
- {"version":3,"file":"network-utils.spec.js","sourceRoot":"","sources":["../../../src/lib/__tests__/network-utils.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"network-utils.spec.js","sourceRoot":"","sources":["../../../src/lib/__tests__/network-utils.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@0xsequence/catapult",
3
- "version": "1.3.16",
3
+ "version": "1.3.17",
4
4
  "description": "Ethereum contract deployment CLI tool",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -2,8 +2,8 @@ import { Command } from 'commander'
2
2
  import { Deployer, DeployerOptions } from '../lib/deployer'
3
3
  import { loadNetworks } from '../lib/network-loader'
4
4
  import { detectNetworkFromRpc, isValidRpcUrl } from '../lib/network-utils'
5
- import { deploymentEvents } from '../lib/events'
6
5
  import { Network } from '../lib/types'
6
+ import { deploymentEvents } from '../lib/events'
7
7
  import { projectOption, dotenvOption, noStdOption, verbosityOption, loadDotenv } from './common'
8
8
  import { resolveSelectedChainIds } from '../lib/network-selection'
9
9
  import { setVerbosity } from '../index'
@@ -76,15 +76,20 @@ export function makeRunCommand(): Command {
76
76
  // Detect network information from RPC URL
77
77
  const detectedNetwork = await detectNetworkFromRpc(options.rpcUrl)
78
78
 
79
- // Create a complete network object
79
+ // Try to find a matching network in networks.yaml by chainId to merge verification platform support
80
+ const knownNetwork = networks.find(n => n.chainId === detectedNetwork.chainId)
81
+
82
+ // Create a complete network object, merging with known network config if found
80
83
  const customNetwork: Network = {
81
- name: detectedNetwork.name || `custom-${detectedNetwork.chainId}`,
84
+ name: detectedNetwork.name || knownNetwork?.name || `custom-${detectedNetwork.chainId}`,
82
85
  chainId: detectedNetwork.chainId!,
83
86
  rpcUrl: options.rpcUrl,
84
87
  // Optional fields with defaults
85
- supports: detectedNetwork.supports || [],
86
- gasLimit: detectedNetwork.gasLimit,
87
- testnet: detectedNetwork.testnet
88
+ supports: detectedNetwork.supports || knownNetwork?.supports || [],
89
+ gasLimit: detectedNetwork.gasLimit || knownNetwork?.gasLimit,
90
+ testnet: detectedNetwork.testnet !== undefined ? detectedNetwork.testnet : knownNetwork?.testnet,
91
+ evmVersion: detectedNetwork.evmVersion || knownNetwork?.evmVersion,
92
+ params: detectedNetwork.params || knownNetwork?.params,
88
93
  }
89
94
 
90
95
  // Custom network created from RPC detection
@@ -108,16 +108,15 @@ describe('Network Utils', () => {
108
108
  describe('Integration with Run Command', () => {
109
109
  it('should create a complete Network object from detected information', async () => {
110
110
  const { ethers } = require('ethers')
111
-
112
- // Mock successful network detection
111
+
113
112
  const mockNetwork = {
114
113
  name: 'sepolia',
115
- chainId: 11155111
114
+ chainId: 11155111,
116
115
  }
117
-
116
+
118
117
  const getNetworkMock = jest.fn().mockResolvedValue(mockNetwork)
119
118
  ethers.JsonRpcProvider.mockImplementation(() => ({
120
- getNetwork: getNetworkMock
119
+ getNetwork: getNetworkMock,
121
120
  }))
122
121
 
123
122
  const detectedInfo = await detectNetworkFromRpc('https://sepolia.infura.io/v3/abc123')
@@ -129,7 +128,9 @@ describe('Network Utils', () => {
129
128
  rpcUrl: 'https://sepolia.infura.io/v3/abc123',
130
129
  supports: detectedInfo.supports || [],
131
130
  gasLimit: detectedInfo.gasLimit,
132
- testnet: detectedInfo.testnet
131
+ testnet: detectedInfo.testnet,
132
+ evmVersion: detectedInfo.evmVersion,
133
+ params: detectedInfo.params,
133
134
  }
134
135
 
135
136
  expect(customNetwork).toEqual({
@@ -138,22 +139,66 @@ describe('Network Utils', () => {
138
139
  rpcUrl: 'https://sepolia.infura.io/v3/abc123',
139
140
  supports: [],
140
141
  gasLimit: undefined,
141
- testnet: undefined
142
+ testnet: undefined,
143
+ evmVersion: undefined,
144
+ params: undefined,
145
+ })
146
+ })
147
+
148
+ it('should merge params and other yaml fields when chainId matches networks.yaml', async () => {
149
+ const { ethers } = require('ethers')
150
+
151
+ const getNetworkMock = jest.fn().mockResolvedValue({ name: 'unknown', chainId: 137 })
152
+ ethers.JsonRpcProvider.mockImplementation(() => ({
153
+ getNetwork: getNetworkMock,
154
+ }))
155
+
156
+ const detectedInfo = await detectNetworkFromRpc('http://127.0.0.1:8545')
157
+ const knownNetwork: Network = {
158
+ name: 'Polygon',
159
+ chainId: 137,
160
+ rpcUrl: 'https://nodes.sequence.app/polygon/token',
161
+ supports: ['etherscan_v2', 'sourcify'],
162
+ testnet: false,
163
+ evmVersion: 'paris',
164
+ params: { trailsOnly: false },
165
+ }
166
+
167
+ // Simulate what the run command does
168
+ const customNetwork: Network = {
169
+ name: detectedInfo.name || knownNetwork.name || `custom-${detectedInfo.chainId}`,
170
+ chainId: detectedInfo.chainId!,
171
+ rpcUrl: 'http://127.0.0.1:8545',
172
+ supports: detectedInfo.supports || knownNetwork.supports || [],
173
+ gasLimit: detectedInfo.gasLimit || knownNetwork.gasLimit,
174
+ testnet: detectedInfo.testnet !== undefined ? detectedInfo.testnet : knownNetwork.testnet,
175
+ evmVersion: detectedInfo.evmVersion || knownNetwork.evmVersion,
176
+ params: detectedInfo.params || knownNetwork.params,
177
+ }
178
+
179
+ expect(customNetwork).toEqual({
180
+ name: 'unknown',
181
+ chainId: 137,
182
+ rpcUrl: 'http://127.0.0.1:8545',
183
+ supports: ['etherscan_v2', 'sourcify'],
184
+ gasLimit: undefined,
185
+ testnet: false,
186
+ evmVersion: 'paris',
187
+ params: { trailsOnly: false },
142
188
  })
143
189
  })
144
190
 
145
191
  it('should handle partial network information gracefully', async () => {
146
192
  const { ethers } = require('ethers')
147
-
148
- // Mock network with minimal information
193
+
149
194
  const mockNetwork = {
150
195
  name: 'unknown',
151
- chainId: 42
196
+ chainId: 42,
152
197
  }
153
-
198
+
154
199
  const getNetworkMock = jest.fn().mockResolvedValue(mockNetwork)
155
200
  ethers.JsonRpcProvider.mockImplementation(() => ({
156
- getNetwork: getNetworkMock
201
+ getNetwork: getNetworkMock,
157
202
  }))
158
203
 
159
204
  const detectedInfo = await detectNetworkFromRpc('http://custom-network:8545')
@@ -165,7 +210,9 @@ describe('Network Utils', () => {
165
210
  rpcUrl: 'http://custom-network:8545',
166
211
  supports: detectedInfo.supports || [],
167
212
  gasLimit: detectedInfo.gasLimit,
168
- testnet: detectedInfo.testnet
213
+ testnet: detectedInfo.testnet,
214
+ evmVersion: detectedInfo.evmVersion,
215
+ params: detectedInfo.params,
169
216
  }
170
217
 
171
218
  expect(customNetwork).toEqual({
@@ -174,7 +221,9 @@ describe('Network Utils', () => {
174
221
  rpcUrl: 'http://custom-network:8545',
175
222
  supports: [],
176
223
  gasLimit: undefined,
177
- testnet: undefined
224
+ testnet: undefined,
225
+ evmVersion: undefined,
226
+ params: undefined,
178
227
  })
179
228
  })
180
229
  })