@skalenetwork/upgrade-tools 1.0.0-develop.2 → 1.0.0-develop.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/hardhat.config.js +1 -1
- package/dist/src/deploy.js +3 -1
- package/dist/src/gnosis-safe.d.ts +1 -1
- package/dist/src/gnosis-safe.js +82 -30
- package/dist/src/upgrade.d.ts +2 -1
- package/dist/src/upgrade.js +30 -2
- package/dist/typechain-types/factories/AdminUpgradeabilityProxy__factory.d.ts +1 -1
- package/dist/typechain-types/factories/AdminUpgradeabilityProxy__factory.js +1 -1
- package/dist/typechain-types/factories/ProxyAdmin__factory.d.ts +1 -1
- package/dist/typechain-types/factories/ProxyAdmin__factory.js +1 -1
- package/dist/typechain-types/factories/SafeMock__factory.d.ts +1 -1
- package/dist/typechain-types/factories/SafeMock__factory.js +1 -1
- package/package.json +1 -1
package/dist/hardhat.config.js
CHANGED
package/dist/src/deploy.js
CHANGED
|
@@ -90,7 +90,9 @@ function getContractFactory(contract) {
|
|
|
90
90
|
Object.assign(libraryArtifacts, manifest.libraries);
|
|
91
91
|
}
|
|
92
92
|
finally {
|
|
93
|
-
|
|
93
|
+
if (manifest !== undefined) {
|
|
94
|
+
Object.assign(manifest, { libraries: libraryArtifacts });
|
|
95
|
+
}
|
|
94
96
|
yield fs_1.promises.writeFile(yield getManifestFile(), JSON.stringify(manifest, null, 4));
|
|
95
97
|
}
|
|
96
98
|
return yield getLinkedContractFactory(contract, libraries);
|
|
@@ -20,6 +20,6 @@ interface SafeMultisigTransaction {
|
|
|
20
20
|
}
|
|
21
21
|
export declare function getSafeTransactionUrl(chainId: number): string;
|
|
22
22
|
export declare function getSafeRelayUrl(chainId: number): string;
|
|
23
|
-
export declare function createMultiSendTransaction(ethers: Ethers, safeAddress: string, privateKey: string, transactions: string[],
|
|
23
|
+
export declare function createMultiSendTransaction(ethers: Ethers, safeAddress: string, privateKey: string, transactions: string[], nonce?: number): Promise<SafeMultisigTransaction>;
|
|
24
24
|
export declare function sendSafeTransaction(safe: string, chainId: number, safeTx: SafeMultisigTransaction): Promise<void>;
|
|
25
25
|
export {};
|
package/dist/src/gnosis-safe.js
CHANGED
|
@@ -44,44 +44,39 @@ var Network;
|
|
|
44
44
|
(function (Network) {
|
|
45
45
|
Network[Network["MAINNET"] = 1] = "MAINNET";
|
|
46
46
|
Network[Network["RINKEBY"] = 4] = "RINKEBY";
|
|
47
|
+
Network[Network["GOERLI"] = 5] = "GOERLI";
|
|
47
48
|
Network[Network["GANACHE"] = 1337] = "GANACHE";
|
|
48
49
|
Network[Network["HARDHAT"] = 31337] = "HARDHAT";
|
|
49
50
|
})(Network || (Network = {}));
|
|
51
|
+
// constants
|
|
50
52
|
const ADDRESSES = {
|
|
51
53
|
multiSend: {
|
|
52
54
|
[Network.MAINNET]: "0x8D29bE29923b68abfDD21e541b9374737B49cdAD",
|
|
53
55
|
[Network.RINKEBY]: "0x8D29bE29923b68abfDD21e541b9374737B49cdAD",
|
|
56
|
+
[Network.GOERLI]: "0x8D29bE29923b68abfDD21e541b9374737B49cdAD",
|
|
54
57
|
},
|
|
55
58
|
};
|
|
56
59
|
const URLS = {
|
|
57
60
|
safe_transaction: {
|
|
58
61
|
[Network.MAINNET]: "https://safe-transaction.mainnet.gnosis.io",
|
|
59
62
|
[Network.RINKEBY]: "https://safe-transaction.rinkeby.gnosis.io",
|
|
63
|
+
[Network.GOERLI]: "https://safe-transaction.goerli.gnosis.io",
|
|
60
64
|
},
|
|
61
65
|
safe_relay: {
|
|
62
66
|
[Network.MAINNET]: "https://safe-relay.mainnet.gnosis.io",
|
|
63
67
|
[Network.RINKEBY]: "https://safe-relay.rinkeby.gnosis.io",
|
|
68
|
+
[Network.GOERLI]: "https://safe-relay.goerli.gnosis.io",
|
|
64
69
|
}
|
|
65
70
|
};
|
|
66
|
-
|
|
71
|
+
// public functions
|
|
72
|
+
function getSafeTransactionUrl(chainId) {
|
|
67
73
|
if (chainId === Network.MAINNET) {
|
|
68
|
-
return
|
|
74
|
+
return URLS.safe_transaction[chainId];
|
|
69
75
|
}
|
|
70
76
|
else if (chainId === Network.RINKEBY) {
|
|
71
|
-
return ADDRESSES.multiSend[chainId];
|
|
72
|
-
}
|
|
73
|
-
else if ([Network.GANACHE, Network.HARDHAT].includes(chainId)) {
|
|
74
|
-
return ethers_1.ethers.constants.AddressZero;
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
throw Error(`Can't get multiSend contract at network with chainId = ${chainId}`);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
function getSafeTransactionUrl(chainId) {
|
|
81
|
-
if (chainId === Network.MAINNET) {
|
|
82
77
|
return URLS.safe_transaction[chainId];
|
|
83
78
|
}
|
|
84
|
-
else if (chainId ===
|
|
79
|
+
else if (chainId === Network.GOERLI) {
|
|
85
80
|
return URLS.safe_transaction[chainId];
|
|
86
81
|
}
|
|
87
82
|
else {
|
|
@@ -101,17 +96,7 @@ function getSafeRelayUrl(chainId) {
|
|
|
101
96
|
}
|
|
102
97
|
}
|
|
103
98
|
exports.getSafeRelayUrl = getSafeRelayUrl;
|
|
104
|
-
function
|
|
105
|
-
return "0x" + transactions.map((transaction) => {
|
|
106
|
-
if (transaction.startsWith("0x")) {
|
|
107
|
-
return transaction.slice(2);
|
|
108
|
-
}
|
|
109
|
-
else {
|
|
110
|
-
return transaction;
|
|
111
|
-
}
|
|
112
|
-
}).join("");
|
|
113
|
-
}
|
|
114
|
-
function createMultiSendTransaction(ethers, safeAddress, privateKey, transactions, isSafeMock = false) {
|
|
99
|
+
function createMultiSendTransaction(ethers, safeAddress, privateKey, transactions, nonce) {
|
|
115
100
|
return __awaiter(this, void 0, void 0, function* () {
|
|
116
101
|
const chainId = (yield ethers.provider.getNetwork()).chainId;
|
|
117
102
|
const multiSendAddress = getMultiSendAddress(chainId);
|
|
@@ -119,11 +104,29 @@ function createMultiSendTransaction(ethers, safeAddress, privateKey, transaction
|
|
|
119
104
|
const multiSend = new ethers.Contract(multiSendAddress, new ethers.utils.Interface(multiSendAbi), ethers.provider);
|
|
120
105
|
const safeAbi = [{ "constant": true, "inputs": [{ "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" }, { "internalType": "enum Enum.Operation", "name": "operation", "type": "uint8" }, { "internalType": "uint256", "name": "safeTxGas", "type": "uint256" }, { "internalType": "uint256", "name": "baseGas", "type": "uint256" }, { "internalType": "uint256", "name": "gasPrice", "type": "uint256" }, { "internalType": "address", "name": "gasToken", "type": "address" }, { "internalType": "address", "name": "refundReceiver", "type": "address" }, { "internalType": "uint256", "name": "_nonce", "type": "uint256" }], "name": "getTransactionHash", "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }], "payable": false, "stateMutability": "view", "type": "function" }];
|
|
121
106
|
const safe = new ethers.Contract(safeAddress, new ethers.utils.Interface(safeAbi), ethers.provider);
|
|
122
|
-
let
|
|
123
|
-
if (
|
|
107
|
+
let nonceValue = 0;
|
|
108
|
+
if (nonce === undefined) {
|
|
124
109
|
try {
|
|
125
|
-
|
|
126
|
-
|
|
110
|
+
if (process.env.NONCE) {
|
|
111
|
+
// NONCE variable is set
|
|
112
|
+
if (isNaN(Number.parseInt(process.env.NONCE))) {
|
|
113
|
+
// NONCE variable is not a number
|
|
114
|
+
if (process.env.NONCE.toLowerCase() === "pending") {
|
|
115
|
+
nonceValue = yield getSafeNonceWithPending(chainId, safeAddress);
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
nonceValue = yield getSafeNonce(chainId, safeAddress);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
// NONCE variable is a number
|
|
123
|
+
nonceValue = Number.parseInt(process.env.NONCE);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
// NONCE variable is not set
|
|
128
|
+
nonceValue = yield getSafeNonce(chainId, safeAddress);
|
|
129
|
+
}
|
|
127
130
|
}
|
|
128
131
|
catch (e) {
|
|
129
132
|
if (!(e instanceof Error) || !e.toString().startsWith("Error: Can't get safe-transaction url")) {
|
|
@@ -131,6 +134,10 @@ function createMultiSendTransaction(ethers, safeAddress, privateKey, transaction
|
|
|
131
134
|
}
|
|
132
135
|
}
|
|
133
136
|
}
|
|
137
|
+
else {
|
|
138
|
+
nonceValue = nonce;
|
|
139
|
+
}
|
|
140
|
+
console.log("Will send tx to Gnosis with nonce", nonceValue);
|
|
134
141
|
const tx = {
|
|
135
142
|
"safe": safeAddress,
|
|
136
143
|
"to": multiSend.address,
|
|
@@ -142,7 +149,7 @@ function createMultiSendTransaction(ethers, safeAddress, privateKey, transaction
|
|
|
142
149
|
"baseGas": 0,
|
|
143
150
|
"gasPrice": 0,
|
|
144
151
|
"refundReceiver": ethers.constants.AddressZero,
|
|
145
|
-
"nonce":
|
|
152
|
+
"nonce": nonceValue, // Nonce of the Safe, transaction cannot be executed until Safe's nonce is not equal to this nonce
|
|
146
153
|
};
|
|
147
154
|
const digestHex = yield safe.getTransactionHash(tx.to, tx.value, tx.data, tx.operation, tx.safeTxGas, tx.baseGas, tx.gasPrice, tx.gasToken, tx.refundReceiver, tx.nonce);
|
|
148
155
|
const privateKeyBuffer = ethUtil.toBuffer(privateKey);
|
|
@@ -187,3 +194,48 @@ function sendSafeTransaction(safe, chainId, safeTx) {
|
|
|
187
194
|
});
|
|
188
195
|
}
|
|
189
196
|
exports.sendSafeTransaction = sendSafeTransaction;
|
|
197
|
+
// private functions
|
|
198
|
+
function getMultiSendAddress(chainId) {
|
|
199
|
+
if (chainId === Network.MAINNET) {
|
|
200
|
+
return ADDRESSES.multiSend[chainId];
|
|
201
|
+
}
|
|
202
|
+
else if (chainId === Network.RINKEBY) {
|
|
203
|
+
return ADDRESSES.multiSend[chainId];
|
|
204
|
+
}
|
|
205
|
+
else if (chainId === Network.GOERLI) {
|
|
206
|
+
return ADDRESSES.multiSend[chainId];
|
|
207
|
+
}
|
|
208
|
+
else if ([Network.GANACHE, Network.HARDHAT].includes(chainId)) {
|
|
209
|
+
return ethers_1.ethers.constants.AddressZero;
|
|
210
|
+
}
|
|
211
|
+
else {
|
|
212
|
+
throw Error(`Can't get multiSend contract at network with chainId = ${chainId}`);
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
function concatTransactions(transactions) {
|
|
216
|
+
return "0x" + transactions.map((transaction) => {
|
|
217
|
+
if (transaction.startsWith("0x")) {
|
|
218
|
+
return transaction.slice(2);
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
return transaction;
|
|
222
|
+
}
|
|
223
|
+
}).join("");
|
|
224
|
+
}
|
|
225
|
+
function getSafeNonce(chainId, safeAddress) {
|
|
226
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
227
|
+
const safeInfo = yield axios_1.default.get(`${getSafeTransactionUrl(chainId)}/api/v1/safes/${safeAddress}/`);
|
|
228
|
+
return safeInfo.data.nonce;
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
function getSafeNonceWithPending(chainId, safeAddress) {
|
|
232
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
233
|
+
const allTransactions = yield axios_1.default.get(`${getSafeTransactionUrl(chainId)}/api/v1/safes/${safeAddress}/all-transactions/?executed=false&queued=true&trusted=true`);
|
|
234
|
+
if (allTransactions.data.results.length > 0) {
|
|
235
|
+
return allTransactions.data.results[0].nonce + 1;
|
|
236
|
+
}
|
|
237
|
+
else {
|
|
238
|
+
return 0;
|
|
239
|
+
}
|
|
240
|
+
});
|
|
241
|
+
}
|
package/dist/src/upgrade.d.ts
CHANGED
|
@@ -3,5 +3,6 @@ import { Contract } from "ethers";
|
|
|
3
3
|
import { OwnableUpgradeable } from "../typechain-types";
|
|
4
4
|
export declare function getContractFactoryAndUpdateManifest(contract: string): Promise<import("ethers").ContractFactory>;
|
|
5
5
|
declare type DeploymentAction<ContractManagerType extends Contract> = (safeTransactions: string[], abi: SkaleABIFile, contractManager: ContractManagerType) => Promise<void>;
|
|
6
|
-
|
|
6
|
+
declare type MultiTransactionAction<ContractManagerType extends Contract> = (abi: SkaleABIFile, contractManager: ContractManagerType) => Promise<string[][]>;
|
|
7
|
+
export declare function upgrade<ContractManagerType extends OwnableUpgradeable>(projectName: string, targetVersion: string, getDeployedVersion: (abi: SkaleABIFile) => Promise<string | undefined>, setVersion: (safeTransaction: string[], abi: SkaleABIFile, newVersion: string) => Promise<void>, safeMockAccessRequirements: string[], contractNamesToUpgrade: string[], deployNewContracts: DeploymentAction<ContractManagerType>, initialize: DeploymentAction<ContractManagerType>, afterUpgrade?: MultiTransactionAction<ContractManagerType>): Promise<void>;
|
|
7
8
|
export {};
|
package/dist/src/upgrade.js
CHANGED
|
@@ -62,7 +62,7 @@ function getContractFactoryAndUpdateManifest(contract) {
|
|
|
62
62
|
});
|
|
63
63
|
}
|
|
64
64
|
exports.getContractFactoryAndUpdateManifest = getContractFactoryAndUpdateManifest;
|
|
65
|
-
function upgrade(projectName, targetVersion, getDeployedVersion, setVersion, safeMockAccessRequirements, contractNamesToUpgrade, deployNewContracts, initialize) {
|
|
65
|
+
function upgrade(projectName, targetVersion, getDeployedVersion, setVersion, safeMockAccessRequirements, contractNamesToUpgrade, deployNewContracts, initialize, afterUpgrade) {
|
|
66
66
|
return __awaiter(this, void 0, void 0, function* () {
|
|
67
67
|
if (!process.env.ABI) {
|
|
68
68
|
console.log(chalk_1.default.red("Set path to file with ABI and addresses to ABI environment variables"));
|
|
@@ -171,10 +171,23 @@ function upgrade(projectName, targetVersion, getDeployedVersion, setVersion, saf
|
|
|
171
171
|
// Use random one because we most probable run tests
|
|
172
172
|
privateKey = hardhat_1.ethers.Wallet.createRandom().privateKey;
|
|
173
173
|
}
|
|
174
|
-
const safeTx = yield (0, gnosis_safe_1.createMultiSendTransaction)(hardhat_1.ethers, safe, privateKey, safeTransactions, safeMock !== undefined);
|
|
174
|
+
const safeTx = yield (0, gnosis_safe_1.createMultiSendTransaction)(hardhat_1.ethers, safe, privateKey, safeTransactions, safeMock !== undefined ? 0 : undefined);
|
|
175
|
+
let transactionsBatches;
|
|
176
|
+
if (afterUpgrade !== undefined) {
|
|
177
|
+
transactionsBatches = yield afterUpgrade(abi, contractManager);
|
|
178
|
+
for (const { index, batch } of transactionsBatches.map((batch, index) => ({ index, batch }))) {
|
|
179
|
+
yield fs_1.promises.writeFile(`data/after-transactions-${index}-${version}-${hardhat_1.network.name}.json`, JSON.stringify(batch, null, 4));
|
|
180
|
+
}
|
|
181
|
+
}
|
|
175
182
|
if (!safeMock) {
|
|
176
183
|
const chainId = (yield hardhat_1.ethers.provider.getNetwork()).chainId;
|
|
177
184
|
yield (0, gnosis_safe_1.sendSafeTransaction)(safe, chainId, safeTx);
|
|
185
|
+
if (transactionsBatches !== undefined) {
|
|
186
|
+
for (const { batch, index } of transactionsBatches.map((batch, index) => ({ batch, index }))) {
|
|
187
|
+
const multiSendTransaction = yield (0, gnosis_safe_1.createMultiSendTransaction)(hardhat_1.ethers, safe, privateKey, batch, safeTx.nonce + index + 1);
|
|
188
|
+
yield (0, gnosis_safe_1.sendSafeTransaction)(safe, chainId, multiSendTransaction);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
178
191
|
}
|
|
179
192
|
else {
|
|
180
193
|
console.log(chalk_1.default.blue("Send upgrade transactions to safe mock"));
|
|
@@ -184,8 +197,23 @@ function upgrade(projectName, targetVersion, getDeployedVersion, setVersion, saf
|
|
|
184
197
|
value: safeTx.value,
|
|
185
198
|
data: safeTx.data,
|
|
186
199
|
})).wait();
|
|
200
|
+
if (transactionsBatches !== undefined) {
|
|
201
|
+
for (const batch of transactionsBatches) {
|
|
202
|
+
const multiSendTransaction = yield (0, gnosis_safe_1.createMultiSendTransaction)(hardhat_1.ethers, safe, privateKey, batch, 0);
|
|
203
|
+
yield (yield deployer.sendTransaction({
|
|
204
|
+
to: safeMock.address,
|
|
205
|
+
value: multiSendTransaction.value,
|
|
206
|
+
data: multiSendTransaction.data,
|
|
207
|
+
})).wait();
|
|
208
|
+
}
|
|
209
|
+
}
|
|
187
210
|
console.log(chalk_1.default.blue("Transactions have been sent"));
|
|
188
211
|
}
|
|
212
|
+
catch (exception) {
|
|
213
|
+
console.log(chalk_1.default.red("Error during upgrade"));
|
|
214
|
+
console.log(exception);
|
|
215
|
+
process.exitCode = 13;
|
|
216
|
+
}
|
|
189
217
|
finally {
|
|
190
218
|
console.log(chalk_1.default.blue("Return ownership to wallet"));
|
|
191
219
|
yield (yield safeMock.transferProxyAdminOwnership(contractManager.address, deployer.address)).wait();
|
|
@@ -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 = "
|
|
17
|
+
static readonly bytecode = "0x608060405260405162000f2538038062000f258339810160408190526200002691620004ff565b82828282816200005860017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd620005df565b60008051602062000ede8339815191521462000078576200007862000605565b6200008682826000620000ed565b50620000b6905060017fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6104620005df565b60008051602062000ebe83398151915214620000d657620000d662000605565b620000e1826200015e565b5050505050506200066e565b620000f883620001b9565b6040516001600160a01b038416907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a26000825111806200013a5750805b1562000159576200015783836200028160201b620002601760201c565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f62000189620002b0565b604080516001600160a01b03928316815291841660208301520160405180910390a1620001b681620002e9565b50565b620001cf816200037960201b6200028c1760201c565b620002375760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b806200026060008051602062000ede83398151915260001b6200037f60201b620002081760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060620002a9838360405180606001604052806027815260200162000efe6027913962000382565b9392505050565b6000620002da60008051602062000ebe83398151915260001b6200037f60201b620002081760201c565b546001600160a01b0316919050565b6001600160a01b038116620003505760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016200022e565b806200026060008051602062000ebe83398151915260001b6200037f60201b620002081760201c565b3b151590565b90565b6060833b620003e35760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016200022e565b600080856001600160a01b0316856040516200040091906200061b565b600060405180830381855af49150503d80600081146200043d576040519150601f19603f3d011682016040523d82523d6000602084013e62000442565b606091505b509092509050620004558282866200045f565b9695505050505050565b6060831562000470575081620002a9565b825115620004815782518084602001fd5b8160405162461bcd60e51b81526004016200022e919062000639565b80516001600160a01b0381168114620004b557600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620004ed578181015183820152602001620004d3565b83811115620001575750506000910152565b6000806000606084860312156200051557600080fd5b62000520846200049d565b925062000530602085016200049d565b60408501519092506001600160401b03808211156200054e57600080fd5b818601915086601f8301126200056357600080fd5b815181811115620005785762000578620004ba565b604051601f8201601f19908116603f01168101908382118183101715620005a357620005a3620004ba565b81604052828152896020848701011115620005bd57600080fd5b620005d0836020830160208801620004d0565b80955050505050509250925092565b6000828210156200060057634e487b7160e01b600052601160045260246000fd5b500390565b634e487b7160e01b600052600160045260246000fd5b600082516200062f818460208701620004d0565b9190910192915050565b60208152600082518060208401526200065a816040850160208701620004d0565b601f01601f19169190910160400192915050565b610840806200067e6000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106ca565b610118565b61005b6100933660046106e5565b61015f565b3480156100a457600080fd5b506100ad6101d0565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106ca565b61020b565b3480156100f557600080fd5b506100ad610235565b610106610292565b610116610111610331565b61033b565b565b61012061035f565b6001600160a01b0316336001600160a01b031614156101575761015481604051806020016040528060008152506000610392565b50565b6101546100fe565b61016761035f565b6001600160a01b0316336001600160a01b031614156101c8576101c38383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610392915050565b505050565b6101c36100fe565b60006101da61035f565b6001600160a01b0316336001600160a01b03161415610200576101fb610331565b905090565b6102086100fe565b90565b61021361035f565b6001600160a01b0316336001600160a01b0316141561015757610154816103f1565b600061023f61035f565b6001600160a01b0316336001600160a01b03161415610200576101fb61035f565b606061028583836040518060600160405280602781526020016107e460279139610445565b9392505050565b3b151590565b61029a61035f565b6001600160a01b0316336001600160a01b031614156101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101fb610519565b3660008037600080366000845af43d6000803e80801561035a573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61039b83610541565b6040516001600160a01b038416907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a26000825111806103dc5750805b156101c3576103eb8383610260565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61041a61035f565b604080516001600160a01b03928316815291841660208301520160405180910390a1610154816105e9565b6060833b6104a45760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610328565b600080856001600160a01b0316856040516104bf9190610794565b600060405180830381855af49150503d80600081146104fa576040519150601f19603f3d011682016040523d82523d6000602084013e6104ff565b606091505b509150915061050f828286610675565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610383565b803b6105a55760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610328565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b03811661064e5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608401610328565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036105c8565b60608315610684575081610285565b8251156106945782518084602001fd5b8160405162461bcd60e51b815260040161032891906107b0565b80356001600160a01b03811681146106c557600080fd5b919050565b6000602082840312156106dc57600080fd5b610285826106ae565b6000806000604084860312156106fa57600080fd5b610703846106ae565b9250602084013567ffffffffffffffff8082111561072057600080fd5b818601915086601f83011261073457600080fd5b81358181111561074357600080fd5b87602082850101111561075557600080fd5b6020830194508093505050509250925092565b60005b8381101561078357818101518382015260200161076b565b838111156103eb5750506000910152565b600082516107a6818460208701610768565b9190910192915050565b60208152600082518060208401526107cf816040850160208701610768565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f3a5325b227890d3a202519f1180cb31461c999231add379698f6d37d0c2c64f64736f6c63430008090033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564";
|
|
18
18
|
static readonly abi: ({
|
|
19
19
|
inputs: {
|
|
20
20
|
internalType: string;
|
|
@@ -151,7 +151,7 @@ const _abi = [
|
|
|
151
151
|
type: "receive",
|
|
152
152
|
},
|
|
153
153
|
];
|
|
154
|
-
const _bytecode = "
|
|
154
|
+
const _bytecode = "0x608060405260405162000f2538038062000f258339810160408190526200002691620004ff565b82828282816200005860017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd620005df565b60008051602062000ede8339815191521462000078576200007862000605565b6200008682826000620000ed565b50620000b6905060017fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6104620005df565b60008051602062000ebe83398151915214620000d657620000d662000605565b620000e1826200015e565b5050505050506200066e565b620000f883620001b9565b6040516001600160a01b038416907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a26000825111806200013a5750805b1562000159576200015783836200028160201b620002601760201c565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f62000189620002b0565b604080516001600160a01b03928316815291841660208301520160405180910390a1620001b681620002e9565b50565b620001cf816200037960201b6200028c1760201c565b620002375760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b806200026060008051602062000ede83398151915260001b6200037f60201b620002081760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060620002a9838360405180606001604052806027815260200162000efe6027913962000382565b9392505050565b6000620002da60008051602062000ebe83398151915260001b6200037f60201b620002081760201c565b546001600160a01b0316919050565b6001600160a01b038116620003505760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b60648201526084016200022e565b806200026060008051602062000ebe83398151915260001b6200037f60201b620002081760201c565b3b151590565b90565b6060833b620003e35760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016200022e565b600080856001600160a01b0316856040516200040091906200061b565b600060405180830381855af49150503d80600081146200043d576040519150601f19603f3d011682016040523d82523d6000602084013e62000442565b606091505b509092509050620004558282866200045f565b9695505050505050565b6060831562000470575081620002a9565b825115620004815782518084602001fd5b8160405162461bcd60e51b81526004016200022e919062000639565b80516001600160a01b0381168114620004b557600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620004ed578181015183820152602001620004d3565b83811115620001575750506000910152565b6000806000606084860312156200051557600080fd5b62000520846200049d565b925062000530602085016200049d565b60408501519092506001600160401b03808211156200054e57600080fd5b818601915086601f8301126200056357600080fd5b815181811115620005785762000578620004ba565b604051601f8201601f19908116603f01168101908382118183101715620005a357620005a3620004ba565b81604052828152896020848701011115620005bd57600080fd5b620005d0836020830160208801620004d0565b80955050505050509250925092565b6000828210156200060057634e487b7160e01b600052601160045260246000fd5b500390565b634e487b7160e01b600052600160045260246000fd5b600082516200062f818460208701620004d0565b9190910192915050565b60208152600082518060208401526200065a816040850160208701620004d0565b601f01601f19169190910160400192915050565b610840806200067e6000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106ca565b610118565b61005b6100933660046106e5565b61015f565b3480156100a457600080fd5b506100ad6101d0565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106ca565b61020b565b3480156100f557600080fd5b506100ad610235565b610106610292565b610116610111610331565b61033b565b565b61012061035f565b6001600160a01b0316336001600160a01b031614156101575761015481604051806020016040528060008152506000610392565b50565b6101546100fe565b61016761035f565b6001600160a01b0316336001600160a01b031614156101c8576101c38383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610392915050565b505050565b6101c36100fe565b60006101da61035f565b6001600160a01b0316336001600160a01b03161415610200576101fb610331565b905090565b6102086100fe565b90565b61021361035f565b6001600160a01b0316336001600160a01b0316141561015757610154816103f1565b600061023f61035f565b6001600160a01b0316336001600160a01b03161415610200576101fb61035f565b606061028583836040518060600160405280602781526020016107e460279139610445565b9392505050565b3b151590565b61029a61035f565b6001600160a01b0316336001600160a01b031614156101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101fb610519565b3660008037600080366000845af43d6000803e80801561035a573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61039b83610541565b6040516001600160a01b038416907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a26000825111806103dc5750805b156101c3576103eb8383610260565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61041a61035f565b604080516001600160a01b03928316815291841660208301520160405180910390a1610154816105e9565b6060833b6104a45760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610328565b600080856001600160a01b0316856040516104bf9190610794565b600060405180830381855af49150503d80600081146104fa576040519150601f19603f3d011682016040523d82523d6000602084013e6104ff565b606091505b509150915061050f828286610675565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610383565b803b6105a55760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610328565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b03811661064e5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608401610328565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036105c8565b60608315610684575081610285565b8251156106945782518084602001fd5b8160405162461bcd60e51b815260040161032891906107b0565b80356001600160a01b03811681146106c557600080fd5b919050565b6000602082840312156106dc57600080fd5b610285826106ae565b6000806000604084860312156106fa57600080fd5b610703846106ae565b9250602084013567ffffffffffffffff8082111561072057600080fd5b818601915086601f83011261073457600080fd5b81358181111561074357600080fd5b87602082850101111561075557600080fd5b6020830194508093505050509250925092565b60005b8381101561078357818101518382015260200161076b565b838111156103eb5750506000910152565b600082516107a6818460208701610768565b9190910192915050565b60208152600082518060208401526107cf816040850160208701610768565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f3a5325b227890d3a202519f1180cb31461c999231add379698f6d37d0c2c64f64736f6c63430008090033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564";
|
|
155
155
|
const isSuperArgs = (xs) => xs.length > 1;
|
|
156
156
|
class AdminUpgradeabilityProxy__factory extends ethers_1.ContractFactory {
|
|
157
157
|
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 = "
|
|
17
|
+
static readonly bytecode = "0x608060405234801561001057600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350610763806100616000396000f3fe60806040526004361061007b5760003560e01c80639623609d1161004e5780639623609d1461011157806399a88ec414610124578063f2fde38b14610144578063f3b7dead1461016457600080fd5b8063204e1c7a14610080578063715018a6146100bc5780637eff275e146100d35780638da5cb5b146100f3575b600080fd5b34801561008c57600080fd5b506100a061009b36600461052d565b610184565b6040516001600160a01b03909116815260200160405180910390f35b3480156100c857600080fd5b506100d1610215565b005b3480156100df57600080fd5b506100d16100ee366004610551565b610292565b3480156100ff57600080fd5b506000546001600160a01b03166100a0565b6100d161011f3660046105a0565b61031c565b34801561013057600080fd5b506100d161013f366004610551565b6103ad565b34801561015057600080fd5b506100d161015f36600461052d565b610405565b34801561017057600080fd5b506100a061017f36600461052d565b6104ef565b6000806000836001600160a01b03166040516101aa90635c60da1b60e01b815260040190565b600060405180830381855afa9150503d80600081146101e5576040519150601f19603f3d011682016040523d82523d6000602084013e6101ea565b606091505b5091509150816101f957600080fd5b8080602001905181019061020d9190610676565b949350505050565b6000546001600160a01b031633146102485760405162461bcd60e51b815260040161023f90610693565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146102bc5760405162461bcd60e51b815260040161023f90610693565b6040516308f2839760e41b81526001600160a01b038281166004830152831690638f283970906024015b600060405180830381600087803b15801561030057600080fd5b505af1158015610314573d6000803e3d6000fd5b505050505050565b6000546001600160a01b031633146103465760405162461bcd60e51b815260040161023f90610693565b60405163278f794360e11b81526001600160a01b03841690634f1ef28690349061037690869086906004016106c8565b6000604051808303818588803b15801561038f57600080fd5b505af11580156103a3573d6000803e3d6000fd5b5050505050505050565b6000546001600160a01b031633146103d75760405162461bcd60e51b815260040161023f90610693565b604051631b2ce7f360e11b81526001600160a01b038281166004830152831690633659cfe6906024016102e6565b6000546001600160a01b0316331461042f5760405162461bcd60e51b815260040161023f90610693565b6001600160a01b0381166104945760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161023f565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000806000836001600160a01b03166040516101aa906303e1469160e61b815260040190565b6001600160a01b038116811461052a57600080fd5b50565b60006020828403121561053f57600080fd5b813561054a81610515565b9392505050565b6000806040838503121561056457600080fd5b823561056f81610515565b9150602083013561057f81610515565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b6000806000606084860312156105b557600080fd5b83356105c081610515565b925060208401356105d081610515565b9150604084013567ffffffffffffffff808211156105ed57600080fd5b818601915086601f83011261060157600080fd5b8135818111156106135761061361058a565b604051601f8201601f19908116603f0116810190838211818310171561063b5761063b61058a565b8160405282815289602084870101111561065457600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b60006020828403121561068857600080fd5b815161054a81610515565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60018060a01b038316815260006020604081840152835180604085015260005b81811015610704578581018301518582016060015282016106e8565b81811115610716576000606083870101525b50601f01601f19169290920160600194935050505056fea264697066735822122036f6852a5df0655a14e69e29e9ab5e34ffa2e6d97259f414f152f3aff72edd4864736f6c63430008090033";
|
|
18
18
|
static readonly abi: ({
|
|
19
19
|
anonymous: boolean;
|
|
20
20
|
inputs: {
|
|
@@ -156,7 +156,7 @@ const _abi = [
|
|
|
156
156
|
type: "function",
|
|
157
157
|
},
|
|
158
158
|
];
|
|
159
|
-
const _bytecode = "
|
|
159
|
+
const _bytecode = "0x608060405234801561001057600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350610763806100616000396000f3fe60806040526004361061007b5760003560e01c80639623609d1161004e5780639623609d1461011157806399a88ec414610124578063f2fde38b14610144578063f3b7dead1461016457600080fd5b8063204e1c7a14610080578063715018a6146100bc5780637eff275e146100d35780638da5cb5b146100f3575b600080fd5b34801561008c57600080fd5b506100a061009b36600461052d565b610184565b6040516001600160a01b03909116815260200160405180910390f35b3480156100c857600080fd5b506100d1610215565b005b3480156100df57600080fd5b506100d16100ee366004610551565b610292565b3480156100ff57600080fd5b506000546001600160a01b03166100a0565b6100d161011f3660046105a0565b61031c565b34801561013057600080fd5b506100d161013f366004610551565b6103ad565b34801561015057600080fd5b506100d161015f36600461052d565b610405565b34801561017057600080fd5b506100a061017f36600461052d565b6104ef565b6000806000836001600160a01b03166040516101aa90635c60da1b60e01b815260040190565b600060405180830381855afa9150503d80600081146101e5576040519150601f19603f3d011682016040523d82523d6000602084013e6101ea565b606091505b5091509150816101f957600080fd5b8080602001905181019061020d9190610676565b949350505050565b6000546001600160a01b031633146102485760405162461bcd60e51b815260040161023f90610693565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146102bc5760405162461bcd60e51b815260040161023f90610693565b6040516308f2839760e41b81526001600160a01b038281166004830152831690638f283970906024015b600060405180830381600087803b15801561030057600080fd5b505af1158015610314573d6000803e3d6000fd5b505050505050565b6000546001600160a01b031633146103465760405162461bcd60e51b815260040161023f90610693565b60405163278f794360e11b81526001600160a01b03841690634f1ef28690349061037690869086906004016106c8565b6000604051808303818588803b15801561038f57600080fd5b505af11580156103a3573d6000803e3d6000fd5b5050505050505050565b6000546001600160a01b031633146103d75760405162461bcd60e51b815260040161023f90610693565b604051631b2ce7f360e11b81526001600160a01b038281166004830152831690633659cfe6906024016102e6565b6000546001600160a01b0316331461042f5760405162461bcd60e51b815260040161023f90610693565b6001600160a01b0381166104945760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161023f565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000806000836001600160a01b03166040516101aa906303e1469160e61b815260040190565b6001600160a01b038116811461052a57600080fd5b50565b60006020828403121561053f57600080fd5b813561054a81610515565b9392505050565b6000806040838503121561056457600080fd5b823561056f81610515565b9150602083013561057f81610515565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b6000806000606084860312156105b557600080fd5b83356105c081610515565b925060208401356105d081610515565b9150604084013567ffffffffffffffff808211156105ed57600080fd5b818601915086601f83011261060157600080fd5b8135818111156106135761061361058a565b604051601f8201601f19908116603f0116810190838211818310171561063b5761063b61058a565b8160405282815289602084870101111561065457600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b60006020828403121561068857600080fd5b815161054a81610515565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60018060a01b038316815260006020604081840152835180604085015260005b81811015610704578581018301518582016060015282016106e8565b81811115610716576000606083870101525b50601f01601f19169290920160600194935050505056fea264697066735822122036f6852a5df0655a14e69e29e9ab5e34ffa2e6d97259f414f152f3aff72edd4864736f6c63430008090033";
|
|
160
160
|
const isSuperArgs = (xs) => xs.length > 1;
|
|
161
161
|
class ProxyAdmin__factory extends ethers_1.ContractFactory {
|
|
162
162
|
constructor(...args) {
|
|
@@ -14,7 +14,7 @@ export declare class SafeMock__factory extends ContractFactory {
|
|
|
14
14
|
connect(signer: Signer): SafeMock__factory;
|
|
15
15
|
static readonly contractName: "SafeMock";
|
|
16
16
|
readonly contractName: "SafeMock";
|
|
17
|
-
static readonly bytecode = "
|
|
17
|
+
static readonly bytecode = "0x60806040523480156200001157600080fd5b50600054610100900460ff1615808015620000335750600054600160ff909116105b8062000063575062000050306200016d60201b620003301760201c565b15801562000063575060005460ff166001145b620000cc5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015620000f0576000805461ff0019166101001790555b620001056200017c60201b6200033f1760201c565b6040805160208101909152600081526200011f90620001e4565b801562000166576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5062000326565b6001600160a01b03163b151590565b600054610100900460ff16620001d85760405162461bcd60e51b815260206004820152602b602482015260008051602062000c1283398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000c3565b620001e262000273565b565b805160205b818110156200026e578083015160f81c6001820184015160601c60158301850151603584018601516055850187016000856000811462000232576001811462000243576200024e565b6000808585888a5af191506200024e565b6000808585895af491505b50806200025a57600080fd5b5050806055018501945050505050620001e9565b505050565b600054610100900460ff16620002cf5760405162461bcd60e51b815260206004820152602b602482015260008051602062000c1283398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000c3565b620001e233603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6108dc80620003366000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c80638d80ff0a116100665780638d80ff0a146101075780638da5cb5b1461011a578063d8d11f7814610135578063f2fde38b14610148578063f5dcb7bb1461015b57600080fd5b806312cc533f146100985780632bf613a5146100ad578063715018a6146100e757806388f8bae1146100ef575b600080fd5b6100ab6100a6366004610599565b610182565b005b6100d47fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d881565b6040519081526020015b60405180910390f35b6100ab6101e9565b6100f7600181565b60405190151581526020016100de565b6100ab6101153660046105e8565b6101fd565b6033546040516001600160a01b0390911681526020016100de565b6100d46101433660046106a8565b610285565b6100ab610156366004610792565b6102b2565b6100d47f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a7946921881565b61018a61036e565b60405163f2fde38b60e01b81526001600160a01b03828116600483015283169063f2fde38b90602401600060405180830381600087803b1580156101cd57600080fd5b505af11580156101e1573d6000803e3d6000fd5b505050505050565b6101f161036e565b6101fb60006103c8565b565b805160205b81811015610280578083015160f81c6001820184015160601c601583018501516035840186015160558501870160008560008114610247576001811461025757610262565b6000808585888a5af19150610262565b6000808585895af491505b508061026d57600080fd5b5050806055018501945050505050610202565b505050565b600061029a8c8c8c8c8c8c8c8c8c8c8c61041a565b8051906020012090509b9a5050505050505050505050565b6102ba61036e565b6001600160a01b0381166103245760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61032d816103c8565b50565b6001600160a01b03163b151590565b600054610100900460ff166103665760405162461bcd60e51b815260040161031b906107b6565b6101fb610544565b6033546001600160a01b031633146101fb5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161031b565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d88d8d8d8d604051610451929190610801565b604051908190038120610477949392918e908e908e908e908e908e908e90602001610811565b60408051601f1981840301815291905280516020909101209050601960f81b600160f81b6104f7604080517f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692186020820152469181019190915230606082015260009060800160405160208183030381529060405280519060200120905090565b6040516001600160f81b031993841660208201529290911660218301526022820152604281018290526062016040516020818303038152906040529150509b9a5050505050505050505050565b600054610100900460ff1661056b5760405162461bcd60e51b815260040161031b906107b6565b6101fb336103c8565b6001600160a01b038116811461032d57600080fd5b803561059481610574565b919050565b600080604083850312156105ac57600080fd5b82356105b781610574565b915060208301356105c781610574565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b6000602082840312156105fa57600080fd5b813567ffffffffffffffff8082111561061257600080fd5b818401915084601f83011261062657600080fd5b813581811115610638576106386105d2565b604051601f8201601f19908116603f01168101908382118183101715610660576106606105d2565b8160405282815287602084870101111561067957600080fd5b826020860160208301376000928101602001929092525095945050505050565b80356002811061059457600080fd5b60008060008060008060008060008060006101408c8e0312156106ca57600080fd5b8b356106d581610574565b9a5060208c0135995060408c013567ffffffffffffffff808211156106f957600080fd5b818e0191508e601f83011261070d57600080fd5b81358181111561071c57600080fd5b8f602082850101111561072e57600080fd5b602083019b50809a5050505061074660608d01610699565b965060808c0135955060a08c0135945060c08c0135935061076960e08d01610589565b92506107786101008d01610589565b91506101208c013590509295989b509295989b9093969950565b6000602082840312156107a457600080fd5b81356107af81610574565b9392505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b8183823760009101908152919050565b8b81526001600160a01b038b166020820152604081018a90526060810189905261016081016002891061085457634e487b7160e01b600052602160045260246000fd5b8860808301528760a08301528660c08301528560e08301526108826101008301866001600160a01b03169052565b6001600160a01b03939093166101208201526101400152999850505050505050505056fea26469706673582212202ff0141edaf3f76ff4bf691522a740076b0763d16b29f9b28057904188aeb98c64736f6c634300080b0033496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069";
|
|
18
18
|
static readonly abi: ({
|
|
19
19
|
inputs: never[];
|
|
20
20
|
stateMutability: string;
|
|
@@ -211,7 +211,7 @@ const _abi = [
|
|
|
211
211
|
type: "function",
|
|
212
212
|
},
|
|
213
213
|
];
|
|
214
|
-
const _bytecode = "
|
|
214
|
+
const _bytecode = "0x60806040523480156200001157600080fd5b50600054610100900460ff1615808015620000335750600054600160ff909116105b8062000063575062000050306200016d60201b620003301760201c565b15801562000063575060005460ff166001145b620000cc5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015620000f0576000805461ff0019166101001790555b620001056200017c60201b6200033f1760201c565b6040805160208101909152600081526200011f90620001e4565b801562000166576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5062000326565b6001600160a01b03163b151590565b600054610100900460ff16620001d85760405162461bcd60e51b815260206004820152602b602482015260008051602062000c1283398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000c3565b620001e262000273565b565b805160205b818110156200026e578083015160f81c6001820184015160601c60158301850151603584018601516055850187016000856000811462000232576001811462000243576200024e565b6000808585888a5af191506200024e565b6000808585895af491505b50806200025a57600080fd5b5050806055018501945050505050620001e9565b505050565b600054610100900460ff16620002cf5760405162461bcd60e51b815260206004820152602b602482015260008051602062000c1283398151915260448201526a6e697469616c697a696e6760a81b6064820152608401620000c3565b620001e233603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6108dc80620003366000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c80638d80ff0a116100665780638d80ff0a146101075780638da5cb5b1461011a578063d8d11f7814610135578063f2fde38b14610148578063f5dcb7bb1461015b57600080fd5b806312cc533f146100985780632bf613a5146100ad578063715018a6146100e757806388f8bae1146100ef575b600080fd5b6100ab6100a6366004610599565b610182565b005b6100d47fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d881565b6040519081526020015b60405180910390f35b6100ab6101e9565b6100f7600181565b60405190151581526020016100de565b6100ab6101153660046105e8565b6101fd565b6033546040516001600160a01b0390911681526020016100de565b6100d46101433660046106a8565b610285565b6100ab610156366004610792565b6102b2565b6100d47f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a7946921881565b61018a61036e565b60405163f2fde38b60e01b81526001600160a01b03828116600483015283169063f2fde38b90602401600060405180830381600087803b1580156101cd57600080fd5b505af11580156101e1573d6000803e3d6000fd5b505050505050565b6101f161036e565b6101fb60006103c8565b565b805160205b81811015610280578083015160f81c6001820184015160601c601583018501516035840186015160558501870160008560008114610247576001811461025757610262565b6000808585888a5af19150610262565b6000808585895af491505b508061026d57600080fd5b5050806055018501945050505050610202565b505050565b600061029a8c8c8c8c8c8c8c8c8c8c8c61041a565b8051906020012090509b9a5050505050505050505050565b6102ba61036e565b6001600160a01b0381166103245760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61032d816103c8565b50565b6001600160a01b03163b151590565b600054610100900460ff166103665760405162461bcd60e51b815260040161031b906107b6565b6101fb610544565b6033546001600160a01b031633146101fb5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161031b565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d88d8d8d8d604051610451929190610801565b604051908190038120610477949392918e908e908e908e908e908e908e90602001610811565b60408051601f1981840301815291905280516020909101209050601960f81b600160f81b6104f7604080517f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692186020820152469181019190915230606082015260009060800160405160208183030381529060405280519060200120905090565b6040516001600160f81b031993841660208201529290911660218301526022820152604281018290526062016040516020818303038152906040529150509b9a5050505050505050505050565b600054610100900460ff1661056b5760405162461bcd60e51b815260040161031b906107b6565b6101fb336103c8565b6001600160a01b038116811461032d57600080fd5b803561059481610574565b919050565b600080604083850312156105ac57600080fd5b82356105b781610574565b915060208301356105c781610574565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b6000602082840312156105fa57600080fd5b813567ffffffffffffffff8082111561061257600080fd5b818401915084601f83011261062657600080fd5b813581811115610638576106386105d2565b604051601f8201601f19908116603f01168101908382118183101715610660576106606105d2565b8160405282815287602084870101111561067957600080fd5b826020860160208301376000928101602001929092525095945050505050565b80356002811061059457600080fd5b60008060008060008060008060008060006101408c8e0312156106ca57600080fd5b8b356106d581610574565b9a5060208c0135995060408c013567ffffffffffffffff808211156106f957600080fd5b818e0191508e601f83011261070d57600080fd5b81358181111561071c57600080fd5b8f602082850101111561072e57600080fd5b602083019b50809a5050505061074660608d01610699565b965060808c0135955060a08c0135945060c08c0135935061076960e08d01610589565b92506107786101008d01610589565b91506101208c013590509295989b509295989b9093969950565b6000602082840312156107a457600080fd5b81356107af81610574565b9392505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b8183823760009101908152919050565b8b81526001600160a01b038b166020820152604081018a90526060810189905261016081016002891061085457634e487b7160e01b600052602160045260246000fd5b8860808301528760a08301528660c08301528560e08301526108826101008301866001600160a01b03169052565b6001600160a01b03939093166101208201526101400152999850505050505050505056fea26469706673582212202ff0141edaf3f76ff4bf691522a740076b0763d16b29f9b28057904188aeb98c64736f6c634300080b0033496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069";
|
|
215
215
|
const isSuperArgs = (xs) => xs.length > 1;
|
|
216
216
|
class SafeMock__factory extends ethers_1.ContractFactory {
|
|
217
217
|
constructor(...args) {
|