Schema
API
| Constant | Value |
|---|---|
ERC1271_MAGIC_VALUE | 0x1626ba7e |
MAGIC_VALUE | alias |
| Function | Type |
|---|---|
isValidSignature | (hash, sig, signer, returnData) => Effect<boolean> |
EIP-1271 smart contract signature verification
import * as ContractSignature from 'voltaire-effect/ContractSignature'
import { Effect } from 'effect'
// EIP-1271 magic value for valid signatures
console.log(ContractSignature.ERC1271_MAGIC_VALUE) // 0x1626ba7e
// Verify signature from contract call result
const isValid = Effect.runSync(
ContractSignature.isValidSignature(hash, signature, signer, returnData)
)
// true if returnData starts with 0x1626ba7e
import * as Schema from 'effect/Schema'
const input = Schema.decodeSync(ContractSignature.ContractSignatureInputSchema)({
hash: messageHash, // Uint8Array - 32 bytes
signature: sigBytes, // Uint8Array - signature
expectedSigner: contractAddr, // Uint8Array - 20 bytes
returnData: callResult // Uint8Array - from isValidSignature call
})
| Constant | Value |
|---|---|
ERC1271_MAGIC_VALUE | 0x1626ba7e |
MAGIC_VALUE | alias |
| Function | Type |
|---|---|
isValidSignature | (hash, sig, signer, returnData) => Effect<boolean> |