dequanto 0.1.26 → 0.1.28

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.
@@ -1,12 +1,18 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.ProxyDeployment = void 0;
7
+ const alot_1 = __importDefault(require("alot"));
4
8
  const _contract_1 = require("../../../utils/$contract.js");
5
9
  const _require_1 = require("../../../utils/$require.js");
6
10
  const _address_1 = require("../../../utils/$address.js");
7
11
  const _logger_1 = require("../../../utils/$logger.js");
8
12
  const ContractWriter_1 = require("../../ContractWriter.js");
9
13
  const _proxyDeploy_1 = require("./$proxyDeploy.js");
14
+ const atma_io_1 = require("atma-io");
15
+ const HardhatProvider_1 = require("../../../hardhat/HardhatProvider.js");
10
16
  // Supports OpenZeppelin proxy deployments
11
17
  class ProxyDeployment {
12
18
  constructor(store, opts) {
@@ -31,6 +37,11 @@ class ProxyDeployment {
31
37
  let { client } = deployments;
32
38
  let { address: implAddress, initData } = ctx.implementation;
33
39
  let { Proxy, ProxyAdmin, } = ctx.TransparentProxy ?? this.opts.TransparentProxy;
40
+ if (Proxy == null) {
41
+ let internal = await this.getOpenzeppelinUpgradable({ beacon: false, proxy: true });
42
+ Proxy = internal.TransparentUpgradeableProxy;
43
+ ProxyAdmin = internal.ProxyAdmin;
44
+ }
34
45
  _require_1.$require.notNull(Proxy, 'TransparentProxy.Proxy is required');
35
46
  _require_1.$require.notNull(ProxyAdmin, 'TransparentProxy.ProxyAdmin is required');
36
47
  let proxyOpts = {
@@ -102,6 +113,68 @@ class ProxyDeployment {
102
113
  contractProxyAdmin,
103
114
  };
104
115
  }
116
+ async getOpenzeppelinUpgradable(opts) {
117
+ // We can't compile OpenZeppelin's contracts directly from node_modules folder, so create the wrappers
118
+ const baseSource = `./node_modules/@openzeppelin/contracts/proxy`;
119
+ const baseOutput = `./contracts/oz`;
120
+ const deps = {
121
+ TransparentUpgradeableProxy: `@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol`,
122
+ ProxyAdmin: `@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol`,
123
+ Beacon: `@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol`,
124
+ BeaconProxy: `@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol`,
125
+ };
126
+ const paths = {
127
+ TransparentUpgradeableProxy: {
128
+ source: `${baseSource}/transparent/TransparentUpgradeableProxy.sol`,
129
+ output: `${baseOutput}/Proxy.sol`,
130
+ template: `
131
+ import \"${deps.TransparentUpgradeableProxy}\";
132
+ `,
133
+ //install: `TransparentUpgradeableProxy,ProxyAdmin`,
134
+ contracts: [`TransparentUpgradeableProxy`, `ProxyAdmin`]
135
+ },
136
+ Beacon: {
137
+ source: `${baseSource}/beacon/UpgradeableBeacon.sol`,
138
+ output: `${baseOutput}/Beacon.sol`,
139
+ template: `
140
+ import \"${deps.Beacon}\";
141
+ `,
142
+ //install: `UpgradeableBeacon,BeaconProxy`,
143
+ contracts: [`UpgradeableBeacon`, `BeaconProxy`],
144
+ }
145
+ };
146
+ if (opts?.beacon === false) {
147
+ delete paths.Beacon;
148
+ }
149
+ if (opts?.proxy === false) {
150
+ delete paths.TransparentUpgradeableProxy;
151
+ }
152
+ function fmt(template) {
153
+ let match = /^ +/m.exec(template);
154
+ return template.trim().replace(new RegExp(`^${match[0]}`, 'gm'), '');
155
+ }
156
+ let provider = new HardhatProvider_1.HardhatProvider();
157
+ let contracts = await alot_1.default.fromObject(paths).mapMany(async (entry) => {
158
+ let info = entry.value;
159
+ let code = fmt(info.template);
160
+ if (await atma_io_1.File.existsAsync(info.output) === false) {
161
+ await atma_io_1.File.writeAsync(info.output, code);
162
+ }
163
+ await provider.compileSol(info.output, {
164
+ tsgen: false,
165
+ });
166
+ return await (0, alot_1.default)(info.contracts)
167
+ .mapAsync(async (key) => {
168
+ let compilation = await provider.getContractFromSolPath(deps[key]);
169
+ return {
170
+ key: key,
171
+ Ctor: compilation.ContractCtor
172
+ };
173
+ })
174
+ .toArrayAsync();
175
+ }).toArrayAsync({ threads: 1 });
176
+ return (0, alot_1.default)(contracts).toDictionary(x => x.key, x => x.Ctor);
177
+ }
105
178
  async ensureBeaconInner(ctx) {
106
179
  let { beaconId, beaconProxyId, deployer, deployments, ImplementationContract } = ctx;
107
180
  let { client } = deployments;
@@ -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":";;;;;;AAAA,gDAAwB;AAKxB,yDAAsD;AAGtD,uDAAoD;AACpD,uDAAoD;AACpD,qDAAqD;AACrD,uEAAoE;AAEpE,iDAA8C;AAC9C,qCAA+B;AAE/B,uEAAoE;AAuDpE,0CAA0C;AAE1C,MAAa,eAAe;IAExB,YAAoB,KAAyB,EAAU,IAStD;QATmB,UAAK,GAAL,KAAK,CAAoB;QAAU,SAAI,GAAJ,IAAI,CAS1D;IAED,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,GAAwB;QACtC,mBAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,sCAAsC,CAAC,CAAC;QACvE,mBAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,EAAE,oCAAoC,CAAC,CAAC;QACpF,iCAAiC;QACjC,OAAO,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,GAAyB;QAC7C,mBAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,uCAAuC,CAAC,CAAC;QACzE,mBAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,EAAE,4CAA4C,CAAC,CAAC;QACnF,mBAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,EAAE,oCAAoC,CAAC,CAAC;QAEpF,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IAGD,4DAA4D;IAClD,KAAK,CAAC,sBAAsB,CAAC,GAAwB;QAC3D,IAAI,EACA,OAAO,EACP,QAAQ,EACR,WAAW,EACX,sBAAsB,EACzB,GAAG,GAAG,CAAC;QACR,IAAI,EACA,MAAM,EACT,GAAG,WAAW,CAAC;QAChB,IAAI,EACA,OAAO,EAAE,WAAW,EACpB,QAAQ,EACX,GAAG,GAAG,CAAC,cAAc,CAAC;QACvB,IAAI,EACA,KAAK,EACL,UAAU,GACb,GAAG,GAAG,CAAC,gBAAgB,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;QAEvD,IAAI,KAAK,IAAI,IAAI,EAAE;YACf,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACpF,KAAK,GAAG,QAAQ,CAAC,2BAA2B,CAAC;YAC7C,UAAU,GAAG,QAAQ,CAAC,UAAsC,CAAC;SAChE;QAED,mBAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,oCAAoC,CAAC,CAAC;QAC9D,mBAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,yCAAyC,CAAC,CAAC;QAGxE,IAAI,SAAS,GAA0C;YACnD,EAAE,EAAE,OAAO;YACX,wFAAwF;YACxF,MAAM,EAAE,KAAK;YACb,gCAAgC;YAChC,QAAQ,EAAE,WAAW;YACrB,SAAS,EAAE;gBACP,2DAA2D;gBAC3D,WAAW,EAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ;aAC1C;SACJ,CAAC;QAEF,IAAI,QAAQ,GAAG,IAAI,KAAK,EAAE,CAAC,GAAG,CAAC;QAC/B,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACnH,qFAAqF;QAIrF,IAAI,QAAQ,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACvD,IAAI,EACA,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,oBAAoB,EAC7B,UAAU,EAAE,uBAAuB,EACtC,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAE/C,IAAI,kBAA+B,CAAC;QACpC,IAAI,oBAAoB,GAAG,GAAG,OAAO,OAAO,CAAC;QAE7C,IAAI,oBAAoB,EAAE;YACtB,IAAI,CAAC,GAAG,CAAC,GAAG,qBAAS,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,6DAA6D,CAAC,CAAC;YAC7H,IAAI,GAAG,IAAI,IAAI,EAAE;gBACb,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;gBACpC,MAAM,IAAI,KAAK,CAAC,uHAAuH,CAAC,CAAC;aAC5I;YAED,IAAI,mBAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE;gBACpD,iEAAiE;gBACjE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,UAAU,EAAE;oBACpD,EAAE,EAAE,oBAAoB;iBAC3B,CAAC,CAAC;gBACH,kBAAkB,GAAG,QAAQ,CAAC;gBAC9B,uBAAuB;gBAEvB,IAAA,WAAC,EAAA,kDAAkD,CAAC;gBACpD,IAAI,OAAO,GAAG,MAAM,UAAU,CAAC,IAAI,CAC/B,QAAQ,EACR,aAAa,EACb,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,EACxD,kBAAkB,CAAC,OAAO,CAC7B,CAAC;aAEL;iBAAM;gBACH,+GAA+G;gBAC/G,kBAAkB,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACjE,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,kBAAkB,EAAE;oBAChD,EAAE,EAAE,oBAAoB;oBACxB,IAAI,EAAE,YAAY;iBACrB,EAAE,oBAAoB,CAAC,CAAC;aAC5B;SACJ;aAAM;YACH,kBAAkB,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,oBAAoB,EAAE,CAAC,CAAC;YACrF,mBAAQ,CAAC,OAAO,CAAC,kBAAkB,EAAE,qDAAqD,oBAAoB,YAAY,CAAC,CAAC;SAC/H;QAED,IAAI,QAAQ,EAAE;YACV,IAAI,IAAI,GAAG,oEAA6E,CAAC;YACzF,IAAI,SAAS,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACvE,IAAI,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1C,IAAI,mBAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,KAAK,KAAK,EAAE;gBAC7C,MAAM,IAAI,CAAC,8BAA8B,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBAExD,iBAAO,CAAC,GAAG,CAAC,wBAAwB,kBAAkB,CAAC,OAAO,QAAQ,WAAW,KAAK,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC;gBAC5G,IAAI,OAAO,GAAG,MAAM,UAAU,CAAC,IAAI,CAC/B,QAAQ,EACR,kBAAkB,EAClB,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,cAAc,EAChE,aAAa,CAAC,OAAO,EACrB,WAAW,EACX,IAAI,CAAC,OAAO;iBACf,CAAC;gBACF,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;aAC9C;SACJ;QACD,IAAI,QAAQ,KAAK,KAAK,IAAI,oBAAoB,IAAI,IAAI,EAAE;YACpD,gDAAgD;YAChD,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;SAC9C;QACD,OAAO;YACH,aAAa;YACb,uBAAuB;YACvB,kBAAkB;SACrB,CAAA;IACL,CAAC;IAEO,KAAK,CAAC,yBAAyB,CAAE,IAA4C;QACjF,sGAAsG;QACtG,MAAM,UAAU,GAAG,8CAA8C,CAAC;QAClE,MAAM,UAAU,GAAG,gBAAgB,CAAC;QACpC,MAAM,IAAI,GAAG;YACT,2BAA2B,EAAE,2EAA2E;YACxG,UAAU,EAAE,0DAA0D;YACtE,MAAM,EAAE,4DAA4D;YACpE,WAAW,EAAE,sDAAsD;SACtE,CAAC;QACF,MAAM,KAAK,GAAG;YACV,2BAA2B,EAAE;gBACzB,MAAM,EAAE,GAAG,UAAU,8CAA8C;gBACnE,MAAM,EAAE,GAAG,UAAU,YAAY;gBACjC,QAAQ,EAAE;+BACK,IAAI,CAAC,2BAA2B;iBAC9C;gBACD,oDAAoD;gBACpD,SAAS,EAAE,CAAC,6BAA6B,EAAC,YAAY,CAAC;aAC1D;YACD,MAAM,EAAE;gBACJ,MAAM,EAAE,GAAG,UAAU,+BAA+B;gBACpD,MAAM,EAAE,GAAG,UAAU,aAAa;gBAClC,QAAQ,EAAE;+BACK,IAAI,CAAC,MAAM;iBACzB;gBACD,2CAA2C;gBAC3C,SAAS,EAAE,CAAC,mBAAmB,EAAC,aAAa,CAAC;aACjD;SACJ,CAAC;QAEF,IAAI,IAAI,EAAE,MAAM,KAAK,KAAK,EAAE;YACxB,OAAO,KAAK,CAAC,MAAM,CAAC;SACvB;QACD,IAAI,IAAI,EAAE,KAAK,KAAK,KAAK,EAAE;YACvB,OAAO,KAAK,CAAC,2BAA2B,CAAC;SAC5C;QAED,SAAS,GAAG,CAAE,QAAgB;YAC1B,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClC,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,QAAQ,GAAG,IAAI,iCAAe,EAAE,CAAC;QACrC,IAAI,SAAS,GAAG,MAAM,cAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAC,KAAK,EAAC,EAAE;YAC/D,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC;YACvB,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE9B,IAAI,MAAM,cAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE;gBAC/C,MAAM,cAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;aAC5C;YACD,MAAM,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE;gBACnC,KAAK,EAAE,KAAK;aACf,CAAC,CAAC;YAEH,OAAO,MAAM,IAAA,cAAI,EAAC,IAAI,CAAC,SAAS,CAAC;iBAC5B,QAAQ,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE;gBAClB,IAAI,WAAW,GAAG,MAAM,QAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBACnE,OAAO;oBACH,GAAG,EAAE,GAAG;oBACR,IAAI,EAAE,WAAW,CAAC,YAAY;iBACjC,CAAC;YACN,CAAC,CAAC;iBACD,YAAY,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAEhC,OAAO,IAAA,cAAI,EAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAE1D,CAAC;IACN,CAAC;IAES,KAAK,CAAC,iBAAiB,CAAC,GAAyB;QACvD,IAAI,EACA,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,WAAW,EACX,sBAAsB,EACzB,GAAG,GAAG,CAAC;QACR,IAAI,EACA,MAAM,EACT,GAAG,WAAW,CAAC;QAChB,IAAI,EACA,OAAO,EAAE,WAAW,EACpB,QAAQ,EACX,GAAG,GAAG,CAAC,cAAc,CAAC;QACvB,IAAI,EACA,MAAM,EACN,WAAW,GACd,GAAG,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QACnC,mBAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;QAC/C,mBAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;QAEzD,IAAI,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAElD,IAAI,UAAU,GAAG;YACb,EAAE,EAAE,QAAQ;YACZ,QAAQ,EAAE,WAAW;YACrB,SAAS,EAAE,SAAS,KAAK,CAAC;gBACtB,CAAC,CAAC;oBACE,yBAAyB;oBACzB,WAAW;iBACM;gBACrB,CAAC,CAAC;oBACE,gDAAgD;oBAChD,WAAW;oBACX,QAAQ,CAAC,OAAO;iBACe;SAC1C,CAAC;QACF,IAAI,SAAS,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC1D,IAAI,EACA,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,qBAAqB,EAC9B,UAAU,EAAE,wBAAwB,GACvC,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAEjD,IAAI,SAAS,EAAE;YACX,IAAI,OAAO,GAAG,MAAM,cAAc,CAAC,cAAc,EAAE,CAAC;YACpD,IAAI,mBAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,KAAK,KAAK,EAAE;gBAC7C,MAAM,IAAI,CAAC,8BAA8B,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;gBAEzD,IAAA,WAAC,EAAA,uBAAuB,WAAW,EAAE,CAAC;gBACtC,IAAI,OAAO,GAAG,MAAM,UAAU,CAAC,IAAI,CAC/B,QAAQ,EACR,cAAc,EACd,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAClC,WAAW,CACd,CAAC;gBACF,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;aAC/C;SACJ;aAAM;YACH,IAAI,qBAAqB,EAAE,MAAM,EAAE;gBAC/B,iDAAiD;gBACjD,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;aAC/C;SACJ;QAED,IAAI,eAAe,GAAG;YAClB,EAAE,EAAE,aAAa;YACjB,0DAA0D;YAC1D,QAAQ,EAAE,WAAW;YACrB,SAAS,EAAE;gBACP,yBAAyB;gBACzB,cAAc,CAAC,OAAO,EAAE,QAAQ;aACP;SAChC,CAAC;QACF,IAAI,cAAc,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QACzE,IAAI,EACA,QAAQ,EAAE,mBAAmB,EAC7B,OAAO,EAAE,0BAA0B,EACnC,UAAU,EAAE,6BAA6B,EAC5C,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAE3D,OAAO;YACH,cAAc;YACd,wBAAwB;YACxB,mBAAmB;YACnB,6BAA6B;SAChC,CAAA;IACL,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,OAAe,EAAE,GAAmB;QAChE,mBAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,yEAAyE,CAAC,CAAC;QACxH,IAAI,QAAQ,GAAG,IAAI,GAAG,CAAC,sBAAsB,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC;QAC/E,MAAM,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC;YACnC,EAAE,EAAE,OAAO;YACX,KAAK,EAAE,QAAQ;SAClB,CAAC,CAAC;IACP,CAAC;IAEO,KAAK,CAAC,8BAA8B,CAAC,OAAe,EAAE,GAAmB;QAC7E,IAAI,GAAG,CAAC,OAAO,EAAE,sBAAsB,KAAK,IAAI,EAAE;YAC9C,mBAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,yEAAyE,CAAC,CAAC;YAExH,IAAI,gBAAgB,GAAG,IAAI,GAAG,CAAC,sBAAsB,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC;YACjF,mBAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE,uCAAuC,GAAG,CAAC,sBAAsB,CAAC,IAAI,IAAI,CAAC,CAAC;YAE/G,IAAI,oBAAoB,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;YAC1E,IAAI,oBAAoB,IAAI,IAAI,EAAE;gBAC9B,IAAI,KAAK,GAAG,MAAM,2BAAY,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;gBAClG,IAAI,KAAK,EAAE;oBACP,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;oBAC5C,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;iBACjC;aACJ;SACJ;IACL,CAAC;IAEO,oBAAoB,CAAE,MAA4B;QACtD,IAAI,YAAY,GAAG,IAAI,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;QACzE,mBAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,gDAAgD,CAAC,CAAC;QAEjF,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YAClC,uCAAuC;YACvC,OAAO,CAAC,CAAC;SACZ;QACD,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YAClC,6DAA6D;YAC7D,OAAO,CAAC,CAAC;SACZ;QACD,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC9E,CAAC;CACJ;AAtWD,0CAsWC;AAGD,IAAU,UAAU,CA+CnB;AA/CD,WAAU,UAAU;IACT,KAAK,UAAU,IAAI,CACtB,OAAiB,EACf,QAAQ,EACR,MAAsF,EACtF,GAAG,MAAM;QAEX,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC5B,IAAI,MAAM,GAAG,IAAI,+BAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;YAClE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAC1D,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC;SACpB;QACD,IAAI,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,CAAC;QACzD,OAAO,OAAO,CAAC;IACnB,CAAC;IAbqB,eAAI,OAazB,CAAA;IACD,IAAiB,gBAAgB,CAyBhC;IAzBD,WAAiB,gBAAgB;QAChB,mBAAE,GAAG;YACd,aAAa,EAAE;gBACX,WAAW,EAAE,wCAAwC;aACxD;YACD,kBAAkB,EAAE;gBAChB,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,qBAAqB,EAAE,IAAI;oBAC7E,OAAO,IAAI,CACP,OAAO,EACP,QAAQ,EACR,yDAAyD,EACzD,YAAY,EACZ,qBAAqB,CACxB,CAAC;gBACN,CAAC;aACJ;SACJ,CAAA;QACY,mBAAE,GAAG;YACd,aAAa,EAAE,EAEd;YACD,kBAAkB,EAAE;gBAChB,cAAc,EAAE,mFAAmF;aACtG;SACJ,CAAA;IACL,CAAC,EAzBgB,gBAAgB,GAAhB,2BAAgB,KAAhB,2BAAgB,QAyBhC;IAED,IAAiB,MAAM,CAItB;IAJD,WAAiB,QAAM;QACN,eAAM,GAAG;YAClB,SAAS,EAAE,sCAAsC;SACpD,CAAA;IACL,CAAC,EAJgB,MAAM,GAAN,iBAAM,KAAN,iBAAM,QAItB;AACL,CAAC,EA/CS,UAAU,KAAV,UAAU,QA+CnB"}
@@ -25,8 +25,15 @@ class GeneratorFromAbi {
25
25
  let target = opts.target ?? settings?.target ?? 'ts';
26
26
  let outputSourceType = {
27
27
  mjs: 'js',
28
+ cjs: 'js',
28
29
  }[target] ?? target;
29
- let outputFileExt = opts?.outputFileExt ?? outputSourceType;
30
+ let outputModuleType = target === 'cjs' ? 'cjs' : 'esm';
31
+ let outputFileExt = opts?.outputFileExt ?? {
32
+ mjs: 'mjs',
33
+ cjs: 'js',
34
+ ts: 'ts',
35
+ js: 'js',
36
+ }[target];
30
37
  let methodsArr = (0, alot_1.default)(abiJson)
31
38
  .filter(x => x.type === 'function' || x.type === 'constructor')
32
39
  .groupBy(x => x.name)
@@ -115,7 +122,8 @@ class GeneratorFromAbi {
115
122
  let eventsFetchers = eventsFetchersArr[outputSourceType].join('\n\n');
116
123
  let eventsFetchersTypings = eventsFetchersArr.types.join('\n\n');
117
124
  let name = opts.name;
118
- let templatePath = _path_1.$path.resolve(`/src/gen/templates/ContractTemplate.${outputSourceType}.tmpl`);
125
+ let contractTemplateSuffix = outputModuleType === 'cjs' ? 'cjs' : outputSourceType;
126
+ let templatePath = _path_1.$path.resolve(`/src/gen/templates/ContractTemplate.${contractTemplateSuffix}.tmpl`);
119
127
  let template = await atma_io_1.File.readAsync(templatePath, { skipHooks: true });
120
128
  let templateDtsPath = _path_1.$path.resolve(`/src/gen/templates/ContractTemplate.d.ts.tmpl`);
121
129
  let templateDts = await atma_io_1.File.readAsync(templateDtsPath, { skipHooks: true });
@@ -130,10 +138,16 @@ class GeneratorFromAbi {
130
138
  case 'hardhat':
131
139
  EtherscanStr = 'Etherscan';
132
140
  EthWeb3ClientStr = 'HardhatWeb3Client';
133
- imports = [
134
- `import { Etherscan } from '${importPfx}/explorer/Etherscan'`,
135
- `import { HardhatWeb3Client } from '${importPfx}/hardhat/HardhatWeb3Client'`,
136
- ];
141
+ imports = {
142
+ esm: [
143
+ `import { Etherscan } from '${importPfx}/explorer/Etherscan';`,
144
+ `import { HardhatWeb3Client } from '${importPfx}/hardhat/HardhatWeb3Client';`,
145
+ ],
146
+ cjs: [
147
+ `const { Etherscan } = require('${importPfx}/explorer/Etherscan');`,
148
+ `const { HardhatWeb3Client } = require('${importPfx}/hardhat/HardhatWeb3Client');`,
149
+ ],
150
+ }[outputModuleType];
137
151
  sourceUri = ``;
138
152
  break;
139
153
  default: {
@@ -141,10 +155,16 @@ class GeneratorFromAbi {
141
155
  if (web3Config) {
142
156
  EtherscanStr = 'Evmscan';
143
157
  EthWeb3ClientStr = 'EvmWeb3Client';
144
- imports = [
145
- `import { Evmscan } from '${importPfx}/explorer/Evmscan'`,
146
- `import { EvmWeb3Client } from '${importPfx}/clients/EvmWeb3Client'`,
147
- ];
158
+ imports = {
159
+ esm: [
160
+ `import { Evmscan } from '${importPfx}/explorer/Evmscan';`,
161
+ `import { EvmWeb3Client } from '${importPfx}/clients/EvmWeb3Client';`,
162
+ ],
163
+ cjs: [
164
+ `const { Evmscan } = require('${importPfx}/explorer/Evmscan');`,
165
+ `const { EvmWeb3Client } = require('${importPfx}/clients/EvmWeb3Client');`,
166
+ ]
167
+ }[outputModuleType];
148
168
  Web3ClientOptions = `{ platform: '${opts.network}' }`;
149
169
  EvmScanOptions = `{ platform: '${opts.network}' }`;
150
170
  sourceUri = '';
@@ -1 +1 @@
1
- {"version":3,"file":"GeneratorFromAbi.js","sourceRoot":"","sources":["../../../src/gen/GeneratorFromAbi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GeneratorFromAbi.js","sourceRoot":"","sources":["../../../src/gen/GeneratorFromAbi.ts"],"names":[],"mappings":"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"}
@@ -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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"}
@@ -1,9 +1,12 @@
1
+ import alot from 'alot';
1
2
  import { $contract } from '../../../utils/$contract.mjs';
2
3
  import { $require } from '../../../utils/$require.mjs';
3
4
  import { $address } from '../../../utils/$address.mjs';
4
5
  import { $logger, l } from '../../../utils/$logger.mjs';
5
6
  import { ContractWriter } from '../../ContractWriter.mjs';
6
7
  import { $proxyDeploy } from './$proxyDeploy.mjs';
8
+ import { File } from 'atma-io';
9
+ import { HardhatProvider } from '../../../hardhat/HardhatProvider.mjs';
7
10
  // Supports OpenZeppelin proxy deployments
8
11
  export class ProxyDeployment {
9
12
  constructor(store, opts) {
@@ -28,6 +31,11 @@ export class ProxyDeployment {
28
31
  let { client } = deployments;
29
32
  let { address: implAddress, initData } = ctx.implementation;
30
33
  let { Proxy, ProxyAdmin, } = ctx.TransparentProxy ?? this.opts.TransparentProxy;
34
+ if (Proxy == null) {
35
+ let internal = await this.getOpenzeppelinUpgradable({ beacon: false, proxy: true });
36
+ Proxy = internal.TransparentUpgradeableProxy;
37
+ ProxyAdmin = internal.ProxyAdmin;
38
+ }
31
39
  $require.notNull(Proxy, 'TransparentProxy.Proxy is required');
32
40
  $require.notNull(ProxyAdmin, 'TransparentProxy.ProxyAdmin is required');
33
41
  let proxyOpts = {
@@ -99,6 +107,68 @@ export class ProxyDeployment {
99
107
  contractProxyAdmin,
100
108
  };
101
109
  }
110
+ async getOpenzeppelinUpgradable(opts) {
111
+ // We can't compile OpenZeppelin's contracts directly from node_modules folder, so create the wrappers
112
+ const baseSource = `./node_modules/@openzeppelin/contracts/proxy`;
113
+ const baseOutput = `./contracts/oz`;
114
+ const deps = {
115
+ TransparentUpgradeableProxy: `@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol`,
116
+ ProxyAdmin: `@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol`,
117
+ Beacon: `@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol`,
118
+ BeaconProxy: `@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol`,
119
+ };
120
+ const paths = {
121
+ TransparentUpgradeableProxy: {
122
+ source: `${baseSource}/transparent/TransparentUpgradeableProxy.sol`,
123
+ output: `${baseOutput}/Proxy.sol`,
124
+ template: `
125
+ import \"${deps.TransparentUpgradeableProxy}\";
126
+ `,
127
+ //install: `TransparentUpgradeableProxy,ProxyAdmin`,
128
+ contracts: [`TransparentUpgradeableProxy`, `ProxyAdmin`]
129
+ },
130
+ Beacon: {
131
+ source: `${baseSource}/beacon/UpgradeableBeacon.sol`,
132
+ output: `${baseOutput}/Beacon.sol`,
133
+ template: `
134
+ import \"${deps.Beacon}\";
135
+ `,
136
+ //install: `UpgradeableBeacon,BeaconProxy`,
137
+ contracts: [`UpgradeableBeacon`, `BeaconProxy`],
138
+ }
139
+ };
140
+ if (opts?.beacon === false) {
141
+ delete paths.Beacon;
142
+ }
143
+ if (opts?.proxy === false) {
144
+ delete paths.TransparentUpgradeableProxy;
145
+ }
146
+ function fmt(template) {
147
+ let match = /^ +/m.exec(template);
148
+ return template.trim().replace(new RegExp(`^${match[0]}`, 'gm'), '');
149
+ }
150
+ let provider = new HardhatProvider();
151
+ let contracts = await alot.fromObject(paths).mapMany(async (entry) => {
152
+ let info = entry.value;
153
+ let code = fmt(info.template);
154
+ if (await File.existsAsync(info.output) === false) {
155
+ await File.writeAsync(info.output, code);
156
+ }
157
+ await provider.compileSol(info.output, {
158
+ tsgen: false,
159
+ });
160
+ return await alot(info.contracts)
161
+ .mapAsync(async (key) => {
162
+ let compilation = await provider.getContractFromSolPath(deps[key]);
163
+ return {
164
+ key: key,
165
+ Ctor: compilation.ContractCtor
166
+ };
167
+ })
168
+ .toArrayAsync();
169
+ }).toArrayAsync({ threads: 1 });
170
+ return alot(contracts).toDictionary(x => x.key, x => x.Ctor);
171
+ }
102
172
  async ensureBeaconInner(ctx) {
103
173
  let { beaconId, beaconProxyId, deployer, deployments, ImplementationContract } = ctx;
104
174
  let { client } = deployments;
@@ -1 +1 @@
1
- {"version":3,"file":"GeneratorFromAbi.js","sourceRoot":"","sources":["../../../src/gen/GeneratorFromAbi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GeneratorFromAbi.js","sourceRoot":"","sources":["../../../src/gen/GeneratorFromAbi.ts"],"names":[],"mappings":"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"}
@@ -19,8 +19,15 @@ export class GeneratorFromAbi {
19
19
  let target = opts.target ?? settings?.target ?? 'ts';
20
20
  let outputSourceType = {
21
21
  mjs: 'js',
22
+ cjs: 'js',
22
23
  }[target] ?? target;
23
- let outputFileExt = opts?.outputFileExt ?? outputSourceType;
24
+ let outputModuleType = target === 'cjs' ? 'cjs' : 'esm';
25
+ let outputFileExt = opts?.outputFileExt ?? {
26
+ mjs: 'mjs',
27
+ cjs: 'js',
28
+ ts: 'ts',
29
+ js: 'js',
30
+ }[target];
24
31
  let methodsArr = alot(abiJson)
25
32
  .filter(x => x.type === 'function' || x.type === 'constructor')
26
33
  .groupBy(x => x.name)
@@ -109,7 +116,8 @@ export class GeneratorFromAbi {
109
116
  let eventsFetchers = eventsFetchersArr[outputSourceType].join('\n\n');
110
117
  let eventsFetchersTypings = eventsFetchersArr.types.join('\n\n');
111
118
  let name = opts.name;
112
- let templatePath = $path.resolve(`/src/gen/templates/ContractTemplate.${outputSourceType}.tmpl`);
119
+ let contractTemplateSuffix = outputModuleType === 'cjs' ? 'cjs' : outputSourceType;
120
+ let templatePath = $path.resolve(`/src/gen/templates/ContractTemplate.${contractTemplateSuffix}.tmpl`);
113
121
  let template = await File.readAsync(templatePath, { skipHooks: true });
114
122
  let templateDtsPath = $path.resolve(`/src/gen/templates/ContractTemplate.d.ts.tmpl`);
115
123
  let templateDts = await File.readAsync(templateDtsPath, { skipHooks: true });
@@ -124,10 +132,16 @@ export class GeneratorFromAbi {
124
132
  case 'hardhat':
125
133
  EtherscanStr = 'Etherscan';
126
134
  EthWeb3ClientStr = 'HardhatWeb3Client';
127
- imports = [
128
- `import { Etherscan } from '${importPfx}/explorer/Etherscan'`,
129
- `import { HardhatWeb3Client } from '${importPfx}/hardhat/HardhatWeb3Client'`,
130
- ];
135
+ imports = {
136
+ esm: [
137
+ `import { Etherscan } from '${importPfx}/explorer/Etherscan';`,
138
+ `import { HardhatWeb3Client } from '${importPfx}/hardhat/HardhatWeb3Client';`,
139
+ ],
140
+ cjs: [
141
+ `const { Etherscan } = require('${importPfx}/explorer/Etherscan');`,
142
+ `const { HardhatWeb3Client } = require('${importPfx}/hardhat/HardhatWeb3Client');`,
143
+ ],
144
+ }[outputModuleType];
131
145
  sourceUri = ``;
132
146
  break;
133
147
  default: {
@@ -135,10 +149,16 @@ export class GeneratorFromAbi {
135
149
  if (web3Config) {
136
150
  EtherscanStr = 'Evmscan';
137
151
  EthWeb3ClientStr = 'EvmWeb3Client';
138
- imports = [
139
- `import { Evmscan } from '${importPfx}/explorer/Evmscan'`,
140
- `import { EvmWeb3Client } from '${importPfx}/clients/EvmWeb3Client'`,
141
- ];
152
+ imports = {
153
+ esm: [
154
+ `import { Evmscan } from '${importPfx}/explorer/Evmscan';`,
155
+ `import { EvmWeb3Client } from '${importPfx}/clients/EvmWeb3Client';`,
156
+ ],
157
+ cjs: [
158
+ `const { Evmscan } = require('${importPfx}/explorer/Evmscan');`,
159
+ `const { EvmWeb3Client } = require('${importPfx}/clients/EvmWeb3Client');`,
160
+ ]
161
+ }[outputModuleType];
142
162
  Web3ClientOptions = `{ platform: '${opts.network}' }`;
143
163
  EvmScanOptions = `{ platform: '${opts.network}' }`;
144
164
  sourceUri = '';
@@ -79,6 +79,7 @@ export declare class ProxyDeployment {
79
79
  contractProxyDeployment: import("../storage/DeploymentsStorage").IDeployment;
80
80
  contractProxyAdmin: IProxyAdmin;
81
81
  }>;
82
+ private getOpenzeppelinUpgradable;
82
83
  protected ensureBeaconInner(ctx: IBeaconDeploymentCtx): Promise<{
83
84
  contractBeacon: IBeacon;
84
85
  contractBeaconDeployment: import("../storage/DeploymentsStorage").IDeployment;
@@ -6,7 +6,7 @@ import { Web3Client } from '../clients/Web3Client';
6
6
  import { TEth } from '../models/TEth';
7
7
  export interface IGenerateOptions {
8
8
  platform: TPlatform;
9
- target?: 'js' | 'ts';
9
+ target?: 'js' | 'ts' | 'mjs' | 'cjs';
10
10
  name: string;
11
11
  contractName?: string;
12
12
  defaultAddress?: TAddress;
@@ -5,7 +5,7 @@ import { Web3Client } from '../clients/Web3Client';
5
5
  export declare class GeneratorFromAbi {
6
6
  static get Gen(): typeof Gen;
7
7
  generate(abiJson: TAbiItem[], opts: {
8
- target?: 'js' | 'mjs' | 'ts';
8
+ target?: 'js' | 'mjs' | 'ts' | 'cjs';
9
9
  network: TPlatform;
10
10
  name: string;
11
11
  contractName: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dequanto",
3
- "version": "0.1.26",
3
+ "version": "0.1.28",
4
4
  "author": {
5
5
  "name": "Alex Kit",
6
6
  "email": "alex.kit@atmajs.com"
@@ -1,3 +1,4 @@
1
+ import alot from 'alot';
1
2
  import type { Deployments } from '../Deployments';
2
3
  import { TAddress } from '@dequanto/models/TAddress';
3
4
  import { TEth } from '@dequanto/models/TEth';
@@ -11,7 +12,9 @@ import { $logger, l } from '@dequanto/utils/$logger';
11
12
  import { ContractWriter } from '@dequanto/contracts/ContractWriter';
12
13
  import { DeploymentsStorage } from '../storage/DeploymentsStorage';
13
14
  import { $proxyDeploy } from './$proxyDeploy';
14
-
15
+ import { File } from 'atma-io';
16
+ import { IContractWrapped } from '@dequanto/contracts/ContractClassFactory';
17
+ import { HardhatProvider } from '@dequanto/hardhat/HardhatProvider';
15
18
 
16
19
  export interface IProxy extends ContractBase {
17
20
  changeAdmin?
@@ -118,6 +121,13 @@ export class ProxyDeployment {
118
121
  Proxy,
119
122
  ProxyAdmin,
120
123
  } = ctx.TransparentProxy ?? this.opts.TransparentProxy;
124
+
125
+ if (Proxy == null) {
126
+ let internal = await this.getOpenzeppelinUpgradable({ beacon: false, proxy: true });
127
+ Proxy = internal.TransparentUpgradeableProxy;
128
+ ProxyAdmin = internal.ProxyAdmin as Constructor<IProxyAdmin>;
129
+ }
130
+
121
131
  $require.notNull(Proxy, 'TransparentProxy.Proxy is required');
122
132
  $require.notNull(ProxyAdmin, 'TransparentProxy.ProxyAdmin is required');
123
133
 
@@ -216,6 +226,77 @@ export class ProxyDeployment {
216
226
  }
217
227
  }
218
228
 
229
+ private async getOpenzeppelinUpgradable (opts?: { proxy?: boolean, beacon?: boolean }) {
230
+ // We can't compile OpenZeppelin's contracts directly from node_modules folder, so create the wrappers
231
+ const baseSource = `./node_modules/@openzeppelin/contracts/proxy`;
232
+ const baseOutput = `./contracts/oz`;
233
+ const deps = {
234
+ TransparentUpgradeableProxy: `@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol`,
235
+ ProxyAdmin: `@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol`,
236
+ Beacon: `@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol`,
237
+ BeaconProxy: `@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol`,
238
+ };
239
+ const paths = {
240
+ TransparentUpgradeableProxy: {
241
+ source: `${baseSource}/transparent/TransparentUpgradeableProxy.sol`,
242
+ output: `${baseOutput}/Proxy.sol`,
243
+ template: `
244
+ import \"${deps.TransparentUpgradeableProxy}\";
245
+ `,
246
+ //install: `TransparentUpgradeableProxy,ProxyAdmin`,
247
+ contracts: [`TransparentUpgradeableProxy`,`ProxyAdmin`]
248
+ },
249
+ Beacon: {
250
+ source: `${baseSource}/beacon/UpgradeableBeacon.sol`,
251
+ output: `${baseOutput}/Beacon.sol`,
252
+ template: `
253
+ import \"${deps.Beacon}\";
254
+ `,
255
+ //install: `UpgradeableBeacon,BeaconProxy`,
256
+ contracts: [`UpgradeableBeacon`,`BeaconProxy`],
257
+ }
258
+ };
259
+
260
+ if (opts?.beacon === false) {
261
+ delete paths.Beacon;
262
+ }
263
+ if (opts?.proxy === false) {
264
+ delete paths.TransparentUpgradeableProxy;
265
+ }
266
+
267
+ function fmt (template: string) {
268
+ let match = /^ +/m.exec(template);
269
+ return template.trim().replace(new RegExp(`^${match[0]}`, 'gm'), '');
270
+ }
271
+
272
+ let provider = new HardhatProvider();
273
+ let contracts = await alot.fromObject(paths).mapMany(async entry => {
274
+ let info = entry.value;
275
+ let code = fmt(info.template);
276
+
277
+ if (await File.existsAsync(info.output) === false) {
278
+ await File.writeAsync(info.output, code);
279
+ }
280
+ await provider.compileSol(info.output, {
281
+ tsgen: false,
282
+ });
283
+
284
+ return await alot(info.contracts)
285
+ .mapAsync(async key => {
286
+ let compilation = await provider.getContractFromSolPath(deps[key]);
287
+ return {
288
+ key: key,
289
+ Ctor: compilation.ContractCtor
290
+ };
291
+ })
292
+ .toArrayAsync();
293
+ }).toArrayAsync({ threads: 1 });
294
+
295
+ return alot(contracts).toDictionary(x => x.key, x => x.Ctor) as {
296
+ [K in keyof typeof deps]: Constructor<IContractWrapped>
297
+ };
298
+ }
299
+
219
300
  protected async ensureBeaconInner(ctx: IBeaconDeploymentCtx) {
220
301
  let {
221
302
  beaconId,
@@ -23,7 +23,7 @@ import { SolidityParser } from '@dequanto/solidity/SolidityParser';
23
23
  export interface IGenerateOptions {
24
24
  platform: TPlatform
25
25
 
26
- target?: 'js' | 'ts'
26
+ target?: 'js' | 'ts' | 'mjs' | 'cjs'
27
27
 
28
28
  // Class name to create
29
29
  name: string
@@ -25,7 +25,7 @@ export class GeneratorFromAbi {
25
25
  }
26
26
 
27
27
  async generate(abiJson: TAbiItem[], opts: {
28
- target?: 'js' | 'mjs' | 'ts'
28
+ target?: 'js' | 'mjs' | 'ts' | 'cjs'
29
29
  network: TPlatform
30
30
  name: string
31
31
  contractName: string
@@ -47,9 +47,16 @@ export class GeneratorFromAbi {
47
47
  let target = opts.target ?? settings?.target ?? 'ts';
48
48
  let outputSourceType = {
49
49
  mjs: 'js',
50
+ cjs: 'js',
50
51
  }[target] ?? target;
51
52
 
52
- let outputFileExt = opts?.outputFileExt ?? outputSourceType;
53
+ let outputModuleType = target === 'cjs' ? 'cjs' : 'esm';
54
+ let outputFileExt = opts?.outputFileExt ?? {
55
+ mjs: 'mjs',
56
+ cjs: 'js',
57
+ ts: 'ts',
58
+ js: 'js',
59
+ }[target];
53
60
 
54
61
  let methodsArr = alot(abiJson)
55
62
  .filter(x => x.type === 'function' || x.type === 'constructor')
@@ -152,7 +159,8 @@ export class GeneratorFromAbi {
152
159
  let eventsFetchersTypings = eventsFetchersArr.types.join('\n\n');
153
160
 
154
161
  let name = opts.name;
155
- let templatePath = $path.resolve(`/src/gen/templates/ContractTemplate.${ outputSourceType }.tmpl`);
162
+ let contractTemplateSuffix = outputModuleType === 'cjs' ? 'cjs' : outputSourceType;
163
+ let templatePath = $path.resolve(`/src/gen/templates/ContractTemplate.${ contractTemplateSuffix }.tmpl`);
156
164
  let template = await File.readAsync<string>(templatePath, { skipHooks: true });
157
165
  let templateDtsPath = $path.resolve(`/src/gen/templates/ContractTemplate.d.ts.tmpl`);
158
166
  let templateDts = await File.readAsync<string>(templateDtsPath, { skipHooks: true });
@@ -168,10 +176,16 @@ export class GeneratorFromAbi {
168
176
  case 'hardhat':
169
177
  EtherscanStr = 'Etherscan';
170
178
  EthWeb3ClientStr = 'HardhatWeb3Client';
171
- imports = [
172
- `import { Etherscan } from '${importPfx}/explorer/Etherscan'`,
173
- `import { HardhatWeb3Client } from '${importPfx}/hardhat/HardhatWeb3Client'`,
174
- ];
179
+ imports = {
180
+ esm: [
181
+ `import { Etherscan } from '${importPfx}/explorer/Etherscan';`,
182
+ `import { HardhatWeb3Client } from '${importPfx}/hardhat/HardhatWeb3Client';`,
183
+ ],
184
+ cjs: [
185
+ `const { Etherscan } = require('${importPfx}/explorer/Etherscan');`,
186
+ `const { HardhatWeb3Client } = require('${importPfx}/hardhat/HardhatWeb3Client');`,
187
+ ],
188
+ }[outputModuleType];
175
189
  sourceUri = ``;
176
190
  break;
177
191
  default: {
@@ -179,10 +193,16 @@ export class GeneratorFromAbi {
179
193
  if (web3Config) {
180
194
  EtherscanStr = 'Evmscan';
181
195
  EthWeb3ClientStr = 'EvmWeb3Client';
182
- imports = [
183
- `import { Evmscan } from '${importPfx}/explorer/Evmscan'`,
184
- `import { EvmWeb3Client } from '${importPfx}/clients/EvmWeb3Client'`,
185
- ];
196
+ imports = {
197
+ esm: [
198
+ `import { Evmscan } from '${importPfx}/explorer/Evmscan';`,
199
+ `import { EvmWeb3Client } from '${importPfx}/clients/EvmWeb3Client';`,
200
+ ],
201
+ cjs: [
202
+ `const { Evmscan } = require('${importPfx}/explorer/Evmscan');`,
203
+ `const { EvmWeb3Client } = require('${importPfx}/clients/EvmWeb3Client');`,
204
+ ]
205
+ }[outputModuleType];
186
206
  Web3ClientOptions = `{ platform: '${opts.network}' }`;
187
207
  EvmScanOptions = `{ platform: '${opts.network}' }`;
188
208
 
@@ -0,0 +1,78 @@
1
+ /**
2
+ * AUTO-Generated Class: $DATE$
3
+ * Implementation: $EXPLORER_URL$
4
+ */
5
+ const di = require('a-di');
6
+ const { ClientEventsStream } = require('dequanto/clients/ClientEventsStream');
7
+ const { ContractBase } = require('dequanto/contracts/ContractBase');
8
+ const { ContractBaseUtils } = require('dequanto/contracts/utils/ContractBaseUtils');
9
+ const { ContractStorageReaderBase } = require('dequanto/contracts/ContractStorageReaderBase');
10
+ const { TxWriter } = require('dequanto/txs/TxWriter');
11
+ const { Web3Client } = require('dequanto/clients/Web3Client');
12
+ const { SubjectStream } = require('dequanto/class/SubjectStream');
13
+
14
+
15
+
16
+ /* IMPORTS */
17
+
18
+ /* ERRORS */
19
+
20
+ class $NAME$ extends ContractBase {
21
+ constructor(
22
+ address = $ADDRESS$,
23
+ client = di.resolve($EthWeb3Client$, $Web3ClientOptions$),
24
+ explorer = di.resolve($Etherscan$, $EvmScanOptions$),
25
+ ) {
26
+ super(address, client, explorer)
27
+
28
+ /* STORAGE_READER_INITIALIZER */
29
+ }
30
+
31
+
32
+ /* META_PROPERTY */
33
+
34
+ /* METHODS */
35
+
36
+ $call () {
37
+ return super.$call();
38
+ }
39
+ $signed () {
40
+ return super.$signed();
41
+ }
42
+ $data () {
43
+ return super.$data();
44
+ }
45
+ $gas () {
46
+ return super.$gas();
47
+ }
48
+
49
+ onTransaction (method, options) {
50
+ options ??= {};
51
+ options.filter ??= {};
52
+ options.filter.method = method;
53
+ return this.$onTransaction(options);
54
+ }
55
+
56
+ onLog (event, cb) {
57
+ return this.$onLog(event, cb);
58
+ }
59
+
60
+ async getPastLogs (mix, options) {
61
+ return await super.getPastLogs(mix, options);
62
+ }
63
+
64
+ /* EVENTS */
65
+
66
+ /* EVENTS_EXTRACTORS */
67
+
68
+ /* EVENTS_FETCHERS */
69
+
70
+ abi = $ABI$
71
+
72
+ /* STORAGE_READER_PROPERTY */
73
+ }
74
+
75
+ /* STORAGE_READER_CLASS */
76
+
77
+
78
+ module.exports = { $NAME$ };