eth_url_parser 0.1.0 copy "eth_url_parser: ^0.1.0" to clipboard
eth_url_parser: ^0.1.0 copied to clipboard

A Dart library for parsing and building Ethereum URLs according to ERC-681 and ERC-831. Supports ERC-20 transfers, ENS names, and chain IDs.

eth_url_parser #

A Dart library for parsing and building Ethereum URLs according to ERC-681 and ERC-831.

Translated from the JavaScript eth-url-parser package.

Features #

  • Parse Ethereum URIs into strongly-typed TransactionRequest objects
  • Build valid Ethereum URIs from TransactionRequest objects
  • Supports ERC-681 parameters: value, gas, gasLimit, gasPrice
  • Supports ERC-20 transfer function calls
  • ENS name resolution support
  • Chain ID support
  • No code generation required -- pure Dart

Installation #

Add to your pubspec.yaml:

dependencies:
  eth_url_parser: ^0.1.0

Usage #

Parsing an Ethereum URL #

import 'package:eth_url_parser/eth_url_parser.dart';

final request = EthUrlParser.parse(
  'ethereum:0x1234DEADBEEF5678ABCD1234DEADBEEF5678ABCD?value=2.014e18&gas=45000',
);
print(request.targetAddress); // 0x1234DEADBEEF5678ABCD1234DEADBEEF5678ABCD
print(request.parameters['value']); // 2014000000000000000
print(request.parameters['gas']); // 45000

Building an Ethereum URL #

import 'package:eth_url_parser/eth_url_parser.dart';

final uri = EthUrlParser.build(
  TransactionRequest(
    targetAddress: '0x1234DEADBEEF5678ABCD1234DEADBEEF5678ABCD',
    functionName: 'transfer',
    parameters: {
      'address': '0x12345',
      'uint256': '1',
    },
  ),
);
print(uri);
// ethereum:0x1234DEADBEEF5678ABCD1234DEADBEEF5678ABCD/transfer?address=0x12345&uint256=1

The TransactionRequest model #

TransactionRequest(
  scheme: 'ethereum',       // default
  targetAddress: '0x...',   // required
  functionName: 'transfer', // optional
  prefix: 'pay',           // optional (ERC-831)
  chainId: 1,              // optional
  parameters: {             // optional
    'value': '1000000000000000000',
    'gas': '21000',
  },
)

API Reference #

EthUrlParser.parse(String uri) #

Parses an Ethereum URI string and returns a TransactionRequest. Throws an Exception for invalid URIs.

EthUrlParser.build(TransactionRequest request) #

Builds an Ethereum URI string from a TransactionRequest object.

2
likes
160
points
151
downloads

Documentation

API reference

Publisher

verified publisherfuse.io

Weekly Downloads

A Dart library for parsing and building Ethereum URLs according to ERC-681 and ERC-831. Supports ERC-20 transfers, ENS names, and chain IDs.

Homepage
Repository (GitHub)
View/report issues

Topics

#ethereum #blockchain #erc-681 #erc-831 #url-parser

License

MIT (license)

More

Packages that depend on eth_url_parser