UNPKG

@hanchon/ethermint-address-converter

Version:

Converter between ETH and Ethermint addresses

3 lines (2 loc) 1.14 kB
import{stripHexPrefix as e,isValidChecksumAddress as r,toChecksumAddress as o}from"crypto-addr-codec";import{decode as d,fromWords as t,encode as n,toWords as c}from"bech32";const u={decoder:o=>{const d=e(o);if(!r(o,null)&&d!==d.toLowerCase()&&d!==d.toUpperCase())throw Error("Invalid address checksum");return Buffer.from(e(o),"hex")},encoder:e=>o(e.toString("hex"),null),name:"ETH"};function s(e){return r=>n(e,c(r))}const f=(e,r)=>{return{decoder:(o=r,e=>{const{prefix:r,words:n}=d(e);if(r!==o)throw Error("Unrecognised address format");return Buffer.from(t(n))}),encoder:s(r),name:e};var o},m=f("ETHERMINT","ethm"),l=e=>{let r=u.decoder(e);return m.encoder(r)},a=e=>{let r=m.decoder(e);return u.encoder(r)},i=f("EVMOS","evmos"),h=e=>{let r=u.decoder(e);return i.encoder(r)},p=e=>{let r=i.decoder(e);return u.encoder(r)},E=f("REBUS","rebus"),w=e=>{let r=u.decoder(e);return E.encoder(r)},x=e=>{let r=E.decoder(e);return u.encoder(r)};export{u as ETH,m as ETHERMINT,i as EVMOS,E as REBUS,l as ethToEthermint,h as ethToEvmos,w as ethToRebus,a as ethermintToEth,p as evmosToEth,x as rebusToEth}; //# sourceMappingURL=converter.modern.js.map