@rosen-bridge/address-codec 1.1.1 → 2.0.0-b2911da1

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,34 @@
1
1
  # @rosen-bridge/address-codec
2
2
 
3
+ ## 2.0.0-b2911da1
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-b2911da1
18
+ - @rosen-bridge/address-codec-bitcoin-runes@0.1.0-b2911da1
19
+ - @rosen-bridge/address-codec-cardano@0.1.0-b2911da1
20
+ - @rosen-bridge/address-codec-doge@0.1.0-b2911da1
21
+ - @rosen-bridge/address-codec-ergo@0.1.0-b2911da1
22
+ - @rosen-bridge/address-codec-evm@0.1.0-b2911da1
23
+ - @rosen-bridge/address-codec-firo@0.1.0-b2911da1
24
+ - @rosen-bridge/address-codec-handshake@0.1.0-b2911da1
25
+
26
+ ## 1.2.0
27
+
28
+ ### Minor Changes
29
+
30
+ - Add support for Handshake chain
31
+
3
32
  ## 1.1.1
4
33
 
5
34
  ### Patch Changes
package/dist/const.d.ts CHANGED
@@ -1,31 +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 DOGE_NETWORK: {
10
- messagePrefix: string;
11
- bech32: string;
12
- bip32: {
13
- public: number;
14
- private: number;
15
- };
16
- pubKeyHash: number;
17
- scriptHash: number;
18
- wif: number;
19
- };
20
- export declare const FIRO_NETWORK: {
21
- messagePrefix: string;
22
- bech32: string;
23
- bip32: {
24
- public: number;
25
- private: number;
26
- };
27
- pubKeyHash: number;
28
- scriptHash: number;
29
- wif: number;
30
- };
31
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;AAEjC,eAAO,MAAM,YAAY;;;;;;;;;;CAWxB,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;CAWxB,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,33 +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 DOGE_NETWORK = {
10
- // Doge network parameters
11
- messagePrefix: '\x19Dogecoin Signed Message:\n',
12
- bech32: 'dc',
13
- bip32: {
14
- public: 0x02facafd,
15
- private: 0x02fac398,
16
- },
17
- pubKeyHash: 0x1e,
18
- scriptHash: 0x16,
19
- wif: 0x9e,
20
- };
21
- export const FIRO_NETWORK = {
22
- // Firo network parameters
23
- messagePrefix: '\x19Firo Signed Message:\n',
24
- bech32: 'firo',
25
- bip32: {
26
- public: 0x0488b21e,
27
- private: 0x0488ade4,
28
- },
29
- pubKeyHash: 0x52,
30
- scriptHash: 0x07,
31
- wif: 0xd2,
32
- };
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvY29uc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQztBQUN2QyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsZUFBZSxDQUFDO0FBQzNDLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQztBQUNqQyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsVUFBVSxDQUFDO0FBQ3pDLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQztBQUNqQyxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDO0FBRWpDLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRztJQUMxQiwwQkFBMEI7SUFDMUIsYUFBYSxFQUFFLGdDQUFnQztJQUMvQyxNQUFNLEVBQUUsSUFBSTtJQUNaLEtBQUssRUFBRTtRQUNMLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLE9BQU8sRUFBRSxVQUFVO0tBQ3BCO0lBQ0QsVUFBVSxFQUFFLElBQUk7SUFDaEIsVUFBVSxFQUFFLElBQUk7SUFDaEIsR0FBRyxFQUFFLElBQUk7Q0FDVixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHO0lBQzFCLDBCQUEwQjtJQUMxQixhQUFhLEVBQUUsNEJBQTRCO0lBQzNDLE1BQU0sRUFBRSxNQUFNO0lBQ2QsS0FBSyxFQUFFO1FBQ0wsTUFBTSxFQUFFLFVBQVU7UUFDbEIsT0FBTyxFQUFFLFVBQVU7S0FDcEI7SUFDRCxVQUFVLEVBQUUsSUFBSTtJQUNoQixVQUFVLEVBQUUsSUFBSTtJQUNoQixHQUFHLEVBQUUsSUFBSTtDQUNWLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgQklUQ09JTl9DSEFJTiA9ICdiaXRjb2luJztcbmV4cG9ydCBjb25zdCBSVU5FU19DSEFJTiA9ICdiaXRjb2luLXJ1bmVzJztcbmV4cG9ydCBjb25zdCBDQVJEQU5PX0NIQUlOID0gJ2NhcmRhbm8nO1xuZXhwb3J0IGNvbnN0IEVSR09fQ0hBSU4gPSAnZXJnbyc7XG5leHBvcnQgY29uc3QgRVRIRVJFVU1fQ0hBSU4gPSAnZXRoZXJldW0nO1xuZXhwb3J0IGNvbnN0IEJJTkFOQ0VfQ0hBSU4gPSAnYmluYW5jZSc7XG5leHBvcnQgY29uc3QgRE9HRV9DSEFJTiA9ICdkb2dlJztcbmV4cG9ydCBjb25zdCBGSVJPX0NIQUlOID0gJ2Zpcm8nO1xuXG5leHBvcnQgY29uc3QgRE9HRV9ORVRXT1JLID0ge1xuICAvLyBEb2dlIG5ldHdvcmsgcGFyYW1ldGVyc1xuICBtZXNzYWdlUHJlZml4OiAnXFx4MTlEb2dlY29pbiBTaWduZWQgTWVzc2FnZTpcXG4nLFxuICBiZWNoMzI6ICdkYycsXG4gIGJpcDMyOiB7XG4gICAgcHVibGljOiAweDAyZmFjYWZkLFxuICAgIHByaXZhdGU6IDB4MDJmYWMzOTgsXG4gIH0sXG4gIHB1YktleUhhc2g6IDB4MWUsXG4gIHNjcmlwdEhhc2g6IDB4MTYsXG4gIHdpZjogMHg5ZSxcbn07XG5cbmV4cG9ydCBjb25zdCBGSVJPX05FVFdPUksgPSB7XG4gIC8vIEZpcm8gbmV0d29yayBwYXJhbWV0ZXJzXG4gIG1lc3NhZ2VQcmVmaXg6ICdcXHgxOUZpcm8gU2lnbmVkIE1lc3NhZ2U6XFxuJyxcbiAgYmVjaDMyOiAnZmlybycsXG4gIGJpcDMyOiB7XG4gICAgcHVibGljOiAweDA0ODhiMjFlLFxuICAgIHByaXZhdGU6IDB4MDQ4OGFkZTQsXG4gIH0sXG4gIHB1YktleUhhc2g6IDB4NTIsXG4gIHNjcmlwdEhhc2g6IDB4MDcsXG4gIHdpZjogMHhkMixcbn07XG4iXX0=
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":"AAiBA;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GACxB,OAAO,MAAM,EACb,gBAAgB,MAAM,KACrB,MAqCF,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,37 +1,33 @@
1
- import { BINANCE_CHAIN, BITCOIN_CHAIN, CARDANO_CHAIN, DOGE_CHAIN, DOGE_NETWORK, ERGO_CHAIN, ETHEREUM_CHAIN, 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
- default:
34
- throw new UnsupportedChainError(chain);
35
- }
28
+ const decoder = chainDecoders[chain];
29
+ if (decoder)
30
+ return decoder(encodedAddress);
31
+ throw new UnsupportedChainError(chain);
36
32
  };
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb2Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL2xpYi9kZWNvZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxhQUFhLEVBQ2IsYUFBYSxFQUNiLGFBQWEsRUFDYixVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixjQUFjLEVBQ2QsV0FBVyxFQUNYLFVBQVUsRUFDVixZQUFZLEdBQ2IsTUFBTSxTQUFTLENBQUM7QUFDakIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLHFCQUFxQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3pFLE9BQU8sS0FBSyxPQUFPLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxLQUFLLFVBQVUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN2RSxPQUFPLEtBQUssVUFBVSxNQUFNLGVBQWUsQ0FBQztBQUU1Qzs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUMzQixLQUFhLEVBQ2IsY0FBc0IsRUFDZCxFQUFFO0lBQ1YsSUFBSSxjQUFjLENBQUMsTUFBTSxHQUFHLEVBQUUsR0FBRyxDQUFDO1FBQ2hDLE1BQU0sSUFBSSx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDM0QsUUFBUSxLQUFLLEVBQUUsQ0FBQztRQUNkLEtBQUssVUFBVTtZQUNiLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQ3BDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FDcEQsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QyxLQUFLLGFBQWE7WUFDaEIsT0FBTyxVQUFVLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FDbEMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUNwRCxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2hCLEtBQUssV0FBVyxDQUFDO1FBQ2pCLEtBQUssYUFBYTtZQUNoQixPQUFPLFVBQVUsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQ3hDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUNuQyxDQUFDO1FBQ0osS0FBSyxhQUFhLENBQUM7UUFDbkIsS0FBSyxjQUFjO1lBQ2pCLElBQUksY0FBYyxDQUFDLE1BQU0sSUFBSSxFQUFFLEVBQUUsQ0FBQztnQkFDaEMsTUFBTSxJQUFJLHVCQUF1QixDQUFDLEtBQUssRUFBRSxjQUFjLENBQUMsQ0FBQztZQUMzRCxDQUFDO1lBRUQsT0FBTyxJQUFJLEdBQUcsY0FBYyxDQUFDO1FBQy9CLEtBQUssVUFBVTtZQUNiLE9BQU8sVUFBVSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FDeEMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLEVBQ2xDLFlBQVksQ0FDYixDQUFDO1FBQ0osS0FBSyxVQUFVO1lBQ2IsT0FBTyxVQUFVLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUN4QyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsRUFDbEMsWUFBWSxDQUNiLENBQUM7UUFDSjtZQUNFLE1BQU0sSUFBSSxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQyxDQUFDO0FBQ0gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQklOQU5DRV9DSEFJTixcbiAgQklUQ09JTl9DSEFJTixcbiAgQ0FSREFOT19DSEFJTixcbiAgRE9HRV9DSEFJTixcbiAgRE9HRV9ORVRXT1JLLFxuICBFUkdPX0NIQUlOLFxuICBFVEhFUkVVTV9DSEFJTixcbiAgUlVORVNfQ0hBSU4sXG4gIEZJUk9fQ0hBSU4sXG4gIEZJUk9fTkVUV09SSyxcbn0gZnJvbSAnLi9jb25zdCc7XG5pbXBvcnQgeyBVbnN1cHBvcnRlZEFkZHJlc3NFcnJvciwgVW5zdXBwb3J0ZWRDaGFpbkVycm9yIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgKiBhcyBlcmdvTGliIGZyb20gJ2VyZ28tbGliLXdhc20tbm9kZWpzJztcbmltcG9ydCAqIGFzIGNhcmRhbm9MaWIgZnJvbSAnQGVtdXJnby9jYXJkYW5vLXNlcmlhbGl6YXRpb24tbGliLW5vZGVqcyc7XG5pbXBvcnQgKiBhcyBiaXRjb2luTGliIGZyb20gJ2JpdGNvaW5qcy1saWInO1xuXG4vKipcbiAqIGRlY29kZXMgYWRkcmVzcyBvZiBhIGNoYWluXG4gKiAgdGhyb3dzIGVycm9yIGlmIGVuY29kZWQgYWRkcmVzcyBsZW5ndGggaXMgbW9yZSB0aGFuIDYwIGJ5dGVzXG4gKiBAcGFyYW0gY2hhaW5cbiAqIEBwYXJhbSBlbmNvZGVkQWRkcmVzc1xuICovXG5leHBvcnQgY29uc3QgZGVjb2RlQWRkcmVzcyA9IChcbiAgY2hhaW46IHN0cmluZyxcbiAgZW5jb2RlZEFkZHJlc3M6IHN0cmluZyxcbik6IHN0cmluZyA9PiB7XG4gIGlmIChlbmNvZGVkQWRkcmVzcy5sZW5ndGggPiA2MCAqIDIpXG4gICAgdGhyb3cgbmV3IFVuc3VwcG9ydGVkQWRkcmVzc0Vycm9yKGNoYWluLCBlbmNvZGVkQWRkcmVzcyk7XG4gIHN3aXRjaCAoY2hhaW4pIHtcbiAgICBjYXNlIEVSR09fQ0hBSU46XG4gICAgICByZXR1cm4gZXJnb0xpYi5BZGRyZXNzLmZyb21fcHVibGljX2tleShcbiAgICAgICAgVWludDhBcnJheS5mcm9tKEJ1ZmZlci5mcm9tKGVuY29kZWRBZGRyZXNzLCAnaGV4JykpLFxuICAgICAgKS50b19iYXNlNTgoZXJnb0xpYi5OZXR3b3JrUHJlZml4Lk1haW5uZXQpO1xuICAgIGNhc2UgQ0FSREFOT19DSEFJTjpcbiAgICAgIHJldHVybiBjYXJkYW5vTGliLkFkZHJlc3MuZnJvbV9ieXRlcyhcbiAgICAgICAgVWludDhBcnJheS5mcm9tKEJ1ZmZlci5mcm9tKGVuY29kZWRBZGRyZXNzLCAnaGV4JykpLFxuICAgICAgKS50b19iZWNoMzIoKTtcbiAgICBjYXNlIFJVTkVTX0NIQUlOOlxuICAgIGNhc2UgQklUQ09JTl9DSEFJTjpcbiAgICAgIHJldHVybiBiaXRjb2luTGliLmFkZHJlc3MuZnJvbU91dHB1dFNjcmlwdChcbiAgICAgICAgQnVmZmVyLmZyb20oZW5jb2RlZEFkZHJlc3MsICdoZXgnKSxcbiAgICAgICk7XG4gICAgY2FzZSBCSU5BTkNFX0NIQUlOOlxuICAgIGNhc2UgRVRIRVJFVU1fQ0hBSU46XG4gICAgICBpZiAoZW5jb2RlZEFkZHJlc3MubGVuZ3RoICE9IDQwKSB7XG4gICAgICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZEFkZHJlc3NFcnJvcihjaGFpbiwgZW5jb2RlZEFkZHJlc3MpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gJzB4JyArIGVuY29kZWRBZGRyZXNzO1xuICAgIGNhc2UgRE9HRV9DSEFJTjpcbiAgICAgIHJldHVybiBiaXRjb2luTGliLmFkZHJlc3MuZnJvbU91dHB1dFNjcmlwdChcbiAgICAgICAgQnVmZmVyLmZyb20oZW5jb2RlZEFkZHJlc3MsICdoZXgnKSxcbiAgICAgICAgRE9HRV9ORVRXT1JLLFxuICAgICAgKTtcbiAgICBjYXNlIEZJUk9fQ0hBSU46XG4gICAgICByZXR1cm4gYml0Y29pbkxpYi5hZGRyZXNzLmZyb21PdXRwdXRTY3JpcHQoXG4gICAgICAgIEJ1ZmZlci5mcm9tKGVuY29kZWRBZGRyZXNzLCAnaGV4JyksXG4gICAgICAgIEZJUk9fTkVUV09SSyxcbiAgICAgICk7XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZENoYWluRXJyb3IoY2hhaW4pO1xuICB9XG59O1xuIl19
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":"AAiBA;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,EAAE,SAAS,MAAM,KAAG,MAwC9D,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,49 +1,33 @@
1
- import { BINANCE_CHAIN, BITCOIN_CHAIN, CARDANO_CHAIN, DOGE_CHAIN, DOGE_NETWORK, ERGO_CHAIN, ETHEREUM_CHAIN, 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
- default:
43
- throw new UnsupportedChainError(chain);
44
- }
45
- if (encoded.length > 60 * 2)
46
- throw new UnsupportedAddressError(chain, address);
47
- return encoded;
28
+ const encoder = chainEncoders[chain];
29
+ if (encoder)
30
+ return encoder(address);
31
+ throw new UnsupportedChainError(chain);
48
32
  };
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jb2Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL2xpYi9lbmNvZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxhQUFhLEVBQ2IsYUFBYSxFQUNiLGFBQWEsRUFDYixVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixjQUFjLEVBQ2QsV0FBVyxFQUNYLFVBQVUsRUFDVixZQUFZLEdBQ2IsTUFBTSxTQUFTLENBQUM7QUFDakIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLHFCQUFxQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3pFLE9BQU8sS0FBSyxPQUFPLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxLQUFLLFVBQVUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN2RSxPQUFPLEtBQUssVUFBVSxNQUFNLGVBQWUsQ0FBQztBQUU1Qzs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLEtBQWEsRUFBRSxPQUFlLEVBQVUsRUFBRTtJQUN0RSxJQUFJLE9BQWUsQ0FBQztJQUNwQixRQUFRLEtBQUssRUFBRSxDQUFDO1FBQ2QsS0FBSyxVQUFVO1lBQ2IsT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQ25CLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUNyRCxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNsQixNQUFNO1FBQ1IsS0FBSyxhQUFhO1lBQ2hCLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUNuQixVQUFVLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FDbkQsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbEIsTUFBTTtRQUNSLEtBQUssV0FBVyxDQUFDO1FBQ2pCLEtBQUssYUFBYTtZQUNoQixPQUFPLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3JFLE1BQU07UUFDUixLQUFLLGFBQWEsQ0FBQztRQUNuQixLQUFLLGNBQWM7WUFDakIsSUFBSSxPQUFPLENBQUMsTUFBTSxJQUFJLEVBQUUsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDNUQsTUFBTSxJQUFJLHVCQUF1QixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNwRCxDQUFDO1lBQ0QsT0FBTyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0IsTUFBTTtRQUNSLEtBQUssVUFBVTtZQUNiLE9BQU8sR0FBRyxVQUFVLENBQUMsT0FBTztpQkFDekIsY0FBYyxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUM7aUJBQ3JDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuQixNQUFNO1FBQ1IsS0FBSyxVQUFVO1lBQ2IsT0FBTyxHQUFHLFVBQVUsQ0FBQyxPQUFPO2lCQUN6QixjQUFjLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQztpQkFDckMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25CLE1BQU07UUFDUjtZQUNFLE1BQU0sSUFBSSxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLEVBQUUsR0FBRyxDQUFDO1FBQ3pCLE1BQU0sSUFBSSx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDcEQsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQklOQU5DRV9DSEFJTixcbiAgQklUQ09JTl9DSEFJTixcbiAgQ0FSREFOT19DSEFJTixcbiAgRE9HRV9DSEFJTixcbiAgRE9HRV9ORVRXT1JLLFxuICBFUkdPX0NIQUlOLFxuICBFVEhFUkVVTV9DSEFJTixcbiAgUlVORVNfQ0hBSU4sXG4gIEZJUk9fQ0hBSU4sXG4gIEZJUk9fTkVUV09SSyxcbn0gZnJvbSAnLi9jb25zdCc7XG5pbXBvcnQgeyBVbnN1cHBvcnRlZEFkZHJlc3NFcnJvciwgVW5zdXBwb3J0ZWRDaGFpbkVycm9yIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgKiBhcyBlcmdvTGliIGZyb20gJ2VyZ28tbGliLXdhc20tbm9kZWpzJztcbmltcG9ydCAqIGFzIGNhcmRhbm9MaWIgZnJvbSAnQGVtdXJnby9jYXJkYW5vLXNlcmlhbGl6YXRpb24tbGliLW5vZGVqcyc7XG5pbXBvcnQgKiBhcyBiaXRjb2luTGliIGZyb20gJ2JpdGNvaW5qcy1saWInO1xuXG4vKipcbiAqIGVuY29kZXMgYWRkcmVzcyBvZiBhIGNoYWluIHRvIGhleCBzdHJpbmdcbiAqICB0aHJvd3MgZXJyb3IgaWYgZW5jb2RlZCBhZGRyZXNzIGxlbmd0aCBpcyBtb3JlIHRoYW4gNjAgYnl0ZXNcbiAqIEBwYXJhbSBjaGFpblxuICogQHBhcmFtIGFkZHJlc3NcbiAqL1xuZXhwb3J0IGNvbnN0IGVuY29kZUFkZHJlc3MgPSAoY2hhaW46IHN0cmluZywgYWRkcmVzczogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgbGV0IGVuY29kZWQ6IHN0cmluZztcbiAgc3dpdGNoIChjaGFpbikge1xuICAgIGNhc2UgRVJHT19DSEFJTjpcbiAgICAgIGVuY29kZWQgPSBCdWZmZXIuZnJvbShcbiAgICAgICAgZXJnb0xpYi5BZGRyZXNzLmZyb21fYmFzZTU4KGFkZHJlc3MpLmNvbnRlbnRfYnl0ZXMoKSxcbiAgICAgICkudG9TdHJpbmcoJ2hleCcpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBDQVJEQU5PX0NIQUlOOlxuICAgICAgZW5jb2RlZCA9IEJ1ZmZlci5mcm9tKFxuICAgICAgICBjYXJkYW5vTGliLkFkZHJlc3MuZnJvbV9iZWNoMzIoYWRkcmVzcykudG9fYnl0ZXMoKSxcbiAgICAgICkudG9TdHJpbmcoJ2hleCcpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBSVU5FU19DSEFJTjpcbiAgICBjYXNlIEJJVENPSU5fQ0hBSU46XG4gICAgICBlbmNvZGVkID0gYml0Y29pbkxpYi5hZGRyZXNzLnRvT3V0cHV0U2NyaXB0KGFkZHJlc3MpLnRvU3RyaW5nKCdoZXgnKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgQklOQU5DRV9DSEFJTjpcbiAgICBjYXNlIEVUSEVSRVVNX0NIQUlOOlxuICAgICAgaWYgKGFkZHJlc3MubGVuZ3RoICE9IDQyIHx8IGFkZHJlc3Muc3Vic3RyaW5nKDAsIDIpICE9ICcweCcpIHtcbiAgICAgICAgdGhyb3cgbmV3IFVuc3VwcG9ydGVkQWRkcmVzc0Vycm9yKGNoYWluLCBhZGRyZXNzKTtcbiAgICAgIH1cbiAgICAgIGVuY29kZWQgPSBhZGRyZXNzLnN1YnN0cmluZygyKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgRE9HRV9DSEFJTjpcbiAgICAgIGVuY29kZWQgPSBiaXRjb2luTGliLmFkZHJlc3NcbiAgICAgICAgLnRvT3V0cHV0U2NyaXB0KGFkZHJlc3MsIERPR0VfTkVUV09SSylcbiAgICAgICAgLnRvU3RyaW5nKCdoZXgnKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgRklST19DSEFJTjpcbiAgICAgIGVuY29kZWQgPSBiaXRjb2luTGliLmFkZHJlc3NcbiAgICAgICAgLnRvT3V0cHV0U2NyaXB0KGFkZHJlc3MsIEZJUk9fTkVUV09SSylcbiAgICAgICAgLnRvU3RyaW5nKCdoZXgnKTtcbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgVW5zdXBwb3J0ZWRDaGFpbkVycm9yKGNoYWluKTtcbiAgfVxuICBpZiAoZW5jb2RlZC5sZW5ndGggPiA2MCAqIDIpXG4gICAgdGhyb3cgbmV3IFVuc3VwcG9ydGVkQWRkcmVzc0Vycm9yKGNoYWluLCBhZGRyZXNzKTtcbiAgcmV0dXJuIGVuY29kZWQ7XG59O1xuIl19
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":"AAkBA;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,EAAE,SAAS,MAAM,KAAG,OA4ChE,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,60 +1,34 @@
1
- import { BINANCE_CHAIN, BITCOIN_CHAIN, CARDANO_CHAIN, DOGE_CHAIN, DOGE_NETWORK, ERGO_CHAIN, ETHEREUM_CHAIN, 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
- default:
57
- throw new UnsupportedChainError(chain);
58
- }
28
+ const validator = chainValidators[chain];
29
+ if (validator)
30
+ validator(address);
31
+ else
32
+ throw new UnsupportedChainError(chain);
59
33
  };
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vbGliL3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsYUFBYSxFQUNiLGFBQWEsRUFDYixhQUFhLEVBQ2IsVUFBVSxFQUNWLFlBQVksRUFDWixVQUFVLEVBQ1YsY0FBYyxFQUNkLFdBQVcsRUFDWCxVQUFVLEVBQ1YsWUFBWSxHQUNiLE1BQU0sU0FBUyxDQUFDO0FBQ2pCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN6RSxPQUFPLEtBQUssT0FBTyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sS0FBSyxVQUFVLE1BQU0sMENBQTBDLENBQUM7QUFDdkUsT0FBTyxLQUFLLFVBQVUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxLQUFLLFdBQVcsTUFBTSxRQUFRLENBQUM7QUFFdEM7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLEtBQWEsRUFBRSxPQUFlLEVBQVcsRUFBRTtJQUN6RSxRQUFRLEtBQUssRUFBRSxDQUFDO1FBQ2QsS0FBSyxVQUFVO1lBQ2IsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDckMsT0FBTyxJQUFJLENBQUM7UUFDZCxLQUFLLGFBQWE7WUFDaEIsVUFBVSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDeEMsT0FBTyxJQUFJLENBQUM7UUFDZCxLQUFLLGFBQWE7WUFDaEIsVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdkMsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxNQUFNO2dCQUMvQixNQUFNLElBQUksdUJBQXVCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3BELE9BQU8sSUFBSSxDQUFDO1FBQ2QsS0FBSyxhQUFhLENBQUM7UUFDbkIsS0FBSyxjQUFjO1lBQ2pCLElBQUksT0FBTyxDQUFDLFdBQVcsRUFBRSxJQUFJLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDO2dCQUNyRSxNQUFNLElBQUksdUJBQXVCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3BELE9BQU8sSUFBSSxDQUFDO1FBQ2QsS0FBSyxVQUFVO1lBQ2IsSUFBSSxDQUFDO2dCQUNILFVBQVUsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztZQUMzRCxDQUFDO1lBQUMsTUFBTSxDQUFDO2dCQUNQLE1BQU0sSUFBSSx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDcEQsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2QsS0FBSyxXQUFXO1lBQ2QsSUFBSSxDQUFDO2dCQUNILFVBQVUsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUMzQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLE1BQU07b0JBQy9CLE1BQU0sSUFBSSx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDdEQsQ0FBQztZQUFDLE1BQU0sQ0FBQztnQkFDUCxNQUFNLElBQUksdUJBQXVCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3BELENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNkLEtBQUssVUFBVTtZQUNiLElBQUksQ0FBQztnQkFDSCxVQUFVLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFDM0QsQ0FBQztZQUFDLE1BQU0sQ0FBQztnQkFDUCxNQUFNLElBQUksdUJBQXVCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3BELENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNkO1lBQ0UsTUFBTSxJQUFJLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7QUFDSCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCSU5BTkNFX0NIQUlOLFxuICBCSVRDT0lOX0NIQUlOLFxuICBDQVJEQU5PX0NIQUlOLFxuICBET0dFX0NIQUlOLFxuICBET0dFX05FVFdPUkssXG4gIEVSR09fQ0hBSU4sXG4gIEVUSEVSRVVNX0NIQUlOLFxuICBSVU5FU19DSEFJTixcbiAgRklST19DSEFJTixcbiAgRklST19ORVRXT1JLLFxufSBmcm9tICcuL2NvbnN0JztcbmltcG9ydCB7IFVuc3VwcG9ydGVkQWRkcmVzc0Vycm9yLCBVbnN1cHBvcnRlZENoYWluRXJyb3IgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCAqIGFzIGVyZ29MaWIgZnJvbSAnZXJnby1saWItd2FzbS1ub2RlanMnO1xuaW1wb3J0ICogYXMgY2FyZGFub0xpYiBmcm9tICdAZW11cmdvL2NhcmRhbm8tc2VyaWFsaXphdGlvbi1saWItbm9kZWpzJztcbmltcG9ydCAqIGFzIGJpdGNvaW5MaWIgZnJvbSAnYml0Y29pbmpzLWxpYic7XG5pbXBvcnQgKiBhcyBldGhlcmV1bUxpYiBmcm9tICdldGhlcnMnO1xuXG4vKipcbiAqIHZhbGlkYXRlcyBhZGRyZXNzIG9mIGEgY2hhaW5cbiAqIEBwYXJhbSBjaGFpblxuICogQHBhcmFtIGFkZHJlc3NcbiAqL1xuZXhwb3J0IGNvbnN0IHZhbGlkYXRlQWRkcmVzcyA9IChjaGFpbjogc3RyaW5nLCBhZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuID0+IHtcbiAgc3dpdGNoIChjaGFpbikge1xuICAgIGNhc2UgRVJHT19DSEFJTjpcbiAgICAgIGVyZ29MaWIuQWRkcmVzcy5mcm9tX2Jhc2U1OChhZGRyZXNzKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIGNhc2UgQ0FSREFOT19DSEFJTjpcbiAgICAgIGNhcmRhbm9MaWIuQWRkcmVzcy5mcm9tX2JlY2gzMihhZGRyZXNzKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIGNhc2UgQklUQ09JTl9DSEFJTjpcbiAgICAgIGJpdGNvaW5MaWIuYWRkcmVzcy5mcm9tQmVjaDMyKGFkZHJlc3MpO1xuICAgICAgaWYgKGFkZHJlc3Muc2xpY2UoMCwgNCkgIT0gJ2JjMXEnKVxuICAgICAgICB0aHJvdyBuZXcgVW5zdXBwb3J0ZWRBZGRyZXNzRXJyb3IoY2hhaW4sIGFkZHJlc3MpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgY2FzZSBCSU5BTkNFX0NIQUlOOlxuICAgIGNhc2UgRVRIRVJFVU1fQ0hBSU46XG4gICAgICBpZiAoYWRkcmVzcy50b0xvd2VyQ2FzZSgpICE9IGFkZHJlc3MgfHwgIWV0aGVyZXVtTGliLmlzQWRkcmVzcyhhZGRyZXNzKSlcbiAgICAgICAgdGhyb3cgbmV3IFVuc3VwcG9ydGVkQWRkcmVzc0Vycm9yKGNoYWluLCBhZGRyZXNzKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIGNhc2UgRE9HRV9DSEFJTjpcbiAgICAgIHRyeSB7XG4gICAgICAgIGJpdGNvaW5MaWIuYWRkcmVzcy50b091dHB1dFNjcmlwdChhZGRyZXNzLCBET0dFX05FVFdPUkspO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZEFkZHJlc3NFcnJvcihjaGFpbiwgYWRkcmVzcyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICBjYXNlIFJVTkVTX0NIQUlOOlxuICAgICAgdHJ5IHtcbiAgICAgICAgYml0Y29pbkxpYi5hZGRyZXNzLnRvT3V0cHV0U2NyaXB0KGFkZHJlc3MpO1xuICAgICAgICBpZiAoYWRkcmVzcy5zbGljZSgwLCA0KSAhPSAnYmMxcCcpXG4gICAgICAgICAgdGhyb3cgbmV3IFVuc3VwcG9ydGVkQWRkcmVzc0Vycm9yKGNoYWluLCBhZGRyZXNzKTtcbiAgICAgIH0gY2F0Y2gge1xuICAgICAgICB0aHJvdyBuZXcgVW5zdXBwb3J0ZWRBZGRyZXNzRXJyb3IoY2hhaW4sIGFkZHJlc3MpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgY2FzZSBGSVJPX0NIQUlOOlxuICAgICAgdHJ5IHtcbiAgICAgICAgYml0Y29pbkxpYi5hZGRyZXNzLnRvT3V0cHV0U2NyaXB0KGFkZHJlc3MsIEZJUk9fTkVUV09SSyk7XG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgdGhyb3cgbmV3IFVuc3VwcG9ydGVkQWRkcmVzc0Vycm9yKGNoYWluLCBhZGRyZXNzKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgVW5zdXBwb3J0ZWRDaGFpbkVycm9yKGNoYWluKTtcbiAgfVxufTtcbiJdfQ==
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.1.1",
3
+ "version": "2.0.0-b2911da1",
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-b2911da1",
31
+ "@rosen-bridge/address-codec-bitcoin-runes": "0.1.0-b2911da1",
32
+ "@rosen-bridge/address-codec-cardano": "0.1.0-b2911da1",
33
+ "@rosen-bridge/address-codec-doge": "0.1.0-b2911da1",
34
+ "@rosen-bridge/address-codec-ergo": "0.1.0-b2911da1",
35
+ "@rosen-bridge/address-codec-evm": "0.1.0-b2911da1",
36
+ "@rosen-bridge/address-codec-firo": "0.1.0-b2911da1",
37
+ "@rosen-bridge/address-codec-handshake": "0.1.0-b2911da1"
40
38
  },
41
39
  "engines": {
42
40
  "node": ">=22.18.0",