From 34520f89b3b3f9bcf41eb04d261f975cf3d2322e Mon Sep 17 00:00:00 2001 From: Jayden Windle Date: Wed, 30 Nov 2022 09:10:16 -0800 Subject: [PATCH] Added support for smart contract vault owner signatures --- src/Vault.sol | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/Vault.sol b/src/Vault.sol index bc49243..6281f86 100644 --- a/src/Vault.sol +++ b/src/Vault.sol @@ -9,7 +9,7 @@ import "openzeppelin-contracts/token/ERC721/IERC721.sol"; import "openzeppelin-contracts/token/ERC721/IERC721Receiver.sol"; import "openzeppelin-contracts/token/ERC1155/IERC1155Receiver.sol"; import "openzeppelin-contracts/interfaces/IERC1271.sol"; -import "openzeppelin-contracts/utils/cryptography/ECDSA.sol"; +import "openzeppelin-contracts/utils/cryptography/SignatureChecker.sol"; import "./VaultRegistry.sol"; @@ -78,15 +78,13 @@ contract Vault is Initializable { onlyVault returns (bytes4 magicValue) { - (address signer, ECDSA.RecoverError error) = ECDSA.tryRecover( + bool isValid = SignatureChecker.isValidSignatureNow( + IERC721(tokenCollection).ownerOf(tokenId), _hash, _signature ); - if ( - error == ECDSA.RecoverError.NoError && - signer == IERC721(tokenCollection).ownerOf(tokenId) - ) { + if (isValid) { return IERC1271.isValidSignature.selector; } }