@rosen-bridge/address-codec 1.2.0 → 2.0.0-d62d28de

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,28 @@
1
1
  # @rosen-bridge/address-codec
2
2
 
3
+ ## 2.0.0-d62d28de
4
+
5
+ ### Major Changes
6
+
7
+ - The `validateAddress` no longer return anything (in case of invalid or unsupported address, it throws error)
8
+ - Change `RUNES_CHAIN` variable name to `BITCOIN_RUNES_CHAIN`
9
+
10
+ ### Minor Changes
11
+
12
+ - Export 3 objects consists of the chain-specific implementation for the address encoder, decoder and validator
13
+
14
+ ### Patch Changes
15
+
16
+ - Update dependencies
17
+ - @rosen-bridge/address-codec-bitcoin@0.1.0-d62d28de
18
+ - @rosen-bridge/address-codec-bitcoin-runes@0.1.0-d62d28de
19
+ - @rosen-bridge/address-codec-cardano@0.1.0-d62d28de
20
+ - @rosen-bridge/address-codec-doge@0.1.0-d62d28de
21
+ - @rosen-bridge/address-codec-ergo@0.1.0-d62d28de
22
+ - @rosen-bridge/address-codec-evm@0.1.0-d62d28de
23
+ - @rosen-bridge/address-codec-firo@0.1.0-d62d28de
24
+ - @rosen-bridge/address-codec-handshake@0.1.0-d62d28de
25
+
3
26
  ## 1.2.0
4
27
 
5
28
  ### Minor Changes
package/dist/const.d.ts CHANGED
@@ -1,43 +1,3 @@
1
- export declare const BITCOIN_CHAIN = "bitcoin";
2
- export declare const RUNES_CHAIN = "bitcoin-runes";
3
- export declare const CARDANO_CHAIN = "cardano";
4
- export declare const ERGO_CHAIN = "ergo";
5
1
  export declare const ETHEREUM_CHAIN = "ethereum";
6
2
  export declare const BINANCE_CHAIN = "binance";
7
- export declare const DOGE_CHAIN = "doge";
8
- export declare const FIRO_CHAIN = "firo";
9
- export declare const HANDSHAKE_CHAIN = "handshake";
10
- export declare const DOGE_NETWORK: {
11
- messagePrefix: string;
12
- bech32: string;
13
- bip32: {
14
- public: number;
15
- private: number;
16
- };
17
- pubKeyHash: number;
18
- scriptHash: number;
19
- wif: number;
20
- };
21
- export declare const FIRO_NETWORK: {
22
- messagePrefix: string;
23
- bech32: string;
24
- bip32: {
25
- public: number;
26
- private: number;
27
- };
28
- pubKeyHash: number;
29
- scriptHash: number;
30
- wif: number;
31
- };
32
- export declare const HANDSHAKE_NETWORK: {
33
- messagePrefix: string;
34
- bech32: string;
35
- bip32: {
36
- public: number;
37
- private: number;
38
- };
39
- pubKeyHash: number;
40
- scriptHash: number;
41
- wif: number;
42
- };
43
3
  //# sourceMappingURL=const.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../lib/const.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,YAAY,CAAC;AACvC,eAAO,MAAM,WAAW,kBAAkB,CAAC;AAC3C,eAAO,MAAM,aAAa,YAAY,CAAC;AACvC,eAAO,MAAM,UAAU,SAAS,CAAC;AACjC,eAAO,MAAM,cAAc,aAAa,CAAC;AACzC,eAAO,MAAM,aAAa,YAAY,CAAC;AACvC,eAAO,MAAM,UAAU,SAAS,CAAC;AACjC,eAAO,MAAM,UAAU,SAAS,CAAC;AACjC,eAAO,MAAM,eAAe,cAAc,CAAC;AAE3C,eAAO,MAAM,YAAY;;;;;;;;;;CAWxB,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;CAWxB,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;CAW7B,CAAC"}
1
+ {"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../lib/const.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,aAAa,CAAC;AACzC,eAAO,MAAM,aAAa,YAAY,CAAC"}
package/dist/const.js CHANGED
@@ -1,46 +1,3 @@
1
- export const BITCOIN_CHAIN = 'bitcoin';
2
- export const RUNES_CHAIN = 'bitcoin-runes';
3
- export const CARDANO_CHAIN = 'cardano';
4
- export const ERGO_CHAIN = 'ergo';
5
1
  export const ETHEREUM_CHAIN = 'ethereum';
6
2
  export const BINANCE_CHAIN = 'binance';
7
- export const DOGE_CHAIN = 'doge';
8
- export const FIRO_CHAIN = 'firo';
9
- export const HANDSHAKE_CHAIN = 'handshake';
10
- export const DOGE_NETWORK = {
11
- // Doge network parameters
12
- messagePrefix: '\x19Dogecoin Signed Message:\n',
13
- bech32: 'dc',
14
- bip32: {
15
- public: 0x02facafd,
16
- private: 0x02fac398,
17
- },
18
- pubKeyHash: 0x1e,
19
- scriptHash: 0x16,
20
- wif: 0x9e,
21
- };
22
- export const FIRO_NETWORK = {
23
- // Firo network parameters
24
- messagePrefix: '\x19Firo Signed Message:\n',
25
- bech32: 'firo',
26
- bip32: {
27
- public: 0x0488b21e,
28
- private: 0x0488ade4,
29
- },
30
- pubKeyHash: 0x52,
31
- scriptHash: 0x07,
32
- wif: 0xd2,
33
- };
34
- export const HANDSHAKE_NETWORK = {
35
- // Handshake network parameters
36
- messagePrefix: '\x18Handshake Signed Message:\n',
37
- bech32: 'hs',
38
- bip32: {
39
- public: 0x0488b21e,
40
- private: 0x0488ade4,
41
- },
42
- pubKeyHash: -1,
43
- scriptHash: -1,
44
- wif: -1,
45
- };
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvY29uc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQztBQUN2QyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsZUFBZSxDQUFDO0FBQzNDLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQztBQUNqQyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsVUFBVSxDQUFDO0FBQ3pDLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQztBQUNqQyxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDO0FBQ2pDLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxXQUFXLENBQUM7QUFFM0MsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHO0lBQzFCLDBCQUEwQjtJQUMxQixhQUFhLEVBQUUsZ0NBQWdDO0lBQy9DLE1BQU0sRUFBRSxJQUFJO0lBQ1osS0FBSyxFQUFFO1FBQ0wsTUFBTSxFQUFFLFVBQVU7UUFDbEIsT0FBTyxFQUFFLFVBQVU7S0FDcEI7SUFDRCxVQUFVLEVBQUUsSUFBSTtJQUNoQixVQUFVLEVBQUUsSUFBSTtJQUNoQixHQUFHLEVBQUUsSUFBSTtDQUNWLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUc7SUFDMUIsMEJBQTBCO0lBQzFCLGFBQWEsRUFBRSw0QkFBNEI7SUFDM0MsTUFBTSxFQUFFLE1BQU07SUFDZCxLQUFLLEVBQUU7UUFDTCxNQUFNLEVBQUUsVUFBVTtRQUNsQixPQUFPLEVBQUUsVUFBVTtLQUNwQjtJQUNELFVBQVUsRUFBRSxJQUFJO0lBQ2hCLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLEdBQUcsRUFBRSxJQUFJO0NBQ1YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHO0lBQy9CLCtCQUErQjtJQUMvQixhQUFhLEVBQUUsaUNBQWlDO0lBQ2hELE1BQU0sRUFBRSxJQUFJO0lBQ1osS0FBSyxFQUFFO1FBQ0wsTUFBTSxFQUFFLFVBQVU7UUFDbEIsT0FBTyxFQUFFLFVBQVU7S0FDcEI7SUFDRCxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ2QsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUNkLEdBQUcsRUFBRSxDQUFDLENBQUM7Q0FDUixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IEJJVENPSU5fQ0hBSU4gPSAnYml0Y29pbic7XG5leHBvcnQgY29uc3QgUlVORVNfQ0hBSU4gPSAnYml0Y29pbi1ydW5lcyc7XG5leHBvcnQgY29uc3QgQ0FSREFOT19DSEFJTiA9ICdjYXJkYW5vJztcbmV4cG9ydCBjb25zdCBFUkdPX0NIQUlOID0gJ2VyZ28nO1xuZXhwb3J0IGNvbnN0IEVUSEVSRVVNX0NIQUlOID0gJ2V0aGVyZXVtJztcbmV4cG9ydCBjb25zdCBCSU5BTkNFX0NIQUlOID0gJ2JpbmFuY2UnO1xuZXhwb3J0IGNvbnN0IERPR0VfQ0hBSU4gPSAnZG9nZSc7XG5leHBvcnQgY29uc3QgRklST19DSEFJTiA9ICdmaXJvJztcbmV4cG9ydCBjb25zdCBIQU5EU0hBS0VfQ0hBSU4gPSAnaGFuZHNoYWtlJztcblxuZXhwb3J0IGNvbnN0IERPR0VfTkVUV09SSyA9IHtcbiAgLy8gRG9nZSBuZXR3b3JrIHBhcmFtZXRlcnNcbiAgbWVzc2FnZVByZWZpeDogJ1xceDE5RG9nZWNvaW4gU2lnbmVkIE1lc3NhZ2U6XFxuJyxcbiAgYmVjaDMyOiAnZGMnLFxuICBiaXAzMjoge1xuICAgIHB1YmxpYzogMHgwMmZhY2FmZCxcbiAgICBwcml2YXRlOiAweDAyZmFjMzk4LFxuICB9LFxuICBwdWJLZXlIYXNoOiAweDFlLFxuICBzY3JpcHRIYXNoOiAweDE2LFxuICB3aWY6IDB4OWUsXG59O1xuXG5leHBvcnQgY29uc3QgRklST19ORVRXT1JLID0ge1xuICAvLyBGaXJvIG5ldHdvcmsgcGFyYW1ldGVyc1xuICBtZXNzYWdlUHJlZml4OiAnXFx4MTlGaXJvIFNpZ25lZCBNZXNzYWdlOlxcbicsXG4gIGJlY2gzMjogJ2Zpcm8nLFxuICBiaXAzMjoge1xuICAgIHB1YmxpYzogMHgwNDg4YjIxZSxcbiAgICBwcml2YXRlOiAweDA0ODhhZGU0LFxuICB9LFxuICBwdWJLZXlIYXNoOiAweDUyLFxuICBzY3JpcHRIYXNoOiAweDA3LFxuICB3aWY6IDB4ZDIsXG59O1xuXG5leHBvcnQgY29uc3QgSEFORFNIQUtFX05FVFdPUksgPSB7XG4gIC8vIEhhbmRzaGFrZSBuZXR3b3JrIHBhcmFtZXRlcnNcbiAgbWVzc2FnZVByZWZpeDogJ1xceDE4SGFuZHNoYWtlIFNpZ25lZCBNZXNzYWdlOlxcbicsXG4gIGJlY2gzMjogJ2hzJyxcbiAgYmlwMzI6IHtcbiAgICBwdWJsaWM6IDB4MDQ4OGIyMWUsXG4gICAgcHJpdmF0ZTogMHgwNDg4YWRlNCxcbiAgfSxcbiAgcHViS2V5SGFzaDogLTEsXG4gIHNjcmlwdEhhc2g6IC0xLFxuICB3aWY6IC0xLFxufTtcbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvY29uc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQztBQUN6QyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IEVUSEVSRVVNX0NIQUlOID0gJ2V0aGVyZXVtJztcbmV4cG9ydCBjb25zdCBCSU5BTkNFX0NIQUlOID0gJ2JpbmFuY2UnO1xuIl19
package/dist/decoder.d.ts CHANGED
@@ -1,6 +1,6 @@
1
+ export declare const chainDecoders: Record<string, (address: string) => string>;
1
2
  /**
2
3
  * decodes address of a chain
3
- * throws error if encoded address length is more than 60 bytes
4
4
  * @param chain
5
5
  * @param encodedAddress
6
6
  */
@@ -1 +1 @@
1
- {"version":3,"file":"decoder.d.ts","sourceRoot":"","sources":["../lib/decoder.ts"],"names":[],"mappings":"AAmBA;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GACxB,OAAO,MAAM,EACb,gBAAgB,MAAM,KACrB,MA0CF,CAAC"}
1
+ {"version":3,"file":"decoder.d.ts","sourceRoot":"","sources":["../lib/decoder.ts"],"names":[],"mappings":"AAiCA,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAUrE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,GACxB,OAAO,MAAM,EACb,gBAAgB,MAAM,KACrB,MAIF,CAAC"}
package/dist/decoder.js CHANGED
@@ -1,39 +1,33 @@
1
- import { BINANCE_CHAIN, BITCOIN_CHAIN, CARDANO_CHAIN, DOGE_CHAIN, DOGE_NETWORK, ERGO_CHAIN, ETHEREUM_CHAIN, HANDSHAKE_CHAIN, HANDSHAKE_NETWORK, RUNES_CHAIN, FIRO_CHAIN, FIRO_NETWORK, } from './const';
2
- import { UnsupportedAddressError, UnsupportedChainError } from './types';
3
- import * as ergoLib from 'ergo-lib-wasm-nodejs';
4
- import * as cardanoLib from '@emurgo/cardano-serialization-lib-nodejs';
5
- import * as bitcoinLib from 'bitcoinjs-lib';
1
+ import { BITCOIN_CHAIN, decodeBitcoinAddress, } from '@rosen-bridge/address-codec-bitcoin';
2
+ import { BITCOIN_RUNES_CHAIN, decodeBitcoinRunesAddress, } from '@rosen-bridge/address-codec-bitcoin-runes';
3
+ import { CARDANO_CHAIN, decodeCardanoAddress, } from '@rosen-bridge/address-codec-cardano';
4
+ import { DOGE_CHAIN, decodeDogeAddress, } from '@rosen-bridge/address-codec-doge';
5
+ import { ERGO_CHAIN, decodeErgoAddress, } from '@rosen-bridge/address-codec-ergo';
6
+ import { generateEvmAddressDecoder } from '@rosen-bridge/address-codec-evm';
7
+ import { FIRO_CHAIN, decodeFiroAddress, } from '@rosen-bridge/address-codec-firo';
8
+ import { HANDSHAKE_CHAIN, decodeHandshakeAddress, } from '@rosen-bridge/address-codec-handshake';
9
+ import { BINANCE_CHAIN, ETHEREUM_CHAIN } from './const';
10
+ import { UnsupportedChainError } from './types';
11
+ export const chainDecoders = {
12
+ [ERGO_CHAIN]: decodeErgoAddress,
13
+ [CARDANO_CHAIN]: decodeCardanoAddress,
14
+ [BITCOIN_CHAIN]: decodeBitcoinAddress,
15
+ [ETHEREUM_CHAIN]: generateEvmAddressDecoder(ETHEREUM_CHAIN),
16
+ [BINANCE_CHAIN]: generateEvmAddressDecoder(BINANCE_CHAIN),
17
+ [DOGE_CHAIN]: decodeDogeAddress,
18
+ [BITCOIN_RUNES_CHAIN]: decodeBitcoinRunesAddress,
19
+ [FIRO_CHAIN]: decodeFiroAddress,
20
+ [HANDSHAKE_CHAIN]: decodeHandshakeAddress,
21
+ };
6
22
  /**
7
23
  * decodes address of a chain
8
- * throws error if encoded address length is more than 60 bytes
9
24
  * @param chain
10
25
  * @param encodedAddress
11
26
  */
12
27
  export const decodeAddress = (chain, encodedAddress) => {
13
- if (encodedAddress.length > 60 * 2)
14
- throw new UnsupportedAddressError(chain, encodedAddress);
15
- switch (chain) {
16
- case ERGO_CHAIN:
17
- return ergoLib.Address.from_public_key(Uint8Array.from(Buffer.from(encodedAddress, 'hex'))).to_base58(ergoLib.NetworkPrefix.Mainnet);
18
- case CARDANO_CHAIN:
19
- return cardanoLib.Address.from_bytes(Uint8Array.from(Buffer.from(encodedAddress, 'hex'))).to_bech32();
20
- case RUNES_CHAIN:
21
- case BITCOIN_CHAIN:
22
- return bitcoinLib.address.fromOutputScript(Buffer.from(encodedAddress, 'hex'));
23
- case BINANCE_CHAIN:
24
- case ETHEREUM_CHAIN:
25
- if (encodedAddress.length != 40) {
26
- throw new UnsupportedAddressError(chain, encodedAddress);
27
- }
28
- return '0x' + encodedAddress;
29
- case DOGE_CHAIN:
30
- return bitcoinLib.address.fromOutputScript(Buffer.from(encodedAddress, 'hex'), DOGE_NETWORK);
31
- case FIRO_CHAIN:
32
- return bitcoinLib.address.fromOutputScript(Buffer.from(encodedAddress, 'hex'), FIRO_NETWORK);
33
- case HANDSHAKE_CHAIN:
34
- return bitcoinLib.address.fromOutputScript(Buffer.from(encodedAddress, 'hex'), HANDSHAKE_NETWORK);
35
- default:
36
- throw new UnsupportedChainError(chain);
37
- }
28
+ const decoder = chainDecoders[chain];
29
+ if (decoder)
30
+ return decoder(encodedAddress);
31
+ throw new UnsupportedChainError(chain);
38
32
  };
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb2Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL2xpYi9kZWNvZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxhQUFhLEVBQ2IsYUFBYSxFQUNiLGFBQWEsRUFDYixVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixjQUFjLEVBQ2QsZUFBZSxFQUNmLGlCQUFpQixFQUNqQixXQUFXLEVBQ1gsVUFBVSxFQUNWLFlBQVksR0FDYixNQUFNLFNBQVMsQ0FBQztBQUNqQixPQUFPLEVBQUUsdUJBQXVCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDekUsT0FBTyxLQUFLLE9BQU8sTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEtBQUssVUFBVSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3ZFLE9BQU8sS0FBSyxVQUFVLE1BQU0sZUFBZSxDQUFDO0FBRTVDOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQzNCLEtBQWEsRUFDYixjQUFzQixFQUNkLEVBQUU7SUFDVixJQUFJLGNBQWMsQ0FBQyxNQUFNLEdBQUcsRUFBRSxHQUFHLENBQUM7UUFDaEMsTUFBTSxJQUFJLHVCQUF1QixDQUFDLEtBQUssRUFBRSxjQUFjLENBQUMsQ0FBQztJQUMzRCxRQUFRLEtBQUssRUFBRSxDQUFDO1FBQ2QsS0FBSyxVQUFVO1lBQ2IsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FDcEMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUNwRCxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdDLEtBQUssYUFBYTtZQUNoQixPQUFPLFVBQVUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUNsQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQ3BELENBQUMsU0FBUyxFQUFFLENBQUM7UUFDaEIsS0FBSyxXQUFXLENBQUM7UUFDakIsS0FBSyxhQUFhO1lBQ2hCLE9BQU8sVUFBVSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FDeEMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQ25DLENBQUM7UUFDSixLQUFLLGFBQWEsQ0FBQztRQUNuQixLQUFLLGNBQWM7WUFDakIsSUFBSSxjQUFjLENBQUMsTUFBTSxJQUFJLEVBQUUsRUFBRSxDQUFDO2dCQUNoQyxNQUFNLElBQUksdUJBQXVCLENBQUMsS0FBSyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1lBQzNELENBQUM7WUFFRCxPQUFPLElBQUksR0FBRyxjQUFjLENBQUM7UUFDL0IsS0FBSyxVQUFVO1lBQ2IsT0FBTyxVQUFVLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUN4QyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsRUFDbEMsWUFBWSxDQUNiLENBQUM7UUFDSixLQUFLLFVBQVU7WUFDYixPQUFPLFVBQVUsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQ3hDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxFQUNsQyxZQUFZLENBQ2IsQ0FBQztRQUNKLEtBQUssZUFBZTtZQUNsQixPQUFPLFVBQVUsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQ3hDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxFQUNsQyxpQkFBaUIsQ0FDbEIsQ0FBQztRQUNKO1lBQ0UsTUFBTSxJQUFJLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7QUFDSCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCSU5BTkNFX0NIQUlOLFxuICBCSVRDT0lOX0NIQUlOLFxuICBDQVJEQU5PX0NIQUlOLFxuICBET0dFX0NIQUlOLFxuICBET0dFX05FVFdPUkssXG4gIEVSR09fQ0hBSU4sXG4gIEVUSEVSRVVNX0NIQUlOLFxuICBIQU5EU0hBS0VfQ0hBSU4sXG4gIEhBTkRTSEFLRV9ORVRXT1JLLFxuICBSVU5FU19DSEFJTixcbiAgRklST19DSEFJTixcbiAgRklST19ORVRXT1JLLFxufSBmcm9tICcuL2NvbnN0JztcbmltcG9ydCB7IFVuc3VwcG9ydGVkQWRkcmVzc0Vycm9yLCBVbnN1cHBvcnRlZENoYWluRXJyb3IgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCAqIGFzIGVyZ29MaWIgZnJvbSAnZXJnby1saWItd2FzbS1ub2RlanMnO1xuaW1wb3J0ICogYXMgY2FyZGFub0xpYiBmcm9tICdAZW11cmdvL2NhcmRhbm8tc2VyaWFsaXphdGlvbi1saWItbm9kZWpzJztcbmltcG9ydCAqIGFzIGJpdGNvaW5MaWIgZnJvbSAnYml0Y29pbmpzLWxpYic7XG5cbi8qKlxuICogZGVjb2RlcyBhZGRyZXNzIG9mIGEgY2hhaW5cbiAqICB0aHJvd3MgZXJyb3IgaWYgZW5jb2RlZCBhZGRyZXNzIGxlbmd0aCBpcyBtb3JlIHRoYW4gNjAgYnl0ZXNcbiAqIEBwYXJhbSBjaGFpblxuICogQHBhcmFtIGVuY29kZWRBZGRyZXNzXG4gKi9cbmV4cG9ydCBjb25zdCBkZWNvZGVBZGRyZXNzID0gKFxuICBjaGFpbjogc3RyaW5nLFxuICBlbmNvZGVkQWRkcmVzczogc3RyaW5nLFxuKTogc3RyaW5nID0+IHtcbiAgaWYgKGVuY29kZWRBZGRyZXNzLmxlbmd0aCA+IDYwICogMilcbiAgICB0aHJvdyBuZXcgVW5zdXBwb3J0ZWRBZGRyZXNzRXJyb3IoY2hhaW4sIGVuY29kZWRBZGRyZXNzKTtcbiAgc3dpdGNoIChjaGFpbikge1xuICAgIGNhc2UgRVJHT19DSEFJTjpcbiAgICAgIHJldHVybiBlcmdvTGliLkFkZHJlc3MuZnJvbV9wdWJsaWNfa2V5KFxuICAgICAgICBVaW50OEFycmF5LmZyb20oQnVmZmVyLmZyb20oZW5jb2RlZEFkZHJlc3MsICdoZXgnKSksXG4gICAgICApLnRvX2Jhc2U1OChlcmdvTGliLk5ldHdvcmtQcmVmaXguTWFpbm5ldCk7XG4gICAgY2FzZSBDQVJEQU5PX0NIQUlOOlxuICAgICAgcmV0dXJuIGNhcmRhbm9MaWIuQWRkcmVzcy5mcm9tX2J5dGVzKFxuICAgICAgICBVaW50OEFycmF5LmZyb20oQnVmZmVyLmZyb20oZW5jb2RlZEFkZHJlc3MsICdoZXgnKSksXG4gICAgICApLnRvX2JlY2gzMigpO1xuICAgIGNhc2UgUlVORVNfQ0hBSU46XG4gICAgY2FzZSBCSVRDT0lOX0NIQUlOOlxuICAgICAgcmV0dXJuIGJpdGNvaW5MaWIuYWRkcmVzcy5mcm9tT3V0cHV0U2NyaXB0KFxuICAgICAgICBCdWZmZXIuZnJvbShlbmNvZGVkQWRkcmVzcywgJ2hleCcpLFxuICAgICAgKTtcbiAgICBjYXNlIEJJTkFOQ0VfQ0hBSU46XG4gICAgY2FzZSBFVEhFUkVVTV9DSEFJTjpcbiAgICAgIGlmIChlbmNvZGVkQWRkcmVzcy5sZW5ndGggIT0gNDApIHtcbiAgICAgICAgdGhyb3cgbmV3IFVuc3VwcG9ydGVkQWRkcmVzc0Vycm9yKGNoYWluLCBlbmNvZGVkQWRkcmVzcyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAnMHgnICsgZW5jb2RlZEFkZHJlc3M7XG4gICAgY2FzZSBET0dFX0NIQUlOOlxuICAgICAgcmV0dXJuIGJpdGNvaW5MaWIuYWRkcmVzcy5mcm9tT3V0cHV0U2NyaXB0KFxuICAgICAgICBCdWZmZXIuZnJvbShlbmNvZGVkQWRkcmVzcywgJ2hleCcpLFxuICAgICAgICBET0dFX05FVFdPUkssXG4gICAgICApO1xuICAgIGNhc2UgRklST19DSEFJTjpcbiAgICAgIHJldHVybiBiaXRjb2luTGliLmFkZHJlc3MuZnJvbU91dHB1dFNjcmlwdChcbiAgICAgICAgQnVmZmVyLmZyb20oZW5jb2RlZEFkZHJlc3MsICdoZXgnKSxcbiAgICAgICAgRklST19ORVRXT1JLLFxuICAgICAgKTtcbiAgICBjYXNlIEhBTkRTSEFLRV9DSEFJTjpcbiAgICAgIHJldHVybiBiaXRjb2luTGliLmFkZHJlc3MuZnJvbU91dHB1dFNjcmlwdChcbiAgICAgICAgQnVmZmVyLmZyb20oZW5jb2RlZEFkZHJlc3MsICdoZXgnKSxcbiAgICAgICAgSEFORFNIQUtFX05FVFdPUkssXG4gICAgICApO1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgVW5zdXBwb3J0ZWRDaGFpbkVycm9yKGNoYWluKTtcbiAgfVxufTtcbiJdfQ==
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb2Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL2xpYi9kZWNvZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxhQUFhLEVBQ2Isb0JBQW9CLEdBQ3JCLE1BQU0scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxFQUNMLG1CQUFtQixFQUNuQix5QkFBeUIsR0FDMUIsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRCxPQUFPLEVBQ0wsYUFBYSxFQUNiLG9CQUFvQixHQUNyQixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFDTCxVQUFVLEVBQ1YsaUJBQWlCLEdBQ2xCLE1BQU0sa0NBQWtDLENBQUM7QUFDMUMsT0FBTyxFQUNMLFVBQVUsRUFDVixpQkFBaUIsR0FDbEIsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RSxPQUFPLEVBQ0wsVUFBVSxFQUNWLGlCQUFpQixHQUNsQixNQUFNLGtDQUFrQyxDQUFDO0FBQzFDLE9BQU8sRUFDTCxlQUFlLEVBQ2Ysc0JBQXNCLEdBQ3ZCLE1BQU0sdUNBQXVDLENBQUM7QUFFL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDeEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRWhELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBZ0Q7SUFDeEUsQ0FBQyxVQUFVLENBQUMsRUFBRSxpQkFBaUI7SUFDL0IsQ0FBQyxhQUFhLENBQUMsRUFBRSxvQkFBb0I7SUFDckMsQ0FBQyxhQUFhLENBQUMsRUFBRSxvQkFBb0I7SUFDckMsQ0FBQyxjQUFjLENBQUMsRUFBRSx5QkFBeUIsQ0FBQyxjQUFjLENBQUM7SUFDM0QsQ0FBQyxhQUFhLENBQUMsRUFBRSx5QkFBeUIsQ0FBQyxhQUFhLENBQUM7SUFDekQsQ0FBQyxVQUFVLENBQUMsRUFBRSxpQkFBaUI7SUFDL0IsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLHlCQUF5QjtJQUNoRCxDQUFDLFVBQVUsQ0FBQyxFQUFFLGlCQUFpQjtJQUMvQixDQUFDLGVBQWUsQ0FBQyxFQUFFLHNCQUFzQjtDQUMxQyxDQUFDO0FBRUY7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUMzQixLQUFhLEVBQ2IsY0FBc0IsRUFDZCxFQUFFO0lBQ1YsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLElBQUksT0FBTztRQUFFLE9BQU8sT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzVDLE1BQU0sSUFBSSxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN6QyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCSVRDT0lOX0NIQUlOLFxuICBkZWNvZGVCaXRjb2luQWRkcmVzcyxcbn0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hZGRyZXNzLWNvZGVjLWJpdGNvaW4nO1xuaW1wb3J0IHtcbiAgQklUQ09JTl9SVU5FU19DSEFJTixcbiAgZGVjb2RlQml0Y29pblJ1bmVzQWRkcmVzcyxcbn0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hZGRyZXNzLWNvZGVjLWJpdGNvaW4tcnVuZXMnO1xuaW1wb3J0IHtcbiAgQ0FSREFOT19DSEFJTixcbiAgZGVjb2RlQ2FyZGFub0FkZHJlc3MsXG59IGZyb20gJ0Byb3Nlbi1icmlkZ2UvYWRkcmVzcy1jb2RlYy1jYXJkYW5vJztcbmltcG9ydCB7XG4gIERPR0VfQ0hBSU4sXG4gIGRlY29kZURvZ2VBZGRyZXNzLFxufSBmcm9tICdAcm9zZW4tYnJpZGdlL2FkZHJlc3MtY29kZWMtZG9nZSc7XG5pbXBvcnQge1xuICBFUkdPX0NIQUlOLFxuICBkZWNvZGVFcmdvQWRkcmVzcyxcbn0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hZGRyZXNzLWNvZGVjLWVyZ28nO1xuaW1wb3J0IHsgZ2VuZXJhdGVFdm1BZGRyZXNzRGVjb2RlciB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvYWRkcmVzcy1jb2RlYy1ldm0nO1xuaW1wb3J0IHtcbiAgRklST19DSEFJTixcbiAgZGVjb2RlRmlyb0FkZHJlc3MsXG59IGZyb20gJ0Byb3Nlbi1icmlkZ2UvYWRkcmVzcy1jb2RlYy1maXJvJztcbmltcG9ydCB7XG4gIEhBTkRTSEFLRV9DSEFJTixcbiAgZGVjb2RlSGFuZHNoYWtlQWRkcmVzcyxcbn0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hZGRyZXNzLWNvZGVjLWhhbmRzaGFrZSc7XG5cbmltcG9ydCB7IEJJTkFOQ0VfQ0hBSU4sIEVUSEVSRVVNX0NIQUlOIH0gZnJvbSAnLi9jb25zdCc7XG5pbXBvcnQgeyBVbnN1cHBvcnRlZENoYWluRXJyb3IgfSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IGNoYWluRGVjb2RlcnM6IFJlY29yZDxzdHJpbmcsIChhZGRyZXNzOiBzdHJpbmcpID0+IHN0cmluZz4gPSB7XG4gIFtFUkdPX0NIQUlOXTogZGVjb2RlRXJnb0FkZHJlc3MsXG4gIFtDQVJEQU5PX0NIQUlOXTogZGVjb2RlQ2FyZGFub0FkZHJlc3MsXG4gIFtCSVRDT0lOX0NIQUlOXTogZGVjb2RlQml0Y29pbkFkZHJlc3MsXG4gIFtFVEhFUkVVTV9DSEFJTl06IGdlbmVyYXRlRXZtQWRkcmVzc0RlY29kZXIoRVRIRVJFVU1fQ0hBSU4pLFxuICBbQklOQU5DRV9DSEFJTl06IGdlbmVyYXRlRXZtQWRkcmVzc0RlY29kZXIoQklOQU5DRV9DSEFJTiksXG4gIFtET0dFX0NIQUlOXTogZGVjb2RlRG9nZUFkZHJlc3MsXG4gIFtCSVRDT0lOX1JVTkVTX0NIQUlOXTogZGVjb2RlQml0Y29pblJ1bmVzQWRkcmVzcyxcbiAgW0ZJUk9fQ0hBSU5dOiBkZWNvZGVGaXJvQWRkcmVzcyxcbiAgW0hBTkRTSEFLRV9DSEFJTl06IGRlY29kZUhhbmRzaGFrZUFkZHJlc3MsXG59O1xuXG4vKipcbiAqIGRlY29kZXMgYWRkcmVzcyBvZiBhIGNoYWluXG4gKiBAcGFyYW0gY2hhaW5cbiAqIEBwYXJhbSBlbmNvZGVkQWRkcmVzc1xuICovXG5leHBvcnQgY29uc3QgZGVjb2RlQWRkcmVzcyA9IChcbiAgY2hhaW46IHN0cmluZyxcbiAgZW5jb2RlZEFkZHJlc3M6IHN0cmluZyxcbik6IHN0cmluZyA9PiB7XG4gIGNvbnN0IGRlY29kZXIgPSBjaGFpbkRlY29kZXJzW2NoYWluXTtcbiAgaWYgKGRlY29kZXIpIHJldHVybiBkZWNvZGVyKGVuY29kZWRBZGRyZXNzKTtcbiAgdGhyb3cgbmV3IFVuc3VwcG9ydGVkQ2hhaW5FcnJvcihjaGFpbik7XG59O1xuIl19
package/dist/encoder.d.ts CHANGED
@@ -1,6 +1,6 @@
1
+ export declare const chainEncoders: Record<string, (address: string) => string>;
1
2
  /**
2
3
  * encodes address of a chain to hex string
3
- * throws error if encoded address length is more than 60 bytes
4
4
  * @param chain
5
5
  * @param address
6
6
  */
@@ -1 +1 @@
1
- {"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../lib/encoder.ts"],"names":[],"mappings":"AAmBA;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,EAAE,SAAS,MAAM,KAAG,MA6C9D,CAAC"}
1
+ {"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../lib/encoder.ts"],"names":[],"mappings":"AAiCA,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAUrE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,EAAE,SAAS,MAAM,KAAG,MAI9D,CAAC"}
package/dist/encoder.js CHANGED
@@ -1,54 +1,33 @@
1
- import { BINANCE_CHAIN, BITCOIN_CHAIN, CARDANO_CHAIN, DOGE_CHAIN, DOGE_NETWORK, ERGO_CHAIN, ETHEREUM_CHAIN, HANDSHAKE_CHAIN, HANDSHAKE_NETWORK, RUNES_CHAIN, FIRO_CHAIN, FIRO_NETWORK, } from './const';
2
- import { UnsupportedAddressError, UnsupportedChainError } from './types';
3
- import * as ergoLib from 'ergo-lib-wasm-nodejs';
4
- import * as cardanoLib from '@emurgo/cardano-serialization-lib-nodejs';
5
- import * as bitcoinLib from 'bitcoinjs-lib';
1
+ import { BITCOIN_CHAIN, encodeBitcoinAddress, } from '@rosen-bridge/address-codec-bitcoin';
2
+ import { BITCOIN_RUNES_CHAIN, encodeBitcoinRunesAddress, } from '@rosen-bridge/address-codec-bitcoin-runes';
3
+ import { CARDANO_CHAIN, encodeCardanoAddress, } from '@rosen-bridge/address-codec-cardano';
4
+ import { DOGE_CHAIN, encodeDogeAddress, } from '@rosen-bridge/address-codec-doge';
5
+ import { ERGO_CHAIN, encodeErgoAddress, } from '@rosen-bridge/address-codec-ergo';
6
+ import { generateEvmAddressEncoder } from '@rosen-bridge/address-codec-evm';
7
+ import { FIRO_CHAIN, encodeFiroAddress, } from '@rosen-bridge/address-codec-firo';
8
+ import { HANDSHAKE_CHAIN, encodeHandshakeAddress, } from '@rosen-bridge/address-codec-handshake';
9
+ import { BINANCE_CHAIN, ETHEREUM_CHAIN } from './const';
10
+ import { UnsupportedChainError } from './types';
11
+ export const chainEncoders = {
12
+ [ERGO_CHAIN]: encodeErgoAddress,
13
+ [CARDANO_CHAIN]: encodeCardanoAddress,
14
+ [BITCOIN_CHAIN]: encodeBitcoinAddress,
15
+ [ETHEREUM_CHAIN]: generateEvmAddressEncoder(ETHEREUM_CHAIN),
16
+ [BINANCE_CHAIN]: generateEvmAddressEncoder(BINANCE_CHAIN),
17
+ [DOGE_CHAIN]: encodeDogeAddress,
18
+ [BITCOIN_RUNES_CHAIN]: encodeBitcoinRunesAddress,
19
+ [FIRO_CHAIN]: encodeFiroAddress,
20
+ [HANDSHAKE_CHAIN]: encodeHandshakeAddress,
21
+ };
6
22
  /**
7
23
  * encodes address of a chain to hex string
8
- * throws error if encoded address length is more than 60 bytes
9
24
  * @param chain
10
25
  * @param address
11
26
  */
12
27
  export const encodeAddress = (chain, address) => {
13
- let encoded;
14
- switch (chain) {
15
- case ERGO_CHAIN:
16
- encoded = Buffer.from(ergoLib.Address.from_base58(address).content_bytes()).toString('hex');
17
- break;
18
- case CARDANO_CHAIN:
19
- encoded = Buffer.from(cardanoLib.Address.from_bech32(address).to_bytes()).toString('hex');
20
- break;
21
- case RUNES_CHAIN:
22
- case BITCOIN_CHAIN:
23
- encoded = bitcoinLib.address.toOutputScript(address).toString('hex');
24
- break;
25
- case BINANCE_CHAIN:
26
- case ETHEREUM_CHAIN:
27
- if (address.length != 42 || address.substring(0, 2) != '0x') {
28
- throw new UnsupportedAddressError(chain, address);
29
- }
30
- encoded = address.substring(2);
31
- break;
32
- case DOGE_CHAIN:
33
- encoded = bitcoinLib.address
34
- .toOutputScript(address, DOGE_NETWORK)
35
- .toString('hex');
36
- break;
37
- case FIRO_CHAIN:
38
- encoded = bitcoinLib.address
39
- .toOutputScript(address, FIRO_NETWORK)
40
- .toString('hex');
41
- break;
42
- case HANDSHAKE_CHAIN:
43
- encoded = bitcoinLib.address
44
- .toOutputScript(address, HANDSHAKE_NETWORK)
45
- .toString('hex');
46
- break;
47
- default:
48
- throw new UnsupportedChainError(chain);
49
- }
50
- if (encoded.length > 60 * 2)
51
- throw new UnsupportedAddressError(chain, address);
52
- return encoded;
28
+ const encoder = chainEncoders[chain];
29
+ if (encoder)
30
+ return encoder(address);
31
+ throw new UnsupportedChainError(chain);
53
32
  };
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jb2Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL2xpYi9lbmNvZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxhQUFhLEVBQ2IsYUFBYSxFQUNiLGFBQWEsRUFDYixVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixjQUFjLEVBQ2QsZUFBZSxFQUNmLGlCQUFpQixFQUNqQixXQUFXLEVBQ1gsVUFBVSxFQUNWLFlBQVksR0FDYixNQUFNLFNBQVMsQ0FBQztBQUNqQixPQUFPLEVBQUUsdUJBQXVCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDekUsT0FBTyxLQUFLLE9BQU8sTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEtBQUssVUFBVSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3ZFLE9BQU8sS0FBSyxVQUFVLE1BQU0sZUFBZSxDQUFDO0FBRTVDOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsS0FBYSxFQUFFLE9BQWUsRUFBVSxFQUFFO0lBQ3RFLElBQUksT0FBZSxDQUFDO0lBQ3BCLFFBQVEsS0FBSyxFQUFFLENBQUM7UUFDZCxLQUFLLFVBQVU7WUFDYixPQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FDbkIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsYUFBYSxFQUFFLENBQ3JELENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2xCLE1BQU07UUFDUixLQUFLLGFBQWE7WUFDaEIsT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQ25CLFVBQVUsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUNuRCxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNsQixNQUFNO1FBQ1IsS0FBSyxXQUFXLENBQUM7UUFDakIsS0FBSyxhQUFhO1lBQ2hCLE9BQU8sR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckUsTUFBTTtRQUNSLEtBQUssYUFBYSxDQUFDO1FBQ25CLEtBQUssY0FBYztZQUNqQixJQUFJLE9BQU8sQ0FBQyxNQUFNLElBQUksRUFBRSxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUM1RCxNQUFNLElBQUksdUJBQXVCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3BELENBQUM7WUFDRCxPQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMvQixNQUFNO1FBQ1IsS0FBSyxVQUFVO1lBQ2IsT0FBTyxHQUFHLFVBQVUsQ0FBQyxPQUFPO2lCQUN6QixjQUFjLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQztpQkFDckMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25CLE1BQU07UUFDUixLQUFLLFVBQVU7WUFDYixPQUFPLEdBQUcsVUFBVSxDQUFDLE9BQU87aUJBQ3pCLGNBQWMsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDO2lCQUNyQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbkIsTUFBTTtRQUNSLEtBQUssZUFBZTtZQUNsQixPQUFPLEdBQUcsVUFBVSxDQUFDLE9BQU87aUJBQ3pCLGNBQWMsQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLENBQUM7aUJBQzFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuQixNQUFNO1FBQ1I7WUFDRSxNQUFNLElBQUkscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxFQUFFLEdBQUcsQ0FBQztRQUN6QixNQUFNLElBQUksdUJBQXVCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJJTkFOQ0VfQ0hBSU4sXG4gIEJJVENPSU5fQ0hBSU4sXG4gIENBUkRBTk9fQ0hBSU4sXG4gIERPR0VfQ0hBSU4sXG4gIERPR0VfTkVUV09SSyxcbiAgRVJHT19DSEFJTixcbiAgRVRIRVJFVU1fQ0hBSU4sXG4gIEhBTkRTSEFLRV9DSEFJTixcbiAgSEFORFNIQUtFX05FVFdPUkssXG4gIFJVTkVTX0NIQUlOLFxuICBGSVJPX0NIQUlOLFxuICBGSVJPX05FVFdPUkssXG59IGZyb20gJy4vY29uc3QnO1xuaW1wb3J0IHsgVW5zdXBwb3J0ZWRBZGRyZXNzRXJyb3IsIFVuc3VwcG9ydGVkQ2hhaW5FcnJvciB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0ICogYXMgZXJnb0xpYiBmcm9tICdlcmdvLWxpYi13YXNtLW5vZGVqcyc7XG5pbXBvcnQgKiBhcyBjYXJkYW5vTGliIGZyb20gJ0BlbXVyZ28vY2FyZGFuby1zZXJpYWxpemF0aW9uLWxpYi1ub2RlanMnO1xuaW1wb3J0ICogYXMgYml0Y29pbkxpYiBmcm9tICdiaXRjb2luanMtbGliJztcblxuLyoqXG4gKiBlbmNvZGVzIGFkZHJlc3Mgb2YgYSBjaGFpbiB0byBoZXggc3RyaW5nXG4gKiAgdGhyb3dzIGVycm9yIGlmIGVuY29kZWQgYWRkcmVzcyBsZW5ndGggaXMgbW9yZSB0aGFuIDYwIGJ5dGVzXG4gKiBAcGFyYW0gY2hhaW5cbiAqIEBwYXJhbSBhZGRyZXNzXG4gKi9cbmV4cG9ydCBjb25zdCBlbmNvZGVBZGRyZXNzID0gKGNoYWluOiBzdHJpbmcsIGFkZHJlc3M6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gIGxldCBlbmNvZGVkOiBzdHJpbmc7XG4gIHN3aXRjaCAoY2hhaW4pIHtcbiAgICBjYXNlIEVSR09fQ0hBSU46XG4gICAgICBlbmNvZGVkID0gQnVmZmVyLmZyb20oXG4gICAgICAgIGVyZ29MaWIuQWRkcmVzcy5mcm9tX2Jhc2U1OChhZGRyZXNzKS5jb250ZW50X2J5dGVzKCksXG4gICAgICApLnRvU3RyaW5nKCdoZXgnKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgQ0FSREFOT19DSEFJTjpcbiAgICAgIGVuY29kZWQgPSBCdWZmZXIuZnJvbShcbiAgICAgICAgY2FyZGFub0xpYi5BZGRyZXNzLmZyb21fYmVjaDMyKGFkZHJlc3MpLnRvX2J5dGVzKCksXG4gICAgICApLnRvU3RyaW5nKCdoZXgnKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgUlVORVNfQ0hBSU46XG4gICAgY2FzZSBCSVRDT0lOX0NIQUlOOlxuICAgICAgZW5jb2RlZCA9IGJpdGNvaW5MaWIuYWRkcmVzcy50b091dHB1dFNjcmlwdChhZGRyZXNzKS50b1N0cmluZygnaGV4Jyk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIEJJTkFOQ0VfQ0hBSU46XG4gICAgY2FzZSBFVEhFUkVVTV9DSEFJTjpcbiAgICAgIGlmIChhZGRyZXNzLmxlbmd0aCAhPSA0MiB8fCBhZGRyZXNzLnN1YnN0cmluZygwLCAyKSAhPSAnMHgnKSB7XG4gICAgICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZEFkZHJlc3NFcnJvcihjaGFpbiwgYWRkcmVzcyk7XG4gICAgICB9XG4gICAgICBlbmNvZGVkID0gYWRkcmVzcy5zdWJzdHJpbmcoMik7XG4gICAgICBicmVhaztcbiAgICBjYXNlIERPR0VfQ0hBSU46XG4gICAgICBlbmNvZGVkID0gYml0Y29pbkxpYi5hZGRyZXNzXG4gICAgICAgIC50b091dHB1dFNjcmlwdChhZGRyZXNzLCBET0dFX05FVFdPUkspXG4gICAgICAgIC50b1N0cmluZygnaGV4Jyk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIEZJUk9fQ0hBSU46XG4gICAgICBlbmNvZGVkID0gYml0Y29pbkxpYi5hZGRyZXNzXG4gICAgICAgIC50b091dHB1dFNjcmlwdChhZGRyZXNzLCBGSVJPX05FVFdPUkspXG4gICAgICAgIC50b1N0cmluZygnaGV4Jyk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIEhBTkRTSEFLRV9DSEFJTjpcbiAgICAgIGVuY29kZWQgPSBiaXRjb2luTGliLmFkZHJlc3NcbiAgICAgICAgLnRvT3V0cHV0U2NyaXB0KGFkZHJlc3MsIEhBTkRTSEFLRV9ORVRXT1JLKVxuICAgICAgICAudG9TdHJpbmcoJ2hleCcpO1xuICAgICAgYnJlYWs7XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZENoYWluRXJyb3IoY2hhaW4pO1xuICB9XG4gIGlmIChlbmNvZGVkLmxlbmd0aCA+IDYwICogMilcbiAgICB0aHJvdyBuZXcgVW5zdXBwb3J0ZWRBZGRyZXNzRXJyb3IoY2hhaW4sIGFkZHJlc3MpO1xuICByZXR1cm4gZW5jb2RlZDtcbn07XG4iXX0=
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jb2Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL2xpYi9lbmNvZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxhQUFhLEVBQ2Isb0JBQW9CLEdBQ3JCLE1BQU0scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxFQUNMLG1CQUFtQixFQUNuQix5QkFBeUIsR0FDMUIsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRCxPQUFPLEVBQ0wsYUFBYSxFQUNiLG9CQUFvQixHQUNyQixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFDTCxVQUFVLEVBQ1YsaUJBQWlCLEdBQ2xCLE1BQU0sa0NBQWtDLENBQUM7QUFDMUMsT0FBTyxFQUNMLFVBQVUsRUFDVixpQkFBaUIsR0FDbEIsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RSxPQUFPLEVBQ0wsVUFBVSxFQUNWLGlCQUFpQixHQUNsQixNQUFNLGtDQUFrQyxDQUFDO0FBQzFDLE9BQU8sRUFDTCxlQUFlLEVBQ2Ysc0JBQXNCLEdBQ3ZCLE1BQU0sdUNBQXVDLENBQUM7QUFFL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDeEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRWhELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBZ0Q7SUFDeEUsQ0FBQyxVQUFVLENBQUMsRUFBRSxpQkFBaUI7SUFDL0IsQ0FBQyxhQUFhLENBQUMsRUFBRSxvQkFBb0I7SUFDckMsQ0FBQyxhQUFhLENBQUMsRUFBRSxvQkFBb0I7SUFDckMsQ0FBQyxjQUFjLENBQUMsRUFBRSx5QkFBeUIsQ0FBQyxjQUFjLENBQUM7SUFDM0QsQ0FBQyxhQUFhLENBQUMsRUFBRSx5QkFBeUIsQ0FBQyxhQUFhLENBQUM7SUFDekQsQ0FBQyxVQUFVLENBQUMsRUFBRSxpQkFBaUI7SUFDL0IsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLHlCQUF5QjtJQUNoRCxDQUFDLFVBQVUsQ0FBQyxFQUFFLGlCQUFpQjtJQUMvQixDQUFDLGVBQWUsQ0FBQyxFQUFFLHNCQUFzQjtDQUMxQyxDQUFDO0FBRUY7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLEtBQWEsRUFBRSxPQUFlLEVBQVUsRUFBRTtJQUN0RSxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsSUFBSSxPQUFPO1FBQUUsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckMsTUFBTSxJQUFJLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3pDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJJVENPSU5fQ0hBSU4sXG4gIGVuY29kZUJpdGNvaW5BZGRyZXNzLFxufSBmcm9tICdAcm9zZW4tYnJpZGdlL2FkZHJlc3MtY29kZWMtYml0Y29pbic7XG5pbXBvcnQge1xuICBCSVRDT0lOX1JVTkVTX0NIQUlOLFxuICBlbmNvZGVCaXRjb2luUnVuZXNBZGRyZXNzLFxufSBmcm9tICdAcm9zZW4tYnJpZGdlL2FkZHJlc3MtY29kZWMtYml0Y29pbi1ydW5lcyc7XG5pbXBvcnQge1xuICBDQVJEQU5PX0NIQUlOLFxuICBlbmNvZGVDYXJkYW5vQWRkcmVzcyxcbn0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hZGRyZXNzLWNvZGVjLWNhcmRhbm8nO1xuaW1wb3J0IHtcbiAgRE9HRV9DSEFJTixcbiAgZW5jb2RlRG9nZUFkZHJlc3MsXG59IGZyb20gJ0Byb3Nlbi1icmlkZ2UvYWRkcmVzcy1jb2RlYy1kb2dlJztcbmltcG9ydCB7XG4gIEVSR09fQ0hBSU4sXG4gIGVuY29kZUVyZ29BZGRyZXNzLFxufSBmcm9tICdAcm9zZW4tYnJpZGdlL2FkZHJlc3MtY29kZWMtZXJnbyc7XG5pbXBvcnQgeyBnZW5lcmF0ZUV2bUFkZHJlc3NFbmNvZGVyIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hZGRyZXNzLWNvZGVjLWV2bSc7XG5pbXBvcnQge1xuICBGSVJPX0NIQUlOLFxuICBlbmNvZGVGaXJvQWRkcmVzcyxcbn0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hZGRyZXNzLWNvZGVjLWZpcm8nO1xuaW1wb3J0IHtcbiAgSEFORFNIQUtFX0NIQUlOLFxuICBlbmNvZGVIYW5kc2hha2VBZGRyZXNzLFxufSBmcm9tICdAcm9zZW4tYnJpZGdlL2FkZHJlc3MtY29kZWMtaGFuZHNoYWtlJztcblxuaW1wb3J0IHsgQklOQU5DRV9DSEFJTiwgRVRIRVJFVU1fQ0hBSU4gfSBmcm9tICcuL2NvbnN0JztcbmltcG9ydCB7IFVuc3VwcG9ydGVkQ2hhaW5FcnJvciB9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgY2hhaW5FbmNvZGVyczogUmVjb3JkPHN0cmluZywgKGFkZHJlc3M6IHN0cmluZykgPT4gc3RyaW5nPiA9IHtcbiAgW0VSR09fQ0hBSU5dOiBlbmNvZGVFcmdvQWRkcmVzcyxcbiAgW0NBUkRBTk9fQ0hBSU5dOiBlbmNvZGVDYXJkYW5vQWRkcmVzcyxcbiAgW0JJVENPSU5fQ0hBSU5dOiBlbmNvZGVCaXRjb2luQWRkcmVzcyxcbiAgW0VUSEVSRVVNX0NIQUlOXTogZ2VuZXJhdGVFdm1BZGRyZXNzRW5jb2RlcihFVEhFUkVVTV9DSEFJTiksXG4gIFtCSU5BTkNFX0NIQUlOXTogZ2VuZXJhdGVFdm1BZGRyZXNzRW5jb2RlcihCSU5BTkNFX0NIQUlOKSxcbiAgW0RPR0VfQ0hBSU5dOiBlbmNvZGVEb2dlQWRkcmVzcyxcbiAgW0JJVENPSU5fUlVORVNfQ0hBSU5dOiBlbmNvZGVCaXRjb2luUnVuZXNBZGRyZXNzLFxuICBbRklST19DSEFJTl06IGVuY29kZUZpcm9BZGRyZXNzLFxuICBbSEFORFNIQUtFX0NIQUlOXTogZW5jb2RlSGFuZHNoYWtlQWRkcmVzcyxcbn07XG5cbi8qKlxuICogZW5jb2RlcyBhZGRyZXNzIG9mIGEgY2hhaW4gdG8gaGV4IHN0cmluZ1xuICogQHBhcmFtIGNoYWluXG4gKiBAcGFyYW0gYWRkcmVzc1xuICovXG5leHBvcnQgY29uc3QgZW5jb2RlQWRkcmVzcyA9IChjaGFpbjogc3RyaW5nLCBhZGRyZXNzOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICBjb25zdCBlbmNvZGVyID0gY2hhaW5FbmNvZGVyc1tjaGFpbl07XG4gIGlmIChlbmNvZGVyKSByZXR1cm4gZW5jb2RlcihhZGRyZXNzKTtcbiAgdGhyb3cgbmV3IFVuc3VwcG9ydGVkQ2hhaW5FcnJvcihjaGFpbik7XG59O1xuIl19
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAKA,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC"}
package/dist/index.js CHANGED
@@ -1,8 +1,5 @@
1
- import { initEccLib } from 'bitcoinjs-lib';
2
- import ecc from '@bitcoinerlab/secp256k1';
3
- initEccLib(ecc);
4
1
  export * from './encoder';
5
2
  export * from './decoder';
6
3
  export * from './types';
7
4
  export * from './validator';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEdBQUcsTUFBTSx5QkFBeUIsQ0FBQztBQUUxQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7QUFFaEIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbml0RWNjTGliIH0gZnJvbSAnYml0Y29pbmpzLWxpYic7XG5pbXBvcnQgZWNjIGZyb20gJ0BiaXRjb2luZXJsYWIvc2VjcDI1NmsxJztcblxuaW5pdEVjY0xpYihlY2MpO1xuXG5leHBvcnQgKiBmcm9tICcuL2VuY29kZXInO1xuZXhwb3J0ICogZnJvbSAnLi9kZWNvZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi92YWxpZGF0b3InO1xuIl19
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2VuY29kZXInO1xuZXhwb3J0ICogZnJvbSAnLi9kZWNvZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi92YWxpZGF0b3InO1xuIl19
package/dist/types.d.ts CHANGED
@@ -1,6 +1,3 @@
1
- export declare class UnsupportedAddressError extends Error {
2
- constructor(chain: string, address: string);
3
- }
4
1
  export declare class UnsupportedChainError extends Error {
5
2
  constructor(chain: string);
6
3
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../lib/types.ts"],"names":[],"mappings":"AAAA,qBAAa,uBAAwB,SAAQ,KAAK;gBACpC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAK3C;AAED,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,KAAK,EAAE,MAAM;CAK1B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../lib/types.ts"],"names":[],"mappings":"AAAA,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,KAAK,EAAE,MAAM;CAK1B"}
package/dist/types.js CHANGED
@@ -1,11 +1,6 @@
1
- export class UnsupportedAddressError extends Error {
2
- constructor(chain, address) {
3
- super(`UnsupportedAddressError: Address [${address}] is not supported in current implementation of [${chain}] chain`);
4
- }
5
- }
6
1
  export class UnsupportedChainError extends Error {
7
2
  constructor(chain) {
8
3
  super(`UnsupportedChainError: Address encoding does not support [${chain}] chain currently`);
9
4
  }
10
5
  }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLHVCQUF3QixTQUFRLEtBQUs7SUFDaEQsWUFBWSxLQUFhLEVBQUUsT0FBZTtRQUN4QyxLQUFLLENBQ0gscUNBQXFDLE9BQU8sb0RBQW9ELEtBQUssU0FBUyxDQUMvRyxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLHFCQUFzQixTQUFRLEtBQUs7SUFDOUMsWUFBWSxLQUFhO1FBQ3ZCLEtBQUssQ0FDSCw2REFBNkQsS0FBSyxtQkFBbUIsQ0FDdEYsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBVbnN1cHBvcnRlZEFkZHJlc3NFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IoY2hhaW46IHN0cmluZywgYWRkcmVzczogc3RyaW5nKSB7XG4gICAgc3VwZXIoXG4gICAgICBgVW5zdXBwb3J0ZWRBZGRyZXNzRXJyb3I6IEFkZHJlc3MgWyR7YWRkcmVzc31dIGlzIG5vdCBzdXBwb3J0ZWQgaW4gY3VycmVudCBpbXBsZW1lbnRhdGlvbiBvZiBbJHtjaGFpbn1dIGNoYWluYCxcbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBVbnN1cHBvcnRlZENoYWluRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKGNoYWluOiBzdHJpbmcpIHtcbiAgICBzdXBlcihcbiAgICAgIGBVbnN1cHBvcnRlZENoYWluRXJyb3I6IEFkZHJlc3MgZW5jb2RpbmcgZG9lcyBub3Qgc3VwcG9ydCBbJHtjaGFpbn1dIGNoYWluIGN1cnJlbnRseWAsXG4gICAgKTtcbiAgfVxufVxuIl19
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLHFCQUFzQixTQUFRLEtBQUs7SUFDOUMsWUFBWSxLQUFhO1FBQ3ZCLEtBQUssQ0FDSCw2REFBNkQsS0FBSyxtQkFBbUIsQ0FDdEYsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBVbnN1cHBvcnRlZENoYWluRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKGNoYWluOiBzdHJpbmcpIHtcbiAgICBzdXBlcihcbiAgICAgIGBVbnN1cHBvcnRlZENoYWluRXJyb3I6IEFkZHJlc3MgZW5jb2RpbmcgZG9lcyBub3Qgc3VwcG9ydCBbJHtjaGFpbn1dIGNoYWluIGN1cnJlbnRseWAsXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -1,7 +1,8 @@
1
+ export declare const chainValidators: Record<string, (address: string) => void>;
1
2
  /**
2
3
  * validates address of a chain
3
4
  * @param chain
4
5
  * @param address
5
6
  */
6
- export declare const validateAddress: (chain: string, address: string) => boolean;
7
+ export declare const validateAddress: (chain: string, address: string) => void;
7
8
  //# sourceMappingURL=validator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../lib/validator.ts"],"names":[],"mappings":"AAoBA;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,EAAE,SAAS,MAAM,KAAG,OAmDhE,CAAC"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../lib/validator.ts"],"names":[],"mappings":"AAiCA,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAUrE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,EAAE,SAAS,MAAM,KAAG,IAIhE,CAAC"}
package/dist/validator.js CHANGED
@@ -1,68 +1,34 @@
1
- import { BINANCE_CHAIN, BITCOIN_CHAIN, CARDANO_CHAIN, DOGE_CHAIN, DOGE_NETWORK, ERGO_CHAIN, ETHEREUM_CHAIN, HANDSHAKE_CHAIN, HANDSHAKE_NETWORK, RUNES_CHAIN, FIRO_CHAIN, FIRO_NETWORK, } from './const';
2
- import { UnsupportedAddressError, UnsupportedChainError } from './types';
3
- import * as ergoLib from 'ergo-lib-wasm-nodejs';
4
- import * as cardanoLib from '@emurgo/cardano-serialization-lib-nodejs';
5
- import * as bitcoinLib from 'bitcoinjs-lib';
6
- import * as ethereumLib from 'ethers';
1
+ import { BITCOIN_CHAIN, validateBitcoinAddress, } from '@rosen-bridge/address-codec-bitcoin';
2
+ import { BITCOIN_RUNES_CHAIN, validateBitcoinRunesAddress, } from '@rosen-bridge/address-codec-bitcoin-runes';
3
+ import { CARDANO_CHAIN, validateCardanoAddress, } from '@rosen-bridge/address-codec-cardano';
4
+ import { DOGE_CHAIN, validateDogeAddress, } from '@rosen-bridge/address-codec-doge';
5
+ import { ERGO_CHAIN, validateErgoAddress, } from '@rosen-bridge/address-codec-ergo';
6
+ import { generateEvmAddressValidator } from '@rosen-bridge/address-codec-evm';
7
+ import { FIRO_CHAIN, validateFiroAddress, } from '@rosen-bridge/address-codec-firo';
8
+ import { HANDSHAKE_CHAIN, validateHandshakeAddress, } from '@rosen-bridge/address-codec-handshake';
9
+ import { BINANCE_CHAIN, ETHEREUM_CHAIN } from './const';
10
+ import { UnsupportedChainError } from './types';
11
+ export const chainValidators = {
12
+ [ERGO_CHAIN]: validateErgoAddress,
13
+ [CARDANO_CHAIN]: validateCardanoAddress,
14
+ [BITCOIN_CHAIN]: validateBitcoinAddress,
15
+ [ETHEREUM_CHAIN]: generateEvmAddressValidator(ETHEREUM_CHAIN),
16
+ [BINANCE_CHAIN]: generateEvmAddressValidator(BINANCE_CHAIN),
17
+ [DOGE_CHAIN]: validateDogeAddress,
18
+ [BITCOIN_RUNES_CHAIN]: validateBitcoinRunesAddress,
19
+ [FIRO_CHAIN]: validateFiroAddress,
20
+ [HANDSHAKE_CHAIN]: validateHandshakeAddress,
21
+ };
7
22
  /**
8
23
  * validates address of a chain
9
24
  * @param chain
10
25
  * @param address
11
26
  */
12
27
  export const validateAddress = (chain, address) => {
13
- switch (chain) {
14
- case ERGO_CHAIN:
15
- ergoLib.Address.from_base58(address);
16
- return true;
17
- case CARDANO_CHAIN:
18
- cardanoLib.Address.from_bech32(address);
19
- return true;
20
- case BITCOIN_CHAIN:
21
- bitcoinLib.address.fromBech32(address);
22
- if (address.slice(0, 4) != 'bc1q')
23
- throw new UnsupportedAddressError(chain, address);
24
- return true;
25
- case BINANCE_CHAIN:
26
- case ETHEREUM_CHAIN:
27
- if (address.toLowerCase() != address || !ethereumLib.isAddress(address))
28
- throw new UnsupportedAddressError(chain, address);
29
- return true;
30
- case DOGE_CHAIN:
31
- try {
32
- bitcoinLib.address.toOutputScript(address, DOGE_NETWORK);
33
- }
34
- catch {
35
- throw new UnsupportedAddressError(chain, address);
36
- }
37
- return true;
38
- case RUNES_CHAIN:
39
- try {
40
- bitcoinLib.address.toOutputScript(address);
41
- if (address.slice(0, 4) != 'bc1p')
42
- throw new UnsupportedAddressError(chain, address);
43
- }
44
- catch {
45
- throw new UnsupportedAddressError(chain, address);
46
- }
47
- return true;
48
- case FIRO_CHAIN:
49
- try {
50
- bitcoinLib.address.toOutputScript(address, FIRO_NETWORK);
51
- }
52
- catch {
53
- throw new UnsupportedAddressError(chain, address);
54
- }
55
- return true;
56
- case HANDSHAKE_CHAIN:
57
- try {
58
- bitcoinLib.address.toOutputScript(address, HANDSHAKE_NETWORK);
59
- }
60
- catch {
61
- throw new UnsupportedAddressError(chain, address);
62
- }
63
- return true;
64
- default:
65
- throw new UnsupportedChainError(chain);
66
- }
28
+ const validator = chainValidators[chain];
29
+ if (validator)
30
+ validator(address);
31
+ else
32
+ throw new UnsupportedChainError(chain);
67
33
  };
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vbGliL3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsYUFBYSxFQUNiLGFBQWEsRUFDYixhQUFhLEVBQ2IsVUFBVSxFQUNWLFlBQVksRUFDWixVQUFVLEVBQ1YsY0FBYyxFQUNkLGVBQWUsRUFDZixpQkFBaUIsRUFDakIsV0FBVyxFQUNYLFVBQVUsRUFDVixZQUFZLEdBQ2IsTUFBTSxTQUFTLENBQUM7QUFDakIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLHFCQUFxQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3pFLE9BQU8sS0FBSyxPQUFPLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxLQUFLLFVBQVUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN2RSxPQUFPLEtBQUssVUFBVSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEtBQUssV0FBVyxNQUFNLFFBQVEsQ0FBQztBQUV0Qzs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsS0FBYSxFQUFFLE9BQWUsRUFBVyxFQUFFO0lBQ3pFLFFBQVEsS0FBSyxFQUFFLENBQUM7UUFDZCxLQUFLLFVBQVU7WUFDYixPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNyQyxPQUFPLElBQUksQ0FBQztRQUNkLEtBQUssYUFBYTtZQUNoQixVQUFVLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN4QyxPQUFPLElBQUksQ0FBQztRQUNkLEtBQUssYUFBYTtZQUNoQixVQUFVLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN2QyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLE1BQU07Z0JBQy9CLE1BQU0sSUFBSSx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDcEQsT0FBTyxJQUFJLENBQUM7UUFDZCxLQUFLLGFBQWEsQ0FBQztRQUNuQixLQUFLLGNBQWM7WUFDakIsSUFBSSxPQUFPLENBQUMsV0FBVyxFQUFFLElBQUksT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUM7Z0JBQ3JFLE1BQU0sSUFBSSx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDcEQsT0FBTyxJQUFJLENBQUM7UUFDZCxLQUFLLFVBQVU7WUFDYixJQUFJLENBQUM7Z0JBQ0gsVUFBVSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO1lBQzNELENBQUM7WUFBQyxNQUFNLENBQUM7Z0JBQ1AsTUFBTSxJQUFJLHVCQUF1QixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNwRCxDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDZCxLQUFLLFdBQVc7WUFDZCxJQUFJLENBQUM7Z0JBQ0gsVUFBVSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQzNDLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksTUFBTTtvQkFDL0IsTUFBTSxJQUFJLHVCQUF1QixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztZQUN0RCxDQUFDO1lBQUMsTUFBTSxDQUFDO2dCQUNQLE1BQU0sSUFBSSx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDcEQsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2QsS0FBSyxVQUFVO1lBQ2IsSUFBSSxDQUFDO2dCQUNILFVBQVUsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztZQUMzRCxDQUFDO1lBQUMsTUFBTSxDQUFDO2dCQUNQLE1BQU0sSUFBSSx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDcEQsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2QsS0FBSyxlQUFlO1lBQ2xCLElBQUksQ0FBQztnQkFDSCxVQUFVLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztZQUNoRSxDQUFDO1lBQUMsTUFBTSxDQUFDO2dCQUNQLE1BQU0sSUFBSSx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDcEQsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2Q7WUFDRSxNQUFNLElBQUkscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0MsQ0FBQztBQUNILENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJJTkFOQ0VfQ0hBSU4sXG4gIEJJVENPSU5fQ0hBSU4sXG4gIENBUkRBTk9fQ0hBSU4sXG4gIERPR0VfQ0hBSU4sXG4gIERPR0VfTkVUV09SSyxcbiAgRVJHT19DSEFJTixcbiAgRVRIRVJFVU1fQ0hBSU4sXG4gIEhBTkRTSEFLRV9DSEFJTixcbiAgSEFORFNIQUtFX05FVFdPUkssXG4gIFJVTkVTX0NIQUlOLFxuICBGSVJPX0NIQUlOLFxuICBGSVJPX05FVFdPUkssXG59IGZyb20gJy4vY29uc3QnO1xuaW1wb3J0IHsgVW5zdXBwb3J0ZWRBZGRyZXNzRXJyb3IsIFVuc3VwcG9ydGVkQ2hhaW5FcnJvciB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0ICogYXMgZXJnb0xpYiBmcm9tICdlcmdvLWxpYi13YXNtLW5vZGVqcyc7XG5pbXBvcnQgKiBhcyBjYXJkYW5vTGliIGZyb20gJ0BlbXVyZ28vY2FyZGFuby1zZXJpYWxpemF0aW9uLWxpYi1ub2RlanMnO1xuaW1wb3J0ICogYXMgYml0Y29pbkxpYiBmcm9tICdiaXRjb2luanMtbGliJztcbmltcG9ydCAqIGFzIGV0aGVyZXVtTGliIGZyb20gJ2V0aGVycyc7XG5cbi8qKlxuICogdmFsaWRhdGVzIGFkZHJlc3Mgb2YgYSBjaGFpblxuICogQHBhcmFtIGNoYWluXG4gKiBAcGFyYW0gYWRkcmVzc1xuICovXG5leHBvcnQgY29uc3QgdmFsaWRhdGVBZGRyZXNzID0gKGNoYWluOiBzdHJpbmcsIGFkZHJlc3M6IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xuICBzd2l0Y2ggKGNoYWluKSB7XG4gICAgY2FzZSBFUkdPX0NIQUlOOlxuICAgICAgZXJnb0xpYi5BZGRyZXNzLmZyb21fYmFzZTU4KGFkZHJlc3MpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgY2FzZSBDQVJEQU5PX0NIQUlOOlxuICAgICAgY2FyZGFub0xpYi5BZGRyZXNzLmZyb21fYmVjaDMyKGFkZHJlc3MpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgY2FzZSBCSVRDT0lOX0NIQUlOOlxuICAgICAgYml0Y29pbkxpYi5hZGRyZXNzLmZyb21CZWNoMzIoYWRkcmVzcyk7XG4gICAgICBpZiAoYWRkcmVzcy5zbGljZSgwLCA0KSAhPSAnYmMxcScpXG4gICAgICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZEFkZHJlc3NFcnJvcihjaGFpbiwgYWRkcmVzcyk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICBjYXNlIEJJTkFOQ0VfQ0hBSU46XG4gICAgY2FzZSBFVEhFUkVVTV9DSEFJTjpcbiAgICAgIGlmIChhZGRyZXNzLnRvTG93ZXJDYXNlKCkgIT0gYWRkcmVzcyB8fCAhZXRoZXJldW1MaWIuaXNBZGRyZXNzKGFkZHJlc3MpKVxuICAgICAgICB0aHJvdyBuZXcgVW5zdXBwb3J0ZWRBZGRyZXNzRXJyb3IoY2hhaW4sIGFkZHJlc3MpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgY2FzZSBET0dFX0NIQUlOOlxuICAgICAgdHJ5IHtcbiAgICAgICAgYml0Y29pbkxpYi5hZGRyZXNzLnRvT3V0cHV0U2NyaXB0KGFkZHJlc3MsIERPR0VfTkVUV09SSyk7XG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgdGhyb3cgbmV3IFVuc3VwcG9ydGVkQWRkcmVzc0Vycm9yKGNoYWluLCBhZGRyZXNzKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIGNhc2UgUlVORVNfQ0hBSU46XG4gICAgICB0cnkge1xuICAgICAgICBiaXRjb2luTGliLmFkZHJlc3MudG9PdXRwdXRTY3JpcHQoYWRkcmVzcyk7XG4gICAgICAgIGlmIChhZGRyZXNzLnNsaWNlKDAsIDQpICE9ICdiYzFwJylcbiAgICAgICAgICB0aHJvdyBuZXcgVW5zdXBwb3J0ZWRBZGRyZXNzRXJyb3IoY2hhaW4sIGFkZHJlc3MpO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZEFkZHJlc3NFcnJvcihjaGFpbiwgYWRkcmVzcyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICBjYXNlIEZJUk9fQ0hBSU46XG4gICAgICB0cnkge1xuICAgICAgICBiaXRjb2luTGliLmFkZHJlc3MudG9PdXRwdXRTY3JpcHQoYWRkcmVzcywgRklST19ORVRXT1JLKTtcbiAgICAgIH0gY2F0Y2gge1xuICAgICAgICB0aHJvdyBuZXcgVW5zdXBwb3J0ZWRBZGRyZXNzRXJyb3IoY2hhaW4sIGFkZHJlc3MpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgY2FzZSBIQU5EU0hBS0VfQ0hBSU46XG4gICAgICB0cnkge1xuICAgICAgICBiaXRjb2luTGliLmFkZHJlc3MudG9PdXRwdXRTY3JpcHQoYWRkcmVzcywgSEFORFNIQUtFX05FVFdPUkspO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZEFkZHJlc3NFcnJvcihjaGFpbiwgYWRkcmVzcyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IFVuc3VwcG9ydGVkQ2hhaW5FcnJvcihjaGFpbik7XG4gIH1cbn07XG4iXX0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vbGliL3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsYUFBYSxFQUNiLHNCQUFzQixHQUN2QixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsMkJBQTJCLEdBQzVCLE1BQU0sMkNBQTJDLENBQUM7QUFDbkQsT0FBTyxFQUNMLGFBQWEsRUFDYixzQkFBc0IsR0FDdkIsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsVUFBVSxFQUNWLG1CQUFtQixHQUNwQixNQUFNLGtDQUFrQyxDQUFDO0FBQzFDLE9BQU8sRUFDTCxVQUFVLEVBQ1YsbUJBQW1CLEdBQ3BCLE1BQU0sa0NBQWtDLENBQUM7QUFDMUMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUUsT0FBTyxFQUNMLFVBQVUsRUFDVixtQkFBbUIsR0FDcEIsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxQyxPQUFPLEVBQ0wsZUFBZSxFQUNmLHdCQUF3QixHQUN6QixNQUFNLHVDQUF1QyxDQUFDO0FBRS9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3hELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVoRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQThDO0lBQ3hFLENBQUMsVUFBVSxDQUFDLEVBQUUsbUJBQW1CO0lBQ2pDLENBQUMsYUFBYSxDQUFDLEVBQUUsc0JBQXNCO0lBQ3ZDLENBQUMsYUFBYSxDQUFDLEVBQUUsc0JBQXNCO0lBQ3ZDLENBQUMsY0FBYyxDQUFDLEVBQUUsMkJBQTJCLENBQUMsY0FBYyxDQUFDO0lBQzdELENBQUMsYUFBYSxDQUFDLEVBQUUsMkJBQTJCLENBQUMsYUFBYSxDQUFDO0lBQzNELENBQUMsVUFBVSxDQUFDLEVBQUUsbUJBQW1CO0lBQ2pDLENBQUMsbUJBQW1CLENBQUMsRUFBRSwyQkFBMkI7SUFDbEQsQ0FBQyxVQUFVLENBQUMsRUFBRSxtQkFBbUI7SUFDakMsQ0FBQyxlQUFlLENBQUMsRUFBRSx3QkFBd0I7Q0FDNUMsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxLQUFhLEVBQUUsT0FBZSxFQUFRLEVBQUU7SUFDdEUsTUFBTSxTQUFTLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLElBQUksU0FBUztRQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQzs7UUFDN0IsTUFBTSxJQUFJLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzlDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJJVENPSU5fQ0hBSU4sXG4gIHZhbGlkYXRlQml0Y29pbkFkZHJlc3MsXG59IGZyb20gJ0Byb3Nlbi1icmlkZ2UvYWRkcmVzcy1jb2RlYy1iaXRjb2luJztcbmltcG9ydCB7XG4gIEJJVENPSU5fUlVORVNfQ0hBSU4sXG4gIHZhbGlkYXRlQml0Y29pblJ1bmVzQWRkcmVzcyxcbn0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hZGRyZXNzLWNvZGVjLWJpdGNvaW4tcnVuZXMnO1xuaW1wb3J0IHtcbiAgQ0FSREFOT19DSEFJTixcbiAgdmFsaWRhdGVDYXJkYW5vQWRkcmVzcyxcbn0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hZGRyZXNzLWNvZGVjLWNhcmRhbm8nO1xuaW1wb3J0IHtcbiAgRE9HRV9DSEFJTixcbiAgdmFsaWRhdGVEb2dlQWRkcmVzcyxcbn0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hZGRyZXNzLWNvZGVjLWRvZ2UnO1xuaW1wb3J0IHtcbiAgRVJHT19DSEFJTixcbiAgdmFsaWRhdGVFcmdvQWRkcmVzcyxcbn0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hZGRyZXNzLWNvZGVjLWVyZ28nO1xuaW1wb3J0IHsgZ2VuZXJhdGVFdm1BZGRyZXNzVmFsaWRhdG9yIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hZGRyZXNzLWNvZGVjLWV2bSc7XG5pbXBvcnQge1xuICBGSVJPX0NIQUlOLFxuICB2YWxpZGF0ZUZpcm9BZGRyZXNzLFxufSBmcm9tICdAcm9zZW4tYnJpZGdlL2FkZHJlc3MtY29kZWMtZmlybyc7XG5pbXBvcnQge1xuICBIQU5EU0hBS0VfQ0hBSU4sXG4gIHZhbGlkYXRlSGFuZHNoYWtlQWRkcmVzcyxcbn0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hZGRyZXNzLWNvZGVjLWhhbmRzaGFrZSc7XG5cbmltcG9ydCB7IEJJTkFOQ0VfQ0hBSU4sIEVUSEVSRVVNX0NIQUlOIH0gZnJvbSAnLi9jb25zdCc7XG5pbXBvcnQgeyBVbnN1cHBvcnRlZENoYWluRXJyb3IgfSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IGNoYWluVmFsaWRhdG9yczogUmVjb3JkPHN0cmluZywgKGFkZHJlc3M6IHN0cmluZykgPT4gdm9pZD4gPSB7XG4gIFtFUkdPX0NIQUlOXTogdmFsaWRhdGVFcmdvQWRkcmVzcyxcbiAgW0NBUkRBTk9fQ0hBSU5dOiB2YWxpZGF0ZUNhcmRhbm9BZGRyZXNzLFxuICBbQklUQ09JTl9DSEFJTl06IHZhbGlkYXRlQml0Y29pbkFkZHJlc3MsXG4gIFtFVEhFUkVVTV9DSEFJTl06IGdlbmVyYXRlRXZtQWRkcmVzc1ZhbGlkYXRvcihFVEhFUkVVTV9DSEFJTiksXG4gIFtCSU5BTkNFX0NIQUlOXTogZ2VuZXJhdGVFdm1BZGRyZXNzVmFsaWRhdG9yKEJJTkFOQ0VfQ0hBSU4pLFxuICBbRE9HRV9DSEFJTl06IHZhbGlkYXRlRG9nZUFkZHJlc3MsXG4gIFtCSVRDT0lOX1JVTkVTX0NIQUlOXTogdmFsaWRhdGVCaXRjb2luUnVuZXNBZGRyZXNzLFxuICBbRklST19DSEFJTl06IHZhbGlkYXRlRmlyb0FkZHJlc3MsXG4gIFtIQU5EU0hBS0VfQ0hBSU5dOiB2YWxpZGF0ZUhhbmRzaGFrZUFkZHJlc3MsXG59O1xuXG4vKipcbiAqIHZhbGlkYXRlcyBhZGRyZXNzIG9mIGEgY2hhaW5cbiAqIEBwYXJhbSBjaGFpblxuICogQHBhcmFtIGFkZHJlc3NcbiAqL1xuZXhwb3J0IGNvbnN0IHZhbGlkYXRlQWRkcmVzcyA9IChjaGFpbjogc3RyaW5nLCBhZGRyZXNzOiBzdHJpbmcpOiB2b2lkID0+IHtcbiAgY29uc3QgdmFsaWRhdG9yID0gY2hhaW5WYWxpZGF0b3JzW2NoYWluXTtcbiAgaWYgKHZhbGlkYXRvcikgdmFsaWRhdG9yKGFkZHJlc3MpO1xuICBlbHNlIHRocm93IG5ldyBVbnN1cHBvcnRlZENoYWluRXJyb3IoY2hhaW4pO1xufTtcbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rosen-bridge/address-codec",
3
- "version": "1.2.0",
3
+ "version": "2.0.0-d62d28de",
4
4
  "description": "A Typescript package for encoding and decoding of addresses in Rosen bridge supported chains",
5
5
  "repository": {
6
6
  "type": "git",
@@ -26,17 +26,15 @@
26
26
  "test": "NODE_OPTIONS='--import tsx' vitest",
27
27
  "type-check": "tsc --noEmit"
28
28
  },
29
- "devDependencies": {
30
- "@vitest/coverage-istanbul": "^3.1.4",
31
- "tsx": "^4.20.5",
32
- "vitest": "^3.1.4"
33
- },
34
29
  "dependencies": {
35
- "@bitcoinerlab/secp256k1": "^1.2.0",
36
- "@emurgo/cardano-serialization-lib-nodejs": "^13.2.1",
37
- "bitcoinjs-lib": "^6.1.5",
38
- "ergo-lib-wasm-nodejs": "^0.24.1",
39
- "ethers": "6.16.0"
30
+ "@rosen-bridge/address-codec-bitcoin": "0.1.0-d62d28de",
31
+ "@rosen-bridge/address-codec-bitcoin-runes": "0.1.0-d62d28de",
32
+ "@rosen-bridge/address-codec-cardano": "0.1.0-d62d28de",
33
+ "@rosen-bridge/address-codec-doge": "0.1.0-d62d28de",
34
+ "@rosen-bridge/address-codec-ergo": "0.1.0-d62d28de",
35
+ "@rosen-bridge/address-codec-evm": "0.1.0-d62d28de",
36
+ "@rosen-bridge/address-codec-firo": "0.1.0-d62d28de",
37
+ "@rosen-bridge/address-codec-handshake": "0.1.0-d62d28de"
40
38
  },
41
39
  "engines": {
42
40
  "node": ">=22.18.0",