Skip to content

Commit 705704c

Browse files
Merge pull request #751 from JeneaVranceanu/test/public-key-to-address
2 parents e08de34 + 600b883 commit 705704c

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

Tests/web3swiftTests/localTests/UtilitiesTests.swift

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,4 +47,39 @@ class UtilitiesTests: XCTestCase {
4747
XCTAssertEqual(test.input.decimals, test.output)
4848
}
4949
}
50+
51+
func testPublicKeyWithNoPrefixToAddress() throws {
52+
var address = Utilities.publicToAddress(Data.fromHex("0x18ed2e1ec629e2d3dae7be1103d4f911c24e0c80e70038f5eb5548245c475f504c220d01e1ca419cb1ba4b3393b615e99dd20aa6bf071078f70fd949008e7411")!)?.address
53+
XCTAssertEqual(address, "0x28828f43df370651AC5A6cFd02fBD0885Fbb3c00")
54+
address = Utilities.publicToAddress(Data.fromHex("0x52972572d465d016d4c501887b8df303eee3ed602c056b1eb09260dfa0da0ab288742f4dc97d9edb6fd946babc002fdfb06f26caf117b9405ed79275763fdb1c")!)?.address
55+
XCTAssertEqual(address, "0x6eDBe1F6D48FbF1b053D6c9FA7997C710B84f55F")
56+
}
57+
58+
func testPublicKeyWithPrefixToAddress() throws {
59+
var address = Utilities.publicToAddress(Data.fromHex("0x0418ed2e1ec629e2d3dae7be1103d4f911c24e0c80e70038f5eb5548245c475f504c220d01e1ca419cb1ba4b3393b615e99dd20aa6bf071078f70fd949008e7411")!)?.address
60+
XCTAssertEqual(address, "0x28828f43df370651AC5A6cFd02fBD0885Fbb3c00")
61+
address = Utilities.publicToAddress(Data.fromHex("0x0452972572d465d016d4c501887b8df303eee3ed602c056b1eb09260dfa0da0ab288742f4dc97d9edb6fd946babc002fdfb06f26caf117b9405ed79275763fdb1c")!)?.address
62+
XCTAssertEqual(address, "0x6eDBe1F6D48FbF1b053D6c9FA7997C710B84f55F")
63+
}
64+
65+
func testPublicKeyWithInvalidPrefixToAddress() throws {
66+
var address = Utilities.publicToAddress(Data.fromHex("0x0318ed2e1ec629e2d3dae7be1103d4f911c24e0c80e70038f5eb5548245c475f504c220d01e1ca419cb1ba4b3393b615e99dd20aa6bf071078f70fd949008e7411")!)?.address
67+
XCTAssertEqual(address, nil)
68+
address = Utilities.publicToAddress(Data.fromHex("0x0152972572d465d016d4c501887b8df303eee3ed602c056b1eb09260dfa0da0ab288742f4dc97d9edb6fd946babc002fdfb06f26caf117b9405ed79275763fdb1c")!)?.address
69+
XCTAssertEqual(address, nil)
70+
}
71+
72+
func testCompressedPublicKeyToAddress() throws {
73+
var address = Utilities.publicToAddress(Data.fromHex("0x0318ed2e1ec629e2d3dae7be1103d4f911c24e0c80e70038f5eb5548245c475f50")!)?.address
74+
XCTAssertEqual(address, "0x28828f43df370651AC5A6cFd02fBD0885Fbb3c00")
75+
address = Utilities.publicToAddress(Data.fromHex("0x0252972572d465d016d4c501887b8df303eee3ed602c056b1eb09260dfa0da0ab2")!)?.address
76+
XCTAssertEqual(address, "0x6eDBe1F6D48FbF1b053D6c9FA7997C710B84f55F")
77+
}
78+
79+
func testCompressedPublicKeyWithInvalidPrefixToAddress() throws {
80+
var address = Utilities.publicToAddress(Data.fromHex("0x0718ed2e1ec629e2d3dae7be1103d4f911c24e0c80e70038f5eb5548245c475f50")!)?.address
81+
XCTAssertEqual(address, nil)
82+
address = Utilities.publicToAddress(Data.fromHex("0x0852972572d465d016d4c501887b8df303eee3ed602c056b1eb09260dfa0da0ab2")!)?.address
83+
XCTAssertEqual(address, nil)
84+
}
5085
}

0 commit comments

Comments
 (0)