Skip to content

Commit 35d5af2

Browse files
authored
Merge pull request #2046 from ethereum/fix_signature
Fix signature
2 parents bfd58c4 + 8aaee05 commit 35d5af2

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

apps/remix-ide-e2e/src/tests/signingMessage.test.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ module.exports = {
2323
console.log('signature', signature)
2424
browser.assert.ok(typeof hash.value === 'string', 'type of hash.value must be String')
2525
browser.assert.ok(typeof signature.value === 'string', 'type of signature.value must be String')
26+
// we check here that the input is strictly "test message"
27+
browser.assert.equal(signature.value, '0xaa8873317ebf3f34fbcc0eab3e9808d851352674c28a3d6b88dc84db6e10fc183a45bcec983a105964a13b54f18e43eceae29d982bf379826fb7ecfe0d42c6ba1b', 'signature should be tied to the input "test message"')
2628
})
2729
.addFile('signMassage.sol', sources[0]['signMassage.sol'])
2830
.openFile('signMassage.sol')

libs/remix-ui/run-tab/src/lib/components/account.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// eslint-disable-next-line no-use-before-define
2-
import React, { useEffect, useState } from 'react'
2+
import React, { useEffect, useState, useRef } from 'react'
33
import { CopyToClipboard } from '@remix-ui/clipboard'
44
import { AccountProps } from '../types'
55
import { PassphrasePrompt } from './passphrase'
@@ -11,7 +11,7 @@ export function AccountUI (props: AccountProps) {
1111
classList: '',
1212
title: ''
1313
})
14-
const [message, setMessage] = useState('')
14+
const messageRef = useRef('')
1515

1616
useEffect(() => {
1717
if (!selectedAccount && accounts.length > 0) props.setAccount(accounts[0])
@@ -79,7 +79,7 @@ export function AccountUI (props: AccountProps) {
7979
setPassphrase={props.setPassphrase}
8080
/>, 'OK', () => {
8181
props.modal('Sign a message', signMessagePrompt(), 'OK', () => {
82-
props.signMessageWithAddress(selectedAccount, message, signedMessagePrompt, props.passphrase)
82+
props.signMessageWithAddress(selectedAccount, messageRef.current, signedMessagePrompt, props.passphrase)
8383
props.setPassphrase('')
8484
}, 'Cancel', null)
8585
}, 'Cancel', () => {
@@ -88,7 +88,7 @@ export function AccountUI (props: AccountProps) {
8888
}
8989

9090
props.modal('Sign a message', signMessagePrompt(), 'OK', () => {
91-
props.signMessageWithAddress(selectedAccount, message, signedMessagePrompt)
91+
props.signMessageWithAddress(selectedAccount, messageRef.current, signedMessagePrompt)
9292
}, 'Cancel', null)
9393
}
9494

@@ -101,7 +101,7 @@ export function AccountUI (props: AccountProps) {
101101
}
102102

103103
const handleMessageInput = (e) => {
104-
setMessage(e.target.value)
104+
messageRef.current = e.target.value
105105
}
106106

107107
const passphraseCreationPrompt = () => {
@@ -128,7 +128,7 @@ export function AccountUI (props: AccountProps) {
128128
rows={4}
129129
cols={50}
130130
onInput={handleMessageInput}
131-
defaultValue={message}
131+
defaultValue={messageRef.current}
132132
></textarea>
133133
</div>
134134
</div>

0 commit comments

Comments
 (0)