mirror of
https://github.com/luxwallet/ios.git
synced 2026-10-30 20:33:27 +00:00
43 lines
3.0 KiB
Swift
43 lines
3.0 KiB
Swift
import BigInt
|
|
import EvmKit
|
|
import HsExtensions
|
|
@testable import Unstoppable
|
|
@testable import WalletCore
|
|
import XCTest
|
|
|
|
final class AccountFacetTests: XCTestCase {
|
|
func testEncodeExecute() throws {
|
|
let target = try EvmKit.Address(hex: "0xbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb")
|
|
let payload = Data("a9059cbb000000000000000000000000aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa000000000000000000000000000000000000000000000000000000000000002a".hs.hexData!)
|
|
|
|
let data = AccountFacet.encodeExecute(target: target, value: 42, data: payload)
|
|
|
|
XCTAssertEqual(
|
|
data.hs.hex,
|
|
"b61d27f6000000000000000000000000bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb000000000000000000000000000000000000000000000000000000000000002a00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044a9059cbb000000000000000000000000aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa000000000000000000000000000000000000000000000000000000000000002a00000000000000000000000000000000000000000000000000000000"
|
|
)
|
|
}
|
|
|
|
func testEncodeExecuteBatch() throws {
|
|
let calls = try [
|
|
UserOperationCallData(
|
|
target: EvmKit.Address(hex: "0xbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"),
|
|
value: 42,
|
|
data: Data("a9059cbb000000000000000000000000aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa000000000000000000000000000000000000000000000000000000000000002a".hs.hexData!)
|
|
),
|
|
UserOperationCallData(
|
|
target: EvmKit.Address(hex: "0xcccccccccccccccccccccccccccccccccccccccc"),
|
|
value: 0,
|
|
data: Data("12345678".hs.hexData!)
|
|
),
|
|
]
|
|
|
|
let data = AccountFacet.encodeExecuteBatch(calls: calls)
|
|
|
|
XCTAssertEqual(
|
|
data.hs.hex,
|
|
"47e1da2a000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb000000000000000000000000cccccccccccccccccccccccccccccccccccccccc0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000002a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000044a9059cbb000000000000000000000000aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041234567800000000000000000000000000000000000000000000000000000000"
|
|
)
|
|
}
|
|
}
|