@skalenetwork/upgrade-tools 2.0.0-develop.0 → 2.0.0-develop.1

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,25 +1,2 @@
1
- import { ethers } from "ethers";
2
- import { HardhatEthersHelpers } from "@nomiclabs/hardhat-ethers/types";
3
- declare type Ethers = typeof ethers & HardhatEthersHelpers;
4
- interface SafeMultisigTransaction {
5
- safe: string;
6
- to: string;
7
- value: number;
8
- data?: string;
9
- operation: number;
10
- gasToken?: string;
11
- safeTxGas: number;
12
- baseGas: number;
13
- gasPrice: number;
14
- refundReceiver?: string;
15
- nonce: number;
16
- contractTransactionHash: string;
17
- sender: string;
18
- signature?: string;
19
- origin?: string;
20
- }
21
- export declare function getSafeTransactionUrl(chainId: number): string;
22
- export declare function getSafeRelayUrl(chainId: number): string;
23
- export declare function createMultiSendTransaction(ethers: Ethers, safeAddress: string, privateKey: string, transactions: string[], chainId: number, nonce?: number): Promise<SafeMultisigTransaction>;
24
- export declare function sendSafeTransaction(safe: string, chainId: number, safeTx: SafeMultisigTransaction): Promise<void>;
25
- export {};
1
+ import { UnsignedTransaction } from "ethers";
2
+ export declare function createMultiSendTransaction(safeAddress: string, transactions: UnsignedTransaction[]): Promise<void>;
@@ -1,27 +1,4 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -35,231 +12,117 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
35
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
36
13
  };
37
14
  Object.defineProperty(exports, "__esModule", { value: true });
38
- exports.sendSafeTransaction = exports.createMultiSendTransaction = exports.getSafeRelayUrl = exports.getSafeTransactionUrl = void 0;
39
- const axios_1 = __importDefault(require("axios"));
40
- const ethUtil = __importStar(require("ethereumjs-util"));
15
+ exports.createMultiSendTransaction = void 0;
41
16
  const chalk_1 = __importDefault(require("chalk"));
42
- const ethers_1 = require("ethers");
17
+ const hardhat_1 = require("hardhat");
18
+ const safe_ethers_lib_1 = __importDefault(require("@safe-global/safe-ethers-lib"));
19
+ const safe_service_client_1 = __importDefault(require("@safe-global/safe-service-client"));
20
+ const safe_core_sdk_1 = __importDefault(require("@safe-global/safe-core-sdk"));
43
21
  var Network;
44
22
  (function (Network) {
45
23
  Network[Network["MAINNET"] = 1] = "MAINNET";
46
- Network[Network["RINKEBY"] = 4] = "RINKEBY";
47
24
  Network[Network["GOERLI"] = 5] = "GOERLI";
48
25
  Network[Network["GANACHE"] = 1337] = "GANACHE";
49
26
  Network[Network["HARDHAT"] = 31337] = "HARDHAT";
50
27
  })(Network || (Network = {}));
51
28
  // constants
52
- const ADDRESSES = {
53
- multiSend: {
54
- [Network.MAINNET]: "0x8D29bE29923b68abfDD21e541b9374737B49cdAD",
55
- [Network.RINKEBY]: "0x8D29bE29923b68abfDD21e541b9374737B49cdAD",
56
- [Network.GOERLI]: "0x8D29bE29923b68abfDD21e541b9374737B49cdAD",
57
- },
58
- };
59
29
  const URLS = {
60
30
  safe_transaction: {
61
- [Network.MAINNET]: "https://safe-transaction.mainnet.gnosis.io",
62
- [Network.RINKEBY]: "https://safe-transaction.rinkeby.gnosis.io",
63
- [Network.GOERLI]: "https://safe-transaction.goerli.gnosis.io",
64
- },
65
- safe_relay: {
66
- [Network.MAINNET]: "https://safe-relay.mainnet.gnosis.io",
67
- [Network.RINKEBY]: "https://safe-relay.rinkeby.gnosis.io",
68
- [Network.GOERLI]: "https://safe-relay.goerli.gnosis.io",
31
+ [Network.MAINNET]: "https://safe-transaction-mainnet.safe.global",
32
+ [Network.GOERLI]: "https://safe-transaction-goerli.safe.global",
69
33
  }
70
34
  };
71
35
  // public functions
72
- function getSafeTransactionUrl(chainId) {
73
- if (Object.keys(URLS.safe_transaction).includes(chainId.toString())) {
74
- return URLS.safe_transaction[chainId];
75
- }
76
- else {
77
- throw Error(`Can't get safe-transaction url at network with chainId = ${chainId}`);
78
- }
79
- }
80
- exports.getSafeTransactionUrl = getSafeTransactionUrl;
81
- function getSafeRelayUrl(chainId) {
82
- if (Object.keys(URLS.safe_relay).includes(chainId.toString())) {
83
- return URLS.safe_relay[chainId];
84
- }
85
- else {
86
- throw Error(`Can't get safe-relay url at network with chainId = ${chainId}`);
87
- }
88
- }
89
- exports.getSafeRelayUrl = getSafeRelayUrl;
90
- function createMultiSendTransaction(ethers, safeAddress, privateKey, transactions, chainId, nonce) {
36
+ function createMultiSendTransaction(safeAddress, transactions) {
91
37
  return __awaiter(this, void 0, void 0, function* () {
92
- const multiSendAddress = getMultiSendAddress(chainId);
93
- const multiSendAbi = [{ "constant": false, "inputs": [{ "internalType": "bytes", "name": "transactions", "type": "bytes" }], "name": "multiSend", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }];
94
- const multiSend = new ethers.Contract(multiSendAddress, new ethers.utils.Interface(multiSendAbi), ethers.provider);
95
- let nonceValue = 0;
96
- if (nonce === undefined) {
97
- try {
98
- if (process.env.NONCE) {
99
- // NONCE variable is set
100
- if (isNaN(Number.parseInt(process.env.NONCE))) {
101
- // NONCE variable is not a number
102
- if (process.env.NONCE.toLowerCase() === "pending") {
103
- nonceValue = yield getSafeNonceWithPending(chainId, safeAddress);
104
- }
105
- else {
106
- nonceValue = yield getSafeNonce(chainId, safeAddress);
107
- }
108
- }
109
- else {
110
- // NONCE variable is a number
111
- nonceValue = Number.parseInt(process.env.NONCE);
112
- }
113
- }
114
- else {
115
- // NONCE variable is not set
116
- nonceValue = yield getSafeNonce(chainId, safeAddress);
117
- }
118
- }
119
- catch (e) {
120
- if (!(e instanceof Error) || !e.toString().startsWith("Error: Can't get safe-transaction url")) {
121
- throw e;
122
- }
123
- }
38
+ const safeTransactionData = [];
39
+ for (const transaction of transactions) {
40
+ safeTransactionData.push({
41
+ to: transaction.to ? transaction.to : hardhat_1.ethers.constants.AddressZero,
42
+ data: transaction.data ? transaction.data.toString() : "0x",
43
+ value: transaction.value ? transaction.value.toString() : "0",
44
+ operation: 0,
45
+ });
124
46
  }
125
- else {
126
- nonceValue = nonce;
127
- }
128
- console.log("Will send tx to Gnosis with nonce", nonceValue);
129
- const tx = {
130
- "safe": safeAddress,
131
- "to": multiSend.address,
132
- "value": 0,
133
- "data": multiSend.interface.encodeFunctionData("multiSend", [concatTransactions(transactions)]),
134
- "operation": 1,
135
- "gasToken": ethers.constants.AddressZero,
136
- "safeTxGas": 0,
137
- "baseGas": 0,
138
- "gasPrice": 0,
139
- "refundReceiver": ethers.constants.AddressZero,
140
- "nonce": nonceValue, // Nonce of the Safe, transaction cannot be executed until Safe's nonce is not equal to this nonce
47
+ const safeService = yield getSafeService();
48
+ const nonce = yield safeService.getNextNonce(safeAddress);
49
+ console.log("Will send tx to Gnosis with nonce", nonce);
50
+ const options = {
51
+ safeTxGas: 0,
52
+ baseGas: 0,
53
+ gasPrice: 0,
54
+ gasToken: hardhat_1.ethers.constants.AddressZero,
55
+ refundReceiver: hardhat_1.ethers.constants.AddressZero,
56
+ nonce: nonce // Nonce of the Safe, transaction cannot be executed until Safe's nonce is not equal to this nonce
141
57
  };
142
- const digestHex = getTransactionHash(tx.to, tx.value, tx.data, tx.operation, tx.safeTxGas, tx.baseGas, tx.gasPrice, tx.gasToken, tx.refundReceiver, tx.nonce, safeAddress, chainId);
143
- const privateKeyBuffer = ethUtil.toBuffer(privateKey);
144
- const { r, s, v } = ethUtil.ecsign(ethUtil.toBuffer(digestHex), privateKeyBuffer);
145
- const signature = ethUtil.toRpcSig(v, r, s).toString();
146
- const txToSend = Object.assign(Object.assign({}, tx), { "contractTransactionHash": digestHex,
147
- // Owner of the Safe proposing the transaction. Must match one of the signatures
148
- "sender": ethers.utils.getAddress(ethUtil.bufferToHex(ethUtil.privateToAddress(privateKeyBuffer))), "signature": signature, "origin": "Upgrade skale-manager" // Give more information about the transaction, e.g. "My Custom Safe app"
149
- });
150
- return txToSend;
58
+ const ethAdapter = yield getEthAdapter();
59
+ const safeSdk = yield safe_core_sdk_1.default.create({ ethAdapter, safeAddress });
60
+ const safeTransaction = yield safeSdk.createTransaction({ safeTransactionData, options });
61
+ yield estimateSafeTransaction(safeAddress, safeTransactionData);
62
+ yield proposeTransaction(safeAddress, safeTransaction);
151
63
  });
152
64
  }
153
65
  exports.createMultiSendTransaction = createMultiSendTransaction;
154
- function sendSafeTransaction(safe, chainId, safeTx) {
66
+ // private functions
67
+ function estimateSafeTransaction(safeAddress, safeTransactionData) {
155
68
  return __awaiter(this, void 0, void 0, function* () {
156
- try {
157
- console.log("Estimate gas");
158
- const estimateRequest = safeTx;
159
- try {
160
- const estimateResponse = yield axios_1.default.post(`${getSafeRelayUrl(chainId)}/api/v2/safes/${safe}/transactions/estimate/`, estimateRequest);
161
- console.log(chalk_1.default.cyan(`Recommend to set gas limit to ${parseInt(estimateResponse.data.safeTxGas, 10) + parseInt(estimateResponse.data.baseGas, 10)}`));
162
- }
163
- catch (e) {
164
- console.log(chalk_1.default.red("Failed to estimate gas"));
165
- console.log(e);
166
- }
167
- console.log(chalk_1.default.green("Send transaction to gnosis safe"));
168
- yield axios_1.default.post(`${getSafeTransactionUrl(chainId)}/api/v1/safes/${safe}/multisig-transactions/`, safeTx);
169
- }
170
- catch (e) {
171
- if (axios_1.default.isAxiosError(e)) {
172
- if (e.response) {
173
- console.log(JSON.stringify(e.response.data, null, 4));
174
- console.log(chalk_1.default.red(`Request failed with ${e.response.status} code`));
175
- }
176
- else {
177
- console.log(chalk_1.default.red("Request failed with unknown reason"));
178
- }
179
- }
180
- throw e;
69
+ console.log("Estimate gas");
70
+ const safeService = yield getSafeService();
71
+ for (const transaction of safeTransactionData) {
72
+ const estimateResponse = yield safeService.estimateSafeTransaction(safeAddress, {
73
+ to: transaction.to,
74
+ value: transaction.value,
75
+ data: transaction.data,
76
+ operation: transaction.operation || 0,
77
+ });
78
+ console.log(chalk_1.default.cyan(`Recommend to set gas limit to ${parseInt(estimateResponse.safeTxGas, 10)}`));
181
79
  }
80
+ console.log(chalk_1.default.green("Send transaction to gnosis safe"));
182
81
  });
183
82
  }
184
- exports.sendSafeTransaction = sendSafeTransaction;
185
- // private functions
186
- function getMultiSendAddress(chainId) {
187
- if ([Network.GANACHE, Network.HARDHAT].includes(chainId)) {
188
- return ethers_1.ethers.constants.AddressZero;
189
- }
190
- else if (Object.keys(ADDRESSES.multiSend).includes(chainId.toString())) {
191
- return ADDRESSES.multiSend[chainId];
192
- }
193
- else {
194
- throw Error(`Can't get multiSend contract at network with chainId = ${chainId}`);
195
- }
196
- }
197
- function concatTransactions(transactions) {
198
- return "0x" + transactions.map((transaction) => {
199
- if (transaction.startsWith("0x")) {
200
- return transaction.slice(2);
201
- }
202
- else {
203
- return transaction;
204
- }
205
- }).join("");
206
- }
207
- function getSafeNonce(chainId, safeAddress) {
83
+ function proposeTransaction(safeAddress, safeTransaction) {
208
84
  return __awaiter(this, void 0, void 0, function* () {
209
- const safeInfo = yield axios_1.default.get(`${getSafeTransactionUrl(chainId)}/api/v1/safes/${safeAddress}/`);
210
- return safeInfo.data.nonce;
85
+ const [safeOwner] = yield hardhat_1.ethers.getSigners();
86
+ const ethAdapter = yield getEthAdapter();
87
+ const safeSdk = yield safe_core_sdk_1.default.create({ ethAdapter, safeAddress });
88
+ const safeTxHash = yield safeSdk.getTransactionHash(safeTransaction);
89
+ const senderSignature = yield safeSdk.signTransactionHash(safeTxHash);
90
+ const safeService = yield getSafeService();
91
+ yield safeService.proposeTransaction({
92
+ safeAddress,
93
+ safeTransactionData: safeTransaction.data,
94
+ safeTxHash,
95
+ senderAddress: safeOwner.address,
96
+ senderSignature: senderSignature.data
97
+ });
211
98
  });
212
99
  }
213
- function getSafeNonceWithPending(chainId, safeAddress) {
100
+ function getEthAdapter() {
214
101
  return __awaiter(this, void 0, void 0, function* () {
215
- const allTransactions = yield axios_1.default.get(`${getSafeTransactionUrl(chainId)}/api/v1/safes/${safeAddress}/all-transactions/?executed=false&queued=true&trusted=true`);
216
- if (allTransactions.data.results.length > 0) {
217
- return allTransactions.data.results[0].nonce + 1;
218
- }
219
- else {
220
- return 0;
221
- }
102
+ const [safeOwner] = yield hardhat_1.ethers.getSigners();
103
+ const ethAdapter = new safe_ethers_lib_1.default({
104
+ ethers: hardhat_1.ethers,
105
+ signerOrProvider: safeOwner
106
+ });
107
+ return ethAdapter;
222
108
  });
223
109
  }
224
- function getDomainSeparator(safeAddress, chainId) {
225
- const DOMAIN_SEPARATOR_TYPEHASH = "0x47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a79469218";
226
- return ethers_1.ethers.utils.solidityKeccak256(["bytes"], [
227
- ethers_1.ethers.utils.defaultAbiCoder.encode(["bytes32", "uint256", "address"], [DOMAIN_SEPARATOR_TYPEHASH, chainId, safeAddress])
228
- ]);
229
- }
230
- function encodeTransactionData(to, value, data, operation, safeTxGas, baseGas, gasPrice, gasToken, refundReceiver, _nonce, safeAddress, chainId) {
231
- const dataHash = ethers_1.ethers.utils.solidityKeccak256(["bytes"], [data]);
232
- const SAFE_TX_TYPEHASH = "0xbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d8";
233
- const encoded = ethers_1.ethers.utils.defaultAbiCoder.encode([
234
- "bytes32",
235
- "address",
236
- "uint256",
237
- "bytes32",
238
- "uint256",
239
- "uint256",
240
- "uint256",
241
- "uint256",
242
- "address",
243
- "address",
244
- "uint256"
245
- ], [
246
- SAFE_TX_TYPEHASH,
247
- to,
248
- value,
249
- dataHash,
250
- operation,
251
- safeTxGas,
252
- baseGas,
253
- gasPrice,
254
- gasToken,
255
- refundReceiver,
256
- _nonce
257
- ]);
258
- const encodedHash = ethers_1.ethers.utils.solidityKeccak256(["bytes"], [encoded]);
259
- return ethers_1.ethers.utils.solidityPack(["bytes1", "bytes1", "bytes32", "bytes32"], ["0x19", "0x01", getDomainSeparator(safeAddress, chainId), encodedHash]);
110
+ function getSafeService() {
111
+ return __awaiter(this, void 0, void 0, function* () {
112
+ const chainId = (yield hardhat_1.ethers.provider.getNetwork()).chainId;
113
+ const ethAdapter = yield getEthAdapter();
114
+ const safeService = new safe_service_client_1.default({
115
+ txServiceUrl: getSafeTransactionUrl(chainId),
116
+ ethAdapter
117
+ });
118
+ return safeService;
119
+ });
260
120
  }
261
- function getTransactionHash(to, value, data, operation, safeTxGas, baseGas, gasPrice, gasToken, refundReceiver, _nonce, safeAddress, chainId) {
262
- return ethers_1.ethers.utils.solidityKeccak256(["bytes"], [
263
- encodeTransactionData(to, value, data, operation, safeTxGas, baseGas, gasPrice, gasToken, refundReceiver, _nonce, safeAddress, chainId)
264
- ]);
121
+ function getSafeTransactionUrl(chainId) {
122
+ if (Object.keys(URLS.safe_transaction).includes(chainId.toString())) {
123
+ return URLS.safe_transaction[chainId];
124
+ }
125
+ else {
126
+ throw Error(`Can't get safe-transaction url at network with chainId = ${chainId}`);
127
+ }
265
128
  }
@@ -10,10 +10,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.SafeSubmitter = void 0;
13
- const ethers_1 = require("ethers");
14
13
  const hardhat_1 = require("hardhat");
15
14
  const gnosis_safe_1 = require("../gnosis-safe");
16
- const multiSend_1 = require("../multiSend");
17
15
  const submitter_1 = require("./submitter");
18
16
  class SafeSubmitter extends submitter_1.Submitter {
19
17
  constructor(safeAddress, chainId) {
@@ -23,21 +21,10 @@ class SafeSubmitter extends submitter_1.Submitter {
23
21
  }
24
22
  submit(transactions) {
25
23
  return __awaiter(this, void 0, void 0, function* () {
26
- const safeTransactions = [];
27
- for (const transaction of transactions) {
28
- safeTransactions.push((0, multiSend_1.encodeTransaction)(0, transaction.to ? transaction.to : hardhat_1.ethers.constants.AddressZero, transaction.value ? ethers_1.BigNumber.from(transaction.value) : 0, transaction.data ? transaction.data.toString() : "0x"));
29
- }
30
- let privateKey = hardhat_1.network.config.accounts[0];
31
- if (hardhat_1.network.config.accounts === "remote") {
32
- // Don't have an information about private key
33
- // Use random one because we most probable run tests
34
- privateKey = hardhat_1.ethers.Wallet.createRandom().privateKey;
35
- }
36
24
  if (!this.chainId) {
37
25
  this.chainId = (yield hardhat_1.ethers.provider.getNetwork()).chainId;
38
26
  }
39
- const safeTx = yield (0, gnosis_safe_1.createMultiSendTransaction)(hardhat_1.ethers, this.safeAddress, privateKey, safeTransactions, this.chainId);
40
- yield (0, gnosis_safe_1.sendSafeTransaction)(this.safeAddress, this.chainId, safeTx);
27
+ yield (0, gnosis_safe_1.createMultiSendTransaction)(this.safeAddress, transactions);
41
28
  });
42
29
  }
43
30
  }
@@ -1,26 +1,10 @@
1
- import { BaseContract, BigNumber, BytesLike, CallOverrides, ContractTransaction, Overrides, PayableOverrides, PopulatedTransaction, Signer, utils } from "ethers";
2
- import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi";
1
+ import { BaseContract, Signer, utils } from "ethers";
2
+ import { EventFragment } from "@ethersproject/abi";
3
3
  import { Listener, Provider } from "@ethersproject/providers";
4
4
  import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common";
5
5
  export interface AdminUpgradeabilityProxyInterface extends utils.Interface {
6
6
  contractName: "AdminUpgradeabilityProxy";
7
- functions: {
8
- "admin()": FunctionFragment;
9
- "changeAdmin(address)": FunctionFragment;
10
- "implementation()": FunctionFragment;
11
- "upgradeTo(address)": FunctionFragment;
12
- "upgradeToAndCall(address,bytes)": FunctionFragment;
13
- };
14
- encodeFunctionData(functionFragment: "admin", values?: undefined): string;
15
- encodeFunctionData(functionFragment: "changeAdmin", values: [string]): string;
16
- encodeFunctionData(functionFragment: "implementation", values?: undefined): string;
17
- encodeFunctionData(functionFragment: "upgradeTo", values: [string]): string;
18
- encodeFunctionData(functionFragment: "upgradeToAndCall", values: [string, BytesLike]): string;
19
- decodeFunctionResult(functionFragment: "admin", data: BytesLike): Result;
20
- decodeFunctionResult(functionFragment: "changeAdmin", data: BytesLike): Result;
21
- decodeFunctionResult(functionFragment: "implementation", data: BytesLike): Result;
22
- decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result;
23
- decodeFunctionResult(functionFragment: "upgradeToAndCall", data: BytesLike): Result;
7
+ functions: {};
24
8
  events: {
25
9
  "AdminChanged(address,address)": EventFragment;
26
10
  "BeaconUpgraded(address)": EventFragment;
@@ -61,45 +45,8 @@ export interface AdminUpgradeabilityProxy extends BaseContract {
61
45
  on: OnEvent<this>;
62
46
  once: OnEvent<this>;
63
47
  removeListener: OnEvent<this>;
64
- functions: {
65
- admin(overrides?: Overrides & {
66
- from?: string | Promise<string>;
67
- }): Promise<ContractTransaction>;
68
- changeAdmin(newAdmin: string, overrides?: Overrides & {
69
- from?: string | Promise<string>;
70
- }): Promise<ContractTransaction>;
71
- implementation(overrides?: Overrides & {
72
- from?: string | Promise<string>;
73
- }): Promise<ContractTransaction>;
74
- upgradeTo(newImplementation: string, overrides?: Overrides & {
75
- from?: string | Promise<string>;
76
- }): Promise<ContractTransaction>;
77
- upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & {
78
- from?: string | Promise<string>;
79
- }): Promise<ContractTransaction>;
80
- };
81
- admin(overrides?: Overrides & {
82
- from?: string | Promise<string>;
83
- }): Promise<ContractTransaction>;
84
- changeAdmin(newAdmin: string, overrides?: Overrides & {
85
- from?: string | Promise<string>;
86
- }): Promise<ContractTransaction>;
87
- implementation(overrides?: Overrides & {
88
- from?: string | Promise<string>;
89
- }): Promise<ContractTransaction>;
90
- upgradeTo(newImplementation: string, overrides?: Overrides & {
91
- from?: string | Promise<string>;
92
- }): Promise<ContractTransaction>;
93
- upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & {
94
- from?: string | Promise<string>;
95
- }): Promise<ContractTransaction>;
96
- callStatic: {
97
- admin(overrides?: CallOverrides): Promise<string>;
98
- changeAdmin(newAdmin: string, overrides?: CallOverrides): Promise<void>;
99
- implementation(overrides?: CallOverrides): Promise<string>;
100
- upgradeTo(newImplementation: string, overrides?: CallOverrides): Promise<void>;
101
- upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: CallOverrides): Promise<void>;
102
- };
48
+ functions: {};
49
+ callStatic: {};
103
50
  filters: {
104
51
  "AdminChanged(address,address)"(previousAdmin?: null, newAdmin?: null): AdminChangedEventFilter;
105
52
  AdminChanged(previousAdmin?: null, newAdmin?: null): AdminChangedEventFilter;
@@ -108,38 +55,6 @@ export interface AdminUpgradeabilityProxy extends BaseContract {
108
55
  "Upgraded(address)"(implementation?: string | null): UpgradedEventFilter;
109
56
  Upgraded(implementation?: string | null): UpgradedEventFilter;
110
57
  };
111
- estimateGas: {
112
- admin(overrides?: Overrides & {
113
- from?: string | Promise<string>;
114
- }): Promise<BigNumber>;
115
- changeAdmin(newAdmin: string, overrides?: Overrides & {
116
- from?: string | Promise<string>;
117
- }): Promise<BigNumber>;
118
- implementation(overrides?: Overrides & {
119
- from?: string | Promise<string>;
120
- }): Promise<BigNumber>;
121
- upgradeTo(newImplementation: string, overrides?: Overrides & {
122
- from?: string | Promise<string>;
123
- }): Promise<BigNumber>;
124
- upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & {
125
- from?: string | Promise<string>;
126
- }): Promise<BigNumber>;
127
- };
128
- populateTransaction: {
129
- admin(overrides?: Overrides & {
130
- from?: string | Promise<string>;
131
- }): Promise<PopulatedTransaction>;
132
- changeAdmin(newAdmin: string, overrides?: Overrides & {
133
- from?: string | Promise<string>;
134
- }): Promise<PopulatedTransaction>;
135
- implementation(overrides?: Overrides & {
136
- from?: string | Promise<string>;
137
- }): Promise<PopulatedTransaction>;
138
- upgradeTo(newImplementation: string, overrides?: Overrides & {
139
- from?: string | Promise<string>;
140
- }): Promise<PopulatedTransaction>;
141
- upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & {
142
- from?: string | Promise<string>;
143
- }): Promise<PopulatedTransaction>;
144
- };
58
+ estimateGas: {};
59
+ populateTransaction: {};
145
60
  }
@@ -14,7 +14,7 @@ export declare class AdminUpgradeabilityProxy__factory extends ContractFactory {
14
14
  connect(signer: Signer): AdminUpgradeabilityProxy__factory;
15
15
  static readonly contractName: "AdminUpgradeabilityProxy";
16
16
  readonly contractName: "AdminUpgradeabilityProxy";
17
- static readonly bytecode = "0x608060405260405162000f2538038062000f258339810160408190526200002691620004ff565b82828282816200005860017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd620005df565b60008051602062000ede8339815191521462000078576200007862000605565b6200008682826000620000ed565b50620000b6905060017fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6104620005df565b60008051602062000ebe83398151915214620000d657620000d662000605565b620000e1826200015e565b5050505050506200066e565b620000f883620001b9565b6040516001600160a01b038416907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a26000825111806200013a5750805b1562000159576200015783836200028160201b620002601760201c565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f62000189620002b0565b604080516001600160a01b03928316815291841660208301520160405180910390a1620001b681620002e9565b50565b620001cf816200037960201b6200028c1760201c565b620002375760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b806200026060008051602062000ede83398151915260001b6200037f60201b620002081760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060620002a9838360405180606001604052806027815260200162000efe6027913962000382565b9392505050565b6000620002da60008051602062000ebe83398151915260001b6200037f60201b620002081760201c565b546001600160a01b0316919050565b6001600160a01b038116620003505760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016200022e565b806200026060008051602062000ebe83398151915260001b6200037f60201b620002081760201c565b3b151590565b90565b6060833b620003e35760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016200022e565b600080856001600160a01b0316856040516200040091906200061b565b600060405180830381855af49150503d80600081146200043d576040519150601f19603f3d011682016040523d82523d6000602084013e62000442565b606091505b509092509050620004558282866200045f565b9695505050505050565b6060831562000470575081620002a9565b825115620004815782518084602001fd5b8160405162461bcd60e51b81526004016200022e919062000639565b80516001600160a01b0381168114620004b557600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620004ed578181015183820152602001620004d3565b83811115620001575750506000910152565b6000806000606084860312156200051557600080fd5b62000520846200049d565b925062000530602085016200049d565b60408501519092506001600160401b03808211156200054e57600080fd5b818601915086601f8301126200056357600080fd5b815181811115620005785762000578620004ba565b604051601f8201601f19908116603f01168101908382118183101715620005a357620005a3620004ba565b81604052828152896020848701011115620005bd57600080fd5b620005d0836020830160208801620004d0565b80955050505050509250925092565b6000828210156200060057634e487b7160e01b600052601160045260246000fd5b500390565b634e487b7160e01b600052600160045260246000fd5b600082516200062f818460208701620004d0565b9190910192915050565b60208152600082518060208401526200065a816040850160208701620004d0565b601f01601f19169190910160400192915050565b610840806200067e6000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106ca565b610118565b61005b6100933660046106e5565b61015f565b3480156100a457600080fd5b506100ad6101d0565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106ca565b61020b565b3480156100f557600080fd5b506100ad610235565b610106610292565b610116610111610331565b61033b565b565b61012061035f565b6001600160a01b0316336001600160a01b031614156101575761015481604051806020016040528060008152506000610392565b50565b6101546100fe565b61016761035f565b6001600160a01b0316336001600160a01b031614156101c8576101c38383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610392915050565b505050565b6101c36100fe565b60006101da61035f565b6001600160a01b0316336001600160a01b03161415610200576101fb610331565b905090565b6102086100fe565b90565b61021361035f565b6001600160a01b0316336001600160a01b0316141561015757610154816103f1565b600061023f61035f565b6001600160a01b0316336001600160a01b03161415610200576101fb61035f565b606061028583836040518060600160405280602781526020016107e460279139610445565b9392505050565b3b151590565b61029a61035f565b6001600160a01b0316336001600160a01b031614156101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101fb610519565b3660008037600080366000845af43d6000803e80801561035a573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61039b83610541565b6040516001600160a01b038416907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a26000825111806103dc5750805b156101c3576103eb8383610260565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61041a61035f565b604080516001600160a01b03928316815291841660208301520160405180910390a1610154816105e9565b6060833b6104a45760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610328565b600080856001600160a01b0316856040516104bf9190610794565b600060405180830381855af49150503d80600081146104fa576040519150601f19603f3d011682016040523d82523d6000602084013e6104ff565b606091505b509150915061050f828286610675565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610383565b803b6105a55760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610328565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b03811661064e5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608401610328565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036105c8565b60608315610684575081610285565b8251156106945782518084602001fd5b8160405162461bcd60e51b815260040161032891906107b0565b80356001600160a01b03811681146106c557600080fd5b919050565b6000602082840312156106dc57600080fd5b610285826106ae565b6000806000604084860312156106fa57600080fd5b610703846106ae565b9250602084013567ffffffffffffffff8082111561072057600080fd5b818601915086601f83011261073457600080fd5b81358181111561074357600080fd5b87602082850101111561075557600080fd5b6020830194508093505050509250925092565b60005b8381101561078357818101518382015260200161076b565b838111156103eb5750506000910152565b600082516107a6818460208701610768565b9190910192915050565b60208152600082518060208401526107cf816040850160208701610768565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f3a5325b227890d3a202519f1180cb31461c999231add379698f6d37d0c2c64f64736f6c63430008090033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564";
17
+ static readonly bytecode = "0x608060405260405162000ee038038062000ee08339810160408190526200002691620004a3565b8282828281620000398282600062000053565b506200004790508262000090565b505050505050620005d6565b6200005e83620000eb565b6000825111806200006c5750805b156200008b576200008983836200012d60201b620001791760201c565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f620000bb6200015c565b604080516001600160a01b03928316815291841660208301520160405180910390a1620000e88162000195565b50565b620000f6816200024a565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606062000155838360405180606001604052806027815260200162000eb960279139620002fe565b9392505050565b60006200018660008051602062000e9983398151915260001b6200037d60201b620001a51760201c565b546001600160a01b0316919050565b6001600160a01b038116620002005760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b806200022960008051602062000e9983398151915260001b6200037d60201b620001a51760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b62000260816200038060201b620001a81760201c565b620002c45760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401620001f7565b80620002297f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6200037d60201b620001a51760201c565b6060600080856001600160a01b0316856040516200031d919062000583565b600060405180830381855af49150503d80600081146200035a576040519150601f19603f3d011682016040523d82523d6000602084013e6200035f565b606091505b50909250905062000373868383876200038f565b9695505050505050565b90565b6001600160a01b03163b151590565b6060831562000400578251620003f8576001600160a01b0385163b620003f85760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401620001f7565b50816200040c565b6200040c838362000414565b949350505050565b815115620004255781518083602001fd5b8060405162461bcd60e51b8152600401620001f79190620005a1565b80516001600160a01b03811681146200045957600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200049157818101518382015260200162000477565b83811115620000895750506000910152565b600080600060608486031215620004b957600080fd5b620004c48462000441565b9250620004d46020850162000441565b60408501519092506001600160401b0380821115620004f257600080fd5b818601915086601f8301126200050757600080fd5b8151818111156200051c576200051c6200045e565b604051601f8201601f19908116603f011681019083821181831017156200054757620005476200045e565b816040528281528960208487010111156200056157600080fd5b6200057483602083016020880162000474565b80955050505050509250925092565b600082516200059781846020870162000474565b9190910192915050565b6020815260008251806020840152620005c281604085016020870162000474565b601f01601f19169190910160400192915050565b6108b380620005e66000396000f3fe60806040523661001357610011610017565b005b6100115b61001f6101b7565b6001600160a01b0316336001600160a01b0316141561016f5760606001600160e01b031960003516631b2ce7f360e11b8114156100655761005e6101ea565b9150610167565b6001600160e01b0319811663278f794360e11b14156100865761005e610241565b6001600160e01b031981166308f2839760e41b14156100a75761005e610287565b6001600160e01b031981166303e1469160e61b14156100c85761005e6102b8565b6001600160e01b03198116635c60da1b60e01b14156100e95761005e6102f8565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b815160208301f35b61017761030c565b565b606061019e83836040518060600160405280602781526020016108576027913961031c565b9392505050565b90565b6001600160a01b03163b151590565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b60606101f4610394565b600061020336600481846106a2565b81019061021091906106e8565b905061022d8160405180602001604052806000815250600061039f565b505060408051602081019091526000815290565b606060008061025336600481846106a2565b8101906102609190610719565b915091506102708282600161039f565b604051806020016040528060008152509250505090565b6060610291610394565b60006102a036600481846106a2565b8101906102ad91906106e8565b905061022d816103cb565b60606102c2610394565b60006102cc6101b7565b604080516001600160a01b03831660208201529192500160405160208183030381529060405291505090565b6060610302610394565b60006102cc610422565b610177610317610422565b610431565b6060600080856001600160a01b0316856040516103399190610807565b600060405180830381855af49150503d8060008114610374576040519150601f19603f3d011682016040523d82523d6000602084013e610379565b606091505b509150915061038a86838387610455565b9695505050505050565b341561017757600080fd5b6103a8836104d3565b6000825111806103b55750805b156103c6576103c48383610179565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103f46101b7565b604080516001600160a01b03928316815291841660208301520160405180910390a161041f81610513565b50565b600061042c6105bc565b905090565b3660008037600080366000845af43d6000803e808015610450573d6000f35b3d6000fd5b606083156104c15782516104ba576001600160a01b0385163b6104ba5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161015e565b50816104cb565b6104cb83836105e4565b949350505050565b6104dc8161060e565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b0381166105785760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b606482015260840161015e565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6101db565b8151156105f45781518083602001fd5b8060405162461bcd60e51b815260040161015e9190610823565b6001600160a01b0381163b61067b5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161015e565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61059b565b600080858511156106b257600080fd5b838611156106bf57600080fd5b5050820193919092039150565b80356001600160a01b03811681146106e357600080fd5b919050565b6000602082840312156106fa57600080fd5b61019e826106cc565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561072c57600080fd5b610735836106cc565b9150602083013567ffffffffffffffff8082111561075257600080fd5b818501915085601f83011261076657600080fd5b81358181111561077857610778610703565b604051601f8201601f19908116603f011681019083821181831017156107a0576107a0610703565b816040528281528860208487010111156107b957600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156107f65781810151838201526020016107de565b838111156103c45750506000910152565b600082516108198184602087016107db565b9190910192915050565b60208152600082518060208401526108428160408501602087016107db565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c305b1ecbe12f30c701a08768fe5424f3f90ab320940a940a3ef1f7469a68ab164736f6c63430008090033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564";
18
18
  static readonly abi: ({
19
19
  inputs: {
20
20
  internalType: string;
@@ -25,7 +25,6 @@ export declare class AdminUpgradeabilityProxy__factory extends ContractFactory {
25
25
  type: string;
26
26
  anonymous?: undefined;
27
27
  name?: undefined;
28
- outputs?: undefined;
29
28
  } | {
30
29
  anonymous: boolean;
31
30
  inputs: {
@@ -37,36 +36,12 @@ export declare class AdminUpgradeabilityProxy__factory extends ContractFactory {
37
36
  name: string;
38
37
  type: string;
39
38
  stateMutability?: undefined;
40
- outputs?: undefined;
41
39
  } | {
42
40
  stateMutability: string;
43
41
  type: string;
44
42
  inputs?: undefined;
45
43
  anonymous?: undefined;
46
44
  name?: undefined;
47
- outputs?: undefined;
48
- } | {
49
- inputs: never[];
50
- name: string;
51
- outputs: {
52
- internalType: string;
53
- name: string;
54
- type: string;
55
- }[];
56
- stateMutability: string;
57
- type: string;
58
- anonymous?: undefined;
59
- } | {
60
- inputs: {
61
- internalType: string;
62
- name: string;
63
- type: string;
64
- }[];
65
- name: string;
66
- outputs: never[];
67
- stateMutability: string;
68
- type: string;
69
- anonymous?: undefined;
70
45
  })[];
71
46
  static createInterface(): AdminUpgradeabilityProxyInterface;
72
47
  static connect(address: string, signerOrProvider: Signer | Provider): AdminUpgradeabilityProxy;
@@ -76,82 +76,12 @@ const _abi = [
76
76
  stateMutability: "payable",
77
77
  type: "fallback",
78
78
  },
79
- {
80
- inputs: [],
81
- name: "admin",
82
- outputs: [
83
- {
84
- internalType: "address",
85
- name: "admin_",
86
- type: "address",
87
- },
88
- ],
89
- stateMutability: "nonpayable",
90
- type: "function",
91
- },
92
- {
93
- inputs: [
94
- {
95
- internalType: "address",
96
- name: "newAdmin",
97
- type: "address",
98
- },
99
- ],
100
- name: "changeAdmin",
101
- outputs: [],
102
- stateMutability: "nonpayable",
103
- type: "function",
104
- },
105
- {
106
- inputs: [],
107
- name: "implementation",
108
- outputs: [
109
- {
110
- internalType: "address",
111
- name: "implementation_",
112
- type: "address",
113
- },
114
- ],
115
- stateMutability: "nonpayable",
116
- type: "function",
117
- },
118
- {
119
- inputs: [
120
- {
121
- internalType: "address",
122
- name: "newImplementation",
123
- type: "address",
124
- },
125
- ],
126
- name: "upgradeTo",
127
- outputs: [],
128
- stateMutability: "nonpayable",
129
- type: "function",
130
- },
131
- {
132
- inputs: [
133
- {
134
- internalType: "address",
135
- name: "newImplementation",
136
- type: "address",
137
- },
138
- {
139
- internalType: "bytes",
140
- name: "data",
141
- type: "bytes",
142
- },
143
- ],
144
- name: "upgradeToAndCall",
145
- outputs: [],
146
- stateMutability: "payable",
147
- type: "function",
148
- },
149
79
  {
150
80
  stateMutability: "payable",
151
81
  type: "receive",
152
82
  },
153
83
  ];
154
- const _bytecode = "0x608060405260405162000f2538038062000f258339810160408190526200002691620004ff565b82828282816200005860017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd620005df565b60008051602062000ede8339815191521462000078576200007862000605565b6200008682826000620000ed565b50620000b6905060017fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6104620005df565b60008051602062000ebe83398151915214620000d657620000d662000605565b620000e1826200015e565b5050505050506200066e565b620000f883620001b9565b6040516001600160a01b038416907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a26000825111806200013a5750805b1562000159576200015783836200028160201b620002601760201c565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f62000189620002b0565b604080516001600160a01b03928316815291841660208301520160405180910390a1620001b681620002e9565b50565b620001cf816200037960201b6200028c1760201c565b620002375760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b806200026060008051602062000ede83398151915260001b6200037f60201b620002081760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060620002a9838360405180606001604052806027815260200162000efe6027913962000382565b9392505050565b6000620002da60008051602062000ebe83398151915260001b6200037f60201b620002081760201c565b546001600160a01b0316919050565b6001600160a01b038116620003505760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016200022e565b806200026060008051602062000ebe83398151915260001b6200037f60201b620002081760201c565b3b151590565b90565b6060833b620003e35760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016200022e565b600080856001600160a01b0316856040516200040091906200061b565b600060405180830381855af49150503d80600081146200043d576040519150601f19603f3d011682016040523d82523d6000602084013e62000442565b606091505b509092509050620004558282866200045f565b9695505050505050565b6060831562000470575081620002a9565b825115620004815782518084602001fd5b8160405162461bcd60e51b81526004016200022e919062000639565b80516001600160a01b0381168114620004b557600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620004ed578181015183820152602001620004d3565b83811115620001575750506000910152565b6000806000606084860312156200051557600080fd5b62000520846200049d565b925062000530602085016200049d565b60408501519092506001600160401b03808211156200054e57600080fd5b818601915086601f8301126200056357600080fd5b815181811115620005785762000578620004ba565b604051601f8201601f19908116603f01168101908382118183101715620005a357620005a3620004ba565b81604052828152896020848701011115620005bd57600080fd5b620005d0836020830160208801620004d0565b80955050505050509250925092565b6000828210156200060057634e487b7160e01b600052601160045260246000fd5b500390565b634e487b7160e01b600052600160045260246000fd5b600082516200062f818460208701620004d0565b9190910192915050565b60208152600082518060208401526200065a816040850160208701620004d0565b601f01601f19169190910160400192915050565b610840806200067e6000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106ca565b610118565b61005b6100933660046106e5565b61015f565b3480156100a457600080fd5b506100ad6101d0565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106ca565b61020b565b3480156100f557600080fd5b506100ad610235565b610106610292565b610116610111610331565b61033b565b565b61012061035f565b6001600160a01b0316336001600160a01b031614156101575761015481604051806020016040528060008152506000610392565b50565b6101546100fe565b61016761035f565b6001600160a01b0316336001600160a01b031614156101c8576101c38383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610392915050565b505050565b6101c36100fe565b60006101da61035f565b6001600160a01b0316336001600160a01b03161415610200576101fb610331565b905090565b6102086100fe565b90565b61021361035f565b6001600160a01b0316336001600160a01b0316141561015757610154816103f1565b600061023f61035f565b6001600160a01b0316336001600160a01b03161415610200576101fb61035f565b606061028583836040518060600160405280602781526020016107e460279139610445565b9392505050565b3b151590565b61029a61035f565b6001600160a01b0316336001600160a01b031614156101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101fb610519565b3660008037600080366000845af43d6000803e80801561035a573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61039b83610541565b6040516001600160a01b038416907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a26000825111806103dc5750805b156101c3576103eb8383610260565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61041a61035f565b604080516001600160a01b03928316815291841660208301520160405180910390a1610154816105e9565b6060833b6104a45760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610328565b600080856001600160a01b0316856040516104bf9190610794565b600060405180830381855af49150503d80600081146104fa576040519150601f19603f3d011682016040523d82523d6000602084013e6104ff565b606091505b509150915061050f828286610675565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610383565b803b6105a55760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610328565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b03811661064e5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608401610328565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036105c8565b60608315610684575081610285565b8251156106945782518084602001fd5b8160405162461bcd60e51b815260040161032891906107b0565b80356001600160a01b03811681146106c557600080fd5b919050565b6000602082840312156106dc57600080fd5b610285826106ae565b6000806000604084860312156106fa57600080fd5b610703846106ae565b9250602084013567ffffffffffffffff8082111561072057600080fd5b818601915086601f83011261073457600080fd5b81358181111561074357600080fd5b87602082850101111561075557600080fd5b6020830194508093505050509250925092565b60005b8381101561078357818101518382015260200161076b565b838111156103eb5750506000910152565b600082516107a6818460208701610768565b9190910192915050565b60208152600082518060208401526107cf816040850160208701610768565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f3a5325b227890d3a202519f1180cb31461c999231add379698f6d37d0c2c64f64736f6c63430008090033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564";
84
+ const _bytecode = "0x608060405260405162000ee038038062000ee08339810160408190526200002691620004a3565b8282828281620000398282600062000053565b506200004790508262000090565b505050505050620005d6565b6200005e83620000eb565b6000825111806200006c5750805b156200008b576200008983836200012d60201b620001791760201c565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f620000bb6200015c565b604080516001600160a01b03928316815291841660208301520160405180910390a1620000e88162000195565b50565b620000f6816200024a565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606062000155838360405180606001604052806027815260200162000eb960279139620002fe565b9392505050565b60006200018660008051602062000e9983398151915260001b6200037d60201b620001a51760201c565b546001600160a01b0316919050565b6001600160a01b038116620002005760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b806200022960008051602062000e9983398151915260001b6200037d60201b620001a51760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b62000260816200038060201b620001a81760201c565b620002c45760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401620001f7565b80620002297f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b6200037d60201b620001a51760201c565b6060600080856001600160a01b0316856040516200031d919062000583565b600060405180830381855af49150503d80600081146200035a576040519150601f19603f3d011682016040523d82523d6000602084013e6200035f565b606091505b50909250905062000373868383876200038f565b9695505050505050565b90565b6001600160a01b03163b151590565b6060831562000400578251620003f8576001600160a01b0385163b620003f85760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401620001f7565b50816200040c565b6200040c838362000414565b949350505050565b815115620004255781518083602001fd5b8060405162461bcd60e51b8152600401620001f79190620005a1565b80516001600160a01b03811681146200045957600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200049157818101518382015260200162000477565b83811115620000895750506000910152565b600080600060608486031215620004b957600080fd5b620004c48462000441565b9250620004d46020850162000441565b60408501519092506001600160401b0380821115620004f257600080fd5b818601915086601f8301126200050757600080fd5b8151818111156200051c576200051c6200045e565b604051601f8201601f19908116603f011681019083821181831017156200054757620005476200045e565b816040528281528960208487010111156200056157600080fd5b6200057483602083016020880162000474565b80955050505050509250925092565b600082516200059781846020870162000474565b9190910192915050565b6020815260008251806020840152620005c281604085016020870162000474565b601f01601f19169190910160400192915050565b6108b380620005e66000396000f3fe60806040523661001357610011610017565b005b6100115b61001f6101b7565b6001600160a01b0316336001600160a01b0316141561016f5760606001600160e01b031960003516631b2ce7f360e11b8114156100655761005e6101ea565b9150610167565b6001600160e01b0319811663278f794360e11b14156100865761005e610241565b6001600160e01b031981166308f2839760e41b14156100a75761005e610287565b6001600160e01b031981166303e1469160e61b14156100c85761005e6102b8565b6001600160e01b03198116635c60da1b60e01b14156100e95761005e6102f8565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b815160208301f35b61017761030c565b565b606061019e83836040518060600160405280602781526020016108576027913961031c565b9392505050565b90565b6001600160a01b03163b151590565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b60606101f4610394565b600061020336600481846106a2565b81019061021091906106e8565b905061022d8160405180602001604052806000815250600061039f565b505060408051602081019091526000815290565b606060008061025336600481846106a2565b8101906102609190610719565b915091506102708282600161039f565b604051806020016040528060008152509250505090565b6060610291610394565b60006102a036600481846106a2565b8101906102ad91906106e8565b905061022d816103cb565b60606102c2610394565b60006102cc6101b7565b604080516001600160a01b03831660208201529192500160405160208183030381529060405291505090565b6060610302610394565b60006102cc610422565b610177610317610422565b610431565b6060600080856001600160a01b0316856040516103399190610807565b600060405180830381855af49150503d8060008114610374576040519150601f19603f3d011682016040523d82523d6000602084013e610379565b606091505b509150915061038a86838387610455565b9695505050505050565b341561017757600080fd5b6103a8836104d3565b6000825111806103b55750805b156103c6576103c48383610179565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103f46101b7565b604080516001600160a01b03928316815291841660208301520160405180910390a161041f81610513565b50565b600061042c6105bc565b905090565b3660008037600080366000845af43d6000803e808015610450573d6000f35b3d6000fd5b606083156104c15782516104ba576001600160a01b0385163b6104ba5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161015e565b50816104cb565b6104cb83836105e4565b949350505050565b6104dc8161060e565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b0381166105785760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b606482015260840161015e565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6101db565b8151156105f45781518083602001fd5b8060405162461bcd60e51b815260040161015e9190610823565b6001600160a01b0381163b61067b5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161015e565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61059b565b600080858511156106b257600080fd5b838611156106bf57600080fd5b5050820193919092039150565b80356001600160a01b03811681146106e357600080fd5b919050565b6000602082840312156106fa57600080fd5b61019e826106cc565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561072c57600080fd5b610735836106cc565b9150602083013567ffffffffffffffff8082111561075257600080fd5b818501915085601f83011261076657600080fd5b81358181111561077857610778610703565b604051601f8201601f19908116603f011681019083821181831017156107a0576107a0610703565b816040528281528860208487010111156107b957600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156107f65781810151838201526020016107de565b838111156103c45750506000910152565b600082516108198184602087016107db565b9190910192915050565b60208152600082518060208401526108428160408501602087016107db565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c305b1ecbe12f30c701a08768fe5424f3f90ab320940a940a3ef1f7469a68ab164736f6c63430008090033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564";
155
85
  const isSuperArgs = (xs) => xs.length > 1;
156
86
  class AdminUpgradeabilityProxy__factory extends ethers_1.ContractFactory {
157
87
  constructor(...args) {
@@ -14,7 +14,7 @@ export declare class ProxyAdmin__factory extends ContractFactory {
14
14
  connect(signer: Signer): ProxyAdmin__factory;
15
15
  static readonly contractName: "ProxyAdmin";
16
16
  readonly contractName: "ProxyAdmin";
17
- static readonly bytecode = "0x608060405234801561001057600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350610763806100616000396000f3fe60806040526004361061007b5760003560e01c80639623609d1161004e5780639623609d1461011157806399a88ec414610124578063f2fde38b14610144578063f3b7dead1461016457600080fd5b8063204e1c7a14610080578063715018a6146100bc5780637eff275e146100d35780638da5cb5b146100f3575b600080fd5b34801561008c57600080fd5b506100a061009b36600461052d565b610184565b6040516001600160a01b03909116815260200160405180910390f35b3480156100c857600080fd5b506100d1610215565b005b3480156100df57600080fd5b506100d16100ee366004610551565b610292565b3480156100ff57600080fd5b506000546001600160a01b03166100a0565b6100d161011f3660046105a0565b61031c565b34801561013057600080fd5b506100d161013f366004610551565b6103ad565b34801561015057600080fd5b506100d161015f36600461052d565b610405565b34801561017057600080fd5b506100a061017f36600461052d565b6104ef565b6000806000836001600160a01b03166040516101aa90635c60da1b60e01b815260040190565b600060405180830381855afa9150503d80600081146101e5576040519150601f19603f3d011682016040523d82523d6000602084013e6101ea565b606091505b5091509150816101f957600080fd5b8080602001905181019061020d9190610676565b949350505050565b6000546001600160a01b031633146102485760405162461bcd60e51b815260040161023f90610693565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146102bc5760405162461bcd60e51b815260040161023f90610693565b6040516308f2839760e41b81526001600160a01b038281166004830152831690638f283970906024015b600060405180830381600087803b15801561030057600080fd5b505af1158015610314573d6000803e3d6000fd5b505050505050565b6000546001600160a01b031633146103465760405162461bcd60e51b815260040161023f90610693565b60405163278f794360e11b81526001600160a01b03841690634f1ef28690349061037690869086906004016106c8565b6000604051808303818588803b15801561038f57600080fd5b505af11580156103a3573d6000803e3d6000fd5b5050505050505050565b6000546001600160a01b031633146103d75760405162461bcd60e51b815260040161023f90610693565b604051631b2ce7f360e11b81526001600160a01b038281166004830152831690633659cfe6906024016102e6565b6000546001600160a01b0316331461042f5760405162461bcd60e51b815260040161023f90610693565b6001600160a01b0381166104945760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161023f565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000806000836001600160a01b03166040516101aa906303e1469160e61b815260040190565b6001600160a01b038116811461052a57600080fd5b50565b60006020828403121561053f57600080fd5b813561054a81610515565b9392505050565b6000806040838503121561056457600080fd5b823561056f81610515565b9150602083013561057f81610515565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b6000806000606084860312156105b557600080fd5b83356105c081610515565b925060208401356105d081610515565b9150604084013567ffffffffffffffff808211156105ed57600080fd5b818601915086601f83011261060157600080fd5b8135818111156106135761061361058a565b604051601f8201601f19908116603f0116810190838211818310171561063b5761063b61058a565b8160405282815289602084870101111561065457600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b60006020828403121561068857600080fd5b815161054a81610515565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60018060a01b038316815260006020604081840152835180604085015260005b81811015610704578581018301518582016060015282016106e8565b81811115610716576000606083870101525b50601f01601f19169290920160600194935050505056fea264697066735822122036f6852a5df0655a14e69e29e9ab5e34ffa2e6d97259f414f152f3aff72edd4864736f6c63430008090033";
17
+ static readonly bytecode = "0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61069a8061007e6000396000f3fe60806040526004361061007b5760003560e01c80639623609d1161004e5780639623609d1461011157806399a88ec414610124578063f2fde38b14610144578063f3b7dead1461016457600080fd5b8063204e1c7a14610080578063715018a6146100bc5780637eff275e146100d35780638da5cb5b146100f3575b600080fd5b34801561008c57600080fd5b506100a061009b366004610499565b610184565b6040516001600160a01b03909116815260200160405180910390f35b3480156100c857600080fd5b506100d1610215565b005b3480156100df57600080fd5b506100d16100ee3660046104bd565b610229565b3480156100ff57600080fd5b506000546001600160a01b03166100a0565b6100d161011f36600461050c565b610291565b34801561013057600080fd5b506100d161013f3660046104bd565b610300565b34801561015057600080fd5b506100d161015f366004610499565b610336565b34801561017057600080fd5b506100a061017f366004610499565b6103b4565b6000806000836001600160a01b03166040516101aa90635c60da1b60e01b815260040190565b600060405180830381855afa9150503d80600081146101e5576040519150601f19603f3d011682016040523d82523d6000602084013e6101ea565b606091505b5091509150816101f957600080fd5b8080602001905181019061020d91906105e2565b949350505050565b61021d6103da565b6102276000610434565b565b6102316103da565b6040516308f2839760e41b81526001600160a01b038281166004830152831690638f283970906024015b600060405180830381600087803b15801561027557600080fd5b505af1158015610289573d6000803e3d6000fd5b505050505050565b6102996103da565b60405163278f794360e11b81526001600160a01b03841690634f1ef2869034906102c990869086906004016105ff565b6000604051808303818588803b1580156102e257600080fd5b505af11580156102f6573d6000803e3d6000fd5b5050505050505050565b6103086103da565b604051631b2ce7f360e11b81526001600160a01b038281166004830152831690633659cfe69060240161025b565b61033e6103da565b6001600160a01b0381166103a85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6103b181610434565b50565b6000806000836001600160a01b03166040516101aa906303e1469160e61b815260040190565b6000546001600160a01b031633146102275760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161039f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146103b157600080fd5b6000602082840312156104ab57600080fd5b81356104b681610484565b9392505050565b600080604083850312156104d057600080fd5b82356104db81610484565b915060208301356104eb81610484565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561052157600080fd5b833561052c81610484565b9250602084013561053c81610484565b9150604084013567ffffffffffffffff8082111561055957600080fd5b818601915086601f83011261056d57600080fd5b81358181111561057f5761057f6104f6565b604051601f8201601f19908116603f011681019083821181831017156105a7576105a76104f6565b816040528281528960208487010111156105c057600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000602082840312156105f457600080fd5b81516104b681610484565b60018060a01b038316815260006020604081840152835180604085015260005b8181101561063b5785810183015185820160600152820161061f565b8181111561064d576000606083870101525b50601f01601f19169290920160600194935050505056fea26469706673582212207ad53e1008cce369999f6b5f2f77109510b404ff1de9b47b639981fd68e6239264736f6c63430008090033";
18
18
  static readonly abi: ({
19
19
  anonymous: boolean;
20
20
  inputs: {
@@ -28,7 +28,7 @@ const _abi = [
28
28
  {
29
29
  inputs: [
30
30
  {
31
- internalType: "contract TransparentUpgradeableProxy",
31
+ internalType: "contract ITransparentUpgradeableProxy",
32
32
  name: "proxy",
33
33
  type: "address",
34
34
  },
@@ -46,7 +46,7 @@ const _abi = [
46
46
  {
47
47
  inputs: [
48
48
  {
49
- internalType: "contract TransparentUpgradeableProxy",
49
+ internalType: "contract ITransparentUpgradeableProxy",
50
50
  name: "proxy",
51
51
  type: "address",
52
52
  },
@@ -65,7 +65,7 @@ const _abi = [
65
65
  {
66
66
  inputs: [
67
67
  {
68
- internalType: "contract TransparentUpgradeableProxy",
68
+ internalType: "contract ITransparentUpgradeableProxy",
69
69
  name: "proxy",
70
70
  type: "address",
71
71
  },
@@ -117,7 +117,7 @@ const _abi = [
117
117
  {
118
118
  inputs: [
119
119
  {
120
- internalType: "contract TransparentUpgradeableProxy",
120
+ internalType: "contract ITransparentUpgradeableProxy",
121
121
  name: "proxy",
122
122
  type: "address",
123
123
  },
@@ -135,7 +135,7 @@ const _abi = [
135
135
  {
136
136
  inputs: [
137
137
  {
138
- internalType: "contract TransparentUpgradeableProxy",
138
+ internalType: "contract ITransparentUpgradeableProxy",
139
139
  name: "proxy",
140
140
  type: "address",
141
141
  },
@@ -156,7 +156,7 @@ const _abi = [
156
156
  type: "function",
157
157
  },
158
158
  ];
159
- const _bytecode = "0x608060405234801561001057600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350610763806100616000396000f3fe60806040526004361061007b5760003560e01c80639623609d1161004e5780639623609d1461011157806399a88ec414610124578063f2fde38b14610144578063f3b7dead1461016457600080fd5b8063204e1c7a14610080578063715018a6146100bc5780637eff275e146100d35780638da5cb5b146100f3575b600080fd5b34801561008c57600080fd5b506100a061009b36600461052d565b610184565b6040516001600160a01b03909116815260200160405180910390f35b3480156100c857600080fd5b506100d1610215565b005b3480156100df57600080fd5b506100d16100ee366004610551565b610292565b3480156100ff57600080fd5b506000546001600160a01b03166100a0565b6100d161011f3660046105a0565b61031c565b34801561013057600080fd5b506100d161013f366004610551565b6103ad565b34801561015057600080fd5b506100d161015f36600461052d565b610405565b34801561017057600080fd5b506100a061017f36600461052d565b6104ef565b6000806000836001600160a01b03166040516101aa90635c60da1b60e01b815260040190565b600060405180830381855afa9150503d80600081146101e5576040519150601f19603f3d011682016040523d82523d6000602084013e6101ea565b606091505b5091509150816101f957600080fd5b8080602001905181019061020d9190610676565b949350505050565b6000546001600160a01b031633146102485760405162461bcd60e51b815260040161023f90610693565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146102bc5760405162461bcd60e51b815260040161023f90610693565b6040516308f2839760e41b81526001600160a01b038281166004830152831690638f283970906024015b600060405180830381600087803b15801561030057600080fd5b505af1158015610314573d6000803e3d6000fd5b505050505050565b6000546001600160a01b031633146103465760405162461bcd60e51b815260040161023f90610693565b60405163278f794360e11b81526001600160a01b03841690634f1ef28690349061037690869086906004016106c8565b6000604051808303818588803b15801561038f57600080fd5b505af11580156103a3573d6000803e3d6000fd5b5050505050505050565b6000546001600160a01b031633146103d75760405162461bcd60e51b815260040161023f90610693565b604051631b2ce7f360e11b81526001600160a01b038281166004830152831690633659cfe6906024016102e6565b6000546001600160a01b0316331461042f5760405162461bcd60e51b815260040161023f90610693565b6001600160a01b0381166104945760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161023f565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000806000836001600160a01b03166040516101aa906303e1469160e61b815260040190565b6001600160a01b038116811461052a57600080fd5b50565b60006020828403121561053f57600080fd5b813561054a81610515565b9392505050565b6000806040838503121561056457600080fd5b823561056f81610515565b9150602083013561057f81610515565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b6000806000606084860312156105b557600080fd5b83356105c081610515565b925060208401356105d081610515565b9150604084013567ffffffffffffffff808211156105ed57600080fd5b818601915086601f83011261060157600080fd5b8135818111156106135761061361058a565b604051601f8201601f19908116603f0116810190838211818310171561063b5761063b61058a565b8160405282815289602084870101111561065457600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b60006020828403121561068857600080fd5b815161054a81610515565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60018060a01b038316815260006020604081840152835180604085015260005b81811015610704578581018301518582016060015282016106e8565b81811115610716576000606083870101525b50601f01601f19169290920160600194935050505056fea264697066735822122036f6852a5df0655a14e69e29e9ab5e34ffa2e6d97259f414f152f3aff72edd4864736f6c63430008090033";
159
+ const _bytecode = "0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61069a8061007e6000396000f3fe60806040526004361061007b5760003560e01c80639623609d1161004e5780639623609d1461011157806399a88ec414610124578063f2fde38b14610144578063f3b7dead1461016457600080fd5b8063204e1c7a14610080578063715018a6146100bc5780637eff275e146100d35780638da5cb5b146100f3575b600080fd5b34801561008c57600080fd5b506100a061009b366004610499565b610184565b6040516001600160a01b03909116815260200160405180910390f35b3480156100c857600080fd5b506100d1610215565b005b3480156100df57600080fd5b506100d16100ee3660046104bd565b610229565b3480156100ff57600080fd5b506000546001600160a01b03166100a0565b6100d161011f36600461050c565b610291565b34801561013057600080fd5b506100d161013f3660046104bd565b610300565b34801561015057600080fd5b506100d161015f366004610499565b610336565b34801561017057600080fd5b506100a061017f366004610499565b6103b4565b6000806000836001600160a01b03166040516101aa90635c60da1b60e01b815260040190565b600060405180830381855afa9150503d80600081146101e5576040519150601f19603f3d011682016040523d82523d6000602084013e6101ea565b606091505b5091509150816101f957600080fd5b8080602001905181019061020d91906105e2565b949350505050565b61021d6103da565b6102276000610434565b565b6102316103da565b6040516308f2839760e41b81526001600160a01b038281166004830152831690638f283970906024015b600060405180830381600087803b15801561027557600080fd5b505af1158015610289573d6000803e3d6000fd5b505050505050565b6102996103da565b60405163278f794360e11b81526001600160a01b03841690634f1ef2869034906102c990869086906004016105ff565b6000604051808303818588803b1580156102e257600080fd5b505af11580156102f6573d6000803e3d6000fd5b5050505050505050565b6103086103da565b604051631b2ce7f360e11b81526001600160a01b038281166004830152831690633659cfe69060240161025b565b61033e6103da565b6001600160a01b0381166103a85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6103b181610434565b50565b6000806000836001600160a01b03166040516101aa906303e1469160e61b815260040190565b6000546001600160a01b031633146102275760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161039f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146103b157600080fd5b6000602082840312156104ab57600080fd5b81356104b681610484565b9392505050565b600080604083850312156104d057600080fd5b82356104db81610484565b915060208301356104eb81610484565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561052157600080fd5b833561052c81610484565b9250602084013561053c81610484565b9150604084013567ffffffffffffffff8082111561055957600080fd5b818601915086601f83011261056d57600080fd5b81358181111561057f5761057f6104f6565b604051601f8201601f19908116603f011681019083821181831017156105a7576105a76104f6565b816040528281528960208487010111156105c057600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000602082840312156105f457600080fd5b81516104b681610484565b60018060a01b038316815260006020604081840152835180604085015260005b8181101561063b5785810183015185820160600152820161061f565b8181111561064d576000606083870101525b50601f01601f19169290920160600194935050505056fea26469706673582212207ad53e1008cce369999f6b5f2f77109510b404ff1de9b47b639981fd68e6239264736f6c63430008090033";
160
160
  const isSuperArgs = (xs) => xs.length > 1;
161
161
  class ProxyAdmin__factory extends ethers_1.ContractFactory {
162
162
  constructor(...args) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skalenetwork/upgrade-tools",
3
- "version": "2.0.0-develop.0",
3
+ "version": "2.0.0-develop.1",
4
4
  "description": "Scripts to support upgrades of smart contracts",
5
5
  "files": [
6
6
  "dist/**/*"
@@ -25,6 +25,10 @@
25
25
  "cspell": "npx cspell \"**/*\""
26
26
  },
27
27
  "devDependencies": {
28
+ "@safe-global/safe-core-sdk": "^3.3.2",
29
+ "@safe-global/safe-core-sdk-types": "^1.9.0",
30
+ "@safe-global/safe-ethers-lib": "^1.9.2",
31
+ "@safe-global/safe-service-client": "^2.0.0",
28
32
  "@tsconfig/recommended": "^1.0.1",
29
33
  "@typechain/ethers-v5": "^9.0.0",
30
34
  "@typechain/hardhat": "^4.0.0",
@@ -48,7 +52,7 @@
48
52
  "@openzeppelin/hardhat-upgrades": "^1.14.0",
49
53
  "@openzeppelin/upgrades-core": "^1.12.0",
50
54
  "@types/mocha": "^9.1.0",
51
- "ethers": "^5.5.4",
55
+ "ethers": "^5.7.2",
52
56
  "hardhat": "^2.8.3"
53
57
  }
54
58
  }