diff --git a/Packages/ChainServices/WalletConnectorService/WalletConnectorService.swift b/Packages/ChainServices/WalletConnectorService/WalletConnectorService.swift index 25a283283..1be07e0aa 100644 --- a/Packages/ChainServices/WalletConnectorService/WalletConnectorService.swift +++ b/Packages/ChainServices/WalletConnectorService/WalletConnectorService.swift @@ -228,6 +228,15 @@ extension WalletConnectorService { let transactionId = try await signer.signTransaction(sessionId: sessionId, chain: chain.map(), transaction: transaction.map(), simulation: simulation) let response = walletConnect.encodeSignTransaction(chain: chain, transactionId: transactionId) return .response(response.map()) + case .signAllTransactions(let chain, let type, let transactions): + guard transactions.count <= 1, let data = transactions.first else { + throw WalletConnectorServiceError.unresolvedMethod("signAllTransactions with multiple transactions is not yet supported") + } + let simulation = try await simulateSendTransaction(chain: chain, transactionType: type, data: data) + let transaction = try walletConnect.decodeSendTransaction(transactionType: type, data: data) + let signed = try await signer.signTransaction(sessionId: sessionId, chain: chain.map(), transaction: transaction.map(), simulation: simulation) + let response = walletConnect.encodeSignAllTransactions(signedTransactions: [signed]) + return .response(response.map()) case .sendTransaction(let chain, let type, let data): let simulation = try await simulateSendTransaction(chain: chain, transactionType: type, data: data) let transaction = try walletConnect.decodeSendTransaction(transactionType: type, data: data) diff --git a/core b/core index 2c164baa7..e2148dd20 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit 2c164baa7fd80fe1d8737c0b74feac2dde16801c +Subproject commit e2148dd20330f04f98c9f68bf2311762640e74c4