@safe-global/protocol-kit 1.2.0 → 1.3.0
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/LICENSE.md +9 -9
- package/README.md +1033 -1033
- package/dist/src/Safe.d.ts +51 -1
- package/dist/src/Safe.js +173 -16
- package/dist/src/Safe.js.map +1 -1
- package/dist/src/adapters/ethers/EthersAdapter.js +9 -10
- package/dist/src/adapters/ethers/EthersAdapter.js.map +1 -1
- package/dist/src/adapters/ethers/contracts/SafeProxyFactory/SafeProxyFactoryEthersContract.js +1 -2
- package/dist/src/adapters/ethers/contracts/SafeProxyFactory/SafeProxyFactoryEthersContract.js.map +1 -1
- package/dist/src/adapters/web3/Web3Adapter.js +17 -17
- package/dist/src/adapters/web3/Web3Adapter.js.map +1 -1
- package/dist/src/adapters/web3/contracts/SafeProxyFactory/SafeProxyFactoryWeb3Contract.js +1 -2
- package/dist/src/adapters/web3/contracts/SafeProxyFactory/SafeProxyFactoryWeb3Contract.js.map +1 -1
- package/dist/src/contracts/safeDeploymentContracts.js +16 -16
- package/dist/src/contracts/safeDeploymentContracts.js.map +1 -1
- package/dist/src/contracts/utils.js +25 -1
- package/dist/src/contracts/utils.js.map +1 -1
- package/dist/src/index.d.ts +3 -2
- package/dist/src/index.js +9 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/managers/contractManager.js +19 -14
- package/dist/src/managers/contractManager.js.map +1 -1
- package/dist/src/managers/ownerManager.js +2 -2
- package/dist/src/managers/ownerManager.js.map +1 -1
- package/dist/src/safeFactory/index.js +4 -6
- package/dist/src/safeFactory/index.js.map +1 -1
- package/dist/src/utils/erc-20/index.d.ts +33 -0
- package/dist/src/utils/erc-20/index.js +77 -0
- package/dist/src/utils/erc-20/index.js.map +1 -0
- package/dist/src/utils/signatures/utils.js +1 -1
- package/dist/src/utils/transactions/SafeTransaction.js +2 -2
- package/dist/src/utils/transactions/SafeTransaction.js.map +1 -1
- package/dist/src/utils/transactions/gas.d.ts +48 -1
- package/dist/src/utils/transactions/gas.js +308 -32
- package/dist/src/utils/transactions/gas.js.map +1 -1
- package/dist/src/utils/transactions/utils.js +7 -9
- package/dist/src/utils/transactions/utils.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +98 -96
|
@@ -53,74 +53,74 @@ class Web3Adapter {
|
|
|
53
53
|
}
|
|
54
54
|
async getSafeContract({ safeVersion, singletonDeployment, customContractAddress, customContractAbi }) {
|
|
55
55
|
const chainId = await this.getChainId();
|
|
56
|
-
const contractAddress = customContractAddress
|
|
56
|
+
const contractAddress = customContractAddress ?? singletonDeployment?.networkAddresses[chainId];
|
|
57
57
|
if (!contractAddress) {
|
|
58
58
|
throw new Error('Invalid SafeProxy contract address');
|
|
59
59
|
}
|
|
60
|
-
const safeContract = this.getContract(contractAddress, customContractAbi
|
|
60
|
+
const safeContract = this.getContract(contractAddress, customContractAbi ?? singletonDeployment?.abi);
|
|
61
61
|
return (0, contractInstancesWeb3_1.getSafeContractInstance)(safeVersion, safeContract);
|
|
62
62
|
}
|
|
63
63
|
async getSafeProxyFactoryContract({ safeVersion, singletonDeployment, customContractAddress, customContractAbi }) {
|
|
64
64
|
const chainId = await this.getChainId();
|
|
65
|
-
const contractAddress = customContractAddress
|
|
65
|
+
const contractAddress = customContractAddress ?? singletonDeployment?.networkAddresses[chainId];
|
|
66
66
|
if (!contractAddress) {
|
|
67
67
|
throw new Error('Invalid SafeProxyFactory contract address');
|
|
68
68
|
}
|
|
69
|
-
const proxyFactoryContract = this.getContract(contractAddress, customContractAbi
|
|
69
|
+
const proxyFactoryContract = this.getContract(contractAddress, customContractAbi ?? singletonDeployment?.abi);
|
|
70
70
|
return (0, contractInstancesWeb3_1.getSafeProxyFactoryContractInstance)(safeVersion, proxyFactoryContract);
|
|
71
71
|
}
|
|
72
72
|
async getMultiSendContract({ safeVersion, singletonDeployment, customContractAddress, customContractAbi }) {
|
|
73
73
|
const chainId = await this.getChainId();
|
|
74
|
-
const contractAddress = customContractAddress
|
|
74
|
+
const contractAddress = customContractAddress ?? singletonDeployment?.networkAddresses[chainId];
|
|
75
75
|
if (!contractAddress) {
|
|
76
76
|
throw new Error('Invalid MultiSend contract address');
|
|
77
77
|
}
|
|
78
|
-
const multiSendContract = this.getContract(contractAddress, customContractAbi
|
|
78
|
+
const multiSendContract = this.getContract(contractAddress, customContractAbi ?? singletonDeployment?.abi);
|
|
79
79
|
return (0, contractInstancesWeb3_1.getMultiSendContractInstance)(safeVersion, multiSendContract);
|
|
80
80
|
}
|
|
81
81
|
async getMultiSendCallOnlyContract({ safeVersion, singletonDeployment, customContractAddress, customContractAbi }) {
|
|
82
82
|
const chainId = await this.getChainId();
|
|
83
|
-
const contractAddress = customContractAddress
|
|
83
|
+
const contractAddress = customContractAddress ?? singletonDeployment?.networkAddresses[chainId];
|
|
84
84
|
if (!contractAddress) {
|
|
85
85
|
throw new Error('Invalid MultiSendCallOnly contract address');
|
|
86
86
|
}
|
|
87
|
-
const multiSendContract = this.getContract(contractAddress, customContractAbi
|
|
87
|
+
const multiSendContract = this.getContract(contractAddress, customContractAbi ?? singletonDeployment?.abi);
|
|
88
88
|
return (0, contractInstancesWeb3_1.getMultiSendCallOnlyContractInstance)(safeVersion, multiSendContract);
|
|
89
89
|
}
|
|
90
90
|
async getCompatibilityFallbackHandlerContract({ safeVersion, singletonDeployment, customContractAddress, customContractAbi }) {
|
|
91
91
|
const chainId = await this.getChainId();
|
|
92
|
-
const contractAddress = customContractAddress
|
|
92
|
+
const contractAddress = customContractAddress ?? singletonDeployment?.networkAddresses[chainId];
|
|
93
93
|
if (!contractAddress) {
|
|
94
94
|
throw new Error('Invalid Compatibility Fallback Handler contract address');
|
|
95
95
|
}
|
|
96
|
-
const multiSendContract = this.getContract(contractAddress, customContractAbi
|
|
96
|
+
const multiSendContract = this.getContract(contractAddress, customContractAbi ?? singletonDeployment?.abi);
|
|
97
97
|
return (0, contractInstancesWeb3_1.getCompatibilityFallbackHandlerContractInstance)(safeVersion, multiSendContract);
|
|
98
98
|
}
|
|
99
99
|
async getSignMessageLibContract({ safeVersion, singletonDeployment, customContractAddress, customContractAbi }) {
|
|
100
100
|
const chainId = await this.getChainId();
|
|
101
|
-
const contractAddress = customContractAddress
|
|
101
|
+
const contractAddress = customContractAddress ?? singletonDeployment?.networkAddresses[chainId];
|
|
102
102
|
if (!contractAddress) {
|
|
103
103
|
throw new Error('Invalid SignMessageLib contract address');
|
|
104
104
|
}
|
|
105
|
-
const signMessageLibContract = this.getContract(contractAddress, customContractAbi
|
|
105
|
+
const signMessageLibContract = this.getContract(contractAddress, customContractAbi ?? singletonDeployment?.abi);
|
|
106
106
|
return (0, contractInstancesWeb3_1.getSignMessageLibContractInstance)(safeVersion, signMessageLibContract);
|
|
107
107
|
}
|
|
108
108
|
async getCreateCallContract({ safeVersion, singletonDeployment, customContractAddress, customContractAbi }) {
|
|
109
109
|
const chainId = await this.getChainId();
|
|
110
|
-
const contractAddress = customContractAddress
|
|
110
|
+
const contractAddress = customContractAddress ?? singletonDeployment?.networkAddresses[chainId];
|
|
111
111
|
if (!contractAddress) {
|
|
112
112
|
throw new Error('Invalid CreateCall contract address');
|
|
113
113
|
}
|
|
114
|
-
const createCallContract = this.getContract(contractAddress, customContractAbi
|
|
114
|
+
const createCallContract = this.getContract(contractAddress, customContractAbi ?? singletonDeployment?.abi);
|
|
115
115
|
return (0, contractInstancesWeb3_1.getCreateCallContractInstance)(safeVersion, createCallContract);
|
|
116
116
|
}
|
|
117
117
|
async getSimulateTxAccessorContract({ safeVersion, singletonDeployment, customContractAddress, customContractAbi }) {
|
|
118
118
|
const chainId = await this.getChainId();
|
|
119
|
-
const contractAddress = customContractAddress
|
|
119
|
+
const contractAddress = customContractAddress ?? singletonDeployment?.networkAddresses[chainId];
|
|
120
120
|
if (!contractAddress) {
|
|
121
121
|
throw new Error('Invalid SimulateTxAccessor contract address');
|
|
122
122
|
}
|
|
123
|
-
const simulateTxAccessorContract = this.getContract(contractAddress, customContractAbi
|
|
123
|
+
const simulateTxAccessorContract = this.getContract(contractAddress, customContractAbi ?? singletonDeployment?.abi);
|
|
124
124
|
return (0, contractInstancesWeb3_1.getSimulateTxAccessorContractInstance)(safeVersion, simulateTxAccessorContract);
|
|
125
125
|
}
|
|
126
126
|
getContract(address, abi, options) {
|
|
@@ -182,7 +182,7 @@ class Web3Adapter {
|
|
|
182
182
|
reject(err);
|
|
183
183
|
return;
|
|
184
184
|
}
|
|
185
|
-
if (
|
|
185
|
+
if (val?.result == null) {
|
|
186
186
|
reject(new Error("EIP-712 is not supported by user's wallet"));
|
|
187
187
|
return;
|
|
188
188
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Web3Adapter.js","sourceRoot":"","sources":["../../../../src/adapters/web3/Web3Adapter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,wDAAoD;AACpD,2DAA2F;AAwB3F,6EAS0C;AAS1C,MAAM,WAAW;IAIf,YAAY,EAAE,IAAI,EAAE,aAAa,EAAqB;QAHtD,oCAAW;QACX,6CAAuB;QAGrB,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;SACtD;QACD,uBAAA,IAAI,qBAAS,IAAI,MAAA,CAAA;QACjB,uBAAA,IAAI,8BAAkB,aAAa,MAAA,CAAA;IACrC,CAAC;IAED,SAAS,CAAC,OAAe;QACvB,OAAO,uBAAA,IAAI,yBAAM,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IAC5C,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,WAAmB;QACzC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;QACvC,OAAO,IAAA,8BAAsB,EAAC,WAAW,EAAE,OAAO,CAAC,CAAA;IACrD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAe,EAAE,YAA8B;QAC9D,MAAM,OAAO,GAAG,YAAY;YAC1B,CAAC,CAAC,MAAM,uBAAA,IAAI,yBAAM,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC;YACxD,CAAC,CAAC,MAAM,uBAAA,IAAI,yBAAM,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QAC5C,wDAAwD;QACxD,OAAO,qBAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAChC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAe,EAAE,YAA8B;QAC5D,MAAM,KAAK,GAAG,YAAY;YACxB,CAAC,CAAC,MAAM,uBAAA,IAAI,yBAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC;YACjE,CAAC,CAAC,MAAM,uBAAA,IAAI,yBAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAA;QACrD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,uBAAA,IAAI,yBAAM,CAAC,GAAG,CAAC,UAAU,EAAE,CAAA;IACpC,CAAC;IAED,qBAAqB,CAAC,OAAe;QACnC,OAAO,uBAAA,IAAI,yBAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;IACpD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,EACpB,WAAW,EACX,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACA;QACjB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;QACvC,MAAM,eAAe,GAAG,qBAAqB,
|
|
1
|
+
{"version":3,"file":"Web3Adapter.js","sourceRoot":"","sources":["../../../../src/adapters/web3/Web3Adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,6 @@ class SafeProxyFactoryWeb3Contract {
|
|
|
13
13
|
return this.contract.methods.proxyCreationCode().call();
|
|
14
14
|
}
|
|
15
15
|
async createProxy({ safeMasterCopyAddress, initializer, saltNonce, options, callback }) {
|
|
16
|
-
var _a, _b, _c;
|
|
17
16
|
if (bignumber_1.BigNumber.from(saltNonce).lt(0))
|
|
18
17
|
throw new Error('saltNonce must be greater than or equal to 0');
|
|
19
18
|
if (options && !options.gas) {
|
|
@@ -29,7 +28,7 @@ class SafeProxyFactoryWeb3Contract {
|
|
|
29
28
|
callback(txResult.hash);
|
|
30
29
|
}
|
|
31
30
|
const txResult = await new Promise((resolve, reject) => txResponse.once('receipt', (receipt) => resolve(receipt)).catch(reject));
|
|
32
|
-
const proxyAddress =
|
|
31
|
+
const proxyAddress = txResult.events?.ProxyCreation?.returnValues?.proxy;
|
|
33
32
|
if (!proxyAddress) {
|
|
34
33
|
throw new Error('SafeProxy was not deployed correctly');
|
|
35
34
|
}
|
package/dist/src/adapters/web3/contracts/SafeProxyFactory/SafeProxyFactoryWeb3Contract.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SafeProxyFactoryWeb3Contract.js","sourceRoot":"","sources":["../../../../../../src/adapters/web3/contracts/SafeProxyFactory/SafeProxyFactoryWeb3Contract.ts"],"names":[],"mappings":";;AAAA,wDAAoD;AAEpD,yEAA0E;AAgB1E,MAAM,4BAA4B;IAChC,YACS,QAIoB;QAJpB,aAAQ,GAAR,QAAQ,CAIY;IAC1B,CAAC;IAEJ,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAA;IACtC,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,CAAA;IACzD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EAChB,qBAAqB,EACrB,WAAW,EACX,SAAS,EACT,OAAO,EACP,QAAQ,EACS
|
|
1
|
+
{"version":3,"file":"SafeProxyFactoryWeb3Contract.js","sourceRoot":"","sources":["../../../../../../src/adapters/web3/contracts/SafeProxyFactory/SafeProxyFactoryWeb3Contract.ts"],"names":[],"mappings":";;AAAA,wDAAoD;AAEpD,yEAA0E;AAgB1E,MAAM,4BAA4B;IAChC,YACS,QAIoB;QAJpB,aAAQ,GAAR,QAAQ,CAIY;IAC1B,CAAC;IAEJ,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAA;IACtC,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,CAAA;IACzD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EAChB,qBAAqB,EACrB,WAAW,EACX,SAAS,EACT,OAAO,EACP,QAAQ,EACS;QACjB,IAAI,qBAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;QACjE,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAC3B,OAAO,CAAC,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAClC,sBAAsB,EACtB,CAAC,qBAAqB,EAAE,WAAW,EAAE,SAAS,CAAC,EAC/C;gBACE,GAAG,OAAO;aACX,CACF,CAAA;SACF;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO;aACrC,oBAAoB,CAAC,qBAAqB,EAAE,WAAW,EAAE,SAAS,CAAC;aACnE,IAAI,CAAC,OAAO,CAAC,CAAA;QAEhB,IAAI,QAAQ,EAAE;YACZ,MAAM,QAAQ,GAAG,MAAM,IAAA,kBAAU,EAAC,UAAU,CAAC,CAAA;YAC7C,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;SACxB;QAED,MAAM,QAAQ,GAAuB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CACzE,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,OAA2B,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAC5F,CAAA;QACD,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,KAAK,CAAA;QACxE,IAAI,CAAC,YAAY,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;SACxD;QACD,OAAO,YAAY,CAAA;IACrB,CAAC;IAED,MAAM,CAAC,UAAkB,EAAE,MAAa;QACtC,OAAQ,IAAI,CAAC,QAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,SAAS,EAAE,CAAA;IAC1E,CAAC;IAED,KAAK,CAAC,WAAW,CACf,UAAkB,EAClB,MAAa,EACb,OAA+B;QAE/B,OAAO,CACL,MAAO,IAAI,CAAC,QAAQ,CAAC,OAAe,CAAC,UAAU,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CACjF,CAAC,QAAQ,EAAE,CAAA;IACd,CAAC;CACF;AAED,kBAAe,4BAA4B,CAAA"}
|
|
@@ -57,8 +57,8 @@ async function getSafeContract({ ethAdapter, safeVersion, customSafeAddress, isL
|
|
|
57
57
|
const safeContract = await ethAdapter.getSafeContract({
|
|
58
58
|
safeVersion,
|
|
59
59
|
singletonDeployment,
|
|
60
|
-
customContractAddress: customSafeAddress
|
|
61
|
-
customContractAbi: customContracts
|
|
60
|
+
customContractAddress: customSafeAddress ?? customContracts?.safeMasterCopyAddress,
|
|
61
|
+
customContractAbi: customContracts?.safeMasterCopyAbi
|
|
62
62
|
});
|
|
63
63
|
const isContractDeployed = await ethAdapter.isContractDeployed(safeContract.getAddress());
|
|
64
64
|
if (!isContractDeployed) {
|
|
@@ -73,8 +73,8 @@ async function getProxyFactoryContract({ ethAdapter, safeVersion, customContract
|
|
|
73
73
|
const safeProxyFactoryContract = await ethAdapter.getSafeProxyFactoryContract({
|
|
74
74
|
safeVersion,
|
|
75
75
|
singletonDeployment: proxyFactoryDeployment,
|
|
76
|
-
customContractAddress: customContracts
|
|
77
|
-
customContractAbi: customContracts
|
|
76
|
+
customContractAddress: customContracts?.safeProxyFactoryAddress,
|
|
77
|
+
customContractAbi: customContracts?.safeProxyFactoryAbi
|
|
78
78
|
});
|
|
79
79
|
const isContractDeployed = await ethAdapter.isContractDeployed(safeProxyFactoryContract.getAddress());
|
|
80
80
|
if (!isContractDeployed) {
|
|
@@ -89,8 +89,8 @@ async function getCompatibilityFallbackHandlerContract({ ethAdapter, safeVersion
|
|
|
89
89
|
const fallbackHandlerContract = await ethAdapter.getCompatibilityFallbackHandlerContract({
|
|
90
90
|
safeVersion,
|
|
91
91
|
singletonDeployment: fallbackHandlerDeployment,
|
|
92
|
-
customContractAddress: customContracts
|
|
93
|
-
customContractAbi: customContracts
|
|
92
|
+
customContractAddress: customContracts?.fallbackHandlerAddress,
|
|
93
|
+
customContractAbi: customContracts?.fallbackHandlerAbi
|
|
94
94
|
});
|
|
95
95
|
const isContractDeployed = await ethAdapter.isContractDeployed(fallbackHandlerContract.getAddress());
|
|
96
96
|
if (!isContractDeployed) {
|
|
@@ -105,8 +105,8 @@ async function getMultiSendContract({ ethAdapter, safeVersion, customContracts }
|
|
|
105
105
|
const multiSendContract = await ethAdapter.getMultiSendContract({
|
|
106
106
|
safeVersion,
|
|
107
107
|
singletonDeployment: multiSendDeployment,
|
|
108
|
-
customContractAddress: customContracts
|
|
109
|
-
customContractAbi: customContracts
|
|
108
|
+
customContractAddress: customContracts?.multiSendAddress,
|
|
109
|
+
customContractAbi: customContracts?.multiSendAbi
|
|
110
110
|
});
|
|
111
111
|
const isContractDeployed = await ethAdapter.isContractDeployed(multiSendContract.getAddress());
|
|
112
112
|
if (!isContractDeployed) {
|
|
@@ -121,8 +121,8 @@ async function getMultiSendCallOnlyContract({ ethAdapter, safeVersion, customCon
|
|
|
121
121
|
const multiSendCallOnlyContract = await ethAdapter.getMultiSendCallOnlyContract({
|
|
122
122
|
safeVersion,
|
|
123
123
|
singletonDeployment: multiSendCallOnlyDeployment,
|
|
124
|
-
customContractAddress: customContracts
|
|
125
|
-
customContractAbi: customContracts
|
|
124
|
+
customContractAddress: customContracts?.multiSendCallOnlyAddress,
|
|
125
|
+
customContractAbi: customContracts?.multiSendCallOnlyAbi
|
|
126
126
|
});
|
|
127
127
|
const isContractDeployed = await ethAdapter.isContractDeployed(multiSendCallOnlyContract.getAddress());
|
|
128
128
|
if (!isContractDeployed) {
|
|
@@ -137,8 +137,8 @@ async function getSignMessageLibContract({ ethAdapter, safeVersion, customContra
|
|
|
137
137
|
const signMessageLibContract = await ethAdapter.getSignMessageLibContract({
|
|
138
138
|
safeVersion,
|
|
139
139
|
singletonDeployment: signMessageLibDeployment,
|
|
140
|
-
customContractAddress: customContracts
|
|
141
|
-
customContractAbi: customContracts
|
|
140
|
+
customContractAddress: customContracts?.signMessageLibAddress,
|
|
141
|
+
customContractAbi: customContracts?.signMessageLibAbi
|
|
142
142
|
});
|
|
143
143
|
const isContractDeployed = await ethAdapter.isContractDeployed(signMessageLibContract.getAddress());
|
|
144
144
|
if (!isContractDeployed) {
|
|
@@ -153,8 +153,8 @@ async function getCreateCallContract({ ethAdapter, safeVersion, customContracts
|
|
|
153
153
|
const createCallContract = await ethAdapter.getCreateCallContract({
|
|
154
154
|
safeVersion,
|
|
155
155
|
singletonDeployment: createCallDeployment,
|
|
156
|
-
customContractAddress: customContracts
|
|
157
|
-
customContractAbi: customContracts
|
|
156
|
+
customContractAddress: customContracts?.createCallAddress,
|
|
157
|
+
customContractAbi: customContracts?.createCallAbi
|
|
158
158
|
});
|
|
159
159
|
const isContractDeployed = await ethAdapter.isContractDeployed(createCallContract.getAddress());
|
|
160
160
|
if (!isContractDeployed) {
|
|
@@ -169,8 +169,8 @@ async function getSimulateTxAccessorContract({ ethAdapter, safeVersion, customCo
|
|
|
169
169
|
const simulateTxAccessorContract = await ethAdapter.getSimulateTxAccessorContract({
|
|
170
170
|
safeVersion,
|
|
171
171
|
singletonDeployment: simulateTxAccessorDeployment,
|
|
172
|
-
customContractAddress: customContracts
|
|
173
|
-
customContractAbi: customContracts
|
|
172
|
+
customContractAddress: customContracts?.simulateTxAccessorAddress,
|
|
173
|
+
customContractAbi: customContracts?.simulateTxAccessorAbi
|
|
174
174
|
});
|
|
175
175
|
const isContractDeployed = await ethAdapter.isContractDeployed(simulateTxAccessorContract.getAddress());
|
|
176
176
|
if (!isContractDeployed) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safeDeploymentContracts.js","sourceRoot":"","sources":["../../../src/contracts/safeDeploymentContracts.ts"],"names":[],"mappings":";;;AAaA,oEAYsC;AACtC,qCAA6E;AAa7E,SAAgB,yBAAyB,CACvC,WAAwB,EACxB,OAAe,EACf,kBAAkB,GAAG,KAAK;IAE1B,MAAM,OAAO,GAAG,gCAAuB,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAAA;IAC1E,MAAM,OAAO,GAAqB,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;IAC1F,IAAI,kCAAyB,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,kBAAkB,EAAE;QACrE,OAAO,IAAA,6CAA0B,EAAC,OAAO,CAAC,CAAA;KAC3C;IACD,OAAO,IAAA,+CAA4B,EAAC,OAAO,CAAC,CAAA;AAC9C,CAAC;AAXD,8DAWC;AAED,SAAgB,iDAAiD,CAC/D,WAAwB,EACxB,OAAe;IAEf,MAAM,OAAO,GAAG,gCAAuB,CAAC,WAAW,CAAC,CAAC,4BAA4B,CAAA;IACjF,OAAO,IAAA,4DAAyC,EAAC;QAC/C,OAAO;QACP,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE;QAC3B,QAAQ,EAAE,IAAI;KACf,CAAC,CAAA;AACJ,CAAC;AAVD,8GAUC;AAED,SAAgB,sCAAsC,CACpD,WAAwB,EACxB,OAAe;IAEf,MAAM,OAAO,GAAG,gCAAuB,CAAC,WAAW,CAAC,CAAC,wBAAwB,CAAA;IAC7E,OAAO,IAAA,iDAA8B,EAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;AACjG,CAAC;AAND,wFAMC;AAED,SAAgB,8BAA8B,CAC5C,WAAwB,EACxB,OAAe;IAEf,MAAM,OAAO,GAAG,gCAAuB,CAAC,WAAW,CAAC,CAAC,gBAAgB,CAAA;IACrE,OAAO,IAAA,yCAAsB,EAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;AACzF,CAAC;AAND,wEAMC;AAED,SAAgB,qCAAqC,CACnD,WAAwB,EACxB,OAAe;IAEf,MAAM,OAAO,GAAG,gCAAuB,CAAC,WAAW,CAAC,CAAC,uBAAuB,CAAA;IAC5E,OAAO,IAAA,4CAAyB,EAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;AAC5F,CAAC;AAND,sFAMC;AAED,SAAgB,mCAAmC,CACjD,WAAwB,EACxB,OAAe;IAEf,MAAM,OAAO,GAAG,gCAAuB,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAAA;IAC1E,OAAO,IAAA,8CAA2B,EAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;AAC9F,CAAC;AAND,kFAMC;AAED,SAAgB,+BAA+B,CAC7C,WAAwB,EACxB,OAAe;IAEf,MAAM,OAAO,GAAG,gCAAuB,CAAC,WAAW,CAAC,CAAC,iBAAiB,CAAA;IACtE,OAAO,IAAA,0CAAuB,EAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;AAC1F,CAAC;AAND,0EAMC;AAED,SAAgB,uCAAuC,CACrD,WAAwB,EACxB,OAAe;IAEf,MAAM,OAAO,GAAG,gCAAuB,CAAC,WAAW,CAAC,CAAC,iBAAiB,CAAA;IACtE,OAAO,IAAA,kDAA+B,EAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;AAClG,CAAC;AAND,0FAMC;AAEM,KAAK,UAAU,eAAe,CAAC,EACpC,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACc;IAC7B,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,CAAA;IAC7C,MAAM,mBAAmB,GAAG,yBAAyB,CAAC,WAAW,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAA;IAC/F,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC;QACpD,WAAW;QACX,mBAAmB;QACnB,qBAAqB,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"safeDeploymentContracts.js","sourceRoot":"","sources":["../../../src/contracts/safeDeploymentContracts.ts"],"names":[],"mappings":";;;AAaA,oEAYsC;AACtC,qCAA6E;AAa7E,SAAgB,yBAAyB,CACvC,WAAwB,EACxB,OAAe,EACf,kBAAkB,GAAG,KAAK;IAE1B,MAAM,OAAO,GAAG,gCAAuB,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAAA;IAC1E,MAAM,OAAO,GAAqB,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;IAC1F,IAAI,kCAAyB,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,kBAAkB,EAAE;QACrE,OAAO,IAAA,6CAA0B,EAAC,OAAO,CAAC,CAAA;KAC3C;IACD,OAAO,IAAA,+CAA4B,EAAC,OAAO,CAAC,CAAA;AAC9C,CAAC;AAXD,8DAWC;AAED,SAAgB,iDAAiD,CAC/D,WAAwB,EACxB,OAAe;IAEf,MAAM,OAAO,GAAG,gCAAuB,CAAC,WAAW,CAAC,CAAC,4BAA4B,CAAA;IACjF,OAAO,IAAA,4DAAyC,EAAC;QAC/C,OAAO;QACP,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE;QAC3B,QAAQ,EAAE,IAAI;KACf,CAAC,CAAA;AACJ,CAAC;AAVD,8GAUC;AAED,SAAgB,sCAAsC,CACpD,WAAwB,EACxB,OAAe;IAEf,MAAM,OAAO,GAAG,gCAAuB,CAAC,WAAW,CAAC,CAAC,wBAAwB,CAAA;IAC7E,OAAO,IAAA,iDAA8B,EAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;AACjG,CAAC;AAND,wFAMC;AAED,SAAgB,8BAA8B,CAC5C,WAAwB,EACxB,OAAe;IAEf,MAAM,OAAO,GAAG,gCAAuB,CAAC,WAAW,CAAC,CAAC,gBAAgB,CAAA;IACrE,OAAO,IAAA,yCAAsB,EAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;AACzF,CAAC;AAND,wEAMC;AAED,SAAgB,qCAAqC,CACnD,WAAwB,EACxB,OAAe;IAEf,MAAM,OAAO,GAAG,gCAAuB,CAAC,WAAW,CAAC,CAAC,uBAAuB,CAAA;IAC5E,OAAO,IAAA,4CAAyB,EAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;AAC5F,CAAC;AAND,sFAMC;AAED,SAAgB,mCAAmC,CACjD,WAAwB,EACxB,OAAe;IAEf,MAAM,OAAO,GAAG,gCAAuB,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAAA;IAC1E,OAAO,IAAA,8CAA2B,EAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;AAC9F,CAAC;AAND,kFAMC;AAED,SAAgB,+BAA+B,CAC7C,WAAwB,EACxB,OAAe;IAEf,MAAM,OAAO,GAAG,gCAAuB,CAAC,WAAW,CAAC,CAAC,iBAAiB,CAAA;IACtE,OAAO,IAAA,0CAAuB,EAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;AAC1F,CAAC;AAND,0EAMC;AAED,SAAgB,uCAAuC,CACrD,WAAwB,EACxB,OAAe;IAEf,MAAM,OAAO,GAAG,gCAAuB,CAAC,WAAW,CAAC,CAAC,iBAAiB,CAAA;IACtE,OAAO,IAAA,kDAA+B,EAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;AAClG,CAAC;AAND,0FAMC;AAEM,KAAK,UAAU,eAAe,CAAC,EACpC,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACc;IAC7B,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,CAAA;IAC7C,MAAM,mBAAmB,GAAG,yBAAyB,CAAC,WAAW,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAA;IAC/F,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC;QACpD,WAAW;QACX,mBAAmB;QACnB,qBAAqB,EAAE,iBAAiB,IAAI,eAAe,EAAE,qBAAqB;QAClF,iBAAiB,EAAE,eAAe,EAAE,iBAAiB;KACtD,CAAC,CAAA;IACF,MAAM,kBAAkB,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,CAAA;IACzF,IAAI,CAAC,kBAAkB,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;KAC7E;IACD,OAAO,YAAY,CAAA;AACrB,CAAC;AApBD,0CAoBC;AAEM,KAAK,UAAU,uBAAuB,CAAC,EAC5C,UAAU,EACV,WAAW,EACX,eAAe,EACU;IACzB,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,CAAA;IAC7C,MAAM,sBAAsB,GAAG,qCAAqC,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;IAC1F,MAAM,wBAAwB,GAAG,MAAM,UAAU,CAAC,2BAA2B,CAAC;QAC5E,WAAW;QACX,mBAAmB,EAAE,sBAAsB;QAC3C,qBAAqB,EAAE,eAAe,EAAE,uBAAuB;QAC/D,iBAAiB,EAAE,eAAe,EAAE,mBAAmB;KACxD,CAAC,CAAA;IACF,MAAM,kBAAkB,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAC5D,wBAAwB,CAAC,UAAU,EAAE,CACtC,CAAA;IACD,IAAI,CAAC,kBAAkB,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAA;KACpF;IACD,OAAO,wBAAwB,CAAA;AACjC,CAAC;AApBD,0DAoBC;AAEM,KAAK,UAAU,uCAAuC,CAAC,EAC5D,UAAU,EACV,WAAW,EACX,eAAe,EACU;IACzB,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,CAAA;IAC7C,MAAM,yBAAyB,GAAG,iDAAiD,CACjF,WAAW,EACX,OAAO,CACR,CAAA;IACD,MAAM,uBAAuB,GAAG,MAAM,UAAU,CAAC,uCAAuC,CAAC;QACvF,WAAW;QACX,mBAAmB,EAAE,yBAAyB;QAC9C,qBAAqB,EAAE,eAAe,EAAE,sBAAsB;QAC9D,iBAAiB,EAAE,eAAe,EAAE,kBAAkB;KACvD,CAAC,CAAA;IACF,MAAM,kBAAkB,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAC5D,uBAAuB,CAAC,UAAU,EAAE,CACrC,CAAA;IACD,IAAI,CAAC,kBAAkB,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAA;KAChG;IACD,OAAO,uBAAuB,CAAA;AAChC,CAAC;AAvBD,0FAuBC;AAEM,KAAK,UAAU,oBAAoB,CAAC,EACzC,UAAU,EACV,WAAW,EACX,eAAe,EACU;IACzB,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,CAAA;IAC7C,MAAM,mBAAmB,GAAG,8BAA8B,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;IAChF,MAAM,iBAAiB,GAAG,MAAM,UAAU,CAAC,oBAAoB,CAAC;QAC9D,WAAW;QACX,mBAAmB,EAAE,mBAAmB;QACxC,qBAAqB,EAAE,eAAe,EAAE,gBAAgB;QACxD,iBAAiB,EAAE,eAAe,EAAE,YAAY;KACjD,CAAC,CAAA;IACF,MAAM,kBAAkB,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC,CAAA;IAC9F,IAAI,CAAC,kBAAkB,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;KAC7E;IACD,OAAO,iBAAiB,CAAA;AAC1B,CAAC;AAlBD,oDAkBC;AAEM,KAAK,UAAU,4BAA4B,CAAC,EACjD,UAAU,EACV,WAAW,EACX,eAAe,EACU;IACzB,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,CAAA;IAC7C,MAAM,2BAA2B,GAAG,sCAAsC,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;IAChG,MAAM,yBAAyB,GAAG,MAAM,UAAU,CAAC,4BAA4B,CAAC;QAC9E,WAAW;QACX,mBAAmB,EAAE,2BAA2B;QAChD,qBAAqB,EAAE,eAAe,EAAE,wBAAwB;QAChE,iBAAiB,EAAE,eAAe,EAAE,oBAAoB;KACzD,CAAC,CAAA;IACF,MAAM,kBAAkB,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAC5D,yBAAyB,CAAC,UAAU,EAAE,CACvC,CAAA;IACD,IAAI,CAAC,kBAAkB,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAA;KACrF;IACD,OAAO,yBAAyB,CAAA;AAClC,CAAC;AApBD,oEAoBC;AAEM,KAAK,UAAU,yBAAyB,CAAC,EAC9C,UAAU,EACV,WAAW,EACX,eAAe,EACU;IACzB,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,CAAA;IAC7C,MAAM,wBAAwB,GAAG,mCAAmC,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;IAC1F,MAAM,sBAAsB,GAAG,MAAM,UAAU,CAAC,yBAAyB,CAAC;QACxE,WAAW;QACX,mBAAmB,EAAE,wBAAwB;QAC7C,qBAAqB,EAAE,eAAe,EAAE,qBAAqB;QAC7D,iBAAiB,EAAE,eAAe,EAAE,iBAAiB;KACtD,CAAC,CAAA;IACF,MAAM,kBAAkB,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAC5D,sBAAsB,CAAC,UAAU,EAAE,CACpC,CAAA;IACD,IAAI,CAAC,kBAAkB,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAA;KAClF;IACD,OAAO,sBAAsB,CAAA;AAC/B,CAAC;AApBD,8DAoBC;AAEM,KAAK,UAAU,qBAAqB,CAAC,EAC1C,UAAU,EACV,WAAW,EACX,eAAe,EACU;IACzB,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,CAAA;IAC7C,MAAM,oBAAoB,GAAG,+BAA+B,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;IAClF,MAAM,kBAAkB,GAAG,MAAM,UAAU,CAAC,qBAAqB,CAAC;QAChE,WAAW;QACX,mBAAmB,EAAE,oBAAoB;QACzC,qBAAqB,EAAE,eAAe,EAAE,iBAAiB;QACzD,iBAAiB,EAAE,eAAe,EAAE,aAAa;KAClD,CAAC,CAAA;IACF,MAAM,kBAAkB,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,UAAU,EAAE,CAAC,CAAA;IAC/F,IAAI,CAAC,kBAAkB,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAA;KAC9E;IACD,OAAO,kBAAkB,CAAA;AAC3B,CAAC;AAlBD,sDAkBC;AAEM,KAAK,UAAU,6BAA6B,CAAC,EAClD,UAAU,EACV,WAAW,EACX,eAAe,EACU;IACzB,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,CAAA;IAC7C,MAAM,4BAA4B,GAAG,uCAAuC,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;IAClG,MAAM,0BAA0B,GAAG,MAAM,UAAU,CAAC,6BAA6B,CAAC;QAChF,WAAW;QACX,mBAAmB,EAAE,4BAA4B;QACjD,qBAAqB,EAAE,eAAe,EAAE,yBAAyB;QACjE,iBAAiB,EAAE,eAAe,EAAE,qBAAqB;KAC1D,CAAC,CAAA;IACF,MAAM,kBAAkB,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAC5D,0BAA0B,CAAC,UAAU,EAAE,CACxC,CAAA;IACD,IAAI,CAAC,kBAAkB,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAA;KACtF;IACD,OAAO,0BAA0B,CAAA;AACnC,CAAC;AApBD,sEAoBC"}
|
|
@@ -11,9 +11,25 @@ const constants_1 = require("../utils/constants");
|
|
|
11
11
|
const memoized_1 = require("../utils/memoized");
|
|
12
12
|
const ethereumjs_util_1 = require("ethereumjs-util");
|
|
13
13
|
const satisfies_1 = __importDefault(require("semver/functions/satisfies"));
|
|
14
|
+
const zksync_web3_1 = require("zksync-web3");
|
|
14
15
|
const safeDeploymentContracts_1 = require("../contracts/safeDeploymentContracts");
|
|
15
16
|
// keccak256(toUtf8Bytes('Safe Account Abstraction'))
|
|
16
17
|
exports.PREDETERMINED_SALT_NONCE = '0xb1073742015cbcf5a3a4d9d1ae33ecf619439710b89475f92e2abd2117e90f90';
|
|
18
|
+
const ZKSYNC_MAINNET = 324;
|
|
19
|
+
const ZKSYNC_TESTNET = 280;
|
|
20
|
+
// For bundle size efficiency we store SafeProxy.sol/GnosisSafeProxy.sol zksync bytecode hash in hex.
|
|
21
|
+
// To get the values below we need to:
|
|
22
|
+
// 1. Compile Safe smart contracts for zksync
|
|
23
|
+
// 2. Get `deployedBytecode` from SafeProxy.json/GnosisSafeProxy.json
|
|
24
|
+
// 3. Use zksync-web3 SDK to get the bytecode hash
|
|
25
|
+
// const bytecodeHash = zkSyncUtils.hashBytecode(${deployedBytecode})
|
|
26
|
+
// 4. Use ethers to convert the array into hex
|
|
27
|
+
// const deployedBytecodeHash = ethers.utils.hexlify(bytecodeHash)
|
|
28
|
+
const ZKSYNC_SAFE_PROXY_DEPLOYED_BYTECODE = {
|
|
29
|
+
'1.3.0': {
|
|
30
|
+
deployedBytecodeHash: '0x0100004124426fb9ebb25e27d670c068e52f9ba631bd383279a188be47e3f86d'
|
|
31
|
+
}
|
|
32
|
+
};
|
|
17
33
|
function encodeCreateProxyWithNonce(safeProxyFactoryContract, safeSingletonAddress, initializer) {
|
|
18
34
|
return safeProxyFactoryContract.encode('createProxyWithNonce', [
|
|
19
35
|
safeSingletonAddress,
|
|
@@ -98,7 +114,15 @@ async function predictSafeAddress({ ethAdapter, safeAccountConfig, safeDeploymen
|
|
|
98
114
|
});
|
|
99
115
|
const encodedNonce = (0, ethereumjs_util_1.toBuffer)(ethAdapter.encodeParameters(['uint256'], [saltNonce])).toString('hex');
|
|
100
116
|
const salt = (0, ethereumjs_util_1.keccak256)((0, ethereumjs_util_1.toBuffer)('0x' + (0, ethereumjs_util_1.keccak256)((0, ethereumjs_util_1.toBuffer)(initializer)).toString('hex') + encodedNonce));
|
|
101
|
-
const
|
|
117
|
+
const input = ethAdapter.encodeParameters(['address'], [safeContract.getAddress()]);
|
|
118
|
+
const chainId = await ethAdapter.getChainId();
|
|
119
|
+
// zkSync Era counterfactual deployment is calculated differently
|
|
120
|
+
// https://era.zksync.io/docs/reference/architecture/differences-with-ethereum.html#create-create2
|
|
121
|
+
if ([ZKSYNC_MAINNET, ZKSYNC_TESTNET].includes(chainId)) {
|
|
122
|
+
const bytecodeHash = ZKSYNC_SAFE_PROXY_DEPLOYED_BYTECODE[safeVersion].deployedBytecodeHash;
|
|
123
|
+
return zksync_web3_1.utils.create2Address(safeProxyFactoryContract.getAddress(), bytecodeHash, salt, input);
|
|
124
|
+
}
|
|
125
|
+
const constructorData = (0, ethereumjs_util_1.toBuffer)(input).toString('hex');
|
|
102
126
|
const initCode = proxyCreationCode + constructorData;
|
|
103
127
|
const proxyAddress = '0x' +
|
|
104
128
|
(0, ethereumjs_util_1.generateAddress2)((0, ethereumjs_util_1.toBuffer)(safeProxyFactoryContract.getAddress()), (0, ethereumjs_util_1.toBuffer)(salt), (0, ethereumjs_util_1.toBuffer)(initCode)).toString('hex');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/contracts/utils.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAkD;AAClD,wDAAoD;AACpD,uEAAiF;AACjF,yEAAoF;AACpF,uEAAiF;AAOjF,qDAAuE;AACvE,2EAAwD;AACxD,kFAI6C;AAG7C,qDAAqD;AACxC,QAAA,wBAAwB,GACnC,oEAAoE,CAAA;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/contracts/utils.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAkD;AAClD,wDAAoD;AACpD,uEAAiF;AACjF,yEAAoF;AACpF,uEAAiF;AAOjF,qDAAuE;AACvE,2EAAwD;AACxD,6CAAkD;AAElD,kFAI6C;AAG7C,qDAAqD;AACxC,QAAA,wBAAwB,GACnC,oEAAoE,CAAA;AAEtE,MAAM,cAAc,GAAG,GAAG,CAAA;AAC1B,MAAM,cAAc,GAAG,GAAG,CAAA;AAC1B,qGAAqG;AACrG,sCAAsC;AACtC,6CAA6C;AAC7C,qEAAqE;AACrE,kDAAkD;AAClD,wEAAwE;AACxE,8CAA8C;AAC9C,qEAAqE;AACrE,MAAM,mCAAmC,GAErC;IACF,OAAO,EAAE;QACP,oBAAoB,EAAE,oEAAoE;KAC3F;CACF,CAAA;AAkBD,SAAgB,0BAA0B,CACxC,wBAAkD,EAClD,oBAA4B,EAC5B,WAAmB;IAEnB,OAAO,wBAAwB,CAAC,MAAM,CAAC,sBAAsB,EAAE;QAC7D,oBAAoB;QACpB,WAAW;QACX,gCAAwB;KACzB,CAAC,CAAA;AACJ,CAAC;AAVD,gEAUC;AAED,MAAM,+CAA+C,GAAG,IAAA,iCAAsB,EAC5E,iEAAuC,CACxC,CAAA;AAEM,KAAK,UAAU,mBAAmB,CAAC,EACxC,UAAU,EACV,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,iBAAiB,EACQ;IACzB,MAAM,EACJ,MAAM,EACN,SAAS,EACT,EAAE,GAAG,wBAAY,EACjB,IAAI,GAAG,sBAAU,EACjB,eAAe,EACf,YAAY,GAAG,wBAAY,EAC3B,OAAO,GAAG,CAAC,EACX,eAAe,GAAG,wBAAY,EAC/B,GAAG,iBAAiB,CAAA;IAErB,MAAM,WAAW,GAAG,iBAAiB,IAAI,CAAC,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC,CAAA;IAE1E,IAAI,IAAA,mBAAe,EAAC,WAAW,EAAE,SAAS,CAAC,EAAE;QAC3C,OAAO,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE;YAClC,MAAM;YACN,SAAS;YACT,EAAE;YACF,IAAI;YACJ,YAAY;YACZ,OAAO;YACP,eAAe;SAChB,CAAC,CAAA;KACH;IAED,IAAI,sBAAsB,GAAG,eAAe,CAAA;IAC5C,MAAM,cAAc,GAAG,sBAAsB,KAAK,SAAS,IAAI,IAAA,mBAAS,EAAC,sBAAsB,CAAC,CAAA;IAChG,IAAI,CAAC,cAAc,EAAE;QACnB,MAAM,uBAAuB,GAAG,MAAM,+CAA+C,CAAC;YACpF,UAAU;YACV,WAAW;YACX,eAAe;SAChB,CAAC,CAAA;QAEF,sBAAsB,GAAG,uBAAuB,CAAC,UAAU,EAAE,CAAA;KAC9D;IAED,OAAO,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE;QAClC,MAAM;QACN,SAAS;QACT,EAAE;QACF,IAAI;QACJ,sBAAsB;QACtB,YAAY;QACZ,OAAO;QACP,eAAe;KAChB,CAAC,CAAA;AACJ,CAAC;AAtDD,kDAsDC;AAED,MAAM,+BAA+B,GAAG,IAAA,iCAAsB,EAAC,iDAAuB,CAAC,CAAA;AACvF,MAAM,uBAAuB,GAAG,IAAA,iCAAsB,EAAC,yCAAe,CAAC,CAAA;AACvE,MAAM,4BAA4B,GAAG,IAAA,iCAAsB,EACzD,KAAK,EAAE,EACL,UAAU,EACV,WAAW,EACX,eAAe,EAKhB,EAAE,EAAE;IACH,MAAM,wBAAwB,GAAG,MAAM,+BAA+B,CAAC;QACrE,UAAU;QACV,WAAW;QACX,eAAe;KAChB,CAAC,CAAA;IAEF,OAAO,wBAAwB,CAAC,iBAAiB,EAAE,CAAA;AACrD,CAAC,CACF,CAAA;AAEM,KAAK,UAAU,kBAAkB,CAAC,EACvC,UAAU,EACV,iBAAiB,EACjB,oBAAoB,GAAG,EAAE,EACzB,kBAAkB,GAAG,KAAK,EAC1B,eAAe,EACS;IACxB,IAAA,iCAAyB,EAAC,iBAAiB,CAAC,CAAA;IAC5C,IAAA,oCAA4B,EAAC,oBAAoB,CAAC,CAAA;IAElD,MAAM,EAAE,WAAW,GAAG,6BAAoB,EAAE,SAAS,GAAG,gCAAwB,EAAE,GAChF,oBAAoB,CAAA;IAEtB,MAAM,wBAAwB,GAAG,MAAM,+BAA+B,CAAC;QACrE,UAAU;QACV,WAAW;QACX,eAAe;KAChB,CAAC,CAAA;IAEF,MAAM,iBAAiB,GAAG,MAAM,4BAA4B,CAAC;QAC3D,UAAU;QACV,WAAW;QACX,eAAe;KAChB,CAAC,CAAA;IAEF,MAAM,YAAY,GAAG,MAAM,uBAAuB,CAAC;QACjD,UAAU;QACV,WAAW;QACX,kBAAkB;QAClB,eAAe;KAChB,CAAC,CAAA;IAEF,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC;QAC5C,UAAU;QACV,iBAAiB;QACjB,YAAY;QACZ,eAAe;QACf,iBAAiB,EAAE,WAAW,CAAC,8DAA8D;KAC9F,CAAC,CAAA;IAEF,MAAM,YAAY,GAAG,IAAA,0BAAQ,EAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAC3F,KAAK,CACN,CAAA;IAED,MAAM,IAAI,GAAG,IAAA,2BAAS,EACpB,IAAA,0BAAQ,EAAC,IAAI,GAAG,IAAA,2BAAS,EAAC,IAAA,0BAAQ,EAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,CACjF,CAAA;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;IAEnF,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,CAAA;IAC7C,iEAAiE;IACjE,kGAAkG;IAClG,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;QACtD,MAAM,YAAY,GAAG,mCAAmC,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAA;QAC1F,OAAO,mBAAW,CAAC,cAAc,CAC/B,wBAAwB,CAAC,UAAU,EAAE,EACrC,YAAY,EACZ,IAAI,EACJ,KAAK,CACN,CAAA;KACF;IAED,MAAM,eAAe,GAAG,IAAA,0BAAQ,EAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEvD,MAAM,QAAQ,GAAG,iBAAiB,GAAG,eAAe,CAAA;IAEpD,MAAM,YAAY,GAChB,IAAI;QACJ,IAAA,kCAAgB,EACd,IAAA,0BAAQ,EAAC,wBAAwB,CAAC,UAAU,EAAE,CAAC,EAC/C,IAAA,0BAAQ,EAAC,IAAI,CAAC,EACd,IAAA,0BAAQ,EAAC,QAAQ,CAAC,CACnB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEnB,OAAO,UAAU,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAA;AACvD,CAAC;AA5ED,gDA4EC;AAEM,MAAM,yBAAyB,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,EAAqB,EAAQ,EAAE;IAC1F,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;IAClF,IAAI,SAAS,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;IACnF,IAAI,SAAS,GAAG,MAAM,CAAC,MAAM;QAC3B,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;AAC7E,CAAC,CAAA;AALY,QAAA,yBAAyB,6BAKrC;AAEM,MAAM,4BAA4B,GAAG,CAAC,EAAE,SAAS,EAAwB,EAAQ,EAAE;IACxF,IAAI,SAAS,IAAI,qBAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;AACnE,CAAC,CAAA;AAHY,QAAA,4BAA4B,gCAGxC"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -7,8 +7,9 @@ import { PREDETERMINED_SALT_NONCE, encodeCreateProxyWithNonce, encodeSetupCallDa
|
|
|
7
7
|
import ContractManager from './managers/contractManager';
|
|
8
8
|
import SafeFactory, { DeploySafeProps, SafeFactoryConfig } from './safeFactory';
|
|
9
9
|
import { AddOwnerTxParams, ConnectSafeConfig, ConnectSafeConfigWithPredictedSafe, ConnectSafeConfigWithSafeAddress, ContractNetworksConfig, CreateTransactionProps, PredictedSafeProps, RemoveOwnerTxParams, SafeAccountConfig, SafeConfig, SafeConfigWithPredictedSafe, SafeConfigWithSafeAddress, SafeDeploymentConfig, StandardizeSafeTransactionDataProps, SwapOwnerTxParams } from './types';
|
|
10
|
-
import { EthSafeSignature } from './utils';
|
|
10
|
+
import { EthSafeSignature, estimateTxBaseGas, estimateTxGas, estimateSafeTxGas, estimateSafeDeploymentGas } from './utils';
|
|
11
11
|
import { SafeTransactionOptionalProps } from './utils/transactions/types';
|
|
12
12
|
import { encodeMultiSendData, standardizeSafeTransactionData } from './utils/transactions/utils';
|
|
13
|
-
|
|
13
|
+
import { getERC20Decimals, isGasTokenCompatibleWithHandlePayment, createERC20TokenTransferTransaction } from './utils/erc-20';
|
|
14
|
+
export { AddOwnerTxParams, estimateTxBaseGas, estimateTxGas, estimateSafeTxGas, estimateSafeDeploymentGas, ConnectSafeConfig, ConnectSafeConfigWithPredictedSafe, ConnectSafeConfigWithSafeAddress, ContractManager, ContractNetworksConfig, CreateCallEthersContract, CreateCallWeb3Contract, createERC20TokenTransferTransaction, CreateEthersProxyProps, CreateTransactionProps, CreateWeb3ProxyProps, DEFAULT_SAFE_VERSION, DeploySafeProps, EthSafeSignature, EthersAdapter, EthersAdapterConfig, EthersTransactionOptions, EthersTransactionResult, MultiSendCallOnlyEthersContract, MultiSendCallOnlyWeb3Contract, MultiSendEthersContract, MultiSendWeb3Contract, PREDETERMINED_SALT_NONCE, PredictedSafeProps, RemoveOwnerTxParams, SafeAccountConfig, SafeConfig, SafeConfigWithPredictedSafe, SafeConfigWithSafeAddress, SafeContractEthers, SafeContractWeb3, SafeDeploymentConfig, SafeFactory, SafeFactoryConfig, SafeProxyFactoryEthersContract, SafeProxyFactoryWeb3Contract, SafeTransactionOptionalProps, SignMessageLibEthersContract, SignMessageLibWeb3Contract, StandardizeSafeTransactionDataProps, SwapOwnerTxParams, Web3Adapter, Web3AdapterConfig, Web3TransactionOptions, Web3TransactionResult, encodeCreateProxyWithNonce, encodeMultiSendData, encodeSetupCallData, getCompatibilityFallbackHandlerContract, getCreateCallContract, getERC20Decimals, getMultiSendCallOnlyContract, getMultiSendContract, getProxyFactoryContract, getSafeContract, getSignMessageLibContract, isGasTokenCompatibleWithHandlePayment, predictSafeAddress, standardizeSafeTransactionData };
|
|
14
15
|
export default Safe;
|
package/dist/src/index.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.standardizeSafeTransactionData = exports.predictSafeAddress = exports.getSignMessageLibContract = exports.getSafeContract = exports.getProxyFactoryContract = exports.getMultiSendContract = exports.getMultiSendCallOnlyContract = exports.getCreateCallContract = exports.getCompatibilityFallbackHandlerContract = exports.encodeSetupCallData = exports.encodeMultiSendData = exports.encodeCreateProxyWithNonce = exports.Web3Adapter = exports.SignMessageLibWeb3Contract = exports.SignMessageLibEthersContract = exports.SafeProxyFactoryWeb3Contract = exports.SafeProxyFactoryEthersContract = exports.SafeFactory = exports.SafeContractWeb3 = exports.SafeContractEthers = exports.PREDETERMINED_SALT_NONCE = exports.MultiSendWeb3Contract = exports.MultiSendEthersContract = exports.MultiSendCallOnlyWeb3Contract = exports.MultiSendCallOnlyEthersContract = exports.EthersAdapter = exports.EthSafeSignature = exports.DEFAULT_SAFE_VERSION = exports.CreateCallWeb3Contract = exports.CreateCallEthersContract = exports.ContractManager = void 0;
|
|
6
|
+
exports.standardizeSafeTransactionData = exports.predictSafeAddress = exports.isGasTokenCompatibleWithHandlePayment = exports.getSignMessageLibContract = exports.getSafeContract = exports.getProxyFactoryContract = exports.getMultiSendContract = exports.getMultiSendCallOnlyContract = exports.getERC20Decimals = exports.getCreateCallContract = exports.getCompatibilityFallbackHandlerContract = exports.encodeSetupCallData = exports.encodeMultiSendData = exports.encodeCreateProxyWithNonce = exports.Web3Adapter = exports.SignMessageLibWeb3Contract = exports.SignMessageLibEthersContract = exports.SafeProxyFactoryWeb3Contract = exports.SafeProxyFactoryEthersContract = exports.SafeFactory = exports.SafeContractWeb3 = exports.SafeContractEthers = exports.PREDETERMINED_SALT_NONCE = exports.MultiSendWeb3Contract = exports.MultiSendEthersContract = exports.MultiSendCallOnlyWeb3Contract = exports.MultiSendCallOnlyEthersContract = exports.EthersAdapter = exports.EthSafeSignature = exports.DEFAULT_SAFE_VERSION = exports.createERC20TokenTransferTransaction = exports.CreateCallWeb3Contract = exports.CreateCallEthersContract = exports.ContractManager = exports.estimateSafeDeploymentGas = exports.estimateSafeTxGas = exports.estimateTxGas = exports.estimateTxBaseGas = void 0;
|
|
7
7
|
const Safe_1 = __importDefault(require("./Safe"));
|
|
8
8
|
const ethers_1 = require("./adapters/ethers");
|
|
9
9
|
Object.defineProperty(exports, "CreateCallEthersContract", { enumerable: true, get: function () { return ethers_1.CreateCallEthersContract; } });
|
|
@@ -42,8 +42,16 @@ const safeFactory_1 = __importDefault(require("./safeFactory"));
|
|
|
42
42
|
exports.SafeFactory = safeFactory_1.default;
|
|
43
43
|
const utils_2 = require("./utils");
|
|
44
44
|
Object.defineProperty(exports, "EthSafeSignature", { enumerable: true, get: function () { return utils_2.EthSafeSignature; } });
|
|
45
|
+
Object.defineProperty(exports, "estimateTxBaseGas", { enumerable: true, get: function () { return utils_2.estimateTxBaseGas; } });
|
|
46
|
+
Object.defineProperty(exports, "estimateTxGas", { enumerable: true, get: function () { return utils_2.estimateTxGas; } });
|
|
47
|
+
Object.defineProperty(exports, "estimateSafeTxGas", { enumerable: true, get: function () { return utils_2.estimateSafeTxGas; } });
|
|
48
|
+
Object.defineProperty(exports, "estimateSafeDeploymentGas", { enumerable: true, get: function () { return utils_2.estimateSafeDeploymentGas; } });
|
|
45
49
|
const utils_3 = require("./utils/transactions/utils");
|
|
46
50
|
Object.defineProperty(exports, "encodeMultiSendData", { enumerable: true, get: function () { return utils_3.encodeMultiSendData; } });
|
|
47
51
|
Object.defineProperty(exports, "standardizeSafeTransactionData", { enumerable: true, get: function () { return utils_3.standardizeSafeTransactionData; } });
|
|
52
|
+
const erc_20_1 = require("./utils/erc-20");
|
|
53
|
+
Object.defineProperty(exports, "getERC20Decimals", { enumerable: true, get: function () { return erc_20_1.getERC20Decimals; } });
|
|
54
|
+
Object.defineProperty(exports, "isGasTokenCompatibleWithHandlePayment", { enumerable: true, get: function () { return erc_20_1.isGasTokenCompatibleWithHandlePayment; } });
|
|
55
|
+
Object.defineProperty(exports, "createERC20TokenTransferTransaction", { enumerable: true, get: function () { return erc_20_1.createERC20TokenTransferTransaction; } });
|
|
48
56
|
exports.default = Safe_1.default;
|
|
49
57
|
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAyB;AACzB,8CAY0B;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAyB;AACzB,8CAY0B;AA2ExB,yGAtFA,iCAAwB,OAsFA;AASxB,8FA7FA,sBAAa,OA6FA;AAIb,gHA7FA,wCAA+B,OA6FA;AAE/B,wGA9FA,gCAAuB,OA8FA;AASvB,mGAtGA,2BAAkB,OAsGA;AAKlB,+GA1GA,uCAA8B,OA0GA;AAG9B,6GA5GA,qCAA4B,OA4GA;AA1G9B,0CAYwB;AA+DtB,uGA1EA,6BAAsB,OA0EA;AAatB,8GArFA,oCAA6B,OAqFA;AAE7B,sGAtFA,4BAAqB,OAsFA;AASrB,iGA9FA,uBAAgB,OA8FA;AAKhB,6GAlGA,mCAA4B,OAkGA;AAG5B,2GApGA,iCAA0B,OAoGA;AAG1B,4FAtGA,kBAAW,OAsGA;AAjGb,+CAAyD;AAmEvD,qGAnEO,6BAAoB,OAmEP;AAlEtB,iFAQ4C;AA+F1C,wHAtGA,iEAAuC,OAsGA;AACvC,sGAtGA,+CAAqB,OAsGA;AAErB,6GAvGA,sDAA4B,OAuGA;AAC5B,qGAvGA,8CAAoB,OAuGA;AACpB,wGAvGA,iDAAuB,OAuGA;AACvB,gGAvGA,yCAAe,OAuGA;AACf,0GAvGA,mDAAyB,OAuGA;AArG3B,6CAK0B;AA+DxB,yGAnEA,gCAAwB,OAmEA;AAuBxB,2GAzFA,kCAA0B,OAyFA;AAE1B,oGA1FA,2BAAmB,OA0FA;AAUnB,mGAnGA,0BAAkB,OAmGA;AAjGpB,iFAAwD;AA2CtD,0BA3CK,yBAAe,CA2CL;AA1CjB,gEAA+E;AAuE7E,sBAvEK,qBAAW,CAuEL;AArDb,mCAMgB;AA4Bd,iGAjCA,wBAAgB,OAiCA;AAjBhB,kGAfA,yBAAiB,OAeA;AACjB,8FAfA,qBAAa,OAeA;AACb,kGAfA,yBAAiB,OAeA;AACjB,0GAfA,iCAAyB,OAeA;AAZ3B,sDAAgG;AA2D9F,oGA3DO,2BAAmB,OA2DP;AAYnB,+GAvE4B,sCAA8B,OAuE5B;AAtEhC,2CAIuB;AA0DrB,iGA7DA,yBAAgB,OA6DA;AAMhB,sHAlEA,8CAAqC,OAkEA;AAjDrC,oHAhBA,4CAAmC,OAgBA;AAsDrC,kBAAe,cAAI,CAAA"}
|
|
@@ -29,32 +29,37 @@ class ContractManager {
|
|
|
29
29
|
return contractManager;
|
|
30
30
|
}
|
|
31
31
|
async init(config) {
|
|
32
|
-
|
|
33
|
-
const { ethAdapter, isL1SafeMasterCopy, contractNetworks } = config;
|
|
32
|
+
const { ethAdapter, isL1SafeMasterCopy, contractNetworks, predictedSafe, safeAddress } = config;
|
|
34
33
|
const chainId = await ethAdapter.getChainId();
|
|
35
|
-
const customContracts = contractNetworks
|
|
34
|
+
const customContracts = contractNetworks?.[chainId];
|
|
36
35
|
__classPrivateFieldSet(this, _ContractManager_contractNetworks, contractNetworks, "f");
|
|
37
36
|
__classPrivateFieldSet(this, _ContractManager_isL1SafeMasterCopy, isL1SafeMasterCopy, "f");
|
|
38
37
|
let safeVersion;
|
|
39
38
|
if ((0, types_1.isSafeConfigWithPredictedSafe)(config)) {
|
|
40
|
-
safeVersion =
|
|
39
|
+
safeVersion = predictedSafe?.safeDeploymentConfig?.safeVersion ?? config_1.DEFAULT_SAFE_VERSION;
|
|
41
40
|
}
|
|
42
41
|
else {
|
|
43
|
-
|
|
42
|
+
// We use the default version of the Safe contract to get the correct version of this Safe
|
|
43
|
+
const defaultSafeContractInstance = await (0, safeDeploymentContracts_1.getSafeContract)({
|
|
44
44
|
ethAdapter,
|
|
45
45
|
safeVersion: config_1.DEFAULT_SAFE_VERSION,
|
|
46
46
|
isL1SafeMasterCopy,
|
|
47
|
-
customSafeAddress:
|
|
47
|
+
customSafeAddress: safeAddress,
|
|
48
48
|
customContracts
|
|
49
49
|
});
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
50
|
+
// We check the correct version of the Safe from the blockchain
|
|
51
|
+
safeVersion = await defaultSafeContractInstance.getVersion();
|
|
52
|
+
// We get the correct Safe Contract if the real Safe version is not the lastest
|
|
53
|
+
const isTheDefaultSafeVersion = safeVersion === config_1.DEFAULT_SAFE_VERSION;
|
|
54
|
+
__classPrivateFieldSet(this, _ContractManager_safeContract, isTheDefaultSafeVersion
|
|
55
|
+
? defaultSafeContractInstance
|
|
56
|
+
: await (0, safeDeploymentContracts_1.getSafeContract)({
|
|
57
|
+
ethAdapter,
|
|
58
|
+
safeVersion,
|
|
59
|
+
isL1SafeMasterCopy,
|
|
60
|
+
customSafeAddress: safeAddress,
|
|
61
|
+
customContracts
|
|
62
|
+
}), "f");
|
|
58
63
|
}
|
|
59
64
|
__classPrivateFieldSet(this, _ContractManager_multiSendContract, await (0, safeDeploymentContracts_1.getMultiSendContract)({
|
|
60
65
|
ethAdapter,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contractManager.js","sourceRoot":"","sources":["../../../src/managers/contractManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,uEAAiF;AACjF,yGAIoE;AAQpE,0CAA8D;AAE9D,MAAM,eAAe;IAArB;QACE,oDAA0C;QAC1C,sDAA6B;QAC7B,gDAA4B;QAC5B,qDAAsC;QACtC,6DAAsD;
|
|
1
|
+
{"version":3,"file":"contractManager.js","sourceRoot":"","sources":["../../../src/managers/contractManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,uEAAiF;AACjF,yGAIoE;AAQpE,0CAA8D;AAE9D,MAAM,eAAe;IAArB;QACE,oDAA0C;QAC1C,sDAA6B;QAC7B,gDAA4B;QAC5B,qDAAsC;QACtC,6DAAsD;IA+ExD,CAAC;IA7EC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAkB;QACpC,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAA;QAC7C,MAAM,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAClC,OAAO,eAAe,CAAA;IACxB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAkB;QAC3B,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,MAAM,CAAA;QAE/F,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,CAAA;QAC7C,MAAM,eAAe,GAAG,gBAAgB,EAAE,CAAC,OAAO,CAAC,CAAA;QACnD,uBAAA,IAAI,qCAAqB,gBAAgB,MAAA,CAAA;QACzC,uBAAA,IAAI,uCAAuB,kBAAkB,MAAA,CAAA;QAE7C,IAAI,WAAwB,CAAA;QAE5B,IAAI,IAAA,qCAA6B,EAAC,MAAM,CAAC,EAAE;YACzC,WAAW,GAAG,aAAa,EAAE,oBAAoB,EAAE,WAAW,IAAI,6BAAoB,CAAA;SACvF;aAAM;YACL,0FAA0F;YAC1F,MAAM,2BAA2B,GAAG,MAAM,IAAA,yCAAe,EAAC;gBACxD,UAAU;gBACV,WAAW,EAAE,6BAAoB;gBACjC,kBAAkB;gBAClB,iBAAiB,EAAE,WAAW;gBAC9B,eAAe;aAChB,CAAC,CAAA;YAEF,+DAA+D;YAC/D,WAAW,GAAG,MAAM,2BAA2B,CAAC,UAAU,EAAE,CAAA;YAE5D,+EAA+E;YAC/E,MAAM,uBAAuB,GAAG,WAAW,KAAK,6BAAoB,CAAA;YAEpE,uBAAA,IAAI,iCAAiB,uBAAuB;gBAC1C,CAAC,CAAC,2BAA2B;gBAC7B,CAAC,CAAC,MAAM,IAAA,yCAAe,EAAC;oBACpB,UAAU;oBACV,WAAW;oBACX,kBAAkB;oBAClB,iBAAiB,EAAE,WAAW;oBAC9B,eAAe;iBAChB,CAAC,MAAA,CAAA;SACP;QAED,uBAAA,IAAI,sCAAsB,MAAM,IAAA,8CAAoB,EAAC;YACnD,UAAU;YACV,WAAW;YACX,eAAe;SAChB,CAAC,MAAA,CAAA;QAEF,uBAAA,IAAI,8CAA8B,MAAM,IAAA,sDAA4B,EAAC;YACnE,UAAU;YACV,WAAW;YACX,eAAe;SAChB,CAAC,MAAA,CAAA;IACJ,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,uBAAA,IAAI,yCAAkB,CAAA;IAC/B,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,uBAAA,IAAI,2CAAoB,CAAA;IACjC,CAAC;IAED,IAAI,YAAY;QACd,OAAO,uBAAA,IAAI,qCAAc,CAAA;IAC3B,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,uBAAA,IAAI,0CAAmB,CAAA;IAChC,CAAC;IAED,IAAI,yBAAyB;QAC3B,OAAO,uBAAA,IAAI,kDAA2B,CAAA;IACxC,CAAC;CACF;;AAED,kBAAe,eAAe,CAAA"}
|
|
@@ -76,7 +76,7 @@ class OwnerManager {
|
|
|
76
76
|
this.validateOwnerAddress(ownerAddress);
|
|
77
77
|
const owners = await this.getOwners();
|
|
78
78
|
this.validateAddressIsNotOwner(ownerAddress, owners);
|
|
79
|
-
const newThreshold = threshold
|
|
79
|
+
const newThreshold = threshold ?? (await this.getThreshold());
|
|
80
80
|
this.validateThreshold(newThreshold, owners.length + 1);
|
|
81
81
|
return __classPrivateFieldGet(this, _OwnerManager_safeContract, "f").encode('addOwnerWithThreshold', [ownerAddress, newThreshold]);
|
|
82
82
|
}
|
|
@@ -87,7 +87,7 @@ class OwnerManager {
|
|
|
87
87
|
this.validateOwnerAddress(ownerAddress);
|
|
88
88
|
const owners = await this.getOwners();
|
|
89
89
|
const ownerIndex = this.validateAddressIsOwner(ownerAddress, owners);
|
|
90
|
-
const newThreshold = threshold
|
|
90
|
+
const newThreshold = threshold ?? (await this.getThreshold()) - 1;
|
|
91
91
|
this.validateThreshold(newThreshold, owners.length - 1);
|
|
92
92
|
const prevOwnerAddress = ownerIndex === 0 ? constants_1.SENTINEL_ADDRESS : owners[ownerIndex - 1];
|
|
93
93
|
return __classPrivateFieldGet(this, _OwnerManager_safeContract, "f").encode('removeOwner', [prevOwnerAddress, ownerAddress, newThreshold]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ownerManager.js","sourceRoot":"","sources":["../../../src/managers/ownerManager.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ownerManager.js","sourceRoot":"","sources":["../../../src/managers/ownerManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,7 +39,7 @@ class SafeFactory {
|
|
|
39
39
|
__classPrivateFieldSet(this, _SafeFactory_isL1SafeMasterCopy, isL1SafeMasterCopy, "f");
|
|
40
40
|
__classPrivateFieldSet(this, _SafeFactory_contractNetworks, contractNetworks, "f");
|
|
41
41
|
const chainId = await __classPrivateFieldGet(this, _SafeFactory_ethAdapter, "f").getChainId();
|
|
42
|
-
const customContracts = contractNetworks
|
|
42
|
+
const customContracts = contractNetworks?.[chainId];
|
|
43
43
|
__classPrivateFieldSet(this, _SafeFactory_safeProxyFactoryContract, await (0, safeDeploymentContracts_1.getProxyFactoryContract)({
|
|
44
44
|
ethAdapter,
|
|
45
45
|
safeVersion,
|
|
@@ -65,9 +65,8 @@ class SafeFactory {
|
|
|
65
65
|
return __classPrivateFieldGet(this, _SafeFactory_ethAdapter, "f").getChainId();
|
|
66
66
|
}
|
|
67
67
|
async predictSafeAddress(safeAccountConfig, saltNonce = utils_1.PREDETERMINED_SALT_NONCE) {
|
|
68
|
-
var _a;
|
|
69
68
|
const chainId = await __classPrivateFieldGet(this, _SafeFactory_ethAdapter, "f").getChainId();
|
|
70
|
-
const customContracts =
|
|
69
|
+
const customContracts = __classPrivateFieldGet(this, _SafeFactory_contractNetworks, "f")?.[chainId];
|
|
71
70
|
const safeVersion = __classPrivateFieldGet(this, _SafeFactory_safeVersion, "f");
|
|
72
71
|
const safeDeploymentConfig = { saltNonce, safeVersion };
|
|
73
72
|
return (0, utils_1.predictSafeAddress)({
|
|
@@ -79,7 +78,6 @@ class SafeFactory {
|
|
|
79
78
|
});
|
|
80
79
|
}
|
|
81
80
|
async deploySafe({ safeAccountConfig, saltNonce = utils_1.PREDETERMINED_SALT_NONCE, options, callback }) {
|
|
82
|
-
var _a;
|
|
83
81
|
(0, utils_1.validateSafeAccountConfig)(safeAccountConfig);
|
|
84
82
|
(0, utils_1.validateSafeDeploymentConfig)({ saltNonce });
|
|
85
83
|
const signerAddress = await __classPrivateFieldGet(this, _SafeFactory_ethAdapter, "f").getSignerAddress();
|
|
@@ -87,14 +85,14 @@ class SafeFactory {
|
|
|
87
85
|
throw new Error('EthAdapter must be initialized with a signer to use this method');
|
|
88
86
|
}
|
|
89
87
|
const chainId = await this.getChainId();
|
|
90
|
-
const customContracts =
|
|
88
|
+
const customContracts = __classPrivateFieldGet(this, _SafeFactory_contractNetworks, "f")?.[chainId];
|
|
91
89
|
const initializer = await (0, utils_1.encodeSetupCallData)({
|
|
92
90
|
ethAdapter: __classPrivateFieldGet(this, _SafeFactory_ethAdapter, "f"),
|
|
93
91
|
safeAccountConfig,
|
|
94
92
|
safeContract: __classPrivateFieldGet(this, _SafeFactory_safeContract, "f"),
|
|
95
93
|
customContracts
|
|
96
94
|
});
|
|
97
|
-
if (
|
|
95
|
+
if (options?.gas && options?.gasLimit) {
|
|
98
96
|
throw new Error('Cannot specify gas and gasLimit together in transaction options');
|
|
99
97
|
}
|
|
100
98
|
const safeAddress = await __classPrivateFieldGet(this, _SafeFactory_safeProxyFactoryContract, "f").createProxy({
|