Skip to content

Commit 84bd878

Browse files
Update Defender SDK, add origin property to deployments (#1111)
Co-authored-by: Eric Lau <[email protected]>
1 parent 2a16f51 commit 84bd878

File tree

6 files changed

+1016
-28
lines changed

6 files changed

+1016
-28
lines changed

LICENSE

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
The MIT License (MIT)
22

3-
Copyright (c) 2020-2023 zOS Global Limited
3+
Copyright (c) 2020-2025 Zeppelin Group Ltd
44

55
Permission is hereby granted, free of charge, to any person obtaining
66
a copy of this software and associated documentation files (the

packages/plugin-hardhat/CHANGELOG.md

+4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Changelog
22

3+
## 3.9.0 (2025-01-13)
4+
5+
- Update Defender SDK to v2.1.0, set Hardhat origin for Defender deployments. ([#1111](https://github.com/OpenZeppelin/openzeppelin-upgrades/pull/1111))
6+
37
## 3.8.0 (2024-12-19)
48

59
- Support TypeChain in `deployProxy`, `upgradeProxy`, `deployBeaconProxy`, and `defender.deployContract`. ([#1099](https://github.com/OpenZeppelin/openzeppelin-upgrades/pull/1099))

packages/plugin-hardhat/package.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@openzeppelin/hardhat-upgrades",
3-
"version": "3.8.0",
3+
"version": "3.9.0",
44
"description": "",
55
"repository": "https://github.com/OpenZeppelin/openzeppelin-upgrades/tree/master/packages/plugin-hardhat",
66
"license": "MIT",
@@ -35,9 +35,9 @@
3535
"sinon": "^19.0.0"
3636
},
3737
"dependencies": {
38-
"@openzeppelin/defender-sdk-base-client": "^1.14.4",
39-
"@openzeppelin/defender-sdk-deploy-client": "^1.14.4",
40-
"@openzeppelin/defender-sdk-network-client": "^1.14.4",
38+
"@openzeppelin/defender-sdk-base-client": "^2.1.0",
39+
"@openzeppelin/defender-sdk-deploy-client": "^2.1.0",
40+
"@openzeppelin/defender-sdk-network-client": "^2.1.0",
4141
"@openzeppelin/upgrades-core": "^1.41.0",
4242
"chalk": "^4.1.0",
4343
"debug": "^4.1.1",

packages/plugin-hardhat/src/defender/deploy.ts

+3
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ type CompilerOutputWithMetadata = CompilerOutputContract & {
5050
metadata?: string;
5151
};
5252

53+
const ORIGIN_HARDHAT: DeployContractRequest['origin'] = 'Hardhat';
54+
5355
export async function defenderDeploy(
5456
hre: HardhatRuntimeEnvironment,
5557
factory: ContractFactory,
@@ -109,6 +111,7 @@ export async function defenderDeploy(
109111
txOverrides: parseTxOverrides(opts.txOverrides),
110112
libraries: contractInfo.libraries,
111113
metadata: opts.metadata,
114+
origin: ORIGIN_HARDHAT,
112115
};
113116

114117
let deploymentResponse: DeploymentResponse;

packages/plugin-hardhat/test/defender-deploy.js

+24
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ test('calls defender deploy', async t => {
110110
txOverrides: undefined,
111111
libraries: undefined,
112112
metadata: undefined,
113+
origin: 'Hardhat',
113114
});
114115

115116
assertResult(t, result);
@@ -139,6 +140,7 @@ test('calls defender deploy with relayerId', async t => {
139140
txOverrides: undefined,
140141
libraries: undefined,
141142
metadata: undefined,
143+
origin: 'Hardhat',
142144
});
143145

144146
assertResult(t, result);
@@ -168,6 +170,7 @@ test('calls defender deploy with salt', async t => {
168170
txOverrides: undefined,
169171
libraries: undefined,
170172
metadata: undefined,
173+
origin: 'Hardhat',
171174
});
172175

173176
assertResult(t, result);
@@ -197,6 +200,7 @@ test('calls defender deploy with createFactoryAddress', async t => {
197200
txOverrides: undefined,
198201
libraries: undefined,
199202
metadata: undefined,
203+
origin: 'Hardhat',
200204
});
201205

202206
assertResult(t, result);
@@ -226,6 +230,7 @@ test('calls defender deploy with license', async t => {
226230
txOverrides: undefined,
227231
libraries: undefined,
228232
metadata: undefined,
233+
origin: 'Hardhat',
229234
});
230235

231236
assertResult(t, result);
@@ -257,6 +262,7 @@ test('calls defender deploy - licenseType', async t => {
257262
txOverrides: undefined,
258263
libraries: undefined,
259264
metadata: undefined,
265+
origin: 'Hardhat',
260266
});
261267

262268
assertResult(t, result);
@@ -288,6 +294,7 @@ test('calls defender deploy - verifySourceCode false', async t => {
288294
txOverrides: undefined,
289295
libraries: undefined,
290296
metadata: undefined,
297+
origin: 'Hardhat',
291298
});
292299

293300
assertResult(t, result);
@@ -319,6 +326,7 @@ test('calls defender deploy - skipLicenseType', async t => {
319326
txOverrides: undefined,
320327
libraries: undefined,
321328
metadata: undefined,
329+
origin: 'Hardhat',
322330
});
323331

324332
assertResult(t, result);
@@ -401,6 +409,7 @@ test('calls defender deploy - no contract license', async t => {
401409
txOverrides: undefined,
402410
libraries: undefined,
403411
metadata: undefined,
412+
origin: 'Hardhat',
404413
});
405414

406415
assertResult(t, result);
@@ -430,6 +439,7 @@ test('calls defender deploy - unlicensed', async t => {
430439
txOverrides: undefined,
431440
libraries: undefined,
432441
metadata: undefined,
442+
origin: 'Hardhat',
433443
});
434444

435445
assertResult(t, result);
@@ -459,6 +469,7 @@ test('calls defender deploy with constructor args', async t => {
459469
txOverrides: undefined,
460470
libraries: undefined,
461471
metadata: undefined,
472+
origin: 'Hardhat',
462473
});
463474

464475
assertResult(t, result);
@@ -488,6 +499,7 @@ test('calls defender deploy with constructor args with array', async t => {
488499
txOverrides: undefined,
489500
libraries: undefined,
490501
metadata: undefined,
502+
origin: 'Hardhat',
491503
});
492504

493505
assertResult(t, result);
@@ -517,6 +529,7 @@ test('calls defender deploy with verify false', async t => {
517529
txOverrides: undefined,
518530
libraries: undefined,
519531
metadata: undefined,
532+
origin: 'Hardhat',
520533
});
521534

522535
assertResult(t, result);
@@ -546,6 +559,7 @@ test('calls defender deploy with ERC1967Proxy', async t => {
546559
txOverrides: undefined,
547560
libraries: undefined,
548561
metadata: undefined,
562+
origin: 'Hardhat',
549563
});
550564
});
551565

@@ -573,6 +587,7 @@ test('calls defender deploy with ERC1967Proxy - ignores constructorArgs', async
573587
txOverrides: undefined,
574588
libraries: undefined,
575589
metadata: undefined,
590+
origin: 'Hardhat',
576591
});
577592
});
578593

@@ -600,6 +615,7 @@ test('calls defender deploy with ERC1967Proxy - ignores empty constructorArgs',
600615
txOverrides: undefined,
601616
libraries: undefined,
602617
metadata: undefined,
618+
origin: 'Hardhat',
603619
});
604620
});
605621

@@ -627,6 +643,7 @@ test('calls defender deploy with BeaconProxy', async t => {
627643
txOverrides: undefined,
628644
libraries: undefined,
629645
metadata: undefined,
646+
origin: 'Hardhat',
630647
});
631648
});
632649

@@ -657,6 +674,7 @@ test('calls defender deploy with TransparentUpgradeableProxy', async t => {
657674
txOverrides: undefined,
658675
libraries: undefined,
659676
metadata: undefined,
677+
origin: 'Hardhat',
660678
});
661679
});
662680

@@ -689,6 +707,7 @@ test('calls defender deploy with txOverrides.gasLimit', async t => {
689707
},
690708
libraries: undefined,
691709
metadata: undefined,
710+
origin: 'Hardhat',
692711
});
693712

694713
assertResult(t, result);
@@ -723,6 +742,7 @@ test('calls defender deploy with txOverrides.gasPrice', async t => {
723742
},
724743
libraries: undefined,
725744
metadata: undefined,
745+
origin: 'Hardhat',
726746
});
727747

728748
assertResult(t, result);
@@ -759,6 +779,7 @@ test('calls defender deploy with txOverrides.maxFeePerGas and txOverrides.maxPri
759779
},
760780
libraries: undefined,
761781
metadata: undefined,
782+
origin: 'Hardhat',
762783
});
763784

764785
assertResult(t, result);
@@ -794,6 +815,7 @@ test('calls defender deploy with external library', async t => {
794815
'contracts/ExternalLibraries.sol:SafeMath': EXTERNAL_LIBRARY_ADDRESS,
795816
},
796817
metadata: undefined,
818+
origin: 'Hardhat',
797819
});
798820

799821
assertResult(t, result);
@@ -831,6 +853,7 @@ test('calls defender deploy with multiple external libraries', async t => {
831853
'contracts/ExternalLibraries.sol:SafeMathV2': EXTERNAL_LIBRARY_2_ADDRESS,
832854
},
833855
metadata: undefined,
856+
origin: 'Hardhat',
834857
});
835858

836859
assertResult(t, result);
@@ -870,6 +893,7 @@ test('calls defender deploy with metadata', async t => {
870893
tag: 'v1.0.0',
871894
anyOtherField: 'anyValue',
872895
},
896+
origin: 'Hardhat',
873897
});
874898

875899
assertResult(t, result);

0 commit comments

Comments
 (0)