Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -36,39 +36,41 @@ export const executeContractMethod = async ({
signer: Wallet;
signWithEoa?: boolean;
}): Promise<void> => {
const safeAddress = safeAdminArtifact.getAddress(network as CurrencyTypes.VMChainName);
const txServiceUrl = txServiceUrls[network];
if (!signWithEoa && !!safeAddress && !!txServiceUrl) {
const ethAdapter = new EthersAdapter({
ethers,
signerOrProvider: signer,
} as unknown as EthersAdapterConfig);
const safeService = new SafeApiKit({ txServiceUrl, ethAdapter });
const safeSdk = await Safe.create({ ethAdapter, safeAddress });
if (!signWithEoa) {
const safeAddress = safeAdminArtifact.getAddress(network as CurrencyTypes.VMChainName);
const txServiceUrl = txServiceUrls[network];
if (!!safeAddress && !!txServiceUrl) {
const ethAdapter = new EthersAdapter({
ethers,
signerOrProvider: signer,
} as unknown as EthersAdapterConfig);
const safeService = new SafeApiKit({ txServiceUrl, ethAdapter });
const safeSdk = await Safe.create({ ethAdapter, safeAddress });

const safeTransactionData = [
{
to: contract.address,
data: contract.interface.encodeFunctionData(method, props),
value: '0',
},
];
const nonce = await safeService.getNextNonce(safeAddress);
const safeTransaction = await safeSdk.createTransaction({
safeTransactionData,
options: { nonce },
});
const safeTxHash = await safeSdk.getTransactionHash(safeTransaction);
const senderSignature = await safeSdk.signTransactionHash(safeTxHash);
const safeTransactionData = [
{
to: contract.address,
data: contract.interface.encodeFunctionData(method, props),
value: '0',
},
];
const nonce = await safeService.getNextNonce(safeAddress);
const safeTransaction = await safeSdk.createTransaction({
safeTransactionData,
options: { nonce },
});
const safeTxHash = await safeSdk.getTransactionHash(safeTransaction);
const senderSignature = await safeSdk.signTransactionHash(safeTxHash);

await safeService.proposeTransaction({
safeAddress,
safeTransactionData: safeTransaction.data,
safeTxHash,
senderAddress: signer.address,
senderSignature: senderSignature.data,
});
console.log(`Transaction to be confirmed in Safe ${safeAddress} on ${network}`);
await safeService.proposeTransaction({
safeAddress,
safeTransactionData: safeTransaction.data,
safeTxHash,
senderAddress: signer.address,
senderSignature: senderSignature.data,
});
console.log(`Transaction to be confirmed in Safe ${safeAddress} on ${network}`);
}
} else {
const contractConnected = contract.connect(signer);
const tx = await contractConnected[method](...props, txOverrides);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,11 @@ export const batchConversionPaymentsArtifact = new ContractArtifact<BatchConvers
address: '0x1aF3f22685AcdDc788B3730ed415912d8f654420',
creationBlockNumber: 10827288,
},
// Caution: no ETHConversion, ERC20Conversion, and chainlinkConversionPath proxies on core
core: {
address: '0x02561967c48e87cfB079763F3BEf6424A5A166A7',
creationBlockNumber: 12950451,
},
},
},
},
Expand Down