@@ -76,11 +76,11 @@ const SignForm = ({ selectedForm, setShareModalLink }) => {
76
76
const availableWalletLabels = currentState . walletModules . map ( ( module ) => module . label )
77
77
78
78
// Check if Safe is available, because autoselecting will fail if it's not
79
- if ( ! availableWalletLabels . includes ( 'Gnosis Safe' ) ) return
79
+ if ( ! availableWalletLabels . includes ( 'Safe' ) ) return
80
80
81
81
connect ( {
82
82
autoSelect : {
83
- label : 'Gnosis Safe' ,
83
+ label : 'Safe' ,
84
84
} ,
85
85
} )
86
86
} else {
@@ -100,34 +100,24 @@ const SignForm = ({ selectedForm, setShareModalLink }) => {
100
100
const signer = provider . getUncheckedSigner ( )
101
101
102
102
if ( messageType === 'humanMessage' ) {
103
- if ( wallet . label === 'Gnosis Safe' ) {
104
- return ( await wallet . provider . sdk . txs . signMessage ( hexlify ( ethers . utils . toUtf8Bytes ( message ) ) ) ) . safeTxHash
105
- // @TODO : implement on update @web3-onboard/gnosis > @2.2
106
- // return (await wallet.instance.txs.signMessage(hexlify(ethers.utils.toUtf8Bytes(message)))).safeTxHash
103
+ if ( wallet . label === 'Safe' ) {
104
+ return ( await wallet . instance . txs . signMessage ( hexlify ( ethers . utils . toUtf8Bytes ( message ) ) ) ) . safeTxHash
107
105
}
108
106
return signer . signMessage ( message )
109
107
} else if ( messageType === 'hexMessage' ) {
110
- if ( wallet . label === 'Gnosis Safe' ) {
111
- return ( await wallet . provider . sdk . txs . signMessage ( message ) ) . safeTxHash
112
- // @TODO : implement on update @web3-onboard/gnosis > @2.2
113
- // return (await wallet.instance.txs.signMessage(message)).safeTxHash
108
+ if ( wallet . label === 'Safe' ) {
109
+ return ( await wallet . instance . txs . signMessage ( message ) ) . safeTxHash
114
110
}
115
111
return signer . signMessage ( arrayify ( message ) )
116
112
} else if ( messageType === 'typedData' ) {
117
- if ( wallet . label === 'Gnosis Safe' ) {
118
- return (
119
- await wallet . provider . sdk . txs . signMessage ( {
120
- signType : 'eth_signTypedData_v4' ,
121
- message,
122
- } )
123
- ) . safeTxHash
124
- // @TODO : implement on update @web3-onboard/gnosis > @2.2
125
- // return (
126
- // await wallet.instance.txs.signMessage({
127
- // signType: 'eth_signTypedData_v4',
128
- // message,
129
- // })
130
- // ).safeTxHash
113
+ if ( wallet . label === 'Safe' ) {
114
+ try {
115
+ const { safeTxHash } = await wallet . instance . txs . signTypedMessage ( JSON . parse ( message ) )
116
+
117
+ return safeTxHash
118
+ } catch {
119
+ setError ( 'Sign error: Unable to sign typed data' )
120
+ }
131
121
} else {
132
122
const parsedMessage = JSON . parse ( message )
133
123
return signer . _signTypedData ( parsedMessage . domain , parsedMessage . types , parsedMessage . message )
@@ -170,6 +160,7 @@ const SignForm = ({ selectedForm, setShareModalLink }) => {
170
160
setIsSigning ( false )
171
161
} )
172
162
. then ( ( signature ) => {
163
+ console . log ( 'signature' , signature )
173
164
setSignature ( signature )
174
165
setIsSigning ( false )
175
166
} )
@@ -344,7 +335,6 @@ const SignForm = ({ selectedForm, setShareModalLink }) => {
344
335
) }
345
336
346
337
< div className = 'connectedBar' >
347
- { connectedAccount && console . log ( connectedAccount ) }
348
338
{ connectedAccount ? (
349
339
< >
350
340
< span >
0 commit comments