mirror of
https://github.com/Such-Software/hash-wallet.git
synced 2026-10-28 06:28:41 +01:00
Upstream reformatted its whole tree in 16ddc0837. Matching it removes
formatting from the conflict surface of this and every later sync.
61 lines
2.6 KiB
Dart
61 lines
2.6 KiB
Dart
import 'package:hash_wallet/utils/payment_request.dart';
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
|
|
void main() {
|
|
group('PaymentRequest', () {
|
|
group('Ethereum URIs', () {
|
|
test("extract address and amount from EIP681 Uri with contract", () {
|
|
final uri = Uri.parse(
|
|
"ethereum:0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174@1/transfer?address=0xCfc1650da7C961FD82998e7e30ca5f699D0aBf41&uint256=2000000000000000000");
|
|
final paymentRequest = PaymentRequest.fromUri(uri);
|
|
|
|
expect(paymentRequest.address, "0xCfc1650da7C961FD82998e7e30ca5f699D0aBf41");
|
|
expect(paymentRequest.amount, "2");
|
|
});
|
|
|
|
test("extract address and amount from EIP681 Uri", () {
|
|
final uri = Uri.parse(
|
|
"ethereum:0xCfc1650da7C961FD82998e7e30ca5f699D0aBf41@1?value=2000000000000000000");
|
|
final paymentRequest = PaymentRequest.fromUri(uri);
|
|
|
|
expect(paymentRequest.address, "0xCfc1650da7C961FD82998e7e30ca5f699D0aBf41");
|
|
expect(paymentRequest.amount, "2");
|
|
});
|
|
|
|
test("extract address and amount from Cake Style Uri", () {
|
|
final uri = Uri.parse("ethereum:0xCfc1650da7C961FD82998e7e30ca5f699D0aBf41@1?amount=2.00");
|
|
final paymentRequest = PaymentRequest.fromUri(uri);
|
|
|
|
expect(paymentRequest.address, "0xCfc1650da7C961FD82998e7e30ca5f699D0aBf41");
|
|
expect(paymentRequest.amount, "2.00");
|
|
});
|
|
|
|
test("extract address from EIP681 Uri with contract", () {
|
|
final uri = Uri.parse(
|
|
"ethereum:0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174@1/transfer?address=0xCfc1650da7C961FD82998e7e30ca5f699D0aBf41");
|
|
final paymentRequest = PaymentRequest.fromUri(uri);
|
|
|
|
expect(paymentRequest.address, "0xCfc1650da7C961FD82998e7e30ca5f699D0aBf41");
|
|
expect(paymentRequest.amount, "");
|
|
});
|
|
|
|
test("extract address and amount from EIP681 Uri with contract and no chainId", () {
|
|
final uri = Uri.parse(
|
|
"ethereum:0x1234567890abcdef1234567890abcdef12345678/transfer?address=0xabcdef1234567890abcdef1234567890abcdef12&uint256=1000000000000000000");
|
|
final paymentRequest = PaymentRequest.fromUri(uri);
|
|
|
|
expect(paymentRequest.address, "0xabcdef1234567890abcdef1234567890abcdef12");
|
|
expect(paymentRequest.amount, "1");
|
|
});
|
|
|
|
test("extract address from minimal EIP681 Uri", () {
|
|
final uri = Uri.parse("ethereum:0xCfc1650da7C961FD82998e7e30ca5f699D0aBf41");
|
|
final paymentRequest = PaymentRequest.fromUri(uri);
|
|
|
|
expect(paymentRequest.address, "0xCfc1650da7C961FD82998e7e30ca5f699D0aBf41");
|
|
expect(paymentRequest.amount, "");
|
|
});
|
|
});
|
|
});
|
|
}
|