@skalenetwork/upgrade-tools 0.0.1-custom.8 → 0.0.1-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.
Files changed (49) hide show
  1. package/dist/src/gnosis-safe.d.ts +1 -1
  2. package/dist/src/gnosis-safe.js +12 -32
  3. package/dist/src/index.d.ts +1 -0
  4. package/dist/src/index.js +6 -1
  5. package/dist/src/upgrade.d.ts +2 -1
  6. package/dist/src/upgrade.js +7 -6
  7. package/dist/typechain-types/AccessControlEnumerableUpgradeable.d.ts +8 -0
  8. package/dist/typechain-types/AccessControlUpgradeable.d.ts +8 -0
  9. package/dist/typechain-types/ContextUpgradeable.d.ts +40 -0
  10. package/dist/{types.js → typechain-types/ContextUpgradeable.js} +0 -0
  11. package/dist/typechain-types/ERC165Upgradeable.d.ts +13 -3
  12. package/dist/typechain-types/ISafeMock.d.ts +20 -1
  13. package/dist/typechain-types/Initializable.d.ts +40 -0
  14. package/dist/typechain-types/Initializable.js +2 -0
  15. package/dist/typechain-types/OwnableUpgradeable.d.ts +8 -0
  16. package/dist/typechain-types/SafeMock.d.ts +44 -1
  17. package/dist/typechain-types/factories/AccessControlEnumerableUpgradeable__factory.js +13 -0
  18. package/dist/typechain-types/factories/AccessControlUpgradeable__factory.js +13 -0
  19. package/dist/typechain-types/factories/ContextUpgradeable__factory.d.ts +18 -0
  20. package/dist/typechain-types/factories/ContextUpgradeable__factory.js +32 -0
  21. package/dist/typechain-types/factories/ERC165Upgradeable__factory.d.ts +15 -2
  22. package/dist/typechain-types/factories/ERC165Upgradeable__factory.js +13 -0
  23. package/dist/typechain-types/factories/ISafeMock__factory.d.ts +5 -1
  24. package/dist/typechain-types/factories/ISafeMock__factory.js +64 -0
  25. package/dist/typechain-types/factories/Initializable__factory.d.ts +18 -0
  26. package/dist/typechain-types/factories/Initializable__factory.js +32 -0
  27. package/dist/typechain-types/factories/OwnableUpgradeable__factory.js +13 -0
  28. package/dist/typechain-types/factories/SafeMock__factory.d.ts +4 -11
  29. package/dist/typechain-types/factories/SafeMock__factory.js +104 -1
  30. package/dist/typechain-types/index.d.ts +4 -0
  31. package/dist/typechain-types/index.js +5 -1
  32. package/package.json +21 -10
  33. package/dist/abi.d.ts +0 -2
  34. package/dist/abi.js +0 -16
  35. package/dist/deploy.d.ts +0 -5
  36. package/dist/deploy.js +0 -99
  37. package/dist/gnosis-safe.d.ts +0 -25
  38. package/dist/gnosis-safe.js +0 -209
  39. package/dist/index.d.ts +0 -7
  40. package/dist/index.js +0 -19
  41. package/dist/multiSend.d.ts +0 -2
  42. package/dist/multiSend.js +0 -46
  43. package/dist/types.d.ts +0 -12
  44. package/dist/upgrade.d.ts +0 -6
  45. package/dist/upgrade.js +0 -210
  46. package/dist/verification.d.ts +0 -2
  47. package/dist/verification.js +0 -53
  48. package/dist/version.d.ts +0 -1
  49. package/dist/version.js +0 -34
@@ -1,4 +1,4 @@
1
- import type { ethers } from "ethers";
1
+ import { ethers } from "ethers";
2
2
  import { HardhatEthersHelpers } from "@nomiclabs/hardhat-ethers/types";
3
3
  declare type Ethers = typeof ethers & HardhatEthersHelpers;
4
4
  interface SafeMultisigTransaction {
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[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);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -33,9 +37,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
33
37
  Object.defineProperty(exports, "__esModule", { value: true });
34
38
  exports.sendSafeTransaction = exports.createMultiSendTransaction = exports.getSafeRelayUrl = exports.getSafeTransactionUrl = void 0;
35
39
  const axios_1 = __importDefault(require("axios"));
36
- const ethers_eip712_1 = require("ethers-eip712");
37
40
  const ethUtil = __importStar(require("ethereumjs-util"));
38
41
  const chalk_1 = __importDefault(require("chalk"));
42
+ const ethers_1 = require("ethers");
39
43
  var Network;
40
44
  (function (Network) {
41
45
  Network[Network["MAINNET"] = 1] = "MAINNET";
@@ -43,7 +47,6 @@ var Network;
43
47
  Network[Network["GANACHE"] = 1337] = "GANACHE";
44
48
  Network[Network["HARDHAT"] = 31337] = "HARDHAT";
45
49
  })(Network || (Network = {}));
46
- const ZERO_ADDRESS = "0x0000000000000000000000000000000000000000";
47
50
  const ADDRESSES = {
48
51
  multiSend: {
49
52
  [Network.MAINNET]: "0x8D29bE29923b68abfDD21e541b9374737B49cdAD",
@@ -68,7 +71,7 @@ function getMultiSendAddress(chainId) {
68
71
  return ADDRESSES.multiSend[chainId];
69
72
  }
70
73
  else if ([Network.GANACHE, Network.HARDHAT].includes(chainId)) {
71
- return ZERO_ADDRESS;
74
+ return ethers_1.ethers.constants.AddressZero;
72
75
  }
73
76
  else {
74
77
  throw Error(`Can't get multiSend contract at network with chainId = ${chainId}`);
@@ -114,6 +117,8 @@ function createMultiSendTransaction(ethers, safeAddress, privateKey, transaction
114
117
  const multiSendAddress = getMultiSendAddress(chainId);
115
118
  const multiSendAbi = [{ "constant": false, "inputs": [{ "internalType": "bytes", "name": "transactions", "type": "bytes" }], "name": "multiSend", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }];
116
119
  const multiSend = new ethers.Contract(multiSendAddress, new ethers.utils.Interface(multiSendAbi), ethers.provider);
120
+ 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
+ const safe = new ethers.Contract(safeAddress, new ethers.utils.Interface(safeAbi), ethers.provider);
117
122
  let nonce = 0;
118
123
  if (!isSafeMock) {
119
124
  try {
@@ -132,39 +137,14 @@ function createMultiSendTransaction(ethers, safeAddress, privateKey, transaction
132
137
  "value": 0,
133
138
  "data": multiSend.interface.encodeFunctionData("multiSend", [concatTransactions(transactions)]),
134
139
  "operation": 1,
135
- "gasToken": ZERO_ADDRESS,
140
+ "gasToken": ethers.constants.AddressZero,
136
141
  "safeTxGas": 0,
137
142
  "baseGas": 0,
138
143
  "gasPrice": 0,
139
- "refundReceiver": ZERO_ADDRESS,
144
+ "refundReceiver": ethers.constants.AddressZero,
140
145
  "nonce": nonce, // Nonce of the Safe, transaction cannot be executed until Safe's nonce is not equal to this nonce
141
146
  };
142
- const typedData = {
143
- types: {
144
- EIP712Domain: [
145
- { name: "verifyingContract", type: "address" },
146
- ],
147
- SafeTx: [
148
- { type: "address", name: "to" },
149
- { type: "uint256", name: "value" },
150
- { type: "bytes", name: "data" },
151
- { type: "uint8", name: "operation" },
152
- { type: "uint256", name: "safeTxGas" },
153
- { type: "uint256", name: "baseGas" },
154
- { type: "uint256", name: "gasPrice" },
155
- { type: "address", name: "gasToken" },
156
- { type: "address", name: "refundReceiver" },
157
- { type: "uint256", name: "nonce" },
158
- ]
159
- },
160
- primaryType: 'SafeTx',
161
- domain: {
162
- verifyingContract: safeAddress
163
- },
164
- message: Object.assign(Object.assign({}, tx), { data: ethers.utils.arrayify(tx.data) })
165
- };
166
- const digest = ethers_eip712_1.TypedDataUtils.encodeDigest(typedData);
167
- const digestHex = ethers.utils.hexlify(digest);
147
+ 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);
168
148
  const privateKeyBuffer = ethUtil.toBuffer(privateKey);
169
149
  const { r, s, v } = ethUtil.ecsign(ethUtil.toBuffer(digestHex), privateKeyBuffer);
170
150
  const signature = ethUtil.toRpcSig(v, r, s).toString();
@@ -3,5 +3,6 @@ export * from "./deploy";
3
3
  export * from "./gnosis-safe";
4
4
  export * from "./multiSend";
5
5
  export * from "./upgrade";
6
+ export * from "./types";
6
7
  export * from "./verification";
7
8
  export * from "./version";
package/dist/src/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[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);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -15,5 +19,6 @@ __exportStar(require("./deploy"), exports);
15
19
  __exportStar(require("./gnosis-safe"), exports);
16
20
  __exportStar(require("./multiSend"), exports);
17
21
  __exportStar(require("./upgrade"), exports);
22
+ __exportStar(require("./types"), exports);
18
23
  __exportStar(require("./verification"), exports);
19
24
  __exportStar(require("./version"), exports);
@@ -1,6 +1,7 @@
1
1
  import { SkaleABIFile } from "./types";
2
2
  import { Contract } from "ethers";
3
+ import { OwnableUpgradeable } from "../typechain-types";
3
4
  export declare function getContractFactoryAndUpdateManifest(contract: string): Promise<import("ethers").ContractFactory>;
4
5
  declare type DeploymentAction<ContractManagerType extends Contract> = (safeTransactions: string[], abi: SkaleABIFile, contractManager: ContractManagerType) => Promise<void>;
5
- export declare function upgrade<ContractManagerType extends Contract>(projectName: string, targetVersion: string, contractNamesToUpgrade: string[], deployNewContracts: DeploymentAction<ContractManagerType>, initialize: DeploymentAction<ContractManagerType>, getDeployedVersion: () => Promise<string | undefined>, setVersion: (version: string) => Promise<void>, safeMockAccessRequirements: string[]): Promise<void>;
6
+ 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>): Promise<void>;
6
7
  export {};
@@ -62,7 +62,7 @@ function getContractFactoryAndUpdateManifest(contract) {
62
62
  });
63
63
  }
64
64
  exports.getContractFactoryAndUpdateManifest = getContractFactoryAndUpdateManifest;
65
- function upgrade(projectName, targetVersion, contractNamesToUpgrade, deployNewContracts, initialize, getDeployedVersion, setVersion, safeMockAccessRequirements) {
65
+ function upgrade(projectName, targetVersion, getDeployedVersion, setVersion, safeMockAccessRequirements, contractNamesToUpgrade, deployNewContracts, initialize) {
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"));
@@ -74,7 +74,7 @@ function upgrade(projectName, targetVersion, contractNamesToUpgrade, deployNewCo
74
74
  const contractManagerName = "ContractManager";
75
75
  const contractManagerFactory = yield hardhat_1.ethers.getContractFactory(contractManagerName);
76
76
  const contractManager = (contractManagerFactory.attach(abi[(0, deploy_1.getContractKeyInAbiFile)(contractManagerName) + "_address"]));
77
- const deployedVersion = yield getDeployedVersion();
77
+ const deployedVersion = yield getDeployedVersion(abi);
78
78
  const version = yield (0, version_1.getVersion)();
79
79
  if (deployedVersion) {
80
80
  if (deployedVersion !== targetVersion) {
@@ -89,7 +89,7 @@ function upgrade(projectName, targetVersion, contractNamesToUpgrade, deployNewCo
89
89
  const [deployer] = yield hardhat_1.ethers.getSigners();
90
90
  let safe = yield proxyAdmin.owner();
91
91
  const safeTransactions = [];
92
- let safeMock;
92
+ let safeMock = undefined;
93
93
  if ((yield hardhat_1.ethers.provider.getCode(safe)) === "0x") {
94
94
  console.log("Owner is not a contract");
95
95
  if (deployer.address !== safe) {
@@ -98,7 +98,7 @@ function upgrade(projectName, targetVersion, contractNamesToUpgrade, deployNewCo
98
98
  }
99
99
  console.log(chalk_1.default.blue("Deploy SafeMock to simulate upgrade via multisig"));
100
100
  const safeMockFactory = yield hardhat_1.ethers.getContractFactory("SafeMock");
101
- safeMock = (yield safeMockFactory.deploy());
101
+ safeMock = yield safeMockFactory.deploy();
102
102
  yield safeMock.deployTransaction.wait();
103
103
  console.log(chalk_1.default.blue("Transfer ownership to SafeMock"));
104
104
  safe = safeMock.address;
@@ -115,7 +115,7 @@ function upgrade(projectName, targetVersion, contractNamesToUpgrade, deployNewCo
115
115
  else {
116
116
  try {
117
117
  const safeMockFactory = yield hardhat_1.ethers.getContractFactory("SafeMock");
118
- const checkSafeMock = (safeMockFactory.attach(safe));
118
+ const checkSafeMock = safeMockFactory.attach(safe);
119
119
  if (yield checkSafeMock.IS_SAFE_MOCK()) {
120
120
  safeMock = checkSafeMock;
121
121
  }
@@ -163,7 +163,7 @@ function upgrade(projectName, targetVersion, contractNamesToUpgrade, deployNewCo
163
163
  }
164
164
  yield initialize(safeTransactions, abi, contractManager);
165
165
  // write version
166
- yield setVersion(version);
166
+ yield setVersion(safeTransactions, abi, version);
167
167
  yield fs_1.promises.writeFile(`data/transactions-${version}-${hardhat_1.network.name}.json`, JSON.stringify(safeTransactions, null, 4));
168
168
  let privateKey = hardhat_1.network.config.accounts[0];
169
169
  if (hardhat_1.network.config.accounts === "remote") {
@@ -184,6 +184,7 @@ function upgrade(projectName, targetVersion, contractNamesToUpgrade, deployNewCo
184
184
  value: safeTx.value,
185
185
  data: safeTx.data,
186
186
  })).wait();
187
+ console.log(chalk_1.default.blue("Transactions have been sent"));
187
188
  }
188
189
  finally {
189
190
  console.log(chalk_1.default.blue("Return ownership to wallet"));
@@ -34,14 +34,20 @@ export interface AccessControlEnumerableUpgradeableInterface extends utils.Inter
34
34
  decodeFunctionResult(functionFragment: "revokeRole", data: BytesLike): Result;
35
35
  decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result;
36
36
  events: {
37
+ "Initialized(uint8)": EventFragment;
37
38
  "RoleAdminChanged(bytes32,bytes32,bytes32)": EventFragment;
38
39
  "RoleGranted(bytes32,address,address)": EventFragment;
39
40
  "RoleRevoked(bytes32,address,address)": EventFragment;
40
41
  };
42
+ getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment;
41
43
  getEvent(nameOrSignatureOrTopic: "RoleAdminChanged"): EventFragment;
42
44
  getEvent(nameOrSignatureOrTopic: "RoleGranted"): EventFragment;
43
45
  getEvent(nameOrSignatureOrTopic: "RoleRevoked"): EventFragment;
44
46
  }
47
+ export declare type InitializedEvent = TypedEvent<[number], {
48
+ version: number;
49
+ }>;
50
+ export declare type InitializedEventFilter = TypedEventFilter<InitializedEvent>;
45
51
  export declare type RoleAdminChangedEvent = TypedEvent<[
46
52
  string,
47
53
  string,
@@ -131,6 +137,8 @@ export interface AccessControlEnumerableUpgradeable extends BaseContract {
131
137
  supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise<boolean>;
132
138
  };
133
139
  filters: {
140
+ "Initialized(uint8)"(version?: null): InitializedEventFilter;
141
+ Initialized(version?: null): InitializedEventFilter;
134
142
  "RoleAdminChanged(bytes32,bytes32,bytes32)"(role?: BytesLike | null, previousAdminRole?: BytesLike | null, newAdminRole?: BytesLike | null): RoleAdminChangedEventFilter;
135
143
  RoleAdminChanged(role?: BytesLike | null, previousAdminRole?: BytesLike | null, newAdminRole?: BytesLike | null): RoleAdminChangedEventFilter;
136
144
  "RoleGranted(bytes32,address,address)"(role?: BytesLike | null, account?: string | null, sender?: string | null): RoleGrantedEventFilter;
@@ -28,14 +28,20 @@ export interface AccessControlUpgradeableInterface extends utils.Interface {
28
28
  decodeFunctionResult(functionFragment: "revokeRole", data: BytesLike): Result;
29
29
  decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result;
30
30
  events: {
31
+ "Initialized(uint8)": EventFragment;
31
32
  "RoleAdminChanged(bytes32,bytes32,bytes32)": EventFragment;
32
33
  "RoleGranted(bytes32,address,address)": EventFragment;
33
34
  "RoleRevoked(bytes32,address,address)": EventFragment;
34
35
  };
36
+ getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment;
35
37
  getEvent(nameOrSignatureOrTopic: "RoleAdminChanged"): EventFragment;
36
38
  getEvent(nameOrSignatureOrTopic: "RoleGranted"): EventFragment;
37
39
  getEvent(nameOrSignatureOrTopic: "RoleRevoked"): EventFragment;
38
40
  }
41
+ export declare type InitializedEvent = TypedEvent<[number], {
42
+ version: number;
43
+ }>;
44
+ export declare type InitializedEventFilter = TypedEventFilter<InitializedEvent>;
39
45
  export declare type RoleAdminChangedEvent = TypedEvent<[
40
46
  string,
41
47
  string,
@@ -119,6 +125,8 @@ export interface AccessControlUpgradeable extends BaseContract {
119
125
  supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise<boolean>;
120
126
  };
121
127
  filters: {
128
+ "Initialized(uint8)"(version?: null): InitializedEventFilter;
129
+ Initialized(version?: null): InitializedEventFilter;
122
130
  "RoleAdminChanged(bytes32,bytes32,bytes32)"(role?: BytesLike | null, previousAdminRole?: BytesLike | null, newAdminRole?: BytesLike | null): RoleAdminChangedEventFilter;
123
131
  RoleAdminChanged(role?: BytesLike | null, previousAdminRole?: BytesLike | null, newAdminRole?: BytesLike | null): RoleAdminChangedEventFilter;
124
132
  "RoleGranted(bytes32,address,address)"(role?: BytesLike | null, account?: string | null, sender?: string | null): RoleGrantedEventFilter;
@@ -0,0 +1,40 @@
1
+ import { BaseContract, Signer, utils } from "ethers";
2
+ import { EventFragment } from "@ethersproject/abi";
3
+ import { Listener, Provider } from "@ethersproject/providers";
4
+ import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common";
5
+ export interface ContextUpgradeableInterface extends utils.Interface {
6
+ contractName: "ContextUpgradeable";
7
+ functions: {};
8
+ events: {
9
+ "Initialized(uint8)": EventFragment;
10
+ };
11
+ getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment;
12
+ }
13
+ export declare type InitializedEvent = TypedEvent<[number], {
14
+ version: number;
15
+ }>;
16
+ export declare type InitializedEventFilter = TypedEventFilter<InitializedEvent>;
17
+ export interface ContextUpgradeable extends BaseContract {
18
+ contractName: "ContextUpgradeable";
19
+ connect(signerOrProvider: Signer | Provider | string): this;
20
+ attach(addressOrName: string): this;
21
+ deployed(): Promise<this>;
22
+ interface: ContextUpgradeableInterface;
23
+ queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
24
+ listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
25
+ listeners(eventName?: string): Array<Listener>;
26
+ removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
27
+ removeAllListeners(eventName?: string): this;
28
+ off: OnEvent<this>;
29
+ on: OnEvent<this>;
30
+ once: OnEvent<this>;
31
+ removeListener: OnEvent<this>;
32
+ functions: {};
33
+ callStatic: {};
34
+ filters: {
35
+ "Initialized(uint8)"(version?: null): InitializedEventFilter;
36
+ Initialized(version?: null): InitializedEventFilter;
37
+ };
38
+ estimateGas: {};
39
+ populateTransaction: {};
40
+ }
@@ -1,5 +1,5 @@
1
1
  import { BaseContract, BigNumber, BytesLike, CallOverrides, PopulatedTransaction, Signer, utils } from "ethers";
2
- import { FunctionFragment, Result } from "@ethersproject/abi";
2
+ import { FunctionFragment, Result, 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 ERC165UpgradeableInterface extends utils.Interface {
@@ -9,8 +9,15 @@ export interface ERC165UpgradeableInterface extends utils.Interface {
9
9
  };
10
10
  encodeFunctionData(functionFragment: "supportsInterface", values: [BytesLike]): string;
11
11
  decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result;
12
- events: {};
12
+ events: {
13
+ "Initialized(uint8)": EventFragment;
14
+ };
15
+ getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment;
13
16
  }
17
+ export declare type InitializedEvent = TypedEvent<[number], {
18
+ version: number;
19
+ }>;
20
+ export declare type InitializedEventFilter = TypedEventFilter<InitializedEvent>;
14
21
  export interface ERC165Upgradeable extends BaseContract {
15
22
  contractName: "ERC165Upgradeable";
16
23
  connect(signerOrProvider: Signer | Provider | string): this;
@@ -33,7 +40,10 @@ export interface ERC165Upgradeable extends BaseContract {
33
40
  callStatic: {
34
41
  supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise<boolean>;
35
42
  };
36
- filters: {};
43
+ filters: {
44
+ "Initialized(uint8)"(version?: null): InitializedEventFilter;
45
+ Initialized(version?: null): InitializedEventFilter;
46
+ };
37
47
  estimateGas: {
38
48
  supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise<BigNumber>;
39
49
  };
@@ -1,15 +1,29 @@
1
- import { BaseContract, BigNumber, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers";
1
+ import { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers";
2
2
  import { FunctionFragment, Result } from "@ethersproject/abi";
3
3
  import { Listener, Provider } from "@ethersproject/providers";
4
4
  import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common";
5
5
  export interface ISafeMockInterface extends utils.Interface {
6
6
  contractName: "ISafeMock";
7
7
  functions: {
8
+ "getTransactionHash(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,uint256)": FunctionFragment;
8
9
  "multiSend(bytes)": FunctionFragment;
9
10
  "transferProxyAdminOwnership(address,address)": FunctionFragment;
10
11
  };
12
+ encodeFunctionData(functionFragment: "getTransactionHash", values: [
13
+ string,
14
+ BigNumberish,
15
+ BytesLike,
16
+ BigNumberish,
17
+ BigNumberish,
18
+ BigNumberish,
19
+ BigNumberish,
20
+ string,
21
+ string,
22
+ BigNumberish
23
+ ]): string;
11
24
  encodeFunctionData(functionFragment: "multiSend", values: [BytesLike]): string;
12
25
  encodeFunctionData(functionFragment: "transferProxyAdminOwnership", values: [string, string]): string;
26
+ decodeFunctionResult(functionFragment: "getTransactionHash", data: BytesLike): Result;
13
27
  decodeFunctionResult(functionFragment: "multiSend", data: BytesLike): Result;
14
28
  decodeFunctionResult(functionFragment: "transferProxyAdminOwnership", data: BytesLike): Result;
15
29
  events: {};
@@ -30,6 +44,7 @@ export interface ISafeMock extends BaseContract {
30
44
  once: OnEvent<this>;
31
45
  removeListener: OnEvent<this>;
32
46
  functions: {
47
+ getTransactionHash(to: string, value: BigNumberish, data: BytesLike, operation: BigNumberish, safeTxGas: BigNumberish, baseGas: BigNumberish, gasPrice: BigNumberish, gasToken: string, refundReceiver: string, nonce: BigNumberish, overrides?: CallOverrides): Promise<[string]>;
33
48
  multiSend(transactions: BytesLike, overrides?: Overrides & {
34
49
  from?: string | Promise<string>;
35
50
  }): Promise<ContractTransaction>;
@@ -37,6 +52,7 @@ export interface ISafeMock extends BaseContract {
37
52
  from?: string | Promise<string>;
38
53
  }): Promise<ContractTransaction>;
39
54
  };
55
+ getTransactionHash(to: string, value: BigNumberish, data: BytesLike, operation: BigNumberish, safeTxGas: BigNumberish, baseGas: BigNumberish, gasPrice: BigNumberish, gasToken: string, refundReceiver: string, nonce: BigNumberish, overrides?: CallOverrides): Promise<string>;
40
56
  multiSend(transactions: BytesLike, overrides?: Overrides & {
41
57
  from?: string | Promise<string>;
42
58
  }): Promise<ContractTransaction>;
@@ -44,11 +60,13 @@ export interface ISafeMock extends BaseContract {
44
60
  from?: string | Promise<string>;
45
61
  }): Promise<ContractTransaction>;
46
62
  callStatic: {
63
+ getTransactionHash(to: string, value: BigNumberish, data: BytesLike, operation: BigNumberish, safeTxGas: BigNumberish, baseGas: BigNumberish, gasPrice: BigNumberish, gasToken: string, refundReceiver: string, nonce: BigNumberish, overrides?: CallOverrides): Promise<string>;
47
64
  multiSend(transactions: BytesLike, overrides?: CallOverrides): Promise<void>;
48
65
  transferProxyAdminOwnership(proxyAdmin: string, newOwner: string, overrides?: CallOverrides): Promise<void>;
49
66
  };
50
67
  filters: {};
51
68
  estimateGas: {
69
+ getTransactionHash(to: string, value: BigNumberish, data: BytesLike, operation: BigNumberish, safeTxGas: BigNumberish, baseGas: BigNumberish, gasPrice: BigNumberish, gasToken: string, refundReceiver: string, nonce: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
52
70
  multiSend(transactions: BytesLike, overrides?: Overrides & {
53
71
  from?: string | Promise<string>;
54
72
  }): Promise<BigNumber>;
@@ -57,6 +75,7 @@ export interface ISafeMock extends BaseContract {
57
75
  }): Promise<BigNumber>;
58
76
  };
59
77
  populateTransaction: {
78
+ getTransactionHash(to: string, value: BigNumberish, data: BytesLike, operation: BigNumberish, safeTxGas: BigNumberish, baseGas: BigNumberish, gasPrice: BigNumberish, gasToken: string, refundReceiver: string, nonce: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
60
79
  multiSend(transactions: BytesLike, overrides?: Overrides & {
61
80
  from?: string | Promise<string>;
62
81
  }): Promise<PopulatedTransaction>;
@@ -0,0 +1,40 @@
1
+ import { BaseContract, Signer, utils } from "ethers";
2
+ import { EventFragment } from "@ethersproject/abi";
3
+ import { Listener, Provider } from "@ethersproject/providers";
4
+ import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common";
5
+ export interface InitializableInterface extends utils.Interface {
6
+ contractName: "Initializable";
7
+ functions: {};
8
+ events: {
9
+ "Initialized(uint8)": EventFragment;
10
+ };
11
+ getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment;
12
+ }
13
+ export declare type InitializedEvent = TypedEvent<[number], {
14
+ version: number;
15
+ }>;
16
+ export declare type InitializedEventFilter = TypedEventFilter<InitializedEvent>;
17
+ export interface Initializable extends BaseContract {
18
+ contractName: "Initializable";
19
+ connect(signerOrProvider: Signer | Provider | string): this;
20
+ attach(addressOrName: string): this;
21
+ deployed(): Promise<this>;
22
+ interface: InitializableInterface;
23
+ queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
24
+ listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
25
+ listeners(eventName?: string): Array<Listener>;
26
+ removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
27
+ removeAllListeners(eventName?: string): this;
28
+ off: OnEvent<this>;
29
+ on: OnEvent<this>;
30
+ once: OnEvent<this>;
31
+ removeListener: OnEvent<this>;
32
+ functions: {};
33
+ callStatic: {};
34
+ filters: {
35
+ "Initialized(uint8)"(version?: null): InitializedEventFilter;
36
+ Initialized(version?: null): InitializedEventFilter;
37
+ };
38
+ estimateGas: {};
39
+ populateTransaction: {};
40
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -16,10 +16,16 @@ export interface OwnableUpgradeableInterface extends utils.Interface {
16
16
  decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result;
17
17
  decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result;
18
18
  events: {
19
+ "Initialized(uint8)": EventFragment;
19
20
  "OwnershipTransferred(address,address)": EventFragment;
20
21
  };
22
+ getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment;
21
23
  getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment;
22
24
  }
25
+ export declare type InitializedEvent = TypedEvent<[number], {
26
+ version: number;
27
+ }>;
28
+ export declare type InitializedEventFilter = TypedEventFilter<InitializedEvent>;
23
29
  export declare type OwnershipTransferredEvent = TypedEvent<[
24
30
  string,
25
31
  string
@@ -65,6 +71,8 @@ export interface OwnableUpgradeable extends BaseContract {
65
71
  transferOwnership(newOwner: string, overrides?: CallOverrides): Promise<void>;
66
72
  };
67
73
  filters: {
74
+ "Initialized(uint8)"(version?: null): InitializedEventFilter;
75
+ Initialized(version?: null): InitializedEventFilter;
68
76
  "OwnershipTransferred(address,address)"(previousOwner?: string | null, newOwner?: string | null): OwnershipTransferredEventFilter;
69
77
  OwnershipTransferred(previousOwner?: string | null, newOwner?: string | null): OwnershipTransferredEventFilter;
70
78
  };
@@ -1,34 +1,60 @@
1
- import { BaseContract, BigNumber, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers";
1
+ import { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers";
2
2
  import { FunctionFragment, Result, 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 SafeMockInterface extends utils.Interface {
6
6
  contractName: "SafeMock";
7
7
  functions: {
8
+ "DOMAIN_SEPARATOR_TYPE_HASH()": FunctionFragment;
8
9
  "IS_SAFE_MOCK()": FunctionFragment;
10
+ "SAFE_TX_TYPE_HASH()": FunctionFragment;
11
+ "getTransactionHash(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,uint256)": FunctionFragment;
9
12
  "multiSend(bytes)": FunctionFragment;
10
13
  "owner()": FunctionFragment;
11
14
  "renounceOwnership()": FunctionFragment;
12
15
  "transferOwnership(address)": FunctionFragment;
13
16
  "transferProxyAdminOwnership(address,address)": FunctionFragment;
14
17
  };
18
+ encodeFunctionData(functionFragment: "DOMAIN_SEPARATOR_TYPE_HASH", values?: undefined): string;
15
19
  encodeFunctionData(functionFragment: "IS_SAFE_MOCK", values?: undefined): string;
20
+ encodeFunctionData(functionFragment: "SAFE_TX_TYPE_HASH", values?: undefined): string;
21
+ encodeFunctionData(functionFragment: "getTransactionHash", values: [
22
+ string,
23
+ BigNumberish,
24
+ BytesLike,
25
+ BigNumberish,
26
+ BigNumberish,
27
+ BigNumberish,
28
+ BigNumberish,
29
+ string,
30
+ string,
31
+ BigNumberish
32
+ ]): string;
16
33
  encodeFunctionData(functionFragment: "multiSend", values: [BytesLike]): string;
17
34
  encodeFunctionData(functionFragment: "owner", values?: undefined): string;
18
35
  encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string;
19
36
  encodeFunctionData(functionFragment: "transferOwnership", values: [string]): string;
20
37
  encodeFunctionData(functionFragment: "transferProxyAdminOwnership", values: [string, string]): string;
38
+ decodeFunctionResult(functionFragment: "DOMAIN_SEPARATOR_TYPE_HASH", data: BytesLike): Result;
21
39
  decodeFunctionResult(functionFragment: "IS_SAFE_MOCK", data: BytesLike): Result;
40
+ decodeFunctionResult(functionFragment: "SAFE_TX_TYPE_HASH", data: BytesLike): Result;
41
+ decodeFunctionResult(functionFragment: "getTransactionHash", data: BytesLike): Result;
22
42
  decodeFunctionResult(functionFragment: "multiSend", data: BytesLike): Result;
23
43
  decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
24
44
  decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result;
25
45
  decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result;
26
46
  decodeFunctionResult(functionFragment: "transferProxyAdminOwnership", data: BytesLike): Result;
27
47
  events: {
48
+ "Initialized(uint8)": EventFragment;
28
49
  "OwnershipTransferred(address,address)": EventFragment;
29
50
  };
51
+ getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment;
30
52
  getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment;
31
53
  }
54
+ export declare type InitializedEvent = TypedEvent<[number], {
55
+ version: number;
56
+ }>;
57
+ export declare type InitializedEventFilter = TypedEventFilter<InitializedEvent>;
32
58
  export declare type OwnershipTransferredEvent = TypedEvent<[
33
59
  string,
34
60
  string
@@ -53,7 +79,10 @@ export interface SafeMock extends BaseContract {
53
79
  once: OnEvent<this>;
54
80
  removeListener: OnEvent<this>;
55
81
  functions: {
82
+ DOMAIN_SEPARATOR_TYPE_HASH(overrides?: CallOverrides): Promise<[string]>;
56
83
  IS_SAFE_MOCK(overrides?: CallOverrides): Promise<[boolean]>;
84
+ SAFE_TX_TYPE_HASH(overrides?: CallOverrides): Promise<[string]>;
85
+ getTransactionHash(to: string, value: BigNumberish, data: BytesLike, operation: BigNumberish, safeTxGas: BigNumberish, baseGas: BigNumberish, gasPrice: BigNumberish, gasToken: string, refundReceiver: string, nonce: BigNumberish, overrides?: CallOverrides): Promise<[string]>;
57
86
  multiSend(transactions: BytesLike, overrides?: Overrides & {
58
87
  from?: string | Promise<string>;
59
88
  }): Promise<ContractTransaction>;
@@ -68,7 +97,10 @@ export interface SafeMock extends BaseContract {
68
97
  from?: string | Promise<string>;
69
98
  }): Promise<ContractTransaction>;
70
99
  };
100
+ DOMAIN_SEPARATOR_TYPE_HASH(overrides?: CallOverrides): Promise<string>;
71
101
  IS_SAFE_MOCK(overrides?: CallOverrides): Promise<boolean>;
102
+ SAFE_TX_TYPE_HASH(overrides?: CallOverrides): Promise<string>;
103
+ getTransactionHash(to: string, value: BigNumberish, data: BytesLike, operation: BigNumberish, safeTxGas: BigNumberish, baseGas: BigNumberish, gasPrice: BigNumberish, gasToken: string, refundReceiver: string, nonce: BigNumberish, overrides?: CallOverrides): Promise<string>;
72
104
  multiSend(transactions: BytesLike, overrides?: Overrides & {
73
105
  from?: string | Promise<string>;
74
106
  }): Promise<ContractTransaction>;
@@ -83,7 +115,10 @@ export interface SafeMock extends BaseContract {
83
115
  from?: string | Promise<string>;
84
116
  }): Promise<ContractTransaction>;
85
117
  callStatic: {
118
+ DOMAIN_SEPARATOR_TYPE_HASH(overrides?: CallOverrides): Promise<string>;
86
119
  IS_SAFE_MOCK(overrides?: CallOverrides): Promise<boolean>;
120
+ SAFE_TX_TYPE_HASH(overrides?: CallOverrides): Promise<string>;
121
+ getTransactionHash(to: string, value: BigNumberish, data: BytesLike, operation: BigNumberish, safeTxGas: BigNumberish, baseGas: BigNumberish, gasPrice: BigNumberish, gasToken: string, refundReceiver: string, nonce: BigNumberish, overrides?: CallOverrides): Promise<string>;
87
122
  multiSend(transactions: BytesLike, overrides?: CallOverrides): Promise<void>;
88
123
  owner(overrides?: CallOverrides): Promise<string>;
89
124
  renounceOwnership(overrides?: CallOverrides): Promise<void>;
@@ -91,11 +126,16 @@ export interface SafeMock extends BaseContract {
91
126
  transferProxyAdminOwnership(proxyAdmin: string, newOwner: string, overrides?: CallOverrides): Promise<void>;
92
127
  };
93
128
  filters: {
129
+ "Initialized(uint8)"(version?: null): InitializedEventFilter;
130
+ Initialized(version?: null): InitializedEventFilter;
94
131
  "OwnershipTransferred(address,address)"(previousOwner?: string | null, newOwner?: string | null): OwnershipTransferredEventFilter;
95
132
  OwnershipTransferred(previousOwner?: string | null, newOwner?: string | null): OwnershipTransferredEventFilter;
96
133
  };
97
134
  estimateGas: {
135
+ DOMAIN_SEPARATOR_TYPE_HASH(overrides?: CallOverrides): Promise<BigNumber>;
98
136
  IS_SAFE_MOCK(overrides?: CallOverrides): Promise<BigNumber>;
137
+ SAFE_TX_TYPE_HASH(overrides?: CallOverrides): Promise<BigNumber>;
138
+ getTransactionHash(to: string, value: BigNumberish, data: BytesLike, operation: BigNumberish, safeTxGas: BigNumberish, baseGas: BigNumberish, gasPrice: BigNumberish, gasToken: string, refundReceiver: string, nonce: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
99
139
  multiSend(transactions: BytesLike, overrides?: Overrides & {
100
140
  from?: string | Promise<string>;
101
141
  }): Promise<BigNumber>;
@@ -111,7 +151,10 @@ export interface SafeMock extends BaseContract {
111
151
  }): Promise<BigNumber>;
112
152
  };
113
153
  populateTransaction: {
154
+ DOMAIN_SEPARATOR_TYPE_HASH(overrides?: CallOverrides): Promise<PopulatedTransaction>;
114
155
  IS_SAFE_MOCK(overrides?: CallOverrides): Promise<PopulatedTransaction>;
156
+ SAFE_TX_TYPE_HASH(overrides?: CallOverrides): Promise<PopulatedTransaction>;
157
+ getTransactionHash(to: string, value: BigNumberish, data: BytesLike, operation: BigNumberish, safeTxGas: BigNumberish, baseGas: BigNumberish, gasPrice: BigNumberish, gasToken: string, refundReceiver: string, nonce: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
115
158
  multiSend(transactions: BytesLike, overrides?: Overrides & {
116
159
  from?: string | Promise<string>;
117
160
  }): Promise<PopulatedTransaction>;
@@ -6,6 +6,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.AccessControlEnumerableUpgradeable__factory = void 0;
7
7
  const ethers_1 = require("ethers");
8
8
  const _abi = [
9
+ {
10
+ anonymous: false,
11
+ inputs: [
12
+ {
13
+ indexed: false,
14
+ internalType: "uint8",
15
+ name: "version",
16
+ type: "uint8",
17
+ },
18
+ ],
19
+ name: "Initialized",
20
+ type: "event",
21
+ },
9
22
  {
10
23
  anonymous: false,
11
24
  inputs: [