@0xsequence/catapult 1.3.2 → 1.3.4
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/CONCEPT.md +24 -0
- package/README.md +16 -0
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +4 -2
- package/dist/commands/run.js.map +1 -1
- package/dist/lib/__tests__/deployer.spec.js +71 -1
- package/dist/lib/__tests__/deployer.spec.js.map +1 -1
- package/dist/lib/core/__tests__/engine.spec.js +270 -0
- package/dist/lib/core/__tests__/engine.spec.js.map +1 -1
- package/dist/lib/core/__tests__/resolver.spec.js +132 -0
- package/dist/lib/core/__tests__/resolver.spec.js.map +1 -1
- package/dist/lib/core/engine.d.ts +13 -0
- package/dist/lib/core/engine.d.ts.map +1 -1
- package/dist/lib/core/engine.js +148 -15
- package/dist/lib/core/engine.js.map +1 -1
- package/dist/lib/core/resolver.d.ts +1 -0
- package/dist/lib/core/resolver.d.ts.map +1 -1
- package/dist/lib/core/resolver.js +24 -7
- package/dist/lib/core/resolver.js.map +1 -1
- package/dist/lib/deployer.d.ts +2 -0
- package/dist/lib/deployer.d.ts.map +1 -1
- package/dist/lib/deployer.js +18 -1
- package/dist/lib/deployer.js.map +1 -1
- package/dist/lib/events/__tests__/event-system.spec.js +30 -0
- package/dist/lib/events/__tests__/event-system.spec.js.map +1 -1
- package/dist/lib/events/cli-adapter.d.ts.map +1 -1
- package/dist/lib/events/cli-adapter.js +25 -1
- package/dist/lib/events/cli-adapter.js.map +1 -1
- package/dist/lib/events/types.d.ts +26 -2
- package/dist/lib/events/types.d.ts.map +1 -1
- package/dist/lib/std/templates/assured-deployment.yaml +4 -3
- package/dist/lib/std/templates/era-evm-predeploy.yaml +35 -0
- package/dist/lib/std/templates/erc-2470.yaml +3 -0
- package/dist/lib/std/templates/min-balance.yaml +3 -0
- package/dist/lib/std/templates/nano-universal-deployer.yaml +2 -0
- package/dist/lib/std/templates/raw-erc-2470.yaml +3 -0
- package/dist/lib/std/templates/raw-nano-universal-deployer.yaml +3 -0
- package/dist/lib/std/templates/raw-sequence-universal-deployer-2.yaml +4 -0
- package/dist/lib/std/templates/sequence-universal-deployer-2.yaml +4 -0
- package/dist/lib/types/values.d.ts +8 -1
- package/dist/lib/types/values.d.ts.map +1 -1
- package/dist/lib/utils/assertion.d.ts +4 -0
- package/dist/lib/utils/assertion.d.ts.map +1 -0
- package/dist/lib/utils/assertion.js +27 -0
- package/dist/lib/utils/assertion.js.map +1 -0
- package/package.json +12 -13
- package/src/commands/run.ts +4 -1
- package/src/lib/__tests__/deployer.spec.ts +108 -1
- package/src/lib/core/__tests__/engine.spec.ts +321 -0
- package/src/lib/core/__tests__/resolver.spec.ts +150 -1
- package/src/lib/core/engine.ts +188 -17
- package/src/lib/core/resolver.ts +29 -8
- package/src/lib/deployer.ts +28 -1
- package/src/lib/events/__tests__/event-system.spec.ts +51 -2
- package/src/lib/events/cli-adapter.ts +32 -4
- package/src/lib/events/types.ts +30 -2
- package/src/lib/std/templates/assured-deployment.yaml +4 -3
- package/src/lib/std/templates/era-evm-predeploy.yaml +35 -0
- package/src/lib/std/templates/erc-2470.yaml +3 -0
- package/src/lib/std/templates/min-balance.yaml +3 -0
- package/src/lib/std/templates/nano-universal-deployer.yaml +2 -0
- package/src/lib/std/templates/raw-erc-2470.yaml +3 -0
- package/src/lib/std/templates/raw-nano-universal-deployer.yaml +3 -0
- package/src/lib/std/templates/raw-sequence-universal-deployer-2.yaml +4 -0
- package/src/lib/std/templates/sequence-universal-deployer-2.yaml +4 -0
- package/src/lib/types/values.ts +10 -1
- package/src/lib/utils/assertion.ts +24 -0
|
@@ -1232,5 +1232,275 @@ describe('ExecutionEngine', () => {
|
|
|
1232
1232
|
expect(context.getOutput('nick-test-default-bytecode.success')).toBe(true);
|
|
1233
1233
|
});
|
|
1234
1234
|
});
|
|
1235
|
+
describe('ignore verify errors feature', () => {
|
|
1236
|
+
beforeEach(() => {
|
|
1237
|
+
jest.doMock('fs/promises', () => ({
|
|
1238
|
+
readFile: jest.fn().mockResolvedValue(JSON.stringify({
|
|
1239
|
+
_format: 'hh-sol-build-info-1',
|
|
1240
|
+
id: 'test-id',
|
|
1241
|
+
solcVersion: '0.8.0',
|
|
1242
|
+
input: {
|
|
1243
|
+
language: 'Solidity',
|
|
1244
|
+
sources: {
|
|
1245
|
+
'TestContract.sol': {
|
|
1246
|
+
content: 'contract TestContract { }'
|
|
1247
|
+
}
|
|
1248
|
+
},
|
|
1249
|
+
settings: {
|
|
1250
|
+
optimizer: { enabled: true, runs: 200 },
|
|
1251
|
+
outputSelection: { '*': { '*': ['*'] } }
|
|
1252
|
+
}
|
|
1253
|
+
},
|
|
1254
|
+
output: {
|
|
1255
|
+
contracts: {},
|
|
1256
|
+
sources: {}
|
|
1257
|
+
}
|
|
1258
|
+
}))
|
|
1259
|
+
}));
|
|
1260
|
+
const mockVerificationRegistry = new etherscan_1.VerificationPlatformRegistry();
|
|
1261
|
+
const mockPlatform = {
|
|
1262
|
+
name: 'mock-platform',
|
|
1263
|
+
supportsNetwork: jest.fn().mockReturnValue(true),
|
|
1264
|
+
isConfigured: jest.fn().mockReturnValue(true),
|
|
1265
|
+
getConfigurationRequirements: jest.fn().mockReturnValue(''),
|
|
1266
|
+
isContractAlreadyVerified: jest.fn().mockResolvedValue(false),
|
|
1267
|
+
verifyContract: jest.fn().mockRejectedValue(new Error('Verification failed'))
|
|
1268
|
+
};
|
|
1269
|
+
mockVerificationRegistry.register(mockPlatform);
|
|
1270
|
+
engine = new engine_1.ExecutionEngine(templates, {
|
|
1271
|
+
verificationRegistry: mockVerificationRegistry,
|
|
1272
|
+
ignoreVerifyErrors: true
|
|
1273
|
+
});
|
|
1274
|
+
});
|
|
1275
|
+
it('should collect verification warnings when ignoreVerifyErrors is enabled', async () => {
|
|
1276
|
+
const mockContract = {
|
|
1277
|
+
sourceName: 'TestContract.sol',
|
|
1278
|
+
contractName: 'TestContract',
|
|
1279
|
+
compiler: { version: '0.8.0' },
|
|
1280
|
+
buildInfoId: 'test-build-id',
|
|
1281
|
+
source: 'contract TestContract { }',
|
|
1282
|
+
creationCode: '0x608060405234801561000f575f5ffd5b50602a5f526020601ff3',
|
|
1283
|
+
abi: [],
|
|
1284
|
+
_sources: new Set(['TestContract.sol', '/path/to/build-info/test.json'])
|
|
1285
|
+
};
|
|
1286
|
+
context.contractRepository.addForTesting({
|
|
1287
|
+
contractName: mockContract.contractName,
|
|
1288
|
+
abi: mockContract.abi,
|
|
1289
|
+
bytecode: mockContract.creationCode,
|
|
1290
|
+
sourceName: mockContract.sourceName,
|
|
1291
|
+
source: mockContract.source,
|
|
1292
|
+
compiler: mockContract.compiler,
|
|
1293
|
+
buildInfoId: mockContract.buildInfoId,
|
|
1294
|
+
_path: '/test/path',
|
|
1295
|
+
_hash: 'test-hash'
|
|
1296
|
+
});
|
|
1297
|
+
const action = {
|
|
1298
|
+
type: 'verify-contract',
|
|
1299
|
+
name: 'test-verify',
|
|
1300
|
+
arguments: {
|
|
1301
|
+
address: TEST_ADDRESSES.RECIPIENT_1,
|
|
1302
|
+
contract: '{{Contract(TestContract)}}',
|
|
1303
|
+
platform: 'mock-platform'
|
|
1304
|
+
}
|
|
1305
|
+
};
|
|
1306
|
+
await expect(engine.executePrimitive(action, context, new Map()))
|
|
1307
|
+
.resolves.not.toThrow();
|
|
1308
|
+
const warnings = engine.getVerificationWarnings();
|
|
1309
|
+
expect(warnings).toHaveLength(1);
|
|
1310
|
+
expect(warnings[0]).toMatchObject({
|
|
1311
|
+
actionName: 'test-verify',
|
|
1312
|
+
address: TEST_ADDRESSES.RECIPIENT_1,
|
|
1313
|
+
contractName: 'TestContract.sol:TestContract',
|
|
1314
|
+
platform: 'mock-platform',
|
|
1315
|
+
error: 'Action "test-verify": No build-info file found in contract sources'
|
|
1316
|
+
});
|
|
1317
|
+
});
|
|
1318
|
+
it('should throw verification errors when ignoreVerifyErrors is disabled', async () => {
|
|
1319
|
+
const mockVerificationRegistry = new etherscan_1.VerificationPlatformRegistry();
|
|
1320
|
+
const mockPlatform = {
|
|
1321
|
+
name: 'mock-platform',
|
|
1322
|
+
supportsNetwork: jest.fn().mockReturnValue(true),
|
|
1323
|
+
isConfigured: jest.fn().mockReturnValue(true),
|
|
1324
|
+
getConfigurationRequirements: jest.fn().mockReturnValue(''),
|
|
1325
|
+
isContractAlreadyVerified: jest.fn().mockResolvedValue(false),
|
|
1326
|
+
verifyContract: jest.fn().mockRejectedValue(new Error('Verification failed'))
|
|
1327
|
+
};
|
|
1328
|
+
mockVerificationRegistry.register(mockPlatform);
|
|
1329
|
+
const engineWithoutIgnore = new engine_1.ExecutionEngine(templates, {
|
|
1330
|
+
verificationRegistry: mockVerificationRegistry,
|
|
1331
|
+
ignoreVerifyErrors: false
|
|
1332
|
+
});
|
|
1333
|
+
const mockContract = {
|
|
1334
|
+
sourceName: 'TestContract.sol',
|
|
1335
|
+
contractName: 'TestContract',
|
|
1336
|
+
compiler: { version: '0.8.0' },
|
|
1337
|
+
buildInfoId: 'test-build-id',
|
|
1338
|
+
source: 'contract TestContract { }',
|
|
1339
|
+
creationCode: '0x608060405234801561000f575f5ffd5b50602a5f526020601ff3',
|
|
1340
|
+
abi: [],
|
|
1341
|
+
_sources: new Set(['TestContract.sol', '/path/to/build-info/test.json'])
|
|
1342
|
+
};
|
|
1343
|
+
context.contractRepository.addForTesting({
|
|
1344
|
+
contractName: mockContract.contractName,
|
|
1345
|
+
abi: mockContract.abi,
|
|
1346
|
+
bytecode: mockContract.creationCode,
|
|
1347
|
+
sourceName: mockContract.sourceName,
|
|
1348
|
+
source: mockContract.source,
|
|
1349
|
+
compiler: mockContract.compiler,
|
|
1350
|
+
buildInfoId: mockContract.buildInfoId,
|
|
1351
|
+
_path: '/test/path',
|
|
1352
|
+
_hash: 'test-hash'
|
|
1353
|
+
});
|
|
1354
|
+
const action = {
|
|
1355
|
+
type: 'verify-contract',
|
|
1356
|
+
name: 'test-verify',
|
|
1357
|
+
arguments: {
|
|
1358
|
+
address: TEST_ADDRESSES.RECIPIENT_1,
|
|
1359
|
+
contract: '{{Contract(TestContract)}}',
|
|
1360
|
+
platform: 'mock-platform'
|
|
1361
|
+
}
|
|
1362
|
+
};
|
|
1363
|
+
await expect(engineWithoutIgnore.executePrimitive(action, context, new Map()))
|
|
1364
|
+
.rejects.toThrow('Action "test-verify": No build-info file found in contract sources');
|
|
1365
|
+
});
|
|
1366
|
+
it('should handle multiple platform verification failures with ignoreVerifyErrors', async () => {
|
|
1367
|
+
const mockVerificationRegistry = new etherscan_1.VerificationPlatformRegistry();
|
|
1368
|
+
const platforms = ['platform1', 'platform2', 'platform3'];
|
|
1369
|
+
platforms.forEach(name => {
|
|
1370
|
+
const mockPlatform = {
|
|
1371
|
+
name,
|
|
1372
|
+
supportsNetwork: jest.fn().mockReturnValue(true),
|
|
1373
|
+
isConfigured: jest.fn().mockReturnValue(true),
|
|
1374
|
+
getConfigurationRequirements: jest.fn().mockReturnValue(''),
|
|
1375
|
+
isContractAlreadyVerified: jest.fn().mockResolvedValue(false),
|
|
1376
|
+
verifyContract: jest.fn().mockRejectedValue(new Error(`${name} verification failed`))
|
|
1377
|
+
};
|
|
1378
|
+
mockVerificationRegistry.register(mockPlatform);
|
|
1379
|
+
});
|
|
1380
|
+
engine = new engine_1.ExecutionEngine(templates, {
|
|
1381
|
+
verificationRegistry: mockVerificationRegistry,
|
|
1382
|
+
ignoreVerifyErrors: true
|
|
1383
|
+
});
|
|
1384
|
+
const mockContract = {
|
|
1385
|
+
sourceName: 'TestContract.sol',
|
|
1386
|
+
contractName: 'TestContract',
|
|
1387
|
+
compiler: { version: '0.8.0' },
|
|
1388
|
+
buildInfoId: 'test-build-id',
|
|
1389
|
+
source: 'contract TestContract { }',
|
|
1390
|
+
creationCode: '0x608060405234801561000f575f5ffd5b50602a5f526020601ff3',
|
|
1391
|
+
abi: [],
|
|
1392
|
+
_sources: new Set(['TestContract.sol', '/path/to/build-info/test.json'])
|
|
1393
|
+
};
|
|
1394
|
+
context.contractRepository.addForTesting({
|
|
1395
|
+
contractName: mockContract.contractName,
|
|
1396
|
+
abi: mockContract.abi,
|
|
1397
|
+
bytecode: mockContract.creationCode,
|
|
1398
|
+
sourceName: mockContract.sourceName,
|
|
1399
|
+
source: mockContract.source,
|
|
1400
|
+
compiler: mockContract.compiler,
|
|
1401
|
+
buildInfoId: mockContract.buildInfoId,
|
|
1402
|
+
_path: '/test/path',
|
|
1403
|
+
_hash: 'test-hash'
|
|
1404
|
+
});
|
|
1405
|
+
const action = {
|
|
1406
|
+
type: 'verify-contract',
|
|
1407
|
+
name: 'test-verify',
|
|
1408
|
+
arguments: {
|
|
1409
|
+
address: TEST_ADDRESSES.RECIPIENT_1,
|
|
1410
|
+
contract: '{{Contract(TestContract)}}',
|
|
1411
|
+
platform: platforms
|
|
1412
|
+
}
|
|
1413
|
+
};
|
|
1414
|
+
await expect(engine.executePrimitive(action, context, new Map()))
|
|
1415
|
+
.resolves.not.toThrow();
|
|
1416
|
+
const warnings = engine.getVerificationWarnings();
|
|
1417
|
+
expect(warnings).toHaveLength(3);
|
|
1418
|
+
platforms.forEach((platform, index) => {
|
|
1419
|
+
expect(warnings[index]).toMatchObject({
|
|
1420
|
+
actionName: 'test-verify',
|
|
1421
|
+
platform,
|
|
1422
|
+
error: 'Action "test-verify": No build-info file found in contract sources'
|
|
1423
|
+
});
|
|
1424
|
+
});
|
|
1425
|
+
});
|
|
1426
|
+
it('should provide methods to get and clear verification warnings', () => {
|
|
1427
|
+
expect(engine.getVerificationWarnings()).toEqual([]);
|
|
1428
|
+
engine.verificationWarnings.push({
|
|
1429
|
+
actionName: 'test',
|
|
1430
|
+
address: '0x123',
|
|
1431
|
+
contractName: 'Test',
|
|
1432
|
+
platform: 'test-platform',
|
|
1433
|
+
error: 'test error'
|
|
1434
|
+
});
|
|
1435
|
+
const warnings = engine.getVerificationWarnings();
|
|
1436
|
+
expect(warnings).toHaveLength(1);
|
|
1437
|
+
expect(warnings[0]).toMatchObject({
|
|
1438
|
+
actionName: 'test',
|
|
1439
|
+
error: 'test error'
|
|
1440
|
+
});
|
|
1441
|
+
engine.clearVerificationWarnings();
|
|
1442
|
+
expect(engine.getVerificationWarnings()).toEqual([]);
|
|
1443
|
+
});
|
|
1444
|
+
it('should emit verification_skipped events when all platforms fail and ignoreVerifyErrors is enabled', async () => {
|
|
1445
|
+
const mockVerificationRegistry = new etherscan_1.VerificationPlatformRegistry();
|
|
1446
|
+
const mockPlatform = {
|
|
1447
|
+
name: 'mock-platform',
|
|
1448
|
+
supportsNetwork: jest.fn().mockReturnValue(true),
|
|
1449
|
+
isConfigured: jest.fn().mockReturnValue(true),
|
|
1450
|
+
getConfigurationRequirements: jest.fn().mockReturnValue(''),
|
|
1451
|
+
isContractAlreadyVerified: jest.fn().mockResolvedValue(false),
|
|
1452
|
+
verifyContract: jest.fn().mockRejectedValue(new Error('Verification failed'))
|
|
1453
|
+
};
|
|
1454
|
+
mockVerificationRegistry.register(mockPlatform);
|
|
1455
|
+
mockVerificationRegistry.getConfiguredPlatforms = jest.fn().mockReturnValue([mockPlatform]);
|
|
1456
|
+
const mockEventEmitter = {
|
|
1457
|
+
emitEvent: jest.fn()
|
|
1458
|
+
};
|
|
1459
|
+
engine = new engine_1.ExecutionEngine(templates, {
|
|
1460
|
+
verificationRegistry: mockVerificationRegistry,
|
|
1461
|
+
ignoreVerifyErrors: true,
|
|
1462
|
+
eventEmitter: mockEventEmitter
|
|
1463
|
+
});
|
|
1464
|
+
const mockContract = {
|
|
1465
|
+
sourceName: 'TestContract.sol',
|
|
1466
|
+
contractName: 'TestContract',
|
|
1467
|
+
compiler: { version: '0.8.0' },
|
|
1468
|
+
buildInfoId: 'test-build-id',
|
|
1469
|
+
source: 'contract TestContract { }',
|
|
1470
|
+
creationCode: '0x608060405234801561000f575f5ffd5b50602a5f526020601ff3',
|
|
1471
|
+
abi: [],
|
|
1472
|
+
_sources: new Set(['TestContract.sol', '/path/to/build-info/test.json'])
|
|
1473
|
+
};
|
|
1474
|
+
context.contractRepository.addForTesting({
|
|
1475
|
+
contractName: mockContract.contractName,
|
|
1476
|
+
abi: mockContract.abi,
|
|
1477
|
+
bytecode: mockContract.creationCode,
|
|
1478
|
+
sourceName: mockContract.sourceName,
|
|
1479
|
+
source: mockContract.source,
|
|
1480
|
+
compiler: mockContract.compiler,
|
|
1481
|
+
buildInfoId: mockContract.buildInfoId,
|
|
1482
|
+
_path: '/test/path',
|
|
1483
|
+
_hash: 'test-hash'
|
|
1484
|
+
});
|
|
1485
|
+
const action = {
|
|
1486
|
+
type: 'verify-contract',
|
|
1487
|
+
name: 'test-verify',
|
|
1488
|
+
arguments: {
|
|
1489
|
+
address: TEST_ADDRESSES.RECIPIENT_1,
|
|
1490
|
+
contract: '{{Contract(TestContract)}}',
|
|
1491
|
+
platform: 'all'
|
|
1492
|
+
}
|
|
1493
|
+
};
|
|
1494
|
+
await engine.executePrimitive(action, context, new Map());
|
|
1495
|
+
expect(mockEventEmitter.emitEvent).toHaveBeenCalledWith(expect.objectContaining({
|
|
1496
|
+
type: 'verification_skipped',
|
|
1497
|
+
level: 'warn',
|
|
1498
|
+
data: expect.objectContaining({
|
|
1499
|
+
actionName: 'test-verify',
|
|
1500
|
+
reason: expect.stringContaining('continuing due to --ignore-verify-errors')
|
|
1501
|
+
})
|
|
1502
|
+
}));
|
|
1503
|
+
});
|
|
1504
|
+
});
|
|
1235
1505
|
});
|
|
1236
1506
|
//# sourceMappingURL=engine.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.spec.js","sourceRoot":"","sources":["../../../../src/lib/core/__tests__/engine.spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engine.spec.js","sourceRoot":"","sources":["../../../../src/lib/core/__tests__/engine.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -419,6 +419,138 @@ describe('ValueResolver', () => {
|
|
|
419
419
|
expect(result).toBe('0x70f2b2914A2a4b783FaEFb75f459A580616Fcb5e');
|
|
420
420
|
});
|
|
421
421
|
});
|
|
422
|
+
describe('compute-create', () => {
|
|
423
|
+
it('should compute CREATE address with hardcoded test case 1', async () => {
|
|
424
|
+
const value = {
|
|
425
|
+
type: 'compute-create',
|
|
426
|
+
arguments: {
|
|
427
|
+
deployerAddress: '0x0000000000000000000000000000000000000000',
|
|
428
|
+
nonce: '0',
|
|
429
|
+
},
|
|
430
|
+
};
|
|
431
|
+
const result = await resolver.resolve(value, context);
|
|
432
|
+
expect(result).toBe('0xBd770416a3345F91E4B34576cb804a576fa48EB1');
|
|
433
|
+
});
|
|
434
|
+
it('should compute CREATE address with hardcoded test case 2', async () => {
|
|
435
|
+
const value = {
|
|
436
|
+
type: 'compute-create',
|
|
437
|
+
arguments: {
|
|
438
|
+
deployerAddress: '0xC6064FfBaDB0687Da29721C8EC02ACa71e735a3e',
|
|
439
|
+
nonce: '1',
|
|
440
|
+
},
|
|
441
|
+
};
|
|
442
|
+
const result = await resolver.resolve(value, context);
|
|
443
|
+
expect(result).toBe('0x6d2E686984620c01Af3cd125F9E1A2E23a972FFc');
|
|
444
|
+
});
|
|
445
|
+
it('should compute CREATE address with hardcoded test case 3', async () => {
|
|
446
|
+
const value = {
|
|
447
|
+
type: 'compute-create',
|
|
448
|
+
arguments: {
|
|
449
|
+
deployerAddress: '0xC6064FfBaDB0687Da29721C8EC02ACa71e735a3e',
|
|
450
|
+
nonce: '2',
|
|
451
|
+
},
|
|
452
|
+
};
|
|
453
|
+
const result = await resolver.resolve(value, context);
|
|
454
|
+
expect(result).toBe('0xBA6CfaFc33eD8229D2Af9a5a7BC22e8834cE0873');
|
|
455
|
+
});
|
|
456
|
+
it('should compute CREATE address with hardcoded test case ERC-2470', async () => {
|
|
457
|
+
const value = {
|
|
458
|
+
type: 'compute-create',
|
|
459
|
+
arguments: {
|
|
460
|
+
deployerAddress: '0xBb6e024b9cFFACB947A71991E386681B1Cd1477D',
|
|
461
|
+
nonce: '0',
|
|
462
|
+
},
|
|
463
|
+
};
|
|
464
|
+
const result = await resolver.resolve(value, context);
|
|
465
|
+
expect(result).toBe('0xce0042B868300000d44A59004Da54A005ffdcf9f');
|
|
466
|
+
});
|
|
467
|
+
it('should compute CREATE address with hardcoded test case Universal Deployer', async () => {
|
|
468
|
+
const value = {
|
|
469
|
+
type: 'compute-create',
|
|
470
|
+
arguments: {
|
|
471
|
+
deployerAddress: '0x9c5a87452d4FAC0cbd53BDCA580b20A45526B3AB',
|
|
472
|
+
nonce: '0',
|
|
473
|
+
},
|
|
474
|
+
};
|
|
475
|
+
const result = await resolver.resolve(value, context);
|
|
476
|
+
expect(result).toBe('0x1B926fBB24A9F78DCDd3272f2d86F5D0660E59c0');
|
|
477
|
+
});
|
|
478
|
+
it('should resolve values from context before computing CREATE address', async () => {
|
|
479
|
+
context.setOutput('myDeployer', '0x0000000000000000000000000000000000000000');
|
|
480
|
+
context.setOutput('myNonce', '0');
|
|
481
|
+
const value = {
|
|
482
|
+
type: 'compute-create',
|
|
483
|
+
arguments: {
|
|
484
|
+
deployerAddress: '{{myDeployer}}',
|
|
485
|
+
nonce: '{{myNonce}}',
|
|
486
|
+
},
|
|
487
|
+
};
|
|
488
|
+
const result = await resolver.resolve(value, context);
|
|
489
|
+
expect(result).toBe('0xBd770416a3345F91E4B34576cb804a576fa48EB1');
|
|
490
|
+
});
|
|
491
|
+
it('should throw error for invalid deployer address', async () => {
|
|
492
|
+
const value = {
|
|
493
|
+
type: 'compute-create',
|
|
494
|
+
arguments: {
|
|
495
|
+
deployerAddress: 'invalid-address',
|
|
496
|
+
nonce: '0',
|
|
497
|
+
},
|
|
498
|
+
};
|
|
499
|
+
await expect(resolver.resolve(value, context)).rejects.toThrow('Invalid deployer address: invalid-address');
|
|
500
|
+
});
|
|
501
|
+
it('should throw error for invalid nonce', async () => {
|
|
502
|
+
const value = {
|
|
503
|
+
type: 'compute-create',
|
|
504
|
+
arguments: {
|
|
505
|
+
deployerAddress: '0x0000000000000000000000000000000000000000',
|
|
506
|
+
nonce: 'invalid-nonce',
|
|
507
|
+
},
|
|
508
|
+
};
|
|
509
|
+
await expect(resolver.resolve(value, context)).rejects.toThrow('Invalid nonce: invalid-nonce');
|
|
510
|
+
});
|
|
511
|
+
it('should throw error for null deployer address', async () => {
|
|
512
|
+
const value = {
|
|
513
|
+
type: 'compute-create',
|
|
514
|
+
arguments: {
|
|
515
|
+
deployerAddress: null,
|
|
516
|
+
nonce: '0',
|
|
517
|
+
},
|
|
518
|
+
};
|
|
519
|
+
await expect(resolver.resolve(value, context)).rejects.toThrow('Invalid deployer address: null');
|
|
520
|
+
});
|
|
521
|
+
it('should throw error for undefined nonce', async () => {
|
|
522
|
+
const value = {
|
|
523
|
+
type: 'compute-create',
|
|
524
|
+
arguments: {
|
|
525
|
+
deployerAddress: '0x0000000000000000000000000000000000000000',
|
|
526
|
+
nonce: undefined,
|
|
527
|
+
},
|
|
528
|
+
};
|
|
529
|
+
await expect(resolver.resolve(value, context)).rejects.toThrow('Invalid nonce: undefined');
|
|
530
|
+
});
|
|
531
|
+
it('should handle checksummed addresses', async () => {
|
|
532
|
+
const value = {
|
|
533
|
+
type: 'compute-create',
|
|
534
|
+
arguments: {
|
|
535
|
+
deployerAddress: '0xdEADBEeF00000000000000000000000000000000',
|
|
536
|
+
nonce: '0',
|
|
537
|
+
},
|
|
538
|
+
};
|
|
539
|
+
const result = await resolver.resolve(value, context);
|
|
540
|
+
expect(result).toBe('0xf2048C36a5536FeA3Bc71d49ed59f2c65C546EEA');
|
|
541
|
+
});
|
|
542
|
+
it('should handle number nonce', async () => {
|
|
543
|
+
const value = {
|
|
544
|
+
type: 'compute-create',
|
|
545
|
+
arguments: {
|
|
546
|
+
deployerAddress: '0x0000000000000000000000000000000000000000',
|
|
547
|
+
nonce: 69420,
|
|
548
|
+
},
|
|
549
|
+
};
|
|
550
|
+
const result = await resolver.resolve(value, context);
|
|
551
|
+
expect(result).toBe('0x7Bd7F19787DA009bD75b849c92Db10CE11916487');
|
|
552
|
+
});
|
|
553
|
+
});
|
|
422
554
|
describe('constructor-encode', () => {
|
|
423
555
|
it('should encode creation code with no constructor arguments', async () => {
|
|
424
556
|
const value = {
|