56 lines
2.0 KiB
TypeScript
56 lines
2.0 KiB
TypeScript
/**
|
|
* Returns a normalized and checksumed address for %%address%%.
|
|
* This accepts non-checksum addresses, checksum addresses and
|
|
* [[getIcapAddress]] formats.
|
|
*
|
|
* The checksum in Ethereum uses the capitalization (upper-case
|
|
* vs lower-case) of the characters within an address to encode
|
|
* its checksum, which offers, on average, a checksum of 15-bits.
|
|
*
|
|
* If %%address%% contains both upper-case and lower-case, it is
|
|
* assumed to already be a checksum address and its checksum is
|
|
* validated, and if the address fails its expected checksum an
|
|
* error is thrown.
|
|
*
|
|
* If you wish the checksum of %%address%% to be ignore, it should
|
|
* be converted to lower-case (i.e. ``.toLowercase()``) before
|
|
* being passed in. This should be a very rare situation though,
|
|
* that you wish to bypass the safegaurds in place to protect
|
|
* against an address that has been incorrectly copied from another
|
|
* source.
|
|
*
|
|
* @example:
|
|
* // Adds the checksum (via upper-casing specific letters)
|
|
* getAddress("0x8ba1f109551bd432803012645ac136ddd64dba72")
|
|
* //_result:
|
|
*
|
|
* // Converts ICAP address and adds checksum
|
|
* getAddress("XE65GB6LDNXYOFTX0NSV3FUWKOWIXAMJK36");
|
|
* //_result:
|
|
*
|
|
* // Throws an error if an address contains mixed case,
|
|
* // but the checksum fails
|
|
* getAddress("0x8Ba1f109551bD432803012645Ac136ddd64DBA72")
|
|
* //_error:
|
|
*/
|
|
export declare function getAddress(address: string): string;
|
|
/**
|
|
* The [ICAP Address format](link-icap) format is an early checksum
|
|
* format which attempts to be compatible with the banking
|
|
* industry [IBAN format](link-wiki-iban] for bank accounts.
|
|
*
|
|
* It is no longer common or a recommended format.
|
|
*
|
|
* @example:
|
|
* getIcapAddress("0x8ba1f109551bd432803012645ac136ddd64dba72");
|
|
* //_result:
|
|
*
|
|
* getIcapAddress("XE65GB6LDNXYOFTX0NSV3FUWKOWIXAMJK36");
|
|
* //_result:
|
|
*
|
|
* // Throws an error if the ICAP checksum is wrong
|
|
* getIcapAddress("XE65GB6LDNXYOFTX0NSV3FUWKOWIXAMJK37");
|
|
* //_error:
|
|
*/
|
|
export declare function getIcapAddress(address: string): string;
|