class Lato::User
def add_web3_connection(params)
def add_web3_connection(params) depends_on('eth') signature_pubkey = Eth::Signature.personal_recover(params[:web3_nonce], params[:web3_signed_nonce]) signature_address = Eth::Util.public_key_to_address signature_pubkey unless signature_address.to_s.downcase == params[:web3_address].downcase errors.add(:base, :web3_address_invalid) return end update(web3_address: params[:web3_address]) rescue StandardError => e errors.add(:base, :web3_connection_error) false end