This release adds byte array signature support for:
- transferWithAuthorization
- transferWithAuthorizationBatch
- receiveWithAuthorization
- cancelBatch
- permit (EIP-2612)
This enables tokens to handle smart contract wallet EIP-1271 signature validation for all functions which previously only took ECDSA signatures. This is done by using SignatureChecker.isValidSignatureNow() instead of EIP712._recover().
Additionally this release recomputes DOMAIN_SEPARATOR on the fly instead of caching it to handle chain forks.
New contract addresses:
- Ethereum PYUSD implementation:
0x8C35CaA5FD5bDC64b6B11344aD57594A3676256a - Arbitrum PYUSD implementation:
0x9ce23fc2c05034a878411ebbf926664670f1c831
This contract implementation was deployed from paxos-token-contracts at commit cb2125103cb17d93772b0f20746eaf47707232fe