Skip to main content

Sign Message and Verify

Sign message​

Use UniPass Wallet to sign the specified message, which can be done by calling signMessage. There are two message signature methods, PersonalSign and SignTypedData

Definition of signature function​

public enum UniPassSignType: String {
case PersonalSign
case SignTypedData
}

public class UniPassSignInput: NSObject {
public var from: String = ""
public var type: UniPassSignType = .PersonalSign
public var msg: String = ""
}

Code sample​

// Ensure that the user is authorized to log in
if let userInfo = unipassSdk?.getUserInfo() {
let signInput = UniPassSignInput()
signInput.from = userInfo.address
signInput.type = UniPassSignType.PersonalSign
signInput.msg = signTextField?.text ?? "Test Sign Message"

unipassSdk?.signMessage(signInput, SuccessBlock: { signature in
print("unipassSdk: sign message successfully ✅", signature)
self.signatureLabel?.text = signature
}, ErrorBlock: { error in
print("unipassSdk: sign message failed ❎", error)
})
} else {
print("unipassSdk: user not login ❎")
}

Verify signature​

For how to verify the signature on server, please refer to UniPass Verifying Messages.