dequanto 0.2.37 → 0.2.38

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/hardhat.config.js CHANGED
@@ -32,7 +32,16 @@ module.exports = {
32
32
  runs: 200,
33
33
  },
34
34
  },
35
- }
35
+ },
36
+ {
37
+ version: "0.8.22",
38
+ settings: {
39
+ optimizer: {
40
+ enabled: true,
41
+ runs: 200,
42
+ },
43
+ },
44
+ },
36
45
  ],
37
46
  },
38
47
  networks: {
@@ -13,11 +13,11 @@ const BlockchainExplorerFactory_1 = require("../../explorer/BlockchainExplorerFa
13
13
  const ContractVerifier_1 = require("../../explorer/ContractVerifier.js");
14
14
  const LoggerService_1 = require("../../loggers/LoggerService.js");
15
15
  const _is_1 = require("../../utils/$is.js");
16
+ const _bytecode_1 = require("../../evm/utils/$bytecode.js");
17
+ const _logger_1 = require("../../utils/$logger.js");
18
+ const _promise_1 = require("../../utils/$promise.js");
16
19
  const ProxyDeployment_1 = require("./proxy/ProxyDeployment.js");
17
20
  const DeploymentsStorage_1 = require("./storage/DeploymentsStorage.js");
18
- const _promise_1 = require("../../utils/$promise.js");
19
- const _logger_1 = require("../../utils/$logger.js");
20
- const _bytecode_1 = require("../../evm/utils/$bytecode.js");
21
21
  class Deployments {
22
22
  constructor(client, deployer, opts = {}) {
23
23
  this.client = client;
@@ -169,7 +169,8 @@ class Deployments {
169
169
  verification: opts?.verification,
170
170
  deployment: opts?.deployment
171
171
  });
172
- let data = serializeInitData(id, contractImpl, opts.initialize);
172
+ let initData = serializeInitData(id, contractImpl, opts.initialize);
173
+ let { migrationData, migrationV } = serializeMigrationData(id, contractImpl, opts);
173
174
  let implementationAddress = contractImplDeployment.implementation ?? contractImplDeployment.address;
174
175
  let { contractProxy, contractProxyDeployment, contractProxyAdmin } = await this._proxyDeployment.ensureProxy({
175
176
  ImplementationContract: CtorImpl,
@@ -179,7 +180,9 @@ class Deployments {
179
180
  deployments: this,
180
181
  implementation: {
181
182
  address: implementationAddress,
182
- initData: data
183
+ initData,
184
+ migrationData,
185
+ migrationV,
183
186
  },
184
187
  upgradeImplementation: opts.deployment?.upgradeProxy ?? this.opts?.whenUpgradeRequired !== 'ignore'
185
188
  });
@@ -229,7 +232,9 @@ class Deployments {
229
232
  deployments: this,
230
233
  implementation: {
231
234
  address: implementationAddress,
232
- initData: data
235
+ initData: data,
236
+ // @TODO implement migrations for Beacons
237
+ migrationData: null
233
238
  }
234
239
  });
235
240
  let contract = new CtorImpl(contractBeaconProxy.address, this.client);
@@ -427,6 +432,28 @@ function serializeInitData(id, contract, initializeParams) {
427
432
  }
428
433
  return data;
429
434
  }
435
+ function serializeMigrationData(id, contract, opts) {
436
+ let rgx = /^initializeV(?<version>[\d+])$/;
437
+ let migrations = contract
438
+ .abi
439
+ .map(x => rgx.exec(x.name))
440
+ .filter(x => x != null)
441
+ .map(match => Number(match.groups.version));
442
+ if (migrations.length === 0) {
443
+ return { migrationData: null, migrationV: 1 };
444
+ }
445
+ let v = (0, alot_1.default)(migrations).max(x => x);
446
+ let key = `initializeV${v}`;
447
+ let migrationAbi = contract.abi.find(x => x.name === key);
448
+ let migrationParams = opts?.[key] ?? [];
449
+ if (migrationParams?.length !== migrationAbi.inputs.length) {
450
+ throw new Error(`Wrong number of arguments (${migrationParams?.length}) for initializer method (${migrationAbi.inputs.length}) in ${id}.`);
451
+ }
452
+ return {
453
+ migrationData: _abiUtils_1.$abiUtils.serializeMethodCallData(migrationAbi, migrationParams ?? []),
454
+ migrationV: v
455
+ };
456
+ }
430
457
  /**
431
458
  * Normalize the contract name by removing any versions from name
432
459
  * "FooV1" is actually the "Foo" contract
@@ -1 +1 @@
1
- {"version":3,"file":"Deployments.js","sourceRoot":"","sources":["../../../../src/contracts/deploy/Deployments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Deployments.js","sourceRoot":"","sources":["../../../../src/contracts/deploy/Deployments.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,9 @@ const ContractWriter_1 = require("../../ContractWriter.js");
13
13
  const _proxyDeploy_1 = require("./$proxyDeploy.js");
14
14
  const atma_io_1 = require("atma-io");
15
15
  const HardhatProvider_1 = require("../../../hardhat/HardhatProvider.js");
16
+ const _hex_1 = require("../../../utils/$hex.js");
17
+ const SlotsStorage_1 = require("../../../solidity/SlotsStorage.js");
18
+ const SlotsParser_1 = require("../../../solidity/SlotsParser.js");
16
19
  // Supports OpenZeppelin proxy deployments
17
20
  class ProxyDeployment {
18
21
  constructor(store, opts) {
@@ -35,7 +38,7 @@ class ProxyDeployment {
35
38
  async ensureTransparentProxy(ctx) {
36
39
  let { proxyId, deployer, deployments, ImplementationContract } = ctx;
37
40
  let { client } = deployments;
38
- let { address: implAddress, initData } = ctx.implementation;
41
+ let { address: implAddress, initData, migrationData, migrationV, } = ctx.implementation;
39
42
  let { Proxy, ProxyAdmin, } = ctx.TransparentProxy ?? this.opts.TransparentProxy;
40
43
  if (Proxy == null) {
41
44
  let internal = await this.getOpenzeppelinUpgradable({ beacon: false, proxy: true });
@@ -99,9 +102,15 @@ class ProxyDeployment {
99
102
  if (_address_1.$address.eq(address, implAddress) === false) {
100
103
  if (shouldUpdate) {
101
104
  await this.requireCompatibleStorageLayout(proxyId, ctx);
105
+ if (_hex_1.$hex.isEmpty(migrationData) === false) {
106
+ let version = await Interfaces.TransparentProxy[v].contractProxy.version(contractProxy);
107
+ if (migrationV <= version) {
108
+ // Clear migration call; This upgrade is raw implementation upgrade
109
+ migrationData = null;
110
+ }
111
+ }
102
112
  _logger_1.$logger.log(`Upgrading ProxyAdmin(${contractProxyAdmin.address}) to ${implAddress} (${v}) from ${address}`);
103
- let receipt = await Interfaces.call(ctx.owner ?? deployer, contractProxyAdmin, Interfaces.TransparentProxy[v].contractProxyAdmin.upgradeAndCall, contractProxy.address, implAddress, null // data
104
- );
113
+ let receipt = await Interfaces.call(ctx.owner ?? deployer, contractProxyAdmin, Interfaces.TransparentProxy[v].contractProxyAdmin.upgradeAndCall, contractProxy.address, implAddress, migrationData);
105
114
  await this.saveStorageLayout(proxyId, ctx);
106
115
  }
107
116
  else {
@@ -300,15 +309,39 @@ var Interfaces;
300
309
  TransparentProxy.V4 = {
301
310
  contractProxy: {
302
311
  changeAdmin: 'changeAdmin(address newAdmin) external',
312
+ async version(contract) {
313
+ const slots = await SlotsParser_1.SlotsParser.slotsFromAbi(`
314
+ (uint8 _version, bool initializing)
315
+ `);
316
+ const storage = SlotsStorage_1.SlotsStorage.createWithClient(contract.client, contract.address, slots);
317
+ let v = await storage.get('_version');
318
+ return v;
319
+ },
303
320
  },
304
321
  contractProxyAdmin: {
305
322
  async upgradeAndCall(account, contract, proxyAddress, implementationAddress, data) {
323
+ if (data != null && _hex_1.$hex.isEmpty(data) === false) {
324
+ return call(account, contract, 'upgradeAndCall(address proxy, address implementation, bytes data) external', proxyAddress, implementationAddress, data);
325
+ }
306
326
  return call(account, contract, 'upgrade(address proxy, address implementation) external', proxyAddress, implementationAddress);
307
327
  }
308
328
  }
309
329
  };
310
330
  TransparentProxy.V5 = {
311
- contractProxy: {},
331
+ contractProxy: {
332
+ async version(contract) {
333
+ // keccak256(abi.encode(uint256(keccak256("openzeppelin.storage.Initializable")) - 1)) & ~bytes32(uint256(0xff))
334
+ const position = '0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00';
335
+ const slots = await SlotsParser_1.SlotsParser.slotsFromAbi(`
336
+ (uint8 initialized, bool initializing)
337
+ `);
338
+ const storage = SlotsStorage_1.SlotsStorage.createWithClient(contract.client, contract.address, slots, {
339
+ storageOffset: position
340
+ });
341
+ const v = await storage.get('initialized');
342
+ return v;
343
+ },
344
+ },
312
345
  contractProxyAdmin: {
313
346
  upgradeAndCall: 'upgradeAndCall(address proxy, address implementation, bytes memory data) external'
314
347
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ProxyDeployment.js","sourceRoot":"","sources":["../../../../../src/contracts/deploy/proxy/ProxyDeployment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProxyDeployment.js","sourceRoot":"","sources":["../../../../../src/contracts/deploy/proxy/ProxyDeployment.ts"],"names":[],"mappings":"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"}
@@ -54,6 +54,21 @@ class Generator {
54
54
  });
55
55
  return generator.generate();
56
56
  }
57
+ static async generateFromJson(artifact) {
58
+ _require_1.$require.True(await atma_io_1.File.existsAsync(artifact), `${artifact} does not exist`);
59
+ let name = /(?<contractName>[^\\/]+).json$/.exec(artifact)?.groups?.contractName;
60
+ _require_1.$require.notEmpty(name, `Contract name not resolved from the path ${artifact}`);
61
+ let generator = new Generator({
62
+ platform: 'hardhat',
63
+ name: name,
64
+ source: {
65
+ path: artifact
66
+ },
67
+ output: './0xc/hardhat/',
68
+ saveSources: false,
69
+ });
70
+ return generator.generate();
71
+ }
57
72
  /**
58
73
  * @deprecated Was possible to generate the Contract Class based on the meta information header in TS file
59
74
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Generator.js","sourceRoot":"","sources":["../../../src/gen/Generator.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAsB;AACtB,gDAAwB;AAGxB,uDAAoD;AACpD,uDAAoD;AACpD,yDAAsD;AAEtD,qCAA0C;AAC1C,2CAAwD;AACxD,4FAAyF;AAEzF,iDAA8C;AAC9C,qDAAqD;AAErD,2EAAwE;AACxE,2DAAwD;AACxD,uEAAoE;AAEpE,+CAA4C;AAC5C,sEAAmE;AA4CnE,MAAM,IAAI,GAAG;IACT,UAAU,EAAE,CAAC;IACb,MAAM,EAAE,CAAC;IACT,gBAAgB,EAAE,CAAC;IACnB,YAAY,EAAE,CAAC;IACf,aAAa,EAAE,CAAC;IAChB,aAAa,EAAE,CAAC;IAChB,QAAQ,EAAE,CAAC;IACX,gBAAgB,EAAE,CAAC;CACtB,CAAC;AAEF,MAAa,SAAS;IAKlB,YAAoB,OAAyB;QAAzB,YAAO,GAAP,OAAO,CAAkB;QACzC,IAAI,EACA,QAAQ,GACX,GAAG,OAAO,CAAC;QAEZ,IAAI,CAAC,QAAQ,GAAG,qDAAyB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,GAAG,qCAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE9C,IAAI,OAAO,CAAC,cAAc,IAAI,IAAI,IAAI,mBAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;YACxE,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;SAC/C;IACL,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,eAAe,CAAE,IAAY;QACtC,IAAI,IAAI,GAAG,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC;QAC5E,mBAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,4CAA4C,IAAI,EAAE,CAAC,CAAC;QAC5E,mBAAQ,CAAC,IAAI,CAAC,MAAM,cAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,iBAAiB,CAAC,CAAC;QAEtE,IAAI,SAAS,GAAG,IAAI,SAAS,CAAC;YAC1B,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,IAAI;YACV,MAAM,EAAE;gBACJ,IAAI;aACP;YACD,MAAM,EAAE,gBAAgB;YACxB,WAAW,EAAE,KAAK;SACrB,CAAC,CAAC;QACH,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAE,IAAY;QACvC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;YACR,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACpD,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACjD,IAAI,KAAK,GAAG,MAAM,mBAAS,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAEvD,MAAM,IAAA,cAAI,EAAC,KAAK,CAAC;iBACZ,YAAY,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE;gBACvB,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YACrD,CAAC,CAAC;iBACD,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;YAClC,OAAO;SACV;QAED,IAAI,MAAM,GAAG,MAAM,cAAI,CAAC,SAAS,CAAW,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACvE,IAAI,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,6CAA6C,CAAC,CAAC;SACzE;QAED,IAAI,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAChD,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,OAAO,GAAG,uCAAuC,CAAC;QACtD,IAAI,OAAO,GAAG,EAAsB,CAAC;QACrC,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE;YACpB,IAAI,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,KAAK,IAAI,IAAI,EAAE;gBACf,SAAS;aACZ;YACD,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAClC,IAAI,KAAK,GAAQ,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAC3C,IAAI,KAAK,KAAK,MAAM,EAAE;gBAClB,KAAK,GAAG,IAAI,CAAC;aAChB;iBAAM,IAAI,KAAK,KAAK,OAAO,EAAE;gBAC1B,KAAK,GAAG,KAAK,CAAC;aACjB;iBAAM,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBAC/B,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;aACxB;YAED,IAAI,GAAG,IAAI,IAAI,KAAK,KAAK,EAAE;gBACvB,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,EAAE,CAAC,CAAC;aACjD;YAED,IAAA,4BAAe,EAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;SACxC;QAED,+DAA+D;QAC/D,IAAI,OAAO,GAAG,wBAAwB,CAAC;QACvC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACpB,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAC/C,OAAO,CAAC,MAAM,GAAG,sBAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;SAC5D;QACD,IAAI,SAAS,GAAG,IAAI,SAAS,CAAC;YAC1B,GAAG,OAAO;YACV,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,IAAI,sBAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;SACnD,CAAC,CAAC;QACH,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,QAAQ;QACV,IAAI,EACA,IAAI,EACJ,QAAQ,EAAE,OAAO,EACjB,MAAM,EACN,cAAc,EAAE,UAAU,EAC1B,MAAM,EACT,GAAG,IAAI,CAAC,OAAO,CAAC;QAEjB,IAAI,GAAe,CAAC;QACpB,4BAA4B;QAC5B,IAAI,QAAgB,CAAC;QACrB,sBAAsB;QACtB,IAAI,UAAkB,CAAC;QAEvB,IAAI,cAAwB,CAAC;QAC7B,IAAI,OAA0B,CAAC;QAC/B,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,EAAE;YAC5C,2DAA2D;YAC3D,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,UAA0B,EAAE,CAAC,CAAC;YAC/E,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC;YACrB,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;YAEvC,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;gBAClC,cAAc;gBACd,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;aACpC,CAAC,CAAC;SACN;aAAM;YACH,8BAA8B;YAC9B,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1C,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;YACjB,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;YACxB,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YAC3B,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SAClE;QAED,IAAI,SAAS,GAAG,cAAE,CAAC,OAAO,CAAC,mCAAgB,CAAC,CAAC;QAC7C,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;QAC1C,OAAO,MAAM,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE;YACjC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;YAC3B,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,IAAI;YACV,YAAY,EAAE,OAAO,EAAE,YAAY;YACnC,OAAO,EAAE,OAAO;YAChB,MAAM,EAAE,MAAM;YACd,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa;YACzC,cAAc,EAAE,cAAc;YAC9B,OAAO,EAAE,OAAO,EAAE,KAAK;YACvB,UAAU,EAAE,UAAU;YACtB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;YAC7B,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;YACrC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ;SACX,CAAC,CAAC;IACP,CAAC;IAEO,KAAK,CAAC,MAAM,CAAC,IAAsC;QACvD,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;QAClC,mBAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,2CAA2C,CAAC,CAAC;QAEnE,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACpB,OAAO;gBACH,OAAO,EAAE,GAAG;gBACZ,cAAc,EAAE,IAAI,CAAC,cAAc;aACtC,CAAC;SACL;QAED,IAAI,UAAkB,CAAC;QACvB,IAAI,YAAoB,CAAC;QACzB,IAAI,OAAmB,CAAA;QACvB,IAAI,cAAwB,CAAC;QAC7B,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACtB,IAAI,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YACrE,OAAO,GAAG,GAAG,CAAC;YACd,cAAc,GAAG,IAAI,CAAC;SACzB;aAAM;YACH,IAAI,IAAI,GAAG,GAAG,CAAC;YACf,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;YACpC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACrB,mCAAmC;gBACnC,OAAO,GAAG,IAAI,CAAC;aAClB;iBAAM;gBACH,mCAAmC;gBACnC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC;gBACnB,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;gBAC7B,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;aACpC;SACJ;QAED,mBAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,yBAAyB,GAAG,EAAE,CAAC,CAAC;QAC1D,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;IACjE,CAAC;IACO,KAAK,CAAC,UAAU,CAAE,IAAY,EAAE,IAKvC;QAMG,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE;YACzB,IAAI,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;YAC7C,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACzE,IAAI,IAAI,IAAI,IAAI,EAAE;gBACd,OAAO,CAAC,KAAK,CAAC,0BAA0B,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC3D,OAAO,IAAI,CAAC;aACf;YACD,OAAO;gBACH,YAAY;gBACZ,KAAK,EAAE;oBACH,CAAC,IAAI,CAAC,EAAE;wBACJ,OAAO,EAAE,IAAI;qBAChB;iBACJ;aACJ,CAAC;SACL;QACD,IAAI,mBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,KAAK,EAAE;YACjD,OAAO,IAAI,CAAC;SACf;QAED,iBAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;QACtE,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACtE,IAAI,IAAI,EAAE,UAAU,IAAI,IAAI,EAAE;YAC1B,iBAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC;SACf;QACD,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IACO,KAAK,CAAC,iBAAiB,CAAE,IAAY,EAAE,IAG9C;QACG,IAAI,IAAI,EAAE,QAAQ,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YAChD,IAAI,OAAO,GAAG,aAAK,CAAC,SAAS,CAAC,sBAAS,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;YACtE,IAAI,MAAM,cAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;gBACjC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,cAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;aACjE;SACJ;QACD,IAAI,MAAM,cAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;YAC9B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,cAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;SACrD;QACD,IAAI,QAAQ,GAAG,gBAAgB,IAAI,EAAE,CAAC;QACtC,IAAI,MAAM,cAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;YAClC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,cAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;SACnE;QACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACtC,CAAC;IACO,KAAK,CAAC,eAAe;QAWzB,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;QAC/C,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE;YAC9B,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;SAC3E;QAED,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YACpD,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACrB,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;aACrE;YACD,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,IAAI,CAAA;YACtD,mBAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,qBAAqB,IAAI,gDAAgD,CAAC,CAAC;YAE7G,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE;gBAC7C,UAAU,EAAE,UAAU;gBACtB,YAAY;gBACZ,QAAQ,EAAE,IAAI,sBAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE;aACxC,CAAC,CAAC;YACH,OAAO;gBACH,GAAG;gBACH,QAAQ;gBACR,QAAQ,EAAE,IAAI;gBACd,MAAM;aACT,CAAC;SACL;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,qBAAqB,KAAK,IAAI,EAAE;YACrD,IAAI,QAAQ,GAAG,IAAI,iCAAe,EAAE,CAAC;YACrC,IAAI,MAAM,GAAG,IAAI,IAAI,IAAI;gBACrB,CAAC,CAAC,MAAM,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;gBACjC,CAAC,CAAC,MAAM,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACvC,OAAO,MAAM,CAAC;SACjB;QACD,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,+BAAc,CAAC,UAAU,CAAC,EAAG,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAClG,OAAO;YACH,GAAG,EAAE,MAAM;SACd,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAW,IAAY;QACzC,IAAI,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QACrC,IAAI,QAAQ,IAAI,aAAK,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE;YAC9C,6DAA6D;YAC7D,IAAI,OAAO,GAAG,sBAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAChD,IAAI,MAAM,cAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;gBACjC,IAAI,GAAG,OAAO,CAAC;aAClB;SACJ;QACD,IAAI,OAAO,GAAG,MAAM,cAAI,CAAC,SAAS,CAAM,IAAI,CAAC,CAAC;QAC9C,OAAO,OAAO,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,eAAe,CAAE,IAAgC;QAC3D,IAAI,OAAO,GAAG,mBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAU,EAAE,+BAA+B,CAAC,CAAC;QACjG,IAAI,QAAQ,GAAG,mBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,sCAAsC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE9G,IAAI;YACA,iBAAO,CAAC,GAAG,CAAC,6BAA6B,OAAO,IAAI,CAAC,CAAA;YACrD,IAAI,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,MAAM,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAE3E,IAAI,QAAQ,GAAG,mBAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC,KAAK,KAAK,CAAC;YAC9D,iBAAO,CAAC,GAAG,CAAC,mBAAmB,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAK,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAE3F,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAe,CAAC;YAC5C,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;SAC3C;QAAC,OAAO,KAAK,EAAE;YACZ,IAAI,OAAO,GAAG,4BAA4B,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,KAAK,KAAK,CAAC,OAAO,IAAI,KAAK,4BAA4B,CAAC;YAClI,IAAA,WAAC,EAAA,GAAG,OAAO,EAAE,CAAA;YAEb,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC9C,IAAI,WAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACpB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,oBAAoB,CAAC,CAAC;aAC5E;YAED,IAAI,GAAG,GAAG,IAAI,yBAAW,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,GAAG,GAAG,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC;YAE7B,OAAO,EAAE,GAAG,EAAE,CAAC;SAClB;IACL,CAAC;CAEJ;AAvVD,8BAuVC"}
1
+ {"version":3,"file":"Generator.js","sourceRoot":"","sources":["../../../src/gen/Generator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Deployments.js","sourceRoot":"","sources":["../../../../src/contracts/deploy/Deployments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Deployments.js","sourceRoot":"","sources":["../../../../src/contracts/deploy/Deployments.ts"],"names":[],"mappings":"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"}
@@ -7,11 +7,11 @@ import { BlockchainExplorerFactory } from '../../explorer/BlockchainExplorerFact
7
7
  import { ContractVerifier } from '../../explorer/ContractVerifier.mjs';
8
8
  import { LoggerService } from '../../loggers/LoggerService.mjs';
9
9
  import { $is } from '../../utils/$is.mjs';
10
+ import { $bytecode } from '../../evm/utils/$bytecode.mjs';
11
+ import { l } from '../../utils/$logger.mjs';
12
+ import { $promise } from '../../utils/$promise.mjs';
10
13
  import { ProxyDeployment } from './proxy/ProxyDeployment.mjs';
11
14
  import { DeploymentsStorage } from './storage/DeploymentsStorage.mjs';
12
- import { $promise } from '../../utils/$promise.mjs';
13
- import { l } from '../../utils/$logger.mjs';
14
- import { $bytecode } from '../../evm/utils/$bytecode.mjs';
15
15
  export class Deployments {
16
16
  constructor(client, deployer, opts = {}) {
17
17
  this.client = client;
@@ -163,7 +163,8 @@ export class Deployments {
163
163
  verification: opts?.verification,
164
164
  deployment: opts?.deployment
165
165
  });
166
- let data = serializeInitData(id, contractImpl, opts.initialize);
166
+ let initData = serializeInitData(id, contractImpl, opts.initialize);
167
+ let { migrationData, migrationV } = serializeMigrationData(id, contractImpl, opts);
167
168
  let implementationAddress = contractImplDeployment.implementation ?? contractImplDeployment.address;
168
169
  let { contractProxy, contractProxyDeployment, contractProxyAdmin } = await this._proxyDeployment.ensureProxy({
169
170
  ImplementationContract: CtorImpl,
@@ -173,7 +174,9 @@ export class Deployments {
173
174
  deployments: this,
174
175
  implementation: {
175
176
  address: implementationAddress,
176
- initData: data
177
+ initData,
178
+ migrationData,
179
+ migrationV,
177
180
  },
178
181
  upgradeImplementation: opts.deployment?.upgradeProxy ?? this.opts?.whenUpgradeRequired !== 'ignore'
179
182
  });
@@ -223,7 +226,9 @@ export class Deployments {
223
226
  deployments: this,
224
227
  implementation: {
225
228
  address: implementationAddress,
226
- initData: data
229
+ initData: data,
230
+ // @TODO implement migrations for Beacons
231
+ migrationData: null
227
232
  }
228
233
  });
229
234
  let contract = new CtorImpl(contractBeaconProxy.address, this.client);
@@ -420,6 +425,28 @@ function serializeInitData(id, contract, initializeParams) {
420
425
  }
421
426
  return data;
422
427
  }
428
+ function serializeMigrationData(id, contract, opts) {
429
+ let rgx = /^initializeV(?<version>[\d+])$/;
430
+ let migrations = contract
431
+ .abi
432
+ .map(x => rgx.exec(x.name))
433
+ .filter(x => x != null)
434
+ .map(match => Number(match.groups.version));
435
+ if (migrations.length === 0) {
436
+ return { migrationData: null, migrationV: 1 };
437
+ }
438
+ let v = alot(migrations).max(x => x);
439
+ let key = `initializeV${v}`;
440
+ let migrationAbi = contract.abi.find(x => x.name === key);
441
+ let migrationParams = opts?.[key] ?? [];
442
+ if (migrationParams?.length !== migrationAbi.inputs.length) {
443
+ throw new Error(`Wrong number of arguments (${migrationParams?.length}) for initializer method (${migrationAbi.inputs.length}) in ${id}.`);
444
+ }
445
+ return {
446
+ migrationData: $abiUtils.serializeMethodCallData(migrationAbi, migrationParams ?? []),
447
+ migrationV: v
448
+ };
449
+ }
423
450
  /**
424
451
  * Normalize the contract name by removing any versions from name
425
452
  * "FooV1" is actually the "Foo" contract
@@ -1 +1 @@
1
- {"version":3,"file":"ProxyDeployment.js","sourceRoot":"","sources":["../../../../../src/contracts/deploy/proxy/ProxyDeployment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProxyDeployment.js","sourceRoot":"","sources":["../../../../../src/contracts/deploy/proxy/ProxyDeployment.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,9 @@ import { ContractWriter } from '../../ContractWriter.mjs';
7
7
  import { $proxyDeploy } from './$proxyDeploy.mjs';
8
8
  import { File } from 'atma-io';
9
9
  import { HardhatProvider } from '../../../hardhat/HardhatProvider.mjs';
10
+ import { $hex } from '../../../utils/$hex.mjs';
11
+ import { SlotsStorage } from '../../../solidity/SlotsStorage.mjs';
12
+ import { SlotsParser } from '../../../solidity/SlotsParser.mjs';
10
13
  // Supports OpenZeppelin proxy deployments
11
14
  export class ProxyDeployment {
12
15
  constructor(store, opts) {
@@ -29,7 +32,7 @@ export class ProxyDeployment {
29
32
  async ensureTransparentProxy(ctx) {
30
33
  let { proxyId, deployer, deployments, ImplementationContract } = ctx;
31
34
  let { client } = deployments;
32
- let { address: implAddress, initData } = ctx.implementation;
35
+ let { address: implAddress, initData, migrationData, migrationV, } = ctx.implementation;
33
36
  let { Proxy, ProxyAdmin, } = ctx.TransparentProxy ?? this.opts.TransparentProxy;
34
37
  if (Proxy == null) {
35
38
  let internal = await this.getOpenzeppelinUpgradable({ beacon: false, proxy: true });
@@ -93,9 +96,15 @@ export class ProxyDeployment {
93
96
  if ($address.eq(address, implAddress) === false) {
94
97
  if (shouldUpdate) {
95
98
  await this.requireCompatibleStorageLayout(proxyId, ctx);
99
+ if ($hex.isEmpty(migrationData) === false) {
100
+ let version = await Interfaces.TransparentProxy[v].contractProxy.version(contractProxy);
101
+ if (migrationV <= version) {
102
+ // Clear migration call; This upgrade is raw implementation upgrade
103
+ migrationData = null;
104
+ }
105
+ }
96
106
  $logger.log(`Upgrading ProxyAdmin(${contractProxyAdmin.address}) to ${implAddress} (${v}) from ${address}`);
97
- let receipt = await Interfaces.call(ctx.owner ?? deployer, contractProxyAdmin, Interfaces.TransparentProxy[v].contractProxyAdmin.upgradeAndCall, contractProxy.address, implAddress, null // data
98
- );
107
+ let receipt = await Interfaces.call(ctx.owner ?? deployer, contractProxyAdmin, Interfaces.TransparentProxy[v].contractProxyAdmin.upgradeAndCall, contractProxy.address, implAddress, migrationData);
99
108
  await this.saveStorageLayout(proxyId, ctx);
100
109
  }
101
110
  else {
@@ -293,15 +302,39 @@ var Interfaces;
293
302
  TransparentProxy.V4 = {
294
303
  contractProxy: {
295
304
  changeAdmin: 'changeAdmin(address newAdmin) external',
305
+ async version(contract) {
306
+ const slots = await SlotsParser.slotsFromAbi(`
307
+ (uint8 _version, bool initializing)
308
+ `);
309
+ const storage = SlotsStorage.createWithClient(contract.client, contract.address, slots);
310
+ let v = await storage.get('_version');
311
+ return v;
312
+ },
296
313
  },
297
314
  contractProxyAdmin: {
298
315
  async upgradeAndCall(account, contract, proxyAddress, implementationAddress, data) {
316
+ if (data != null && $hex.isEmpty(data) === false) {
317
+ return call(account, contract, 'upgradeAndCall(address proxy, address implementation, bytes data) external', proxyAddress, implementationAddress, data);
318
+ }
299
319
  return call(account, contract, 'upgrade(address proxy, address implementation) external', proxyAddress, implementationAddress);
300
320
  }
301
321
  }
302
322
  };
303
323
  TransparentProxy.V5 = {
304
- contractProxy: {},
324
+ contractProxy: {
325
+ async version(contract) {
326
+ // keccak256(abi.encode(uint256(keccak256("openzeppelin.storage.Initializable")) - 1)) & ~bytes32(uint256(0xff))
327
+ const position = '0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00';
328
+ const slots = await SlotsParser.slotsFromAbi(`
329
+ (uint8 initialized, bool initializing)
330
+ `);
331
+ const storage = SlotsStorage.createWithClient(contract.client, contract.address, slots, {
332
+ storageOffset: position
333
+ });
334
+ const v = await storage.get('initialized');
335
+ return v;
336
+ },
337
+ },
305
338
  contractProxyAdmin: {
306
339
  upgradeAndCall: 'upgradeAndCall(address proxy, address implementation, bytes memory data) external'
307
340
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Generator.js","sourceRoot":"","sources":["../../../src/gen/Generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Generator.js","sourceRoot":"","sources":["../../../src/gen/Generator.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,21 @@ export class Generator {
48
48
  });
49
49
  return generator.generate();
50
50
  }
51
+ static async generateFromJson(artifact) {
52
+ $require.True(await File.existsAsync(artifact), `${artifact} does not exist`);
53
+ let name = /(?<contractName>[^\\/]+).json$/.exec(artifact)?.groups?.contractName;
54
+ $require.notEmpty(name, `Contract name not resolved from the path ${artifact}`);
55
+ let generator = new Generator({
56
+ platform: 'hardhat',
57
+ name: name,
58
+ source: {
59
+ path: artifact
60
+ },
61
+ output: './0xc/hardhat/',
62
+ saveSources: false,
63
+ });
64
+ return generator.generate();
65
+ }
51
66
  /**
52
67
  * @deprecated Was possible to generate the Contract Class based on the meta information header in TS file
53
68
  */
@@ -2,11 +2,10 @@ import { Web3Client } from '../../clients/Web3Client';
2
2
  import { ContractBase } from '../ContractBase';
3
3
  import { IAccount } from '../../models/TAccount';
4
4
  import { TEth } from '../../models/TEth';
5
- import { ParametersFromSecond } from '../../utils/types';
6
- import { Constructor } from '../../utils/types';
5
+ import { Constructor, ParametersFromSecond } from '../../utils/types';
6
+ import { TAddress } from '../../models/TAddress';
7
7
  import { IBeacon, IBeaconProxy, IProxy, IProxyAdmin } from './proxy/ProxyDeployment';
8
8
  import { DeploymentsStorage, IDeployment } from './storage/DeploymentsStorage';
9
- import { TAddress } from '../../models/TAddress';
10
9
  type TDeploymentOptions = {
11
10
  id?: string;
12
11
  /** Will deploy the contract */
@@ -97,11 +96,7 @@ export declare class Deployments {
97
96
  receipt?: TEth.TxReceipt;
98
97
  deployment: IDeployment;
99
98
  }>;
100
- ensureWithProxy<T extends (TContract & {
101
- initialize?: TInit;
102
- }), TInit extends TInitializer>(CtorImpl: Constructor<T>, opts?: TConstructorArgs<T> & TDeploymentOptions & {
103
- initialize?: ParametersFromSecond<T['initialize']>;
104
- }): Promise<{
99
+ ensureWithProxy<T extends (TContract & TInitializers<TInit>), TInit extends TFunction>(CtorImpl: Constructor<T>, opts?: TConstructorArgs<T> & TDeploymentOptions & TInitializerParams<T>): Promise<{
105
100
  contract: T;
106
101
  contractReceipt?: TEth.TxReceipt;
107
102
  contractProxy: IProxy;
@@ -115,7 +110,7 @@ export declare class Deployments {
115
110
  **/
116
111
  ensureWithBeacon<T extends (TContract & {
117
112
  initialize?: TInit;
118
- }), TInit extends TInitializer>(CtorImpl: Constructor<T>, opts: TConstructorArgs<T> & TDeploymentOptions & {
113
+ }), TInit extends TFunction>(CtorImpl: Constructor<T>, opts: TConstructorArgs<T> & TDeploymentOptions & {
119
114
  id: string;
120
115
  initialize?: ParametersFromSecond<T['initialize']>;
121
116
  }): Promise<{
@@ -143,7 +138,18 @@ export declare class Deployments {
143
138
  title?: string;
144
139
  }): Promise<void>;
145
140
  }
146
- type TInitializer = (...args: any[]) => any;
141
+ type TFunction = (...args: any[]) => any;
142
+ type TInitializerName = 'initialize' | `initializeV${number}`;
143
+ type TInitializers<TInit extends TFunction> = {
144
+ [K in TInitializerName]?: TInit;
145
+ };
146
+ type TInitializerParams<T extends TInitializers<TFunction>> = {
147
+ initialize?: T['initialize'] extends TFunction ? ParametersFromSecond<T['initialize']> : never;
148
+ initializeV2?: T['initializeV2'] extends TFunction ? ParametersFromSecond<T['initializeV2']> : never;
149
+ initializeV3?: T['initializeV3'] extends TFunction ? ParametersFromSecond<T['initializeV3']> : never;
150
+ } & {
151
+ [K in Extract<keyof T, `initializeV${number}`>]?: T[K] extends TFunction ? ParametersFromSecond<T[K]> : any;
152
+ };
147
153
  type TContract = ContractBase & {
148
154
  $constructor?: (...args: any[]) => any;
149
155
  };
@@ -27,6 +27,8 @@ interface IDeploymentCtx {
27
27
  implementation: {
28
28
  address: TAddress;
29
29
  initData: TEth.Hex;
30
+ migrationData: TEth.Hex;
31
+ migrationV?: number;
30
32
  };
31
33
  options?: {
32
34
  skipStorageLayoutCheck?: boolean;
@@ -45,6 +45,14 @@ export declare class Generator {
45
45
  implementation: `0x${string}`;
46
46
  contractName: string;
47
47
  }>;
48
+ static generateFromJson(artifact: string): Promise<{
49
+ main: string;
50
+ sources: any[];
51
+ platform: string;
52
+ address: `0x${string}`;
53
+ implementation: `0x${string}`;
54
+ contractName: string;
55
+ }>;
48
56
  /**
49
57
  * @deprecated Was possible to generate the Contract Class based on the meta information header in TS file
50
58
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dequanto",
3
- "version": "0.2.37",
3
+ "version": "0.2.38",
4
4
  "author": {
5
5
  "name": "Alex Kit",
6
6
  "email": "alex.kit@atmajs.com"
@@ -7,8 +7,7 @@ import { TEth } from '@dequanto/models/TEth';
7
7
  import { $abiUtils } from '@dequanto/utils/$abiUtils';
8
8
  import { $contract } from '@dequanto/utils/$contract';
9
9
  import { $require } from '@dequanto/utils/$require';
10
- import { ParametersFromSecond } from '@dequanto/utils/types';
11
- import { Constructor } from '@dequanto/utils/types';
10
+ import { Constructor, ParametersFromSecond } from '@dequanto/utils/types';
12
11
 
13
12
  import { BlockchainExplorerFactory } from '@dequanto/explorer/BlockchainExplorerFactory';
14
13
  import { ContractVerifier } from '@dequanto/explorer/ContractVerifier';
@@ -16,13 +15,12 @@ import { HardhatWeb3Client } from '@dequanto/hardhat/HardhatWeb3Client';
16
15
  import { LoggerService } from '@dequanto/loggers/LoggerService';
17
16
  import { $is } from '@dequanto/utils/$is';
18
17
 
19
- import { IBeacon, IBeaconProxy, IProxy, IProxyAdmin, ProxyDeployment } from './proxy/ProxyDeployment';
20
- import { DeploymentsStorage, IDeployment } from './storage/DeploymentsStorage';
18
+ import { $bytecode } from '@dequanto/evm/utils/$bytecode';
21
19
  import { TAddress } from '@dequanto/models/TAddress';
22
- import { $promise } from '@dequanto/utils/$promise';
23
20
  import { l } from '@dequanto/utils/$logger';
24
- import { $bytecode } from '@dequanto/evm/utils/$bytecode';
25
- import { THex } from '@dequanto/models/THex';
21
+ import { $promise } from '@dequanto/utils/$promise';
22
+ import { IBeacon, IBeaconProxy, IProxy, IProxyAdmin, ProxyDeployment } from './proxy/ProxyDeployment';
23
+ import { DeploymentsStorage, IDeployment } from './storage/DeploymentsStorage';
26
24
 
27
25
 
28
26
 
@@ -288,13 +286,11 @@ export class Deployments {
288
286
  }
289
287
 
290
288
  async ensureWithProxy<
291
- T extends (TContract & { initialize?: TInit }),
292
- TInit extends TInitializer
289
+ T extends (TContract & TInitializers<TInit>),
290
+ TInit extends TFunction
293
291
  >(
294
292
  CtorImpl: Constructor<T>,
295
- opts?: TConstructorArgs<T> & TDeploymentOptions & {
296
- initialize?: ParametersFromSecond<T['initialize']>
297
- }
293
+ opts?: TConstructorArgs<T> & TDeploymentOptions & TInitializerParams<T>
298
294
  ): Promise<{
299
295
  // the Implementation Contract with the address set to Proxy
300
296
  contract: T
@@ -322,7 +318,8 @@ export class Deployments {
322
318
  deployment: opts?.deployment
323
319
  });
324
320
 
325
- let data = serializeInitData(id, contractImpl, opts.initialize);
321
+ let initData = serializeInitData(id, contractImpl, opts.initialize);
322
+ let { migrationData, migrationV } = serializeMigrationData(id, contractImpl, opts);
326
323
  let implementationAddress = contractImplDeployment.implementation ?? contractImplDeployment.address;
327
324
 
328
325
  let {
@@ -337,7 +334,9 @@ export class Deployments {
337
334
  deployments: this,
338
335
  implementation: {
339
336
  address: implementationAddress,
340
- initData: data
337
+ initData,
338
+ migrationData,
339
+ migrationV,
341
340
  },
342
341
  upgradeImplementation: opts.deployment?.upgradeProxy ?? this.opts?.whenUpgradeRequired !== 'ignore'
343
342
  })
@@ -370,7 +369,7 @@ export class Deployments {
370
369
  **/
371
370
  async ensureWithBeacon<
372
371
  T extends (TContract & { initialize?: TInit }),
373
- TInit extends TInitializer
372
+ TInit extends TFunction
374
373
  >(
375
374
  CtorImpl: Constructor<T>,
376
375
  opts: TConstructorArgs<T> & TDeploymentOptions & {
@@ -426,7 +425,9 @@ export class Deployments {
426
425
  deployments: this,
427
426
  implementation: {
428
427
  address: implementationAddress,
429
- initData: data
428
+ initData: data,
429
+ // @TODO implement migrations for Beacons
430
+ migrationData: null
430
431
  }
431
432
  });
432
433
 
@@ -612,8 +613,26 @@ export class Deployments {
612
613
  }
613
614
 
614
615
 
615
- type TInitializer = (...args: any[]) => any
616
-
616
+ type TFunction = (...args: any[]) => any
617
+ type TInitializerName = 'initialize' | `initializeV${number}`
618
+ type TInitializers<TInit extends TFunction> = {
619
+ [K in TInitializerName]?: TInit
620
+ }
621
+ type TInitializerParams<T extends TInitializers<TFunction>> = {
622
+ initialize?: T['initialize'] extends TFunction
623
+ ? ParametersFromSecond<T['initialize']>
624
+ : never
625
+ initializeV2?: T['initializeV2'] extends TFunction
626
+ ? ParametersFromSecond<T['initializeV2']>
627
+ : never
628
+ initializeV3?: T['initializeV3'] extends TFunction
629
+ ? ParametersFromSecond<T['initializeV3']>
630
+ : never
631
+ } & {
632
+ [K in Extract<keyof T, `initializeV${number}`>]?: T[K] extends TFunction
633
+ ? ParametersFromSecond<T[K]>
634
+ : any
635
+ }
617
636
 
618
637
  type TContract = ContractBase & { $constructor?: (...args: any[]) => any }
619
638
  type TConstructorArgs<T extends TContract> = T['$constructor'] extends Function ? {
@@ -678,6 +697,31 @@ function serializeInitData(id: string, contract: ContractBase, initializeParams:
678
697
  }
679
698
 
680
699
 
700
+ function serializeMigrationData(id: string, contract: ContractBase, opts: any) {
701
+ let rgx = /^initializeV(?<version>[\d+])$/;
702
+ let migrations = contract
703
+ .abi
704
+ .map(x => rgx.exec(x.name))
705
+ .filter(x => x != null)
706
+ .map(match => Number(match.groups.version))
707
+ ;
708
+ if (migrations.length === 0) {
709
+ return { migrationData: null, migrationV: 1 };
710
+ }
711
+ let v = alot(migrations).max(x => x);
712
+ let key = `initializeV${v}`;
713
+ let migrationAbi = contract.abi.find(x => x.name === key);
714
+ let migrationParams = opts?.[key] ?? [];
715
+ if (migrationParams?.length !== migrationAbi.inputs.length) {
716
+ throw new Error(`Wrong number of arguments (${migrationParams?.length}) for initializer method (${migrationAbi.inputs.length}) in ${id}.`);
717
+ }
718
+ return {
719
+ migrationData: $abiUtils.serializeMethodCallData(migrationAbi, migrationParams ?? []),
720
+ migrationV: v
721
+ };
722
+ }
723
+
724
+
681
725
  /**
682
726
  * Normalize the contract name by removing any versions from name
683
727
  * "FooV1" is actually the "Foo" contract
@@ -15,6 +15,9 @@ import { $proxyDeploy } from './$proxyDeploy';
15
15
  import { File } from 'atma-io';
16
16
  import { IContractWrapped } from '@dequanto/contracts/ContractClassFactory';
17
17
  import { HardhatProvider } from '@dequanto/hardhat/HardhatProvider';
18
+ import { $hex } from '@dequanto/utils/$hex';
19
+ import { SlotsStorage } from '@dequanto/solidity/SlotsStorage';
20
+ import { SlotsParser } from '@dequanto/solidity/SlotsParser';
18
21
 
19
22
  export interface IProxy extends ContractBase {
20
23
  changeAdmin?
@@ -24,14 +27,14 @@ export interface IProxyAdmin extends ContractBase {
24
27
  }
25
28
 
26
29
  export interface IBeaconProxy extends ContractBase {
27
- $constructor (deployer: IAccount, beacon: TEth.Address, initData: TEth.Hex)
30
+ $constructor(deployer: IAccount, beacon: TEth.Address, initData: TEth.Hex)
28
31
  }
29
32
  export interface IBeacon extends ContractBase {
30
- $constructor (deployer: IAccount, implementation: TEth.Address, initialOwner?: TEth.Address)
33
+ $constructor(deployer: IAccount, implementation: TEth.Address, initialOwner?: TEth.Address)
31
34
 
32
35
 
33
36
  implementation(): Promise<TEth.Address>
34
- upgradeTo (sender: IAccount, newImplementation: TAddress)
37
+ upgradeTo(sender: IAccount, newImplementation: TAddress)
35
38
  }
36
39
 
37
40
  interface IDeploymentCtx {
@@ -42,6 +45,8 @@ interface IDeploymentCtx {
42
45
  implementation: {
43
46
  address: TAddress
44
47
  initData: TEth.Hex
48
+ migrationData: TEth.Hex
49
+ migrationV?: number
45
50
  }
46
51
  options?: {
47
52
  skipStorageLayoutCheck?: boolean
@@ -117,7 +122,9 @@ export class ProxyDeployment {
117
122
  } = deployments;
118
123
  let {
119
124
  address: implAddress,
120
- initData
125
+ initData,
126
+ migrationData,
127
+ migrationV,
121
128
  } = ctx.implementation;
122
129
  let {
123
130
  Proxy,
@@ -134,7 +141,7 @@ export class ProxyDeployment {
134
141
  $require.notNull(ProxyAdmin, 'TransparentProxy.ProxyAdmin is required');
135
142
 
136
143
 
137
- let proxyOpts = <Parameters<Deployments['ensure']>[1]> {
144
+ let proxyOpts = <Parameters<Deployments['ensure']>[1]>{
138
145
  id: proxyId,
139
146
  // will not compare the contract updates, once deployed. As proxies normally not updated
140
147
  latest: false,
@@ -150,8 +157,6 @@ export class ProxyDeployment {
150
157
  let v = proxyAbi.some(x => x.name === 'upgradeToAndCall') || !proxyAbi.some(x => x.type === 'error') ? 'V4' : 'V5';
151
158
  /** OpenZeppelin V5 hides admin/upgrade public methods and introduces "error" types*/
152
159
 
153
-
154
-
155
160
  let hasProxy = await deployments.has(Proxy, proxyOpts);
156
161
  let shouldUpdate = ctx.upgradeImplementation ?? true;
157
162
  let {
@@ -206,6 +211,13 @@ export class ProxyDeployment {
206
211
  if ($address.eq(address, implAddress) === false) {
207
212
  if (shouldUpdate) {
208
213
  await this.requireCompatibleStorageLayout(proxyId, ctx);
214
+ if ($hex.isEmpty(migrationData) === false) {
215
+ let version = await Interfaces.TransparentProxy[v].contractProxy.version(contractProxy);
216
+ if (migrationV <= version) {
217
+ // Clear migration call; This upgrade is raw implementation upgrade
218
+ migrationData = null;
219
+ }
220
+ }
209
221
  $logger.log(`Upgrading ProxyAdmin(${contractProxyAdmin.address}) to ${implAddress} (${v}) from ${address}`);
210
222
  let receipt = await Interfaces.call(
211
223
  ctx.owner ?? deployer,
@@ -213,7 +225,7 @@ export class ProxyDeployment {
213
225
  Interfaces.TransparentProxy[v].contractProxyAdmin.upgradeAndCall,
214
226
  contractProxy.address,
215
227
  implAddress,
216
- null // data
228
+ migrationData,
217
229
  );
218
230
  await this.saveStorageLayout(proxyId, ctx);
219
231
  } else {
@@ -232,7 +244,7 @@ export class ProxyDeployment {
232
244
  }
233
245
  }
234
246
 
235
- private async getOpenzeppelinUpgradable (opts?: { proxy?: boolean, beacon?: boolean }) {
247
+ private async getOpenzeppelinUpgradable(opts?: { proxy?: boolean, beacon?: boolean }) {
236
248
  // We can't compile OpenZeppelin's contracts directly from node_modules folder, so create the wrappers
237
249
  const baseSource = `./node_modules/@openzeppelin/contracts/proxy`;
238
250
  const baseOutput = `./contracts/oz`;
@@ -250,7 +262,7 @@ export class ProxyDeployment {
250
262
  import \"${deps.TransparentUpgradeableProxy}\";
251
263
  `,
252
264
  //install: `TransparentUpgradeableProxy,ProxyAdmin`,
253
- contracts: [`TransparentUpgradeableProxy`,`ProxyAdmin`]
265
+ contracts: [`TransparentUpgradeableProxy`, `ProxyAdmin`]
254
266
  },
255
267
  Beacon: {
256
268
  source: `${baseSource}/beacon/UpgradeableBeacon.sol`,
@@ -260,7 +272,7 @@ export class ProxyDeployment {
260
272
  import \"${deps.BeaconProxy}\";
261
273
  `,
262
274
  //install: `UpgradeableBeacon,BeaconProxy`,
263
- contracts: [`UpgradeableBeacon`,`BeaconProxy`],
275
+ contracts: [`UpgradeableBeacon`, `BeaconProxy`],
264
276
  }
265
277
  };
266
278
 
@@ -271,7 +283,7 @@ export class ProxyDeployment {
271
283
  delete paths.TransparentUpgradeableProxy;
272
284
  }
273
285
 
274
- function fmt (template: string) {
286
+ function fmt(template: string) {
275
287
  let match = /^ +/m.exec(template);
276
288
  return template.trim().replace(new RegExp(`^${match[0]}`, 'gm'), '');
277
289
  }
@@ -342,12 +354,12 @@ export class ProxyDeployment {
342
354
  ? [
343
355
  // address implementation
344
356
  implAddress
345
- ] as [ TEth.Address ]
357
+ ] as [TEth.Address]
346
358
  : [
347
359
  // address implementation_, address initialOwner
348
360
  implAddress,
349
361
  deployer.address
350
- ] as [ TEth.Address, TEth.Address ]
362
+ ] as [TEth.Address, TEth.Address]
351
363
  };
352
364
  let hasBeacon = await deployments.has(Beacon, beaconOpts);
353
365
  let {
@@ -428,7 +440,7 @@ export class ProxyDeployment {
428
440
  }
429
441
  }
430
442
 
431
- private getOzVersionByBeacon (Beacon: Constructor<IBeacon>): 5 | 4 {
443
+ private getOzVersionByBeacon(Beacon: Constructor<IBeacon>): 5 | 4 {
432
444
  let $constructor = new Beacon().abi?.find(x => x.type === 'constructor');
433
445
  $require.notNull($constructor, `Invalid Beacon contract: constructor not found`);
434
446
 
@@ -465,9 +477,31 @@ namespace Interfaces {
465
477
  export const V4 = {
466
478
  contractProxy: {
467
479
  changeAdmin: 'changeAdmin(address newAdmin) external',
480
+ async version(contract: ContractBase) {
481
+ const slots = await SlotsParser.slotsFromAbi(`
482
+ (uint8 _version, bool initializing)
483
+ `);
484
+ const storage = SlotsStorage.createWithClient(
485
+ contract.client,
486
+ contract.address,
487
+ slots
488
+ );
489
+ let v = await storage.get('_version');
490
+ return v;
491
+ },
468
492
  },
469
493
  contractProxyAdmin: {
470
494
  async upgradeAndCall(account, contract, proxyAddress, implementationAddress, data) {
495
+ if (data != null && $hex.isEmpty(data) === false) {
496
+ return call(
497
+ account,
498
+ contract,
499
+ 'upgradeAndCall(address proxy, address implementation, bytes data) external',
500
+ proxyAddress,
501
+ implementationAddress,
502
+ data,
503
+ );
504
+ }
471
505
  return call(
472
506
  account,
473
507
  contract,
@@ -480,7 +514,18 @@ namespace Interfaces {
480
514
  }
481
515
  export const V5 = {
482
516
  contractProxy: {
483
-
517
+ async version(contract: ContractBase) {
518
+ // keccak256(abi.encode(uint256(keccak256("openzeppelin.storage.Initializable")) - 1)) & ~bytes32(uint256(0xff))
519
+ const position = '0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00';
520
+ const slots = await SlotsParser.slotsFromAbi(`
521
+ (uint8 initialized, bool initializing)
522
+ `);
523
+ const storage = SlotsStorage.createWithClient(contract.client, contract.address, slots, {
524
+ storageOffset: position
525
+ });
526
+ const v = await storage.get('initialized');
527
+ return v;
528
+ },
484
529
  },
485
530
  contractProxyAdmin: {
486
531
  upgradeAndCall: 'upgradeAndCall(address proxy, address implementation, bytes memory data) external'
@@ -108,6 +108,23 @@ export class Generator {
108
108
  return generator.generate();
109
109
  }
110
110
 
111
+ static async generateFromJson (artifact: string) {
112
+ $require.True(await File.existsAsync(artifact), `${artifact} does not exist`);
113
+ let name = /(?<contractName>[^\\/]+).json$/.exec(artifact)?.groups?.contractName;
114
+ $require.notEmpty(name, `Contract name not resolved from the path ${artifact}`);
115
+
116
+ let generator = new Generator({
117
+ platform: 'hardhat',
118
+ name: name,
119
+ source: {
120
+ path: artifact
121
+ },
122
+ output: './0xc/hardhat/',
123
+ saveSources: false,
124
+ });
125
+ return generator.generate();
126
+ }
127
+
111
128
  /**
112
129
  * @deprecated Was possible to generate the Contract Class based on the meta information header in TS file
113
130
  */