Skip to content

Commit bf83840

Browse files
committed
fix(wpf): kicking off upgradable WPFv3
1 parent 8a9943d commit bf83840

4 files changed

Lines changed: 30 additions & 21 deletions

File tree

contracts/apps/WitPriceFeedsUpgradableV3.sol

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,8 @@ contract WitPriceFeedsUpgradableV3
7272
returns (bool)
7373
{
7474
return (
75-
address(this) != __proxiable().proxy
76-
&& address(this) != __SELF
75+
address(this) != __proxiable().proxy // => not an initialized WitnetProxy
76+
&& address(this) != __SELF // => a proxy to __SELF
7777
);
7878
}
7979

@@ -95,8 +95,9 @@ contract WitPriceFeedsUpgradableV3
9595
function initialize(bytes memory _initData)
9696
virtual override
9797
public
98-
notOnClones
9998
{
99+
_require(!initialized() || !cloned(), "not on clones");
100+
100101
address _owner = owner();
101102
if (_owner == address(0)) {
102103
// upon first upgrade, extract decode owner address from _intidata

migrations/addresses.json

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,9 @@
8181
"libs": {}
8282
},
8383
"celo:sepolia": {
84+
"apps": {
85+
"WitPriceFeedsUpgradableV3": "0x5484018D12F7d726df439Ae66B72b9BD0e143E6d"
86+
},
8487
"core": {
8588
"WitOracleRadonRegistryUpgradableDefault": "0x6e5Fe5e728139E44B07618C0feDb6ECdF619289B",
8689
"WitOracleRadonRequestFactoryUpgradableDefault": "0xE435BC47535BE780e0FFF240BC2729c707EB8938",
@@ -199,22 +202,22 @@
199202
},
200203
"ethereum:sepolia": {
201204
"libs": {
202-
"WitOracleDataLib": "0x298e9b7c9CF2f6D6B17804A8b8Ed2ab747aa634f",
205+
"WitOracleDataLib": "0x47ddB2e37A9f352a6dC2c4fEa348E272fd69d7E4",
203206
"WitOracleRadonEncodingLib": "0xFf66F442a1F9449579B181b9D7e0A90022275235",
204207
"WitOracleResultStatusLib": "0xc1D68961298c5F72c672A1519A42Edd1a9598c5c",
205208
"WitPriceFeedsLegacyDataLib": "0x9e1c82ab0809A4996C36ef3dc646B07089F0B903",
206209
"WitPriceFeedsDataLib": "0x9C3b7240ed85b3B88952D1e1d4DD108F85756E8d"
207210
},
208211
"core": {
209-
"WitOracleTrustableDefault": "0xF1a3c1eBa31C770686aD0233202F4104C0a92fb6",
210-
"WitOracleRadonRegistryUpgradableDefault": "0x56B9E2fEb99f6CfE8928b6095E2646bF69B7CcaD",
211-
"WitOracleRadonRequestFactoryModalsDefault": "0xff7B32870b35259212bc103c79380E03786588ff",
212-
"WitOracleRadonRequestFactoryTemplatesDefault": "0xFF1f868D74d1b9A434C7bBf2abe470c8F153DDFF",
213-
"WitOracleRadonRequestFactoryUpgradableDefault": "0xd139b27DB481D5E035E973464a0Bd1f8a20f8C26"
212+
"WitOracleTrustableDefault": "0x1C3E70e1dC654A2c62f2b2cEBc1E4A461c6AF231",
213+
"WitOracleRadonRegistryUpgradableDefault": "0xE57814c74bb2419d23230DdB7573c7ab4f4d81B8",
214+
"WitOracleRadonRequestFactoryModalsDefault": "0xD28237c5d7C8C386377A13e6661642294657F35e",
215+
"WitOracleRadonRequestFactoryTemplatesDefault": "0x300c8ccc9526495BB7e5911105f0663Cb4c3a137",
216+
"WitOracleRadonRequestFactoryUpgradableDefault": "0xFf8c37Aa98736341bf392e867214661f4fdd0f02"
214217
},
215218
"apps": {
216-
"WitPriceFeedsLegacyUpgradable": "0x1F6118b04e0a5aD944CDfDBa3Ee91cA6D68FFf5e",
217-
"WitPriceFeedsUpgradableV3": "0xc360A5a046532Efa0C5Ea8418998E9389c3f81DE"
219+
"WitPriceFeedsLegacyUpgradable": "0x7c0e1686E88238e07cCda502320058480341Dc83",
220+
"WitPriceFeedsUpgradableV3": "0xA4b96ef00244a99661851594Bd672B5D343c2Da4"
218221
}
219222
},
220223
"gnosis:mainnet": {

migrations/constructorArgs.json

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,8 @@
6464
"celo:sepolia": {
6565
"WitOracleRadonRegistryUpgradableDefault": "{\"types\":[\"bytes32\",\"bool\"],\"values\":[\"0x332e302e302d623732326130642d306165633239340000000000000000000000\",true]}",
6666
"WitOracleTrustableDefault": "{\"types\":[\"(uint32, uint32, uint32, uint32)\",\"address\",\"bytes32\"],\"values\":[[58282,65273,69546,20000],\"0x000B61Fe075F545fd37767f40391658275900000\",\"0x332e302e302d623732326130642d666361393961640000000000000000000000\"]}",
67-
"WitOracleRadonRequestFactoryUpgradableDefault": "{\"types\":[\"address\",\"address\",\"bytes32\",\"bool\"],\"values\":[\"0xffC4147d7b973B1766FB335bC847C7288c4365ff\",\"0xFF5ad05D038fcc04354B2fca1fb657eA345594FF\",\"0x332e302e302d623732326130642d373634376432370000000000000000000000\",true]}"
67+
"WitOracleRadonRequestFactoryUpgradableDefault": "{\"types\":[\"address\",\"address\",\"bytes32\",\"bool\"],\"values\":[\"0xffC4147d7b973B1766FB335bC847C7288c4365ff\",\"0xFF5ad05D038fcc04354B2fca1fb657eA345594FF\",\"0x332e302e302d623732326130642d373634376432370000000000000000000000\",true]}",
68+
"WitPriceFeedsUpgradableV3": "{\"types\":[\"address\",\"bytes32\",\"bool\"],\"values\":[\"0x77703aE126B971c9946d562F41Dd47071dA00777\",\"0x332e302e302d623732326130642d623535363662390000000000000000000000\",true]}"
6869
},
6970
"celo:mainnet": {
7071
"WitOracle": "",
@@ -130,11 +131,11 @@
130131
"WitPriceFeedsLegacyUpgradable": "{\"types\":[\"address\",\"bytes32\",\"bool\"],\"values\":[\"0x77703aE126B971c9946d562F41Dd47071dA00777\",\"0x322e322e382d346262313232312d376261626265610000000000000000000000\",true]}"
131132
},
132133
"ethereum:sepolia": {
133-
"WitOracleRadonRegistryUpgradableDefault": "{\"types\":[\"bytes32\",\"bool\"],\"values\":[\"0x322e322e352d313731653761322d613134333361660000000000000000000000\",true]}",
134-
"WitOracleRadonRequestFactoryUpgradableDefault": "{\"types\":[\"address\",\"address\",\"bytes32\",\"bool\"],\"values\":[\"0xff7B32870b35259212bc103c79380E03786588ff\",\"0xFF1f868D74d1b9A434C7bBf2abe470c8F153DDFF\",\"0x322e322e352d313731653761322d373735323762320000000000000000000000\",true]}",
135-
"WitOracleTrustableDefault": "{\"types\":[\"(uint32, uint32, uint32, uint32)\",\"address\",\"bytes32\"],\"values\":[[58282,65273,69546,20000],\"0x000B61Fe075F545fd37767f40391658275900000\",\"0x322e322e352d313731653761322d386534376133640000000000000000000000\"]}",
136-
"WitPriceFeedsLegacyUpgradable": "{\"types\":[\"address\",\"bytes32\",\"bool\"],\"values\":[\"0x77703aE126B971c9946d562F41Dd47071dA00777\",\"0x322e322e352d313731653761322d666330376331390000000000000000000000\",true]}",
137-
"WitPriceFeedsUpgradableV3": "{\"types\":[\"address\",\"bytes32\",\"bool\"],\"values\":[\"0x77703aE126B971c9946d562F41Dd47071dA00777\",\"0x322e322e372d343632316237312d343438323936300000000000000000000000\",true]}",
134+
"WitOracleRadonRegistryUpgradableDefault": "{\"types\":[\"bytes32\",\"bool\"],\"values\":[\"0x322e322e382d346262313232312d323134333632630000000000000000000000\",true]}",
135+
"WitOracleRadonRequestFactoryUpgradableDefault": "{\"types\":[\"address\",\"address\",\"bytes32\",\"bool\"],\"values\":[\"0xD28237c5d7C8C386377A13e6661642294657F35e\",\"0x300c8ccc9526495BB7e5911105f0663Cb4c3a137\",\"0x322e322e382d346262313232312d643235663063620000000000000000000000\",true]}",
136+
"WitOracleTrustableDefault": "{\"types\":[\"(uint32, uint32, uint32, uint32)\",\"address\",\"bytes32\"],\"values\":[[58282,65273,69546,20000],\"0x000B61Fe075F545fd37767f40391658275900000\",\"0x322e322e382d346262313232312d326636613035350000000000000000000000\"]}",
137+
"WitPriceFeedsLegacyUpgradable": "{\"types\":[\"address\",\"bytes32\",\"bool\"],\"values\":[\"0x77703aE126B971c9946d562F41Dd47071dA00777\",\"0x322e322e382d346262313232312d346138613839330000000000000000000000\",true]}",
138+
"WitPriceFeedsUpgradableV3": "{\"types\":[\"address\",\"bytes32\",\"bool\"],\"values\":[\"0x77703aE126B971c9946d562F41Dd47071dA00777\",\"0x322e322e382d346262313232312d336435333762630000000000000000000000\",true]}",
138139
"WitRandomnessV3": "{\"types\":[\"address\",\"address\"],\"values\":[\"0x77703aE126B971c9946d562F41Dd47071dA00777\",\"0xF121b71715E71DDeD592F1125a06D4ED06F0694D\"]}"
139140
},
140141
"gnosis:mainnet": {

migrations/scripts/truffle/3_framework.js

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -133,8 +133,10 @@ module.exports = async function (_, network, [, from, reporter1, curator, report
133133
addresses = await settleArtifactAddress(addresses, network, domain, base, targetBaseAddr)
134134
targetBaseAddr = await deployCoreBase(targetSpecs, targetAddr)
135135
proxyImplAddr = implArtifact.address
136-
// settle new proxy address in file
137-
addresses = await settleArtifactAddress(addresses, network, domain, base, targetBaseAddr)
136+
if (addresses.default[domain][base] !== proxyImplAddr) {
137+
// settle new proxy address in file
138+
addresses = await settleArtifactAddress(addresses, network, domain, base, targetBaseAddr)
139+
}
138140
}
139141
baseArtifact.address = targetBaseAddr
140142

@@ -276,8 +278,10 @@ module.exports = async function (_, network, [, from, reporter1, curator, report
276278
} else {
277279
target.addr = await deployTarget(network, impl, target.specs, networkArtifacts)
278280
}
279-
// settle immutable implementation address in addresses file
280-
addresses = await settleArtifactAddress(addresses, network, domain, impl, target.addr)
281+
if (addresses.default[domain][impl] !== target.addr) {
282+
// settle immutable implementation address in addresses file
283+
addresses = await settleArtifactAddress(addresses, network, domain, impl, target.addr)
284+
}
281285
} else if ((utils.isNullAddress(target.addr) || (await web3.eth.getCode(target.addr)).length < 3)) {
282286
// skip targets for which no address or code is found
283287
continue

0 commit comments

Comments
 (0)