File tree Expand file tree Collapse file tree 1 file changed +20
-0
lines changed Expand file tree Collapse file tree 1 file changed +20
-0
lines changed Original file line number Diff line number Diff line change @@ -1991,6 +1991,26 @@ class web3swiftTests: XCTestCase {
1991
1991
}
1992
1992
}
1993
1993
1994
+ func testPersonalSignature( ) {
1995
+ let web3 = Web3 . InfuraRinkebyWeb3 ( )
1996
+ let tempKeystore = try ! EthereumKeystoreV3 ( password: " " )
1997
+ let keystoreManager = KeystoreManager ( [ tempKeystore!] )
1998
+ web3. addKeystoreManager ( keystoreManager)
1999
+ let message = " Hello World "
2000
+ let expectedAddress = keystoreManager. addresses![ 0 ]
2001
+ print ( expectedAddress)
2002
+ let signRes = web3. personal. signPersonalMessage ( message: message. data ( using: . utf8) !, from: expectedAddress, password: " " )
2003
+ guard case . success( let signature) = signRes else { return XCTFail ( ) }
2004
+ let unmarshalledSignature = SECP256K1 . unmarshalSignature ( signatureData: signature) !
2005
+ print ( " V = " + String( unmarshalledSignature. v) )
2006
+ print ( " R = " + Data( unmarshalledSignature. r) . toHexString ( ) )
2007
+ print ( " S = " + Data( unmarshalledSignature. s) . toHexString ( ) )
2008
+ print ( " Personal hash = " + Web3. Utils. hashPersonalMessage ( message. data ( using: . utf8) !) !. toHexString ( ) )
2009
+ let recoveredSigner = web3. personal. ecrecover ( personalMessage: message. data ( using: . utf8) !, signature: signature)
2010
+ guard case . success( let signer) = recoveredSigner else { return XCTFail ( ) }
2011
+ XCTAssert ( expectedAddress == signer, " Failed to sign personal message " )
2012
+ }
2013
+
1994
2014
func testPerformanceExample( ) {
1995
2015
// This is an example of a performance test case.
1996
2016
self . measure {
You can’t perform that action at this time.
0 commit comments