@rosen-bridge/address-codec 0.2.1 → 0.4.0-66382a71

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.
Files changed (47) hide show
  1. package/CHANGELOG.md +14 -2
  2. package/dist/const.d.ts +1 -0
  3. package/dist/const.d.ts.map +1 -1
  4. package/dist/const.js +2 -1
  5. package/dist/decoder.d.ts +2 -5
  6. package/dist/decoder.d.ts.map +1 -1
  7. package/dist/decoder.js +3 -2
  8. package/dist/encoder.d.ts +1 -1
  9. package/dist/encoder.d.ts.map +1 -1
  10. package/dist/encoder.js +3 -2
  11. package/dist/index.d.ts +2 -1
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +2 -1
  14. package/dist/lib/const.d.ts +1 -0
  15. package/dist/lib/const.d.ts.map +1 -1
  16. package/dist/lib/const.js +2 -1
  17. package/dist/lib/decoder.d.ts.map +1 -1
  18. package/dist/lib/decoder.js +3 -2
  19. package/dist/lib/encoder.d.ts.map +1 -1
  20. package/dist/lib/encoder.js +3 -2
  21. package/dist/lib/index.d.ts +1 -0
  22. package/dist/lib/index.d.ts.map +1 -1
  23. package/dist/lib/index.js +2 -1
  24. package/dist/lib/validator.d.ts +7 -0
  25. package/dist/lib/validator.d.ts.map +1 -0
  26. package/dist/lib/validator.js +33 -0
  27. package/dist/tests/testData.d.ts +6 -0
  28. package/dist/tests/testData.d.ts.map +1 -1
  29. package/dist/tests/testData.js +7 -1
  30. package/dist/tests/validator.spec.d.ts +2 -0
  31. package/dist/tests/validator.spec.d.ts.map +1 -0
  32. package/dist/tests/validator.spec.js +158 -0
  33. package/dist/tsconfig.tsbuildinfo +1 -1
  34. package/dist/types.d.ts +3 -3
  35. package/dist/types.js +7 -11
  36. package/dist/validator.d.ts +7 -0
  37. package/dist/validator.d.ts.map +1 -0
  38. package/dist/validator.js +33 -0
  39. package/lib/const.ts +1 -0
  40. package/lib/decoder.ts +2 -0
  41. package/lib/encoder.ts +2 -0
  42. package/lib/index.ts +1 -0
  43. package/lib/validator.ts +38 -0
  44. package/package.json +4 -3
  45. package/tests/testData.ts +11 -0
  46. package/tests/validator.spec.ts +178 -0
  47. package/tsconfig.build.tsbuildinfo +1 -1
package/CHANGELOG.md CHANGED
@@ -1,13 +1,25 @@
1
1
  # @rosen-bridge/address-codec
2
2
 
3
+ ## 0.4.0
4
+
5
+ ### Minor Changes
6
+
7
+ - Add Binance
8
+
9
+ ## 0.3.0
10
+
11
+ ### Minor Changes
12
+
13
+ - Add address verifier with respect to chain
14
+
3
15
  ## 0.2.1
4
16
 
5
17
  ### Patch Changes
6
18
 
7
- - reduce ergo wasm version due to nextjs bug
19
+ - Reduce ergo wasm version due to nextjs bug
8
20
 
9
21
  ## 0.2.0
10
22
 
11
23
  ### Minor Changes
12
24
 
13
- - support for Ethereum's address encoding and decoding were added.
25
+ - Support for Ethereum's address encoding and decoding were added.
package/dist/const.d.ts CHANGED
@@ -2,4 +2,5 @@ export declare const BITCOIN_CHAIN = "bitcoin";
2
2
  export declare const CARDANO_CHAIN = "cardano";
3
3
  export declare const ERGO_CHAIN = "ergo";
4
4
  export declare const ETHEREUM_CHAIN = "ethereum";
5
+ export declare const BINANCE_CHAIN = "binance";
5
6
  //# 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,aAAa,YAAY,CAAC;AACvC,eAAO,MAAM,UAAU,SAAS,CAAC;AACjC,eAAO,MAAM,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../lib/const.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,YAAY,CAAC;AACvC,eAAO,MAAM,aAAa,YAAY,CAAC;AACvC,eAAO,MAAM,UAAU,SAAS,CAAC;AACjC,eAAO,MAAM,cAAc,aAAa,CAAC;AACzC,eAAO,MAAM,aAAa,YAAY,CAAC"}
package/dist/const.js CHANGED
@@ -2,4 +2,5 @@ export const BITCOIN_CHAIN = 'bitcoin';
2
2
  export const CARDANO_CHAIN = 'cardano';
3
3
  export const ERGO_CHAIN = 'ergo';
4
4
  export const ETHEREUM_CHAIN = 'ethereum';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvY29uc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQztBQUN2QyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDO0FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUM7QUFDakMsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBCSVRDT0lOX0NIQUlOID0gJ2JpdGNvaW4nO1xuZXhwb3J0IGNvbnN0IENBUkRBTk9fQ0hBSU4gPSAnY2FyZGFubyc7XG5leHBvcnQgY29uc3QgRVJHT19DSEFJTiA9ICdlcmdvJztcbmV4cG9ydCBjb25zdCBFVEhFUkVVTV9DSEFJTiA9ICdldGhlcmV1bSc7XG4iXX0=
5
+ export const BINANCE_CHAIN = 'binance';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvY29uc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQztBQUN2QyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDO0FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUM7QUFDakMsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQztBQUN6QyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IEJJVENPSU5fQ0hBSU4gPSAnYml0Y29pbic7XG5leHBvcnQgY29uc3QgQ0FSREFOT19DSEFJTiA9ICdjYXJkYW5vJztcbmV4cG9ydCBjb25zdCBFUkdPX0NIQUlOID0gJ2VyZ28nO1xuZXhwb3J0IGNvbnN0IEVUSEVSRVVNX0NIQUlOID0gJ2V0aGVyZXVtJztcbmV4cG9ydCBjb25zdCBCSU5BTkNFX0NIQUlOID0gJ2JpbmFuY2UnO1xuIl19
package/dist/decoder.d.ts CHANGED
@@ -4,8 +4,5 @@
4
4
  * @param chain
5
5
  * @param encodedAddress
6
6
  */
7
- export declare const decodeAddress: (
8
- chain: string,
9
- encodedAddress: string,
10
- ) => string;
11
- //# sourceMappingURL=decoder.d.ts.map
7
+ export declare const decodeAddress: (chain: string, encodedAddress: string) => string;
8
+ //# sourceMappingURL=decoder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"decoder.d.ts","sourceRoot":"","sources":["../lib/decoder.ts"],"names":[],"mappings":"AAWA;;;;;GAKG;AACH,eAAO,MAAM,aAAa,UACjB,MAAM,kBACG,MAAM,KACrB,MAwBF,CAAC"}
1
+ {"version":3,"file":"decoder.d.ts","sourceRoot":"","sources":["../lib/decoder.ts"],"names":[],"mappings":"AAYA;;;;;GAKG;AACH,eAAO,MAAM,aAAa,UACjB,MAAM,kBACG,MAAM,KACrB,MAyBF,CAAC"}
package/dist/decoder.js CHANGED
@@ -1,4 +1,4 @@
1
- import { BITCOIN_CHAIN, CARDANO_CHAIN, ERGO_CHAIN, ETHEREUM_CHAIN, } from './const';
1
+ import { BINANCE_CHAIN, BITCOIN_CHAIN, CARDANO_CHAIN, ERGO_CHAIN, ETHEREUM_CHAIN, } from './const';
2
2
  import { UnsupportedAddressError, UnsupportedChainError } from './types';
3
3
  import * as ergoLib from 'ergo-lib-wasm-nodejs';
4
4
  import * as cardanoLib from '@emurgo/cardano-serialization-lib-nodejs';
@@ -19,6 +19,7 @@ export const decodeAddress = (chain, encodedAddress) => {
19
19
  return cardanoLib.Address.from_bytes(Buffer.from(encodedAddress, 'hex')).to_bech32();
20
20
  case BITCOIN_CHAIN:
21
21
  return bitcoinLib.address.fromOutputScript(Buffer.from(encodedAddress, 'hex'));
22
+ case BINANCE_CHAIN:
22
23
  case ETHEREUM_CHAIN:
23
24
  if (encodedAddress.length != 40) {
24
25
  throw new UnsupportedAddressError(chain, encodedAddress);
@@ -28,4 +29,4 @@ export const decodeAddress = (chain, encodedAddress) => {
28
29
  throw new UnsupportedChainError(chain);
29
30
  }
30
31
  };
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb2Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL2xpYi9kZWNvZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxhQUFhLEVBQ2IsYUFBYSxFQUNiLFVBQVUsRUFDVixjQUFjLEdBQ2YsTUFBTSxTQUFTLENBQUM7QUFDakIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLHFCQUFxQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3pFLE9BQU8sS0FBSyxPQUFPLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxLQUFLLFVBQVUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN2RSxPQUFPLEtBQUssVUFBVSxNQUFNLGVBQWUsQ0FBQztBQUU1Qzs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUMzQixLQUFhLEVBQ2IsY0FBc0IsRUFDZCxFQUFFO0lBQ1YsSUFBSSxjQUFjLENBQUMsTUFBTSxHQUFHLEVBQUUsR0FBRyxDQUFDO1FBQ2hDLE1BQU0sSUFBSSx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDM0QsUUFBUSxLQUFLLEVBQUUsQ0FBQztRQUNkLEtBQUssVUFBVTtZQUNiLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQ3BDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUNuQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdDLEtBQUssYUFBYTtZQUNoQixPQUFPLFVBQVUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUNsQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FDbkMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNoQixLQUFLLGFBQWE7WUFDaEIsT0FBTyxVQUFVLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUN4QyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FDbkMsQ0FBQztRQUNKLEtBQUssY0FBYztZQUNqQixJQUFJLGNBQWMsQ0FBQyxNQUFNLElBQUksRUFBRSxFQUFFLENBQUM7Z0JBQ2hDLE1BQU0sSUFBSSx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsY0FBYyxDQUFDLENBQUM7WUFDM0QsQ0FBQztZQUNELE9BQU8sSUFBSSxHQUFHLGNBQWMsQ0FBQztRQUMvQjtZQUNFLE1BQU0sSUFBSSxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQyxDQUFDO0FBQ0gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQklUQ09JTl9DSEFJTixcbiAgQ0FSREFOT19DSEFJTixcbiAgRVJHT19DSEFJTixcbiAgRVRIRVJFVU1fQ0hBSU4sXG59IGZyb20gJy4vY29uc3QnO1xuaW1wb3J0IHsgVW5zdXBwb3J0ZWRBZGRyZXNzRXJyb3IsIFVuc3VwcG9ydGVkQ2hhaW5FcnJvciB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0ICogYXMgZXJnb0xpYiBmcm9tICdlcmdvLWxpYi13YXNtLW5vZGVqcyc7XG5pbXBvcnQgKiBhcyBjYXJkYW5vTGliIGZyb20gJ0BlbXVyZ28vY2FyZGFuby1zZXJpYWxpemF0aW9uLWxpYi1ub2RlanMnO1xuaW1wb3J0ICogYXMgYml0Y29pbkxpYiBmcm9tICdiaXRjb2luanMtbGliJztcblxuLyoqXG4gKiBkZWNvZGVzIGFkZHJlc3Mgb2YgYSBjaGFpblxuICogIHRocm93cyBlcnJvciBpZiBlbmNvZGVkIGFkZHJlc3MgbGVuZ3RoIGlzIG1vcmUgdGhhbiA2MCBieXRlc1xuICogQHBhcmFtIGNoYWluXG4gKiBAcGFyYW0gZW5jb2RlZEFkZHJlc3NcbiAqL1xuZXhwb3J0IGNvbnN0IGRlY29kZUFkZHJlc3MgPSAoXG4gIGNoYWluOiBzdHJpbmcsXG4gIGVuY29kZWRBZGRyZXNzOiBzdHJpbmdcbik6IHN0cmluZyA9PiB7XG4gIGlmIChlbmNvZGVkQWRkcmVzcy5sZW5ndGggPiA2MCAqIDIpXG4gICAgdGhyb3cgbmV3IFVuc3VwcG9ydGVkQWRkcmVzc0Vycm9yKGNoYWluLCBlbmNvZGVkQWRkcmVzcyk7XG4gIHN3aXRjaCAoY2hhaW4pIHtcbiAgICBjYXNlIEVSR09fQ0hBSU46XG4gICAgICByZXR1cm4gZXJnb0xpYi5BZGRyZXNzLmZyb21fcHVibGljX2tleShcbiAgICAgICAgQnVmZmVyLmZyb20oZW5jb2RlZEFkZHJlc3MsICdoZXgnKVxuICAgICAgKS50b19iYXNlNTgoZXJnb0xpYi5OZXR3b3JrUHJlZml4Lk1haW5uZXQpO1xuICAgIGNhc2UgQ0FSREFOT19DSEFJTjpcbiAgICAgIHJldHVybiBjYXJkYW5vTGliLkFkZHJlc3MuZnJvbV9ieXRlcyhcbiAgICAgICAgQnVmZmVyLmZyb20oZW5jb2RlZEFkZHJlc3MsICdoZXgnKVxuICAgICAgKS50b19iZWNoMzIoKTtcbiAgICBjYXNlIEJJVENPSU5fQ0hBSU46XG4gICAgICByZXR1cm4gYml0Y29pbkxpYi5hZGRyZXNzLmZyb21PdXRwdXRTY3JpcHQoXG4gICAgICAgIEJ1ZmZlci5mcm9tKGVuY29kZWRBZGRyZXNzLCAnaGV4JylcbiAgICAgICk7XG4gICAgY2FzZSBFVEhFUkVVTV9DSEFJTjpcbiAgICAgIGlmIChlbmNvZGVkQWRkcmVzcy5sZW5ndGggIT0gNDApIHtcbiAgICAgICAgdGhyb3cgbmV3IFVuc3VwcG9ydGVkQWRkcmVzc0Vycm9yKGNoYWluLCBlbmNvZGVkQWRkcmVzcyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gJzB4JyArIGVuY29kZWRBZGRyZXNzO1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgVW5zdXBwb3J0ZWRDaGFpbkVycm9yKGNoYWluKTtcbiAgfVxufTtcbiJdfQ==
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb2Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL2xpYi9kZWNvZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxhQUFhLEVBQ2IsYUFBYSxFQUNiLGFBQWEsRUFDYixVQUFVLEVBQ1YsY0FBYyxHQUNmLE1BQU0sU0FBUyxDQUFDO0FBQ2pCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN6RSxPQUFPLEtBQUssT0FBTyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sS0FBSyxVQUFVLE1BQU0sMENBQTBDLENBQUM7QUFDdkUsT0FBTyxLQUFLLFVBQVUsTUFBTSxlQUFlLENBQUM7QUFFNUM7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FDM0IsS0FBYSxFQUNiLGNBQXNCLEVBQ2QsRUFBRTtJQUNWLElBQUksY0FBYyxDQUFDLE1BQU0sR0FBRyxFQUFFLEdBQUcsQ0FBQztRQUNoQyxNQUFNLElBQUksdUJBQXVCLENBQUMsS0FBSyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQzNELFFBQVEsS0FBSyxFQUFFLENBQUM7UUFDZCxLQUFLLFVBQVU7WUFDYixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUNwQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FDbkMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QyxLQUFLLGFBQWE7WUFDaEIsT0FBTyxVQUFVLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FDbEMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQ25DLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDaEIsS0FBSyxhQUFhO1lBQ2hCLE9BQU8sVUFBVSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FDeEMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQ25DLENBQUM7UUFDSixLQUFLLGFBQWEsQ0FBQztRQUNuQixLQUFLLGNBQWM7WUFDakIsSUFBSSxjQUFjLENBQUMsTUFBTSxJQUFJLEVBQUUsRUFBRSxDQUFDO2dCQUNoQyxNQUFNLElBQUksdUJBQXVCLENBQUMsS0FBSyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1lBQzNELENBQUM7WUFDRCxPQUFPLElBQUksR0FBRyxjQUFjLENBQUM7UUFDL0I7WUFDRSxNQUFNLElBQUkscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0MsQ0FBQztBQUNILENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJJTkFOQ0VfQ0hBSU4sXG4gIEJJVENPSU5fQ0hBSU4sXG4gIENBUkRBTk9fQ0hBSU4sXG4gIEVSR09fQ0hBSU4sXG4gIEVUSEVSRVVNX0NIQUlOLFxufSBmcm9tICcuL2NvbnN0JztcbmltcG9ydCB7IFVuc3VwcG9ydGVkQWRkcmVzc0Vycm9yLCBVbnN1cHBvcnRlZENoYWluRXJyb3IgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCAqIGFzIGVyZ29MaWIgZnJvbSAnZXJnby1saWItd2FzbS1ub2RlanMnO1xuaW1wb3J0ICogYXMgY2FyZGFub0xpYiBmcm9tICdAZW11cmdvL2NhcmRhbm8tc2VyaWFsaXphdGlvbi1saWItbm9kZWpzJztcbmltcG9ydCAqIGFzIGJpdGNvaW5MaWIgZnJvbSAnYml0Y29pbmpzLWxpYic7XG5cbi8qKlxuICogZGVjb2RlcyBhZGRyZXNzIG9mIGEgY2hhaW5cbiAqICB0aHJvd3MgZXJyb3IgaWYgZW5jb2RlZCBhZGRyZXNzIGxlbmd0aCBpcyBtb3JlIHRoYW4gNjAgYnl0ZXNcbiAqIEBwYXJhbSBjaGFpblxuICogQHBhcmFtIGVuY29kZWRBZGRyZXNzXG4gKi9cbmV4cG9ydCBjb25zdCBkZWNvZGVBZGRyZXNzID0gKFxuICBjaGFpbjogc3RyaW5nLFxuICBlbmNvZGVkQWRkcmVzczogc3RyaW5nXG4pOiBzdHJpbmcgPT4ge1xuICBpZiAoZW5jb2RlZEFkZHJlc3MubGVuZ3RoID4gNjAgKiAyKVxuICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZEFkZHJlc3NFcnJvcihjaGFpbiwgZW5jb2RlZEFkZHJlc3MpO1xuICBzd2l0Y2ggKGNoYWluKSB7XG4gICAgY2FzZSBFUkdPX0NIQUlOOlxuICAgICAgcmV0dXJuIGVyZ29MaWIuQWRkcmVzcy5mcm9tX3B1YmxpY19rZXkoXG4gICAgICAgIEJ1ZmZlci5mcm9tKGVuY29kZWRBZGRyZXNzLCAnaGV4JylcbiAgICAgICkudG9fYmFzZTU4KGVyZ29MaWIuTmV0d29ya1ByZWZpeC5NYWlubmV0KTtcbiAgICBjYXNlIENBUkRBTk9fQ0hBSU46XG4gICAgICByZXR1cm4gY2FyZGFub0xpYi5BZGRyZXNzLmZyb21fYnl0ZXMoXG4gICAgICAgIEJ1ZmZlci5mcm9tKGVuY29kZWRBZGRyZXNzLCAnaGV4JylcbiAgICAgICkudG9fYmVjaDMyKCk7XG4gICAgY2FzZSBCSVRDT0lOX0NIQUlOOlxuICAgICAgcmV0dXJuIGJpdGNvaW5MaWIuYWRkcmVzcy5mcm9tT3V0cHV0U2NyaXB0KFxuICAgICAgICBCdWZmZXIuZnJvbShlbmNvZGVkQWRkcmVzcywgJ2hleCcpXG4gICAgICApO1xuICAgIGNhc2UgQklOQU5DRV9DSEFJTjpcbiAgICBjYXNlIEVUSEVSRVVNX0NIQUlOOlxuICAgICAgaWYgKGVuY29kZWRBZGRyZXNzLmxlbmd0aCAhPSA0MCkge1xuICAgICAgICB0aHJvdyBuZXcgVW5zdXBwb3J0ZWRBZGRyZXNzRXJyb3IoY2hhaW4sIGVuY29kZWRBZGRyZXNzKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAnMHgnICsgZW5jb2RlZEFkZHJlc3M7XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZENoYWluRXJyb3IoY2hhaW4pO1xuICB9XG59O1xuIl19
package/dist/encoder.d.ts CHANGED
@@ -5,4 +5,4 @@
5
5
  * @param address
6
6
  */
7
7
  export declare const encodeAddress: (chain: string, address: string) => string;
8
- //# sourceMappingURL=encoder.d.ts.map
8
+ //# sourceMappingURL=encoder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../lib/encoder.ts"],"names":[],"mappings":"AAWA;;;;;GAKG;AACH,eAAO,MAAM,aAAa,UAAW,MAAM,WAAW,MAAM,KAAG,MA8B9D,CAAC"}
1
+ {"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../lib/encoder.ts"],"names":[],"mappings":"AAYA;;;;;GAKG;AACH,eAAO,MAAM,aAAa,UAAW,MAAM,WAAW,MAAM,KAAG,MA+B9D,CAAC"}
package/dist/encoder.js CHANGED
@@ -1,4 +1,4 @@
1
- import { BITCOIN_CHAIN, CARDANO_CHAIN, ERGO_CHAIN, ETHEREUM_CHAIN, } from './const';
1
+ import { BINANCE_CHAIN, BITCOIN_CHAIN, CARDANO_CHAIN, ERGO_CHAIN, ETHEREUM_CHAIN, } from './const';
2
2
  import { UnsupportedAddressError, UnsupportedChainError } from './types';
3
3
  import * as ergoLib from 'ergo-lib-wasm-nodejs';
4
4
  import * as cardanoLib from '@emurgo/cardano-serialization-lib-nodejs';
@@ -21,6 +21,7 @@ export const encodeAddress = (chain, address) => {
21
21
  case BITCOIN_CHAIN:
22
22
  encoded = Buffer.from(bitcoinLib.address.toOutputScript(address)).toString('hex');
23
23
  break;
24
+ case BINANCE_CHAIN:
24
25
  case ETHEREUM_CHAIN:
25
26
  if (address.length != 42 || address.substring(0, 2) != '0x') {
26
27
  throw new UnsupportedAddressError(chain, address);
@@ -34,4 +35,4 @@ export const encodeAddress = (chain, address) => {
34
35
  throw new UnsupportedAddressError(chain, address);
35
36
  return encoded;
36
37
  };
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jb2Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL2xpYi9lbmNvZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxhQUFhLEVBQ2IsYUFBYSxFQUNiLFVBQVUsRUFDVixjQUFjLEdBQ2YsTUFBTSxTQUFTLENBQUM7QUFDakIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLHFCQUFxQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3pFLE9BQU8sS0FBSyxPQUFPLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxLQUFLLFVBQVUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN2RSxPQUFPLEtBQUssVUFBVSxNQUFNLGVBQWUsQ0FBQztBQUU1Qzs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLEtBQWEsRUFBRSxPQUFlLEVBQVUsRUFBRTtJQUN0RSxJQUFJLE9BQWUsQ0FBQztJQUNwQixRQUFRLEtBQUssRUFBRSxDQUFDO1FBQ2QsS0FBSyxVQUFVO1lBQ2IsT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQ25CLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUNyRCxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNsQixNQUFNO1FBQ1IsS0FBSyxhQUFhO1lBQ2hCLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUNuQixVQUFVLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FDbkQsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbEIsTUFBTTtRQUNSLEtBQUssYUFBYTtZQUNoQixPQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FDbkIsVUFBVSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQzNDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2xCLE1BQU07UUFDUixLQUFLLGNBQWM7WUFDakIsSUFBSSxPQUFPLENBQUMsTUFBTSxJQUFJLEVBQUUsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDNUQsTUFBTSxJQUFJLHVCQUF1QixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNwRCxDQUFDO1lBQ0QsT0FBTyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0IsTUFBTTtRQUNSO1lBQ0UsTUFBTSxJQUFJLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsRUFBRSxHQUFHLENBQUM7UUFDekIsTUFBTSxJQUFJLHVCQUF1QixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNwRCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCSVRDT0lOX0NIQUlOLFxuICBDQVJEQU5PX0NIQUlOLFxuICBFUkdPX0NIQUlOLFxuICBFVEhFUkVVTV9DSEFJTixcbn0gZnJvbSAnLi9jb25zdCc7XG5pbXBvcnQgeyBVbnN1cHBvcnRlZEFkZHJlc3NFcnJvciwgVW5zdXBwb3J0ZWRDaGFpbkVycm9yIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgKiBhcyBlcmdvTGliIGZyb20gJ2VyZ28tbGliLXdhc20tbm9kZWpzJztcbmltcG9ydCAqIGFzIGNhcmRhbm9MaWIgZnJvbSAnQGVtdXJnby9jYXJkYW5vLXNlcmlhbGl6YXRpb24tbGliLW5vZGVqcyc7XG5pbXBvcnQgKiBhcyBiaXRjb2luTGliIGZyb20gJ2JpdGNvaW5qcy1saWInO1xuXG4vKipcbiAqIGVuY29kZXMgYWRkcmVzcyBvZiBhIGNoYWluIHRvIGhleCBzdHJpbmdcbiAqICB0aHJvd3MgZXJyb3IgaWYgZW5jb2RlZCBhZGRyZXNzIGxlbmd0aCBpcyBtb3JlIHRoYW4gNjAgYnl0ZXNcbiAqIEBwYXJhbSBjaGFpblxuICogQHBhcmFtIGFkZHJlc3NcbiAqL1xuZXhwb3J0IGNvbnN0IGVuY29kZUFkZHJlc3MgPSAoY2hhaW46IHN0cmluZywgYWRkcmVzczogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgbGV0IGVuY29kZWQ6IHN0cmluZztcbiAgc3dpdGNoIChjaGFpbikge1xuICAgIGNhc2UgRVJHT19DSEFJTjpcbiAgICAgIGVuY29kZWQgPSBCdWZmZXIuZnJvbShcbiAgICAgICAgZXJnb0xpYi5BZGRyZXNzLmZyb21fYmFzZTU4KGFkZHJlc3MpLmNvbnRlbnRfYnl0ZXMoKVxuICAgICAgKS50b1N0cmluZygnaGV4Jyk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIENBUkRBTk9fQ0hBSU46XG4gICAgICBlbmNvZGVkID0gQnVmZmVyLmZyb20oXG4gICAgICAgIGNhcmRhbm9MaWIuQWRkcmVzcy5mcm9tX2JlY2gzMihhZGRyZXNzKS50b19ieXRlcygpXG4gICAgICApLnRvU3RyaW5nKCdoZXgnKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgQklUQ09JTl9DSEFJTjpcbiAgICAgIGVuY29kZWQgPSBCdWZmZXIuZnJvbShcbiAgICAgICAgYml0Y29pbkxpYi5hZGRyZXNzLnRvT3V0cHV0U2NyaXB0KGFkZHJlc3MpXG4gICAgICApLnRvU3RyaW5nKCdoZXgnKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgRVRIRVJFVU1fQ0hBSU46XG4gICAgICBpZiAoYWRkcmVzcy5sZW5ndGggIT0gNDIgfHwgYWRkcmVzcy5zdWJzdHJpbmcoMCwgMikgIT0gJzB4Jykge1xuICAgICAgICB0aHJvdyBuZXcgVW5zdXBwb3J0ZWRBZGRyZXNzRXJyb3IoY2hhaW4sIGFkZHJlc3MpO1xuICAgICAgfVxuICAgICAgZW5jb2RlZCA9IGFkZHJlc3Muc3Vic3RyaW5nKDIpO1xuICAgICAgYnJlYWs7XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZENoYWluRXJyb3IoY2hhaW4pO1xuICB9XG4gIGlmIChlbmNvZGVkLmxlbmd0aCA+IDYwICogMilcbiAgICB0aHJvdyBuZXcgVW5zdXBwb3J0ZWRBZGRyZXNzRXJyb3IoY2hhaW4sIGFkZHJlc3MpO1xuICByZXR1cm4gZW5jb2RlZDtcbn07XG4iXX0=
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jb2Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL2xpYi9lbmNvZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxhQUFhLEVBQ2IsYUFBYSxFQUNiLGFBQWEsRUFDYixVQUFVLEVBQ1YsY0FBYyxHQUNmLE1BQU0sU0FBUyxDQUFDO0FBQ2pCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN6RSxPQUFPLEtBQUssT0FBTyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sS0FBSyxVQUFVLE1BQU0sMENBQTBDLENBQUM7QUFDdkUsT0FBTyxLQUFLLFVBQVUsTUFBTSxlQUFlLENBQUM7QUFFNUM7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxLQUFhLEVBQUUsT0FBZSxFQUFVLEVBQUU7SUFDdEUsSUFBSSxPQUFlLENBQUM7SUFDcEIsUUFBUSxLQUFLLEVBQUUsQ0FBQztRQUNkLEtBQUssVUFBVTtZQUNiLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUNuQixPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FDckQsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbEIsTUFBTTtRQUNSLEtBQUssYUFBYTtZQUNoQixPQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FDbkIsVUFBVSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQ25ELENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2xCLE1BQU07UUFDUixLQUFLLGFBQWE7WUFDaEIsT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQ25CLFVBQVUsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUMzQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNsQixNQUFNO1FBQ1IsS0FBSyxhQUFhLENBQUM7UUFDbkIsS0FBSyxjQUFjO1lBQ2pCLElBQUksT0FBTyxDQUFDLE1BQU0sSUFBSSxFQUFFLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQzVELE1BQU0sSUFBSSx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDcEQsQ0FBQztZQUNELE9BQU8sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQy9CLE1BQU07UUFDUjtZQUNFLE1BQU0sSUFBSSxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLEVBQUUsR0FBRyxDQUFDO1FBQ3pCLE1BQU0sSUFBSSx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDcEQsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQklOQU5DRV9DSEFJTixcbiAgQklUQ09JTl9DSEFJTixcbiAgQ0FSREFOT19DSEFJTixcbiAgRVJHT19DSEFJTixcbiAgRVRIRVJFVU1fQ0hBSU4sXG59IGZyb20gJy4vY29uc3QnO1xuaW1wb3J0IHsgVW5zdXBwb3J0ZWRBZGRyZXNzRXJyb3IsIFVuc3VwcG9ydGVkQ2hhaW5FcnJvciB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0ICogYXMgZXJnb0xpYiBmcm9tICdlcmdvLWxpYi13YXNtLW5vZGVqcyc7XG5pbXBvcnQgKiBhcyBjYXJkYW5vTGliIGZyb20gJ0BlbXVyZ28vY2FyZGFuby1zZXJpYWxpemF0aW9uLWxpYi1ub2RlanMnO1xuaW1wb3J0ICogYXMgYml0Y29pbkxpYiBmcm9tICdiaXRjb2luanMtbGliJztcblxuLyoqXG4gKiBlbmNvZGVzIGFkZHJlc3Mgb2YgYSBjaGFpbiB0byBoZXggc3RyaW5nXG4gKiAgdGhyb3dzIGVycm9yIGlmIGVuY29kZWQgYWRkcmVzcyBsZW5ndGggaXMgbW9yZSB0aGFuIDYwIGJ5dGVzXG4gKiBAcGFyYW0gY2hhaW5cbiAqIEBwYXJhbSBhZGRyZXNzXG4gKi9cbmV4cG9ydCBjb25zdCBlbmNvZGVBZGRyZXNzID0gKGNoYWluOiBzdHJpbmcsIGFkZHJlc3M6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gIGxldCBlbmNvZGVkOiBzdHJpbmc7XG4gIHN3aXRjaCAoY2hhaW4pIHtcbiAgICBjYXNlIEVSR09fQ0hBSU46XG4gICAgICBlbmNvZGVkID0gQnVmZmVyLmZyb20oXG4gICAgICAgIGVyZ29MaWIuQWRkcmVzcy5mcm9tX2Jhc2U1OChhZGRyZXNzKS5jb250ZW50X2J5dGVzKClcbiAgICAgICkudG9TdHJpbmcoJ2hleCcpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBDQVJEQU5PX0NIQUlOOlxuICAgICAgZW5jb2RlZCA9IEJ1ZmZlci5mcm9tKFxuICAgICAgICBjYXJkYW5vTGliLkFkZHJlc3MuZnJvbV9iZWNoMzIoYWRkcmVzcykudG9fYnl0ZXMoKVxuICAgICAgKS50b1N0cmluZygnaGV4Jyk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIEJJVENPSU5fQ0hBSU46XG4gICAgICBlbmNvZGVkID0gQnVmZmVyLmZyb20oXG4gICAgICAgIGJpdGNvaW5MaWIuYWRkcmVzcy50b091dHB1dFNjcmlwdChhZGRyZXNzKVxuICAgICAgKS50b1N0cmluZygnaGV4Jyk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIEJJTkFOQ0VfQ0hBSU46XG4gICAgY2FzZSBFVEhFUkVVTV9DSEFJTjpcbiAgICAgIGlmIChhZGRyZXNzLmxlbmd0aCAhPSA0MiB8fCBhZGRyZXNzLnN1YnN0cmluZygwLCAyKSAhPSAnMHgnKSB7XG4gICAgICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZEFkZHJlc3NFcnJvcihjaGFpbiwgYWRkcmVzcyk7XG4gICAgICB9XG4gICAgICBlbmNvZGVkID0gYWRkcmVzcy5zdWJzdHJpbmcoMik7XG4gICAgICBicmVhaztcbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IFVuc3VwcG9ydGVkQ2hhaW5FcnJvcihjaGFpbik7XG4gIH1cbiAgaWYgKGVuY29kZWQubGVuZ3RoID4gNjAgKiAyKVxuICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZEFkZHJlc3NFcnJvcihjaGFpbiwgYWRkcmVzcyk7XG4gIHJldHVybiBlbmNvZGVkO1xufTtcbiJdfQ==
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './encoder';
2
2
  export * from './decoder';
3
3
  export * from './types';
4
- //# sourceMappingURL=index.d.ts.map
4
+ export * from './validator';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
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"}
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,4 +1,5 @@
1
1
  export * from './encoder';
2
2
  export * from './decoder';
3
3
  export * from './types';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2VuY29kZXInO1xuZXhwb3J0ICogZnJvbSAnLi9kZWNvZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xuIl19
4
+ export * from './validator';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2VuY29kZXInO1xuZXhwb3J0ICogZnJvbSAnLi9kZWNvZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi92YWxpZGF0b3InO1xuIl19
@@ -2,4 +2,5 @@ export declare const BITCOIN_CHAIN = "bitcoin";
2
2
  export declare const CARDANO_CHAIN = "cardano";
3
3
  export declare const ERGO_CHAIN = "ergo";
4
4
  export declare const ETHEREUM_CHAIN = "ethereum";
5
+ export declare const BINANCE_CHAIN = "binance";
5
6
  //# 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,aAAa,YAAY,CAAC;AACvC,eAAO,MAAM,UAAU,SAAS,CAAC;AACjC,eAAO,MAAM,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../../lib/const.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,YAAY,CAAC;AACvC,eAAO,MAAM,aAAa,YAAY,CAAC;AACvC,eAAO,MAAM,UAAU,SAAS,CAAC;AACjC,eAAO,MAAM,cAAc,aAAa,CAAC;AACzC,eAAO,MAAM,aAAa,YAAY,CAAC"}
package/dist/lib/const.js CHANGED
@@ -2,4 +2,5 @@ export const BITCOIN_CHAIN = 'bitcoin';
2
2
  export const CARDANO_CHAIN = 'cardano';
3
3
  export const ERGO_CHAIN = 'ergo';
4
4
  export const ETHEREUM_CHAIN = 'ethereum';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvY29uc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQztBQUN2QyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDO0FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUM7QUFDakMsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBCSVRDT0lOX0NIQUlOID0gJ2JpdGNvaW4nO1xuZXhwb3J0IGNvbnN0IENBUkRBTk9fQ0hBSU4gPSAnY2FyZGFubyc7XG5leHBvcnQgY29uc3QgRVJHT19DSEFJTiA9ICdlcmdvJztcbmV4cG9ydCBjb25zdCBFVEhFUkVVTV9DSEFJTiA9ICdldGhlcmV1bSc7XG4iXX0=
5
+ export const BINANCE_CHAIN = 'binance';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvY29uc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQztBQUN2QyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDO0FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUM7QUFDakMsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQztBQUN6QyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IEJJVENPSU5fQ0hBSU4gPSAnYml0Y29pbic7XG5leHBvcnQgY29uc3QgQ0FSREFOT19DSEFJTiA9ICdjYXJkYW5vJztcbmV4cG9ydCBjb25zdCBFUkdPX0NIQUlOID0gJ2VyZ28nO1xuZXhwb3J0IGNvbnN0IEVUSEVSRVVNX0NIQUlOID0gJ2V0aGVyZXVtJztcbmV4cG9ydCBjb25zdCBCSU5BTkNFX0NIQUlOID0gJ2JpbmFuY2UnO1xuIl19
@@ -1 +1 @@
1
- {"version":3,"file":"decoder.d.ts","sourceRoot":"","sources":["../../lib/decoder.ts"],"names":[],"mappings":"AAWA;;;;;GAKG;AACH,eAAO,MAAM,aAAa,UACjB,MAAM,kBACG,MAAM,KACrB,MAwBF,CAAC"}
1
+ {"version":3,"file":"decoder.d.ts","sourceRoot":"","sources":["../../lib/decoder.ts"],"names":[],"mappings":"AAYA;;;;;GAKG;AACH,eAAO,MAAM,aAAa,UACjB,MAAM,kBACG,MAAM,KACrB,MAyBF,CAAC"}
@@ -1,4 +1,4 @@
1
- import { BITCOIN_CHAIN, CARDANO_CHAIN, ERGO_CHAIN, ETHEREUM_CHAIN, } from './const';
1
+ import { BINANCE_CHAIN, BITCOIN_CHAIN, CARDANO_CHAIN, ERGO_CHAIN, ETHEREUM_CHAIN, } from './const';
2
2
  import { UnsupportedAddressError, UnsupportedChainError } from './types';
3
3
  import * as ergoLib from 'ergo-lib-wasm-nodejs';
4
4
  import * as cardanoLib from '@emurgo/cardano-serialization-lib-nodejs';
@@ -19,6 +19,7 @@ export const decodeAddress = (chain, encodedAddress) => {
19
19
  return cardanoLib.Address.from_bytes(Buffer.from(encodedAddress, 'hex')).to_bech32();
20
20
  case BITCOIN_CHAIN:
21
21
  return bitcoinLib.address.fromOutputScript(Buffer.from(encodedAddress, 'hex'));
22
+ case BINANCE_CHAIN:
22
23
  case ETHEREUM_CHAIN:
23
24
  if (encodedAddress.length != 40) {
24
25
  throw new UnsupportedAddressError(chain, encodedAddress);
@@ -28,4 +29,4 @@ export const decodeAddress = (chain, encodedAddress) => {
28
29
  throw new UnsupportedChainError(chain);
29
30
  }
30
31
  };
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb2Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9kZWNvZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxhQUFhLEVBQ2IsYUFBYSxFQUNiLFVBQVUsRUFDVixjQUFjLEdBQ2YsTUFBTSxTQUFTLENBQUM7QUFDakIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLHFCQUFxQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3pFLE9BQU8sS0FBSyxPQUFPLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxLQUFLLFVBQVUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN2RSxPQUFPLEtBQUssVUFBVSxNQUFNLGVBQWUsQ0FBQztBQUU1Qzs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUMzQixLQUFhLEVBQ2IsY0FBc0IsRUFDZCxFQUFFO0lBQ1YsSUFBSSxjQUFjLENBQUMsTUFBTSxHQUFHLEVBQUUsR0FBRyxDQUFDO1FBQ2hDLE1BQU0sSUFBSSx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDM0QsUUFBUSxLQUFLLEVBQUU7UUFDYixLQUFLLFVBQVU7WUFDYixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUNwQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FDbkMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QyxLQUFLLGFBQWE7WUFDaEIsT0FBTyxVQUFVLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FDbEMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQ25DLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDaEIsS0FBSyxhQUFhO1lBQ2hCLE9BQU8sVUFBVSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FDeEMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQ25DLENBQUM7UUFDSixLQUFLLGNBQWM7WUFDakIsSUFBSSxjQUFjLENBQUMsTUFBTSxJQUFJLEVBQUUsRUFBRTtnQkFDL0IsTUFBTSxJQUFJLHVCQUF1QixDQUFDLEtBQUssRUFBRSxjQUFjLENBQUMsQ0FBQzthQUMxRDtZQUNELE9BQU8sSUFBSSxHQUFHLGNBQWMsQ0FBQztRQUMvQjtZQUNFLE1BQU0sSUFBSSxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUMxQztBQUNILENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJJVENPSU5fQ0hBSU4sXG4gIENBUkRBTk9fQ0hBSU4sXG4gIEVSR09fQ0hBSU4sXG4gIEVUSEVSRVVNX0NIQUlOLFxufSBmcm9tICcuL2NvbnN0JztcbmltcG9ydCB7IFVuc3VwcG9ydGVkQWRkcmVzc0Vycm9yLCBVbnN1cHBvcnRlZENoYWluRXJyb3IgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCAqIGFzIGVyZ29MaWIgZnJvbSAnZXJnby1saWItd2FzbS1ub2RlanMnO1xuaW1wb3J0ICogYXMgY2FyZGFub0xpYiBmcm9tICdAZW11cmdvL2NhcmRhbm8tc2VyaWFsaXphdGlvbi1saWItbm9kZWpzJztcbmltcG9ydCAqIGFzIGJpdGNvaW5MaWIgZnJvbSAnYml0Y29pbmpzLWxpYic7XG5cbi8qKlxuICogZGVjb2RlcyBhZGRyZXNzIG9mIGEgY2hhaW5cbiAqICB0aHJvd3MgZXJyb3IgaWYgZW5jb2RlZCBhZGRyZXNzIGxlbmd0aCBpcyBtb3JlIHRoYW4gNjAgYnl0ZXNcbiAqIEBwYXJhbSBjaGFpblxuICogQHBhcmFtIGVuY29kZWRBZGRyZXNzXG4gKi9cbmV4cG9ydCBjb25zdCBkZWNvZGVBZGRyZXNzID0gKFxuICBjaGFpbjogc3RyaW5nLFxuICBlbmNvZGVkQWRkcmVzczogc3RyaW5nXG4pOiBzdHJpbmcgPT4ge1xuICBpZiAoZW5jb2RlZEFkZHJlc3MubGVuZ3RoID4gNjAgKiAyKVxuICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZEFkZHJlc3NFcnJvcihjaGFpbiwgZW5jb2RlZEFkZHJlc3MpO1xuICBzd2l0Y2ggKGNoYWluKSB7XG4gICAgY2FzZSBFUkdPX0NIQUlOOlxuICAgICAgcmV0dXJuIGVyZ29MaWIuQWRkcmVzcy5mcm9tX3B1YmxpY19rZXkoXG4gICAgICAgIEJ1ZmZlci5mcm9tKGVuY29kZWRBZGRyZXNzLCAnaGV4JylcbiAgICAgICkudG9fYmFzZTU4KGVyZ29MaWIuTmV0d29ya1ByZWZpeC5NYWlubmV0KTtcbiAgICBjYXNlIENBUkRBTk9fQ0hBSU46XG4gICAgICByZXR1cm4gY2FyZGFub0xpYi5BZGRyZXNzLmZyb21fYnl0ZXMoXG4gICAgICAgIEJ1ZmZlci5mcm9tKGVuY29kZWRBZGRyZXNzLCAnaGV4JylcbiAgICAgICkudG9fYmVjaDMyKCk7XG4gICAgY2FzZSBCSVRDT0lOX0NIQUlOOlxuICAgICAgcmV0dXJuIGJpdGNvaW5MaWIuYWRkcmVzcy5mcm9tT3V0cHV0U2NyaXB0KFxuICAgICAgICBCdWZmZXIuZnJvbShlbmNvZGVkQWRkcmVzcywgJ2hleCcpXG4gICAgICApO1xuICAgIGNhc2UgRVRIRVJFVU1fQ0hBSU46XG4gICAgICBpZiAoZW5jb2RlZEFkZHJlc3MubGVuZ3RoICE9IDQwKSB7XG4gICAgICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZEFkZHJlc3NFcnJvcihjaGFpbiwgZW5jb2RlZEFkZHJlc3MpO1xuICAgICAgfVxuICAgICAgcmV0dXJuICcweCcgKyBlbmNvZGVkQWRkcmVzcztcbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IFVuc3VwcG9ydGVkQ2hhaW5FcnJvcihjaGFpbik7XG4gIH1cbn07XG4iXX0=
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb2Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9kZWNvZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxhQUFhLEVBQ2IsYUFBYSxFQUNiLGFBQWEsRUFDYixVQUFVLEVBQ1YsY0FBYyxHQUNmLE1BQU0sU0FBUyxDQUFDO0FBQ2pCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN6RSxPQUFPLEtBQUssT0FBTyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sS0FBSyxVQUFVLE1BQU0sMENBQTBDLENBQUM7QUFDdkUsT0FBTyxLQUFLLFVBQVUsTUFBTSxlQUFlLENBQUM7QUFFNUM7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FDM0IsS0FBYSxFQUNiLGNBQXNCLEVBQ2QsRUFBRTtJQUNWLElBQUksY0FBYyxDQUFDLE1BQU0sR0FBRyxFQUFFLEdBQUcsQ0FBQztRQUNoQyxNQUFNLElBQUksdUJBQXVCLENBQUMsS0FBSyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQzNELFFBQVEsS0FBSyxFQUFFO1FBQ2IsS0FBSyxVQUFVO1lBQ2IsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FDcEMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQ25DLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0MsS0FBSyxhQUFhO1lBQ2hCLE9BQU8sVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQ2xDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUNuQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2hCLEtBQUssYUFBYTtZQUNoQixPQUFPLFVBQVUsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQ3hDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUNuQyxDQUFDO1FBQ0osS0FBSyxhQUFhLENBQUM7UUFDbkIsS0FBSyxjQUFjO1lBQ2pCLElBQUksY0FBYyxDQUFDLE1BQU0sSUFBSSxFQUFFLEVBQUU7Z0JBQy9CLE1BQU0sSUFBSSx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsY0FBYyxDQUFDLENBQUM7YUFDMUQ7WUFDRCxPQUFPLElBQUksR0FBRyxjQUFjLENBQUM7UUFDL0I7WUFDRSxNQUFNLElBQUkscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDMUM7QUFDSCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCSU5BTkNFX0NIQUlOLFxuICBCSVRDT0lOX0NIQUlOLFxuICBDQVJEQU5PX0NIQUlOLFxuICBFUkdPX0NIQUlOLFxuICBFVEhFUkVVTV9DSEFJTixcbn0gZnJvbSAnLi9jb25zdCc7XG5pbXBvcnQgeyBVbnN1cHBvcnRlZEFkZHJlc3NFcnJvciwgVW5zdXBwb3J0ZWRDaGFpbkVycm9yIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgKiBhcyBlcmdvTGliIGZyb20gJ2VyZ28tbGliLXdhc20tbm9kZWpzJztcbmltcG9ydCAqIGFzIGNhcmRhbm9MaWIgZnJvbSAnQGVtdXJnby9jYXJkYW5vLXNlcmlhbGl6YXRpb24tbGliLW5vZGVqcyc7XG5pbXBvcnQgKiBhcyBiaXRjb2luTGliIGZyb20gJ2JpdGNvaW5qcy1saWInO1xuXG4vKipcbiAqIGRlY29kZXMgYWRkcmVzcyBvZiBhIGNoYWluXG4gKiAgdGhyb3dzIGVycm9yIGlmIGVuY29kZWQgYWRkcmVzcyBsZW5ndGggaXMgbW9yZSB0aGFuIDYwIGJ5dGVzXG4gKiBAcGFyYW0gY2hhaW5cbiAqIEBwYXJhbSBlbmNvZGVkQWRkcmVzc1xuICovXG5leHBvcnQgY29uc3QgZGVjb2RlQWRkcmVzcyA9IChcbiAgY2hhaW46IHN0cmluZyxcbiAgZW5jb2RlZEFkZHJlc3M6IHN0cmluZ1xuKTogc3RyaW5nID0+IHtcbiAgaWYgKGVuY29kZWRBZGRyZXNzLmxlbmd0aCA+IDYwICogMilcbiAgICB0aHJvdyBuZXcgVW5zdXBwb3J0ZWRBZGRyZXNzRXJyb3IoY2hhaW4sIGVuY29kZWRBZGRyZXNzKTtcbiAgc3dpdGNoIChjaGFpbikge1xuICAgIGNhc2UgRVJHT19DSEFJTjpcbiAgICAgIHJldHVybiBlcmdvTGliLkFkZHJlc3MuZnJvbV9wdWJsaWNfa2V5KFxuICAgICAgICBCdWZmZXIuZnJvbShlbmNvZGVkQWRkcmVzcywgJ2hleCcpXG4gICAgICApLnRvX2Jhc2U1OChlcmdvTGliLk5ldHdvcmtQcmVmaXguTWFpbm5ldCk7XG4gICAgY2FzZSBDQVJEQU5PX0NIQUlOOlxuICAgICAgcmV0dXJuIGNhcmRhbm9MaWIuQWRkcmVzcy5mcm9tX2J5dGVzKFxuICAgICAgICBCdWZmZXIuZnJvbShlbmNvZGVkQWRkcmVzcywgJ2hleCcpXG4gICAgICApLnRvX2JlY2gzMigpO1xuICAgIGNhc2UgQklUQ09JTl9DSEFJTjpcbiAgICAgIHJldHVybiBiaXRjb2luTGliLmFkZHJlc3MuZnJvbU91dHB1dFNjcmlwdChcbiAgICAgICAgQnVmZmVyLmZyb20oZW5jb2RlZEFkZHJlc3MsICdoZXgnKVxuICAgICAgKTtcbiAgICBjYXNlIEJJTkFOQ0VfQ0hBSU46XG4gICAgY2FzZSBFVEhFUkVVTV9DSEFJTjpcbiAgICAgIGlmIChlbmNvZGVkQWRkcmVzcy5sZW5ndGggIT0gNDApIHtcbiAgICAgICAgdGhyb3cgbmV3IFVuc3VwcG9ydGVkQWRkcmVzc0Vycm9yKGNoYWluLCBlbmNvZGVkQWRkcmVzcyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gJzB4JyArIGVuY29kZWRBZGRyZXNzO1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgVW5zdXBwb3J0ZWRDaGFpbkVycm9yKGNoYWluKTtcbiAgfVxufTtcbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../lib/encoder.ts"],"names":[],"mappings":"AAWA;;;;;GAKG;AACH,eAAO,MAAM,aAAa,UAAW,MAAM,WAAW,MAAM,KAAG,MA8B9D,CAAC"}
1
+ {"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../lib/encoder.ts"],"names":[],"mappings":"AAYA;;;;;GAKG;AACH,eAAO,MAAM,aAAa,UAAW,MAAM,WAAW,MAAM,KAAG,MA+B9D,CAAC"}
@@ -1,4 +1,4 @@
1
- import { BITCOIN_CHAIN, CARDANO_CHAIN, ERGO_CHAIN, ETHEREUM_CHAIN, } from './const';
1
+ import { BINANCE_CHAIN, BITCOIN_CHAIN, CARDANO_CHAIN, ERGO_CHAIN, ETHEREUM_CHAIN, } from './const';
2
2
  import { UnsupportedAddressError, UnsupportedChainError } from './types';
3
3
  import * as ergoLib from 'ergo-lib-wasm-nodejs';
4
4
  import * as cardanoLib from '@emurgo/cardano-serialization-lib-nodejs';
@@ -21,6 +21,7 @@ export const encodeAddress = (chain, address) => {
21
21
  case BITCOIN_CHAIN:
22
22
  encoded = Buffer.from(bitcoinLib.address.toOutputScript(address)).toString('hex');
23
23
  break;
24
+ case BINANCE_CHAIN:
24
25
  case ETHEREUM_CHAIN:
25
26
  if (address.length != 42 || address.substring(0, 2) != '0x') {
26
27
  throw new UnsupportedAddressError(chain, address);
@@ -34,4 +35,4 @@ export const encodeAddress = (chain, address) => {
34
35
  throw new UnsupportedAddressError(chain, address);
35
36
  return encoded;
36
37
  };
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jb2Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9lbmNvZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxhQUFhLEVBQ2IsYUFBYSxFQUNiLFVBQVUsRUFDVixjQUFjLEdBQ2YsTUFBTSxTQUFTLENBQUM7QUFDakIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLHFCQUFxQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3pFLE9BQU8sS0FBSyxPQUFPLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxLQUFLLFVBQVUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN2RSxPQUFPLEtBQUssVUFBVSxNQUFNLGVBQWUsQ0FBQztBQUU1Qzs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLEtBQWEsRUFBRSxPQUFlLEVBQVUsRUFBRTtJQUN0RSxJQUFJLE9BQWUsQ0FBQztJQUNwQixRQUFRLEtBQUssRUFBRTtRQUNiLEtBQUssVUFBVTtZQUNiLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUNuQixPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FDckQsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbEIsTUFBTTtRQUNSLEtBQUssYUFBYTtZQUNoQixPQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FDbkIsVUFBVSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQ25ELENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2xCLE1BQU07UUFDUixLQUFLLGFBQWE7WUFDaEIsT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQ25CLFVBQVUsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUMzQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNsQixNQUFNO1FBQ1IsS0FBSyxjQUFjO1lBQ2pCLElBQUksT0FBTyxDQUFDLE1BQU0sSUFBSSxFQUFFLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxFQUFFO2dCQUMzRCxNQUFNLElBQUksdUJBQXVCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2FBQ25EO1lBQ0QsT0FBTyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0IsTUFBTTtRQUNSO1lBQ0UsTUFBTSxJQUFJLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQzFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLEVBQUUsR0FBRyxDQUFDO1FBQ3pCLE1BQU0sSUFBSSx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDcEQsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQklUQ09JTl9DSEFJTixcbiAgQ0FSREFOT19DSEFJTixcbiAgRVJHT19DSEFJTixcbiAgRVRIRVJFVU1fQ0hBSU4sXG59IGZyb20gJy4vY29uc3QnO1xuaW1wb3J0IHsgVW5zdXBwb3J0ZWRBZGRyZXNzRXJyb3IsIFVuc3VwcG9ydGVkQ2hhaW5FcnJvciB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0ICogYXMgZXJnb0xpYiBmcm9tICdlcmdvLWxpYi13YXNtLW5vZGVqcyc7XG5pbXBvcnQgKiBhcyBjYXJkYW5vTGliIGZyb20gJ0BlbXVyZ28vY2FyZGFuby1zZXJpYWxpemF0aW9uLWxpYi1ub2RlanMnO1xuaW1wb3J0ICogYXMgYml0Y29pbkxpYiBmcm9tICdiaXRjb2luanMtbGliJztcblxuLyoqXG4gKiBlbmNvZGVzIGFkZHJlc3Mgb2YgYSBjaGFpbiB0byBoZXggc3RyaW5nXG4gKiAgdGhyb3dzIGVycm9yIGlmIGVuY29kZWQgYWRkcmVzcyBsZW5ndGggaXMgbW9yZSB0aGFuIDYwIGJ5dGVzXG4gKiBAcGFyYW0gY2hhaW5cbiAqIEBwYXJhbSBhZGRyZXNzXG4gKi9cbmV4cG9ydCBjb25zdCBlbmNvZGVBZGRyZXNzID0gKGNoYWluOiBzdHJpbmcsIGFkZHJlc3M6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gIGxldCBlbmNvZGVkOiBzdHJpbmc7XG4gIHN3aXRjaCAoY2hhaW4pIHtcbiAgICBjYXNlIEVSR09fQ0hBSU46XG4gICAgICBlbmNvZGVkID0gQnVmZmVyLmZyb20oXG4gICAgICAgIGVyZ29MaWIuQWRkcmVzcy5mcm9tX2Jhc2U1OChhZGRyZXNzKS5jb250ZW50X2J5dGVzKClcbiAgICAgICkudG9TdHJpbmcoJ2hleCcpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBDQVJEQU5PX0NIQUlOOlxuICAgICAgZW5jb2RlZCA9IEJ1ZmZlci5mcm9tKFxuICAgICAgICBjYXJkYW5vTGliLkFkZHJlc3MuZnJvbV9iZWNoMzIoYWRkcmVzcykudG9fYnl0ZXMoKVxuICAgICAgKS50b1N0cmluZygnaGV4Jyk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIEJJVENPSU5fQ0hBSU46XG4gICAgICBlbmNvZGVkID0gQnVmZmVyLmZyb20oXG4gICAgICAgIGJpdGNvaW5MaWIuYWRkcmVzcy50b091dHB1dFNjcmlwdChhZGRyZXNzKVxuICAgICAgKS50b1N0cmluZygnaGV4Jyk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIEVUSEVSRVVNX0NIQUlOOlxuICAgICAgaWYgKGFkZHJlc3MubGVuZ3RoICE9IDQyIHx8IGFkZHJlc3Muc3Vic3RyaW5nKDAsIDIpICE9ICcweCcpIHtcbiAgICAgICAgdGhyb3cgbmV3IFVuc3VwcG9ydGVkQWRkcmVzc0Vycm9yKGNoYWluLCBhZGRyZXNzKTtcbiAgICAgIH1cbiAgICAgIGVuY29kZWQgPSBhZGRyZXNzLnN1YnN0cmluZygyKTtcbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgVW5zdXBwb3J0ZWRDaGFpbkVycm9yKGNoYWluKTtcbiAgfVxuICBpZiAoZW5jb2RlZC5sZW5ndGggPiA2MCAqIDIpXG4gICAgdGhyb3cgbmV3IFVuc3VwcG9ydGVkQWRkcmVzc0Vycm9yKGNoYWluLCBhZGRyZXNzKTtcbiAgcmV0dXJuIGVuY29kZWQ7XG59O1xuIl19
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jb2Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9lbmNvZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxhQUFhLEVBQ2IsYUFBYSxFQUNiLGFBQWEsRUFDYixVQUFVLEVBQ1YsY0FBYyxHQUNmLE1BQU0sU0FBUyxDQUFDO0FBQ2pCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN6RSxPQUFPLEtBQUssT0FBTyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sS0FBSyxVQUFVLE1BQU0sMENBQTBDLENBQUM7QUFDdkUsT0FBTyxLQUFLLFVBQVUsTUFBTSxlQUFlLENBQUM7QUFFNUM7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxLQUFhLEVBQUUsT0FBZSxFQUFVLEVBQUU7SUFDdEUsSUFBSSxPQUFlLENBQUM7SUFDcEIsUUFBUSxLQUFLLEVBQUU7UUFDYixLQUFLLFVBQVU7WUFDYixPQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FDbkIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsYUFBYSxFQUFFLENBQ3JELENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2xCLE1BQU07UUFDUixLQUFLLGFBQWE7WUFDaEIsT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQ25CLFVBQVUsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUNuRCxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNsQixNQUFNO1FBQ1IsS0FBSyxhQUFhO1lBQ2hCLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUNuQixVQUFVLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FDM0MsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbEIsTUFBTTtRQUNSLEtBQUssYUFBYSxDQUFDO1FBQ25CLEtBQUssY0FBYztZQUNqQixJQUFJLE9BQU8sQ0FBQyxNQUFNLElBQUksRUFBRSxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRTtnQkFDM0QsTUFBTSxJQUFJLHVCQUF1QixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQzthQUNuRDtZQUNELE9BQU8sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQy9CLE1BQU07UUFDUjtZQUNFLE1BQU0sSUFBSSxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUMxQztJQUNELElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxFQUFFLEdBQUcsQ0FBQztRQUN6QixNQUFNLElBQUksdUJBQXVCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJJTkFOQ0VfQ0hBSU4sXG4gIEJJVENPSU5fQ0hBSU4sXG4gIENBUkRBTk9fQ0hBSU4sXG4gIEVSR09fQ0hBSU4sXG4gIEVUSEVSRVVNX0NIQUlOLFxufSBmcm9tICcuL2NvbnN0JztcbmltcG9ydCB7IFVuc3VwcG9ydGVkQWRkcmVzc0Vycm9yLCBVbnN1cHBvcnRlZENoYWluRXJyb3IgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCAqIGFzIGVyZ29MaWIgZnJvbSAnZXJnby1saWItd2FzbS1ub2RlanMnO1xuaW1wb3J0ICogYXMgY2FyZGFub0xpYiBmcm9tICdAZW11cmdvL2NhcmRhbm8tc2VyaWFsaXphdGlvbi1saWItbm9kZWpzJztcbmltcG9ydCAqIGFzIGJpdGNvaW5MaWIgZnJvbSAnYml0Y29pbmpzLWxpYic7XG5cbi8qKlxuICogZW5jb2RlcyBhZGRyZXNzIG9mIGEgY2hhaW4gdG8gaGV4IHN0cmluZ1xuICogIHRocm93cyBlcnJvciBpZiBlbmNvZGVkIGFkZHJlc3MgbGVuZ3RoIGlzIG1vcmUgdGhhbiA2MCBieXRlc1xuICogQHBhcmFtIGNoYWluXG4gKiBAcGFyYW0gYWRkcmVzc1xuICovXG5leHBvcnQgY29uc3QgZW5jb2RlQWRkcmVzcyA9IChjaGFpbjogc3RyaW5nLCBhZGRyZXNzOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICBsZXQgZW5jb2RlZDogc3RyaW5nO1xuICBzd2l0Y2ggKGNoYWluKSB7XG4gICAgY2FzZSBFUkdPX0NIQUlOOlxuICAgICAgZW5jb2RlZCA9IEJ1ZmZlci5mcm9tKFxuICAgICAgICBlcmdvTGliLkFkZHJlc3MuZnJvbV9iYXNlNTgoYWRkcmVzcykuY29udGVudF9ieXRlcygpXG4gICAgICApLnRvU3RyaW5nKCdoZXgnKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgQ0FSREFOT19DSEFJTjpcbiAgICAgIGVuY29kZWQgPSBCdWZmZXIuZnJvbShcbiAgICAgICAgY2FyZGFub0xpYi5BZGRyZXNzLmZyb21fYmVjaDMyKGFkZHJlc3MpLnRvX2J5dGVzKClcbiAgICAgICkudG9TdHJpbmcoJ2hleCcpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBCSVRDT0lOX0NIQUlOOlxuICAgICAgZW5jb2RlZCA9IEJ1ZmZlci5mcm9tKFxuICAgICAgICBiaXRjb2luTGliLmFkZHJlc3MudG9PdXRwdXRTY3JpcHQoYWRkcmVzcylcbiAgICAgICkudG9TdHJpbmcoJ2hleCcpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBCSU5BTkNFX0NIQUlOOlxuICAgIGNhc2UgRVRIRVJFVU1fQ0hBSU46XG4gICAgICBpZiAoYWRkcmVzcy5sZW5ndGggIT0gNDIgfHwgYWRkcmVzcy5zdWJzdHJpbmcoMCwgMikgIT0gJzB4Jykge1xuICAgICAgICB0aHJvdyBuZXcgVW5zdXBwb3J0ZWRBZGRyZXNzRXJyb3IoY2hhaW4sIGFkZHJlc3MpO1xuICAgICAgfVxuICAgICAgZW5jb2RlZCA9IGFkZHJlc3Muc3Vic3RyaW5nKDIpO1xuICAgICAgYnJlYWs7XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZENoYWluRXJyb3IoY2hhaW4pO1xuICB9XG4gIGlmIChlbmNvZGVkLmxlbmd0aCA+IDYwICogMilcbiAgICB0aHJvdyBuZXcgVW5zdXBwb3J0ZWRBZGRyZXNzRXJyb3IoY2hhaW4sIGFkZHJlc3MpO1xuICByZXR1cm4gZW5jb2RlZDtcbn07XG4iXX0=
@@ -1,4 +1,5 @@
1
1
  export * from './encoder';
2
2
  export * from './decoder';
3
3
  export * from './types';
4
+ export * from './validator';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
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"}
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/lib/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './encoder';
2
2
  export * from './decoder';
3
3
  export * from './types';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2VuY29kZXInO1xuZXhwb3J0ICogZnJvbSAnLi9kZWNvZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xuIl19
4
+ export * from './validator';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2VuY29kZXInO1xuZXhwb3J0ICogZnJvbSAnLi9kZWNvZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi92YWxpZGF0b3InO1xuIl19
@@ -0,0 +1,7 @@
1
+ /**
2
+ * validates address of a chain
3
+ * @param chain
4
+ * @param address
5
+ */
6
+ export declare const validateAddress: (chain: string, address: string) => boolean;
7
+ //# sourceMappingURL=validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../lib/validator.ts"],"names":[],"mappings":"AAYA;;;;GAIG;AACH,eAAO,MAAM,eAAe,UAAW,MAAM,WAAW,MAAM,KAAG,OAoBhE,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { BITCOIN_CHAIN, CARDANO_CHAIN, ERGO_CHAIN, ETHEREUM_CHAIN, } 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';
7
+ /**
8
+ * validates address of a chain
9
+ * @param chain
10
+ * @param address
11
+ */
12
+ 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 ETHEREUM_CHAIN:
26
+ if (address.toLowerCase() != address || !ethereumLib.isAddress(address))
27
+ throw new UnsupportedAddressError(chain, address);
28
+ return true;
29
+ default:
30
+ throw new UnsupportedChainError(chain);
31
+ }
32
+ };
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsYUFBYSxFQUNiLGFBQWEsRUFDYixVQUFVLEVBQ1YsY0FBYyxHQUNmLE1BQU0sU0FBUyxDQUFDO0FBQ2pCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN6RSxPQUFPLEtBQUssT0FBTyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sS0FBSyxVQUFVLE1BQU0sMENBQTBDLENBQUM7QUFDdkUsT0FBTyxLQUFLLFVBQVUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxLQUFLLFdBQVcsTUFBTSxRQUFRLENBQUM7QUFFdEM7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLEtBQWEsRUFBRSxPQUFlLEVBQVcsRUFBRTtJQUN6RSxRQUFRLEtBQUssRUFBRTtRQUNiLEtBQUssVUFBVTtZQUNiLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3JDLE9BQU8sSUFBSSxDQUFDO1FBQ2QsS0FBSyxhQUFhO1lBQ2hCLFVBQVUsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3hDLE9BQU8sSUFBSSxDQUFDO1FBQ2QsS0FBSyxhQUFhO1lBQ2hCLFVBQVUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3ZDLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksTUFBTTtnQkFDL0IsTUFBTSxJQUFJLHVCQUF1QixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNwRCxPQUFPLElBQUksQ0FBQztRQUNkLEtBQUssY0FBYztZQUNqQixJQUFJLE9BQU8sQ0FBQyxXQUFXLEVBQUUsSUFBSSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQztnQkFDckUsTUFBTSxJQUFJLHVCQUF1QixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNwRCxPQUFPLElBQUksQ0FBQztRQUNkO1lBQ0UsTUFBTSxJQUFJLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQzFDO0FBQ0gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQklUQ09JTl9DSEFJTixcbiAgQ0FSREFOT19DSEFJTixcbiAgRVJHT19DSEFJTixcbiAgRVRIRVJFVU1fQ0hBSU4sXG59IGZyb20gJy4vY29uc3QnO1xuaW1wb3J0IHsgVW5zdXBwb3J0ZWRBZGRyZXNzRXJyb3IsIFVuc3VwcG9ydGVkQ2hhaW5FcnJvciB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0ICogYXMgZXJnb0xpYiBmcm9tICdlcmdvLWxpYi13YXNtLW5vZGVqcyc7XG5pbXBvcnQgKiBhcyBjYXJkYW5vTGliIGZyb20gJ0BlbXVyZ28vY2FyZGFuby1zZXJpYWxpemF0aW9uLWxpYi1ub2RlanMnO1xuaW1wb3J0ICogYXMgYml0Y29pbkxpYiBmcm9tICdiaXRjb2luanMtbGliJztcbmltcG9ydCAqIGFzIGV0aGVyZXVtTGliIGZyb20gJ2V0aGVycyc7XG5cbi8qKlxuICogdmFsaWRhdGVzIGFkZHJlc3Mgb2YgYSBjaGFpblxuICogQHBhcmFtIGNoYWluXG4gKiBAcGFyYW0gYWRkcmVzc1xuICovXG5leHBvcnQgY29uc3QgdmFsaWRhdGVBZGRyZXNzID0gKGNoYWluOiBzdHJpbmcsIGFkZHJlc3M6IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xuICBzd2l0Y2ggKGNoYWluKSB7XG4gICAgY2FzZSBFUkdPX0NIQUlOOlxuICAgICAgZXJnb0xpYi5BZGRyZXNzLmZyb21fYmFzZTU4KGFkZHJlc3MpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgY2FzZSBDQVJEQU5PX0NIQUlOOlxuICAgICAgY2FyZGFub0xpYi5BZGRyZXNzLmZyb21fYmVjaDMyKGFkZHJlc3MpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgY2FzZSBCSVRDT0lOX0NIQUlOOlxuICAgICAgYml0Y29pbkxpYi5hZGRyZXNzLmZyb21CZWNoMzIoYWRkcmVzcyk7XG4gICAgICBpZiAoYWRkcmVzcy5zbGljZSgwLCA0KSAhPSAnYmMxcScpXG4gICAgICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZEFkZHJlc3NFcnJvcihjaGFpbiwgYWRkcmVzcyk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICBjYXNlIEVUSEVSRVVNX0NIQUlOOlxuICAgICAgaWYgKGFkZHJlc3MudG9Mb3dlckNhc2UoKSAhPSBhZGRyZXNzIHx8ICFldGhlcmV1bUxpYi5pc0FkZHJlc3MoYWRkcmVzcykpXG4gICAgICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZEFkZHJlc3NFcnJvcihjaGFpbiwgYWRkcmVzcyk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IFVuc3VwcG9ydGVkQ2hhaW5FcnJvcihjaGFpbik7XG4gIH1cbn07XG4iXX0=
@@ -1,12 +1,18 @@
1
1
  export declare const ergoAddress = "9iMjQx8PzwBKXRvsFUJFJAPoy31znfEeBUGz8DRkcnJX4rJYjVd";
2
2
  export declare const encodedErgoAddress = "03f999da8e6e42660e4464d17d29e63bc006734a6710a24eb489b466323d3a9339";
3
+ export declare const invalidErgoAddress = "9iMjQx8PzwBKXRvsFUJFJAPoy31znfEeBUGz8DRkcnJX4rJYjVD";
3
4
  export declare const cardanoAddress = "addr1qxxa3kfnnh40yqtepa5frt0tkw4a0rys7v33422lzt8glx43sqtd4vkhjzawajej8aujh27p5a54zx62xf3wvuplynqs3fsqet";
4
5
  export declare const encodedCardanoAddress = "018dd8d9339deaf201790f6891adebb3abd78c90f3231aa95f12ce8f9ab18016dab2d790baeecb323f792babc1a769511b4a3262e6703f24c1";
6
+ export declare const invalidCardanoAddress = "addr1qxxa3kfnnh40yqtepa5frt0tkw4a0rys7v33422lzt8glx43sqtd4vkhjzawajej8aujh27p5a54zx62xf3wvuplynqs3fsqee";
5
7
  export declare const bitcoinAddress = "bc1qkgp89fjerymm5ltg0hygnumr0m2qa7n22gyw6h";
8
+ export declare const invalidBitcoinAddress = "bc1qkgp89fjerymm5ltg0hygnumr0m2qa7n22gyw6";
9
+ export declare const tapRootBitcoinAddress = "bc1pxhtmm7mjrafdkw46wc7lmjn3gyrmdm4q0dnmw8j225gxtwtq7mwqd7e24v";
6
10
  export declare const encodedBitcoinAddress = "0014b20272a6591937ba7d687dc889f3637ed40efa6a";
7
11
  export declare const longErgoAddress = "nB3L2PD3LBtiNhDYK7XhZ8nVt6uekBXN7RcPUKgdKLXFcrJiSPxmQsUKuUkTRQ1hbvDrxEQAKYurGFbaGD1RPxU7XqQimD78j23HHMQKL1boUGsnNhCxaVNAYMcFbQNo355Af8cWkhAN6";
8
12
  export declare const longEncodedAddress = "100304000e20a6ac381e6fa99929fd1477b3ba9499790a775e91d4c14c5aa86e9a118dfac8530400d801d601b2db6501fe730000ea02d1aedb63087201d901024d0e938c720201730198b2e4c672010510730200ade4c67201041ad901020ecdee7202";
9
13
  export declare const ethereumAddress = "0xb416c8a6d7ec94706a9ae2c26c11d320519482b1";
10
14
  export declare const encodedEthereumAddress = "b416c8a6d7ec94706a9ae2c26c11d320519482b1";
11
15
  export declare const invalidEthereumAddressLength = "0xb416c8a7ec94706a9ae2c26c11d320519482b1";
16
+ export declare const invalidEthereumIcapAddress = "XE65GB6LDNXYOFTX0NSV3FUWKOWIXAMJK36";
17
+ export declare const invalidEthereumChecksumAddress = "0x4838B106FCe9647Bdf1E7877BF73cE8B0BAD5f97";
12
18
  //# sourceMappingURL=testData.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"testData.d.ts","sourceRoot":"","sources":["../../tests/testData.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,wDAC+B,CAAC;AACxD,eAAO,MAAM,kBAAkB,uEACuC,CAAC;AAEvE,eAAO,MAAM,cAAc,4GACgF,CAAC;AAC5G,eAAO,MAAM,qBAAqB,uHACoF,CAAC;AAEvH,eAAO,MAAM,cAAc,+CAA+C,CAAC;AAC3E,eAAO,MAAM,qBAAqB,iDACc,CAAC;AAEjD,eAAO,MAAM,eAAe,kJACqH,CAAC;AAClJ,eAAO,MAAM,kBAAkB,2MAC2K,CAAC;AAE3M,eAAO,MAAM,eAAe,+CAA+C,CAAC;AAC5E,eAAO,MAAM,sBAAsB,6CACS,CAAC;AAE7C,eAAO,MAAM,4BAA4B,6CACG,CAAC"}
1
+ {"version":3,"file":"testData.d.ts","sourceRoot":"","sources":["../../tests/testData.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,wDAC+B,CAAC;AACxD,eAAO,MAAM,kBAAkB,uEACuC,CAAC;AACvE,eAAO,MAAM,kBAAkB,wDACwB,CAAC;AAExD,eAAO,MAAM,cAAc,4GACgF,CAAC;AAC5G,eAAO,MAAM,qBAAqB,uHACoF,CAAC;AACvH,eAAO,MAAM,qBAAqB,4GACyE,CAAC;AAE5G,eAAO,MAAM,cAAc,+CAA+C,CAAC;AAC3E,eAAO,MAAM,qBAAqB,8CACW,CAAC;AAC9C,eAAO,MAAM,qBAAqB,mEACgC,CAAC;AACnE,eAAO,MAAM,qBAAqB,iDACc,CAAC;AAEjD,eAAO,MAAM,eAAe,kJACqH,CAAC;AAClJ,eAAO,MAAM,kBAAkB,2MAC2K,CAAC;AAE3M,eAAO,MAAM,eAAe,+CAA+C,CAAC;AAC5E,eAAO,MAAM,sBAAsB,6CACS,CAAC;AAE7C,eAAO,MAAM,4BAA4B,6CACG,CAAC;AAC7C,eAAO,MAAM,0BAA0B,wCAAwC,CAAC;AAChF,eAAO,MAAM,8BAA8B,+CACG,CAAC"}
@@ -1,12 +1,18 @@
1
1
  export const ergoAddress = '9iMjQx8PzwBKXRvsFUJFJAPoy31znfEeBUGz8DRkcnJX4rJYjVd';
2
2
  export const encodedErgoAddress = '03f999da8e6e42660e4464d17d29e63bc006734a6710a24eb489b466323d3a9339';
3
+ export const invalidErgoAddress = '9iMjQx8PzwBKXRvsFUJFJAPoy31znfEeBUGz8DRkcnJX4rJYjVD';
3
4
  export const cardanoAddress = 'addr1qxxa3kfnnh40yqtepa5frt0tkw4a0rys7v33422lzt8glx43sqtd4vkhjzawajej8aujh27p5a54zx62xf3wvuplynqs3fsqet';
4
5
  export const encodedCardanoAddress = '018dd8d9339deaf201790f6891adebb3abd78c90f3231aa95f12ce8f9ab18016dab2d790baeecb323f792babc1a769511b4a3262e6703f24c1';
6
+ export const invalidCardanoAddress = 'addr1qxxa3kfnnh40yqtepa5frt0tkw4a0rys7v33422lzt8glx43sqtd4vkhjzawajej8aujh27p5a54zx62xf3wvuplynqs3fsqee';
5
7
  export const bitcoinAddress = 'bc1qkgp89fjerymm5ltg0hygnumr0m2qa7n22gyw6h';
8
+ export const invalidBitcoinAddress = 'bc1qkgp89fjerymm5ltg0hygnumr0m2qa7n22gyw6';
9
+ export const tapRootBitcoinAddress = 'bc1pxhtmm7mjrafdkw46wc7lmjn3gyrmdm4q0dnmw8j225gxtwtq7mwqd7e24v';
6
10
  export const encodedBitcoinAddress = '0014b20272a6591937ba7d687dc889f3637ed40efa6a';
7
11
  export const longErgoAddress = 'nB3L2PD3LBtiNhDYK7XhZ8nVt6uekBXN7RcPUKgdKLXFcrJiSPxmQsUKuUkTRQ1hbvDrxEQAKYurGFbaGD1RPxU7XqQimD78j23HHMQKL1boUGsnNhCxaVNAYMcFbQNo355Af8cWkhAN6';
8
12
  export const longEncodedAddress = '100304000e20a6ac381e6fa99929fd1477b3ba9499790a775e91d4c14c5aa86e9a118dfac8530400d801d601b2db6501fe730000ea02d1aedb63087201d901024d0e938c720201730198b2e4c672010510730200ade4c67201041ad901020ecdee7202';
9
13
  export const ethereumAddress = '0xb416c8a6d7ec94706a9ae2c26c11d320519482b1';
10
14
  export const encodedEthereumAddress = 'b416c8a6d7ec94706a9ae2c26c11d320519482b1';
11
15
  export const invalidEthereumAddressLength = '0xb416c8a7ec94706a9ae2c26c11d320519482b1';
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdERhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90ZXN0cy90ZXN0RGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQ3RCLHFEQUFxRCxDQUFDO0FBQ3hELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUM3QixvRUFBb0UsQ0FBQztBQUV2RSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQ3pCLHlHQUF5RyxDQUFDO0FBQzVHLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUNoQyxvSEFBb0gsQ0FBQztBQUV2SCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsNENBQTRDLENBQUM7QUFDM0UsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQ2hDLDhDQUE4QyxDQUFDO0FBRWpELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FDMUIsK0lBQStJLENBQUM7QUFDbEosTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQzdCLHdNQUF3TSxDQUFDO0FBRTNNLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyw0Q0FBNEMsQ0FBQztBQUM1RSxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FDakMsMENBQTBDLENBQUM7QUFFN0MsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQ3ZDLDBDQUEwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGVyZ29BZGRyZXNzID1cbiAgJzlpTWpReDhQendCS1hSdnNGVUpGSkFQb3kzMXpuZkVlQlVHejhEUmtjbkpYNHJKWWpWZCc7XG5leHBvcnQgY29uc3QgZW5jb2RlZEVyZ29BZGRyZXNzID1cbiAgJzAzZjk5OWRhOGU2ZTQyNjYwZTQ0NjRkMTdkMjllNjNiYzAwNjczNGE2NzEwYTI0ZWI0ODliNDY2MzIzZDNhOTMzOSc7XG5cbmV4cG9ydCBjb25zdCBjYXJkYW5vQWRkcmVzcyA9XG4gICdhZGRyMXF4eGEza2Zubmg0MHlxdGVwYTVmcnQwdGt3NGEwcnlzN3YzMzQyMmx6dDhnbHg0M3NxdGQ0dmtoanphd2FqZWo4YXVqaDI3cDVhNTR6eDYyeGYzd3Z1cGx5bnFzM2ZzcWV0JztcbmV4cG9ydCBjb25zdCBlbmNvZGVkQ2FyZGFub0FkZHJlc3MgPVxuICAnMDE4ZGQ4ZDkzMzlkZWFmMjAxNzkwZjY4OTFhZGViYjNhYmQ3OGM5MGYzMjMxYWE5NWYxMmNlOGY5YWIxODAxNmRhYjJkNzkwYmFlZWNiMzIzZjc5MmJhYmMxYTc2OTUxMWI0YTMyNjJlNjcwM2YyNGMxJztcblxuZXhwb3J0IGNvbnN0IGJpdGNvaW5BZGRyZXNzID0gJ2JjMXFrZ3A4OWZqZXJ5bW01bHRnMGh5Z251bXIwbTJxYTduMjJneXc2aCc7XG5leHBvcnQgY29uc3QgZW5jb2RlZEJpdGNvaW5BZGRyZXNzID1cbiAgJzAwMTRiMjAyNzJhNjU5MTkzN2JhN2Q2ODdkYzg4OWYzNjM3ZWQ0MGVmYTZhJztcblxuZXhwb3J0IGNvbnN0IGxvbmdFcmdvQWRkcmVzcyA9XG4gICduQjNMMlBEM0xCdGlOaERZSzdYaFo4blZ0NnVla0JYTjdSY1BVS2dkS0xYRmNySmlTUHhtUXNVS3VVa1RSUTFoYnZEcnhFUUFLWXVyR0ZiYUdEMVJQeFU3WHFRaW1ENzhqMjNISE1RS0wxYm9VR3NuTmhDeGFWTkFZTWNGYlFObzM1NUFmOGNXa2hBTjYnO1xuZXhwb3J0IGNvbnN0IGxvbmdFbmNvZGVkQWRkcmVzcyA9XG4gICcxMDAzMDQwMDBlMjBhNmFjMzgxZTZmYTk5OTI5ZmQxNDc3YjNiYTk0OTk3OTBhNzc1ZTkxZDRjMTRjNWFhODZlOWExMThkZmFjODUzMDQwMGQ4MDFkNjAxYjJkYjY1MDFmZTczMDAwMGVhMDJkMWFlZGI2MzA4NzIwMWQ5MDEwMjRkMGU5MzhjNzIwMjAxNzMwMTk4YjJlNGM2NzIwMTA1MTA3MzAyMDBhZGU0YzY3MjAxMDQxYWQ5MDEwMjBlY2RlZTcyMDInO1xuXG5leHBvcnQgY29uc3QgZXRoZXJldW1BZGRyZXNzID0gJzB4YjQxNmM4YTZkN2VjOTQ3MDZhOWFlMmMyNmMxMWQzMjA1MTk0ODJiMSc7XG5leHBvcnQgY29uc3QgZW5jb2RlZEV0aGVyZXVtQWRkcmVzcyA9XG4gICdiNDE2YzhhNmQ3ZWM5NDcwNmE5YWUyYzI2YzExZDMyMDUxOTQ4MmIxJztcblxuZXhwb3J0IGNvbnN0IGludmFsaWRFdGhlcmV1bUFkZHJlc3NMZW5ndGggPVxuICAnMHhiNDE2YzhhN2VjOTQ3MDZhOWFlMmMyNmMxMWQzMjA1MTk0ODJiMSc7XG4iXX0=
16
+ export const invalidEthereumIcapAddress = 'XE65GB6LDNXYOFTX0NSV3FUWKOWIXAMJK36';
17
+ export const invalidEthereumChecksumAddress = '0x4838B106FCe9647Bdf1E7877BF73cE8B0BAD5f97';
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdERhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90ZXN0cy90ZXN0RGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQ3RCLHFEQUFxRCxDQUFDO0FBQ3hELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUM3QixvRUFBb0UsQ0FBQztBQUN2RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FDN0IscURBQXFELENBQUM7QUFFeEQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUN6Qix5R0FBeUcsQ0FBQztBQUM1RyxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FDaEMsb0hBQW9ILENBQUM7QUFDdkgsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQ2hDLHlHQUF5RyxDQUFDO0FBRTVHLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyw0Q0FBNEMsQ0FBQztBQUMzRSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FDaEMsMkNBQTJDLENBQUM7QUFDOUMsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQ2hDLGdFQUFnRSxDQUFDO0FBQ25FLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUNoQyw4Q0FBOEMsQ0FBQztBQUVqRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQzFCLCtJQUErSSxDQUFDO0FBQ2xKLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUM3Qix3TUFBd00sQ0FBQztBQUUzTSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsNENBQTRDLENBQUM7QUFDNUUsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQ2pDLDBDQUEwQyxDQUFDO0FBRTdDLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUN2QywwQ0FBMEMsQ0FBQztBQUM3QyxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxxQ0FBcUMsQ0FBQztBQUNoRixNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FDekMsNENBQTRDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZXJnb0FkZHJlc3MgPVxuICAnOWlNalF4OFB6d0JLWFJ2c0ZVSkZKQVBveTMxem5mRWVCVUd6OERSa2NuSlg0ckpZalZkJztcbmV4cG9ydCBjb25zdCBlbmNvZGVkRXJnb0FkZHJlc3MgPVxuICAnMDNmOTk5ZGE4ZTZlNDI2NjBlNDQ2NGQxN2QyOWU2M2JjMDA2NzM0YTY3MTBhMjRlYjQ4OWI0NjYzMjNkM2E5MzM5JztcbmV4cG9ydCBjb25zdCBpbnZhbGlkRXJnb0FkZHJlc3MgPVxuICAnOWlNalF4OFB6d0JLWFJ2c0ZVSkZKQVBveTMxem5mRWVCVUd6OERSa2NuSlg0ckpZalZEJztcblxuZXhwb3J0IGNvbnN0IGNhcmRhbm9BZGRyZXNzID1cbiAgJ2FkZHIxcXh4YTNrZm5uaDQweXF0ZXBhNWZydDB0a3c0YTByeXM3djMzNDIybHp0OGdseDQzc3F0ZDR2a2hqemF3YWplajhhdWpoMjdwNWE1NHp4NjJ4ZjN3dnVwbHlucXMzZnNxZXQnO1xuZXhwb3J0IGNvbnN0IGVuY29kZWRDYXJkYW5vQWRkcmVzcyA9XG4gICcwMThkZDhkOTMzOWRlYWYyMDE3OTBmNjg5MWFkZWJiM2FiZDc4YzkwZjMyMzFhYTk1ZjEyY2U4ZjlhYjE4MDE2ZGFiMmQ3OTBiYWVlY2IzMjNmNzkyYmFiYzFhNzY5NTExYjRhMzI2MmU2NzAzZjI0YzEnO1xuZXhwb3J0IGNvbnN0IGludmFsaWRDYXJkYW5vQWRkcmVzcyA9XG4gICdhZGRyMXF4eGEza2Zubmg0MHlxdGVwYTVmcnQwdGt3NGEwcnlzN3YzMzQyMmx6dDhnbHg0M3NxdGQ0dmtoanphd2FqZWo4YXVqaDI3cDVhNTR6eDYyeGYzd3Z1cGx5bnFzM2ZzcWVlJztcblxuZXhwb3J0IGNvbnN0IGJpdGNvaW5BZGRyZXNzID0gJ2JjMXFrZ3A4OWZqZXJ5bW01bHRnMGh5Z251bXIwbTJxYTduMjJneXc2aCc7XG5leHBvcnQgY29uc3QgaW52YWxpZEJpdGNvaW5BZGRyZXNzID1cbiAgJ2JjMXFrZ3A4OWZqZXJ5bW01bHRnMGh5Z251bXIwbTJxYTduMjJneXc2JztcbmV4cG9ydCBjb25zdCB0YXBSb290Qml0Y29pbkFkZHJlc3MgPVxuICAnYmMxcHhodG1tN21qcmFmZGt3NDZ3YzdsbWpuM2d5cm1kbTRxMGRubXc4ajIyNWd4dHd0cTdtd3FkN2UyNHYnO1xuZXhwb3J0IGNvbnN0IGVuY29kZWRCaXRjb2luQWRkcmVzcyA9XG4gICcwMDE0YjIwMjcyYTY1OTE5MzdiYTdkNjg3ZGM4ODlmMzYzN2VkNDBlZmE2YSc7XG5cbmV4cG9ydCBjb25zdCBsb25nRXJnb0FkZHJlc3MgPVxuICAnbkIzTDJQRDNMQnRpTmhEWUs3WGhaOG5WdDZ1ZWtCWE43UmNQVUtnZEtMWEZjckppU1B4bVFzVUt1VWtUUlExaGJ2RHJ4RVFBS1l1ckdGYmFHRDFSUHhVN1hxUWltRDc4ajIzSEhNUUtMMWJvVUdzbk5oQ3hhVk5BWU1jRmJRTm8zNTVBZjhjV2toQU42JztcbmV4cG9ydCBjb25zdCBsb25nRW5jb2RlZEFkZHJlc3MgPVxuICAnMTAwMzA0MDAwZTIwYTZhYzM4MWU2ZmE5OTkyOWZkMTQ3N2IzYmE5NDk5NzkwYTc3NWU5MWQ0YzE0YzVhYTg2ZTlhMTE4ZGZhYzg1MzA0MDBkODAxZDYwMWIyZGI2NTAxZmU3MzAwMDBlYTAyZDFhZWRiNjMwODcyMDFkOTAxMDI0ZDBlOTM4YzcyMDIwMTczMDE5OGIyZTRjNjcyMDEwNTEwNzMwMjAwYWRlNGM2NzIwMTA0MWFkOTAxMDIwZWNkZWU3MjAyJztcblxuZXhwb3J0IGNvbnN0IGV0aGVyZXVtQWRkcmVzcyA9ICcweGI0MTZjOGE2ZDdlYzk0NzA2YTlhZTJjMjZjMTFkMzIwNTE5NDgyYjEnO1xuZXhwb3J0IGNvbnN0IGVuY29kZWRFdGhlcmV1bUFkZHJlc3MgPVxuICAnYjQxNmM4YTZkN2VjOTQ3MDZhOWFlMmMyNmMxMWQzMjA1MTk0ODJiMSc7XG5cbmV4cG9ydCBjb25zdCBpbnZhbGlkRXRoZXJldW1BZGRyZXNzTGVuZ3RoID1cbiAgJzB4YjQxNmM4YTdlYzk0NzA2YTlhZTJjMjZjMTFkMzIwNTE5NDgyYjEnO1xuZXhwb3J0IGNvbnN0IGludmFsaWRFdGhlcmV1bUljYXBBZGRyZXNzID0gJ1hFNjVHQjZMRE5YWU9GVFgwTlNWM0ZVV0tPV0lYQU1KSzM2JztcbmV4cG9ydCBjb25zdCBpbnZhbGlkRXRoZXJldW1DaGVja3N1bUFkZHJlc3MgPVxuICAnMHg0ODM4QjEwNkZDZTk2NDdCZGYxRTc4NzdCRjczY0U4QjBCQUQ1Zjk3JztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=validator.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validator.spec.d.ts","sourceRoot":"","sources":["../../tests/validator.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,158 @@
1
+ import * as testData from './testData';
2
+ import { UnsupportedAddressError, UnsupportedChainError, validateAddress, } from '../lib';
3
+ import { BITCOIN_CHAIN, CARDANO_CHAIN, ERGO_CHAIN, ETHEREUM_CHAIN, } from '../lib/const';
4
+ describe('validateAddress', () => {
5
+ /**
6
+ * @target `validateAddress` should validate Ergo address successfully
7
+ * @dependencies
8
+ * @scenario
9
+ * - run test
10
+ * @expected
11
+ * - to validate correct Ergo address
12
+ */
13
+ it('should validate Ergo address successfully', () => {
14
+ const res = validateAddress(ERGO_CHAIN, testData.ergoAddress);
15
+ expect(res).toEqual(true);
16
+ });
17
+ /**
18
+ * @target `validateAddress` should throw error for wrong Ergo address
19
+ * @dependencies
20
+ * @scenario
21
+ * - run test
22
+ * @expected
23
+ * - to throw error for wrong Ergo address
24
+ */
25
+ it('should throw error for wrong Ergo address', () => {
26
+ expect(() => {
27
+ validateAddress(ERGO_CHAIN, testData.invalidErgoAddress);
28
+ }).toThrow();
29
+ });
30
+ /**
31
+ * @target `validateAddress` should validate Cardano address successfully
32
+ * @dependencies
33
+ * @scenario
34
+ * - run test
35
+ * @expected
36
+ * - to validate correct Cardano address
37
+ */
38
+ it('should validate Cardano address successfully', () => {
39
+ const res = validateAddress(CARDANO_CHAIN, testData.cardanoAddress);
40
+ expect(res).toEqual(true);
41
+ });
42
+ /**
43
+ * @target `validateAddress` should throw error for wrong Cardano address
44
+ * @dependencies
45
+ * @scenario
46
+ * - run test
47
+ * @expected
48
+ * - to throw error for wrong Cardano address
49
+ */
50
+ it('should throw error for wrong Cardano address', () => {
51
+ expect(() => {
52
+ validateAddress(CARDANO_CHAIN, testData.invalidCardanoAddress);
53
+ }).toThrow();
54
+ });
55
+ /**
56
+ * @target `validateAddress` should validate Bitcoin address successfully
57
+ * @dependencies
58
+ * @scenario
59
+ * - run test
60
+ * @expected
61
+ * - to validate correct Bitcoin address
62
+ */
63
+ it('should validate Bitcoin address successfully', () => {
64
+ const res = validateAddress(BITCOIN_CHAIN, testData.bitcoinAddress);
65
+ expect(res).toEqual(true);
66
+ });
67
+ /**
68
+ * @target `validateAddress` should throw error for Bitcoin taproot address
69
+ * @dependencies
70
+ * @scenario
71
+ * - run test
72
+ * @expected
73
+ * - to throw error for Bitcoin taproot address
74
+ */
75
+ it('should throw error for Bitcoin taproot address', () => {
76
+ expect(() => {
77
+ validateAddress(BITCOIN_CHAIN, testData.tapRootBitcoinAddress);
78
+ }).toThrow(UnsupportedAddressError);
79
+ });
80
+ /**
81
+ * @target `validateAddress` should throw error for wrong Bitcoin address
82
+ * @dependencies
83
+ * @scenario
84
+ * - run test
85
+ * @expected
86
+ * - to throw error for wrong Bitcoin address
87
+ */
88
+ it('should throw error for wrong Bitcoin address', () => {
89
+ expect(() => {
90
+ validateAddress(BITCOIN_CHAIN, testData.invalidBitcoinAddress);
91
+ }).toThrowError();
92
+ });
93
+ /**
94
+ * @target `validateAddress` should validate Ethereum address successfully
95
+ * @dependencies
96
+ * @scenario
97
+ * - run test
98
+ * @expected
99
+ * - to validate correct Ethereum address
100
+ */
101
+ it('should validate Ethereum address successfully', () => {
102
+ const res = validateAddress(ETHEREUM_CHAIN, testData.ethereumAddress);
103
+ expect(res).toEqual(true);
104
+ });
105
+ /**
106
+ * @target `validateAddress` should throw error for ICAP Ethereum address
107
+ * @dependencies
108
+ * @scenario
109
+ * - run test
110
+ * @expected
111
+ * - to throw error for ICAP Ethereum address
112
+ */
113
+ it('should throw error for ICAP Ethereum address', () => {
114
+ expect(() => {
115
+ validateAddress(ETHEREUM_CHAIN, testData.invalidEthereumIcapAddress);
116
+ }).toThrow(UnsupportedAddressError);
117
+ });
118
+ /**
119
+ * @target `validateAddress` should throw error for Ethereum address with checksum
120
+ * @dependencies
121
+ * @scenario
122
+ * - run test
123
+ * @expected
124
+ * - to throw error for Ethereum address with checksum
125
+ */
126
+ it('should throw error for Ethereum address with checksum', () => {
127
+ expect(() => {
128
+ validateAddress(ETHEREUM_CHAIN, testData.invalidEthereumChecksumAddress);
129
+ }).toThrow(UnsupportedAddressError);
130
+ });
131
+ /**
132
+ * @target `validateAddress` should throw error for wrong Ethereum address
133
+ * @dependencies
134
+ * @scenario
135
+ * - run test
136
+ * @expected
137
+ * - to throw error for wrong Ethereum address
138
+ */
139
+ it('should throw error for wrong Ethereum address', () => {
140
+ expect(() => {
141
+ validateAddress(ETHEREUM_CHAIN, testData.invalidEthereumAddressLength);
142
+ }).toThrow(UnsupportedAddressError);
143
+ });
144
+ /**
145
+ * @target `validateAddress` should throw error when chain is not supported
146
+ * @dependencies
147
+ * @scenario
148
+ * - run test
149
+ * @expected
150
+ * - it should throw UnsupportedChain error
151
+ */
152
+ it('should throw error when chain is not supported', () => {
153
+ expect(() => {
154
+ validateAddress('unsupported-chain', '0011223344');
155
+ }).toThrow(UnsupportedChainError);
156
+ });
157
+ });
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9yLnNwZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90ZXN0cy92YWxpZGF0b3Iuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssUUFBUSxNQUFNLFlBQVksQ0FBQztBQUN2QyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLHFCQUFxQixFQUNyQixlQUFlLEdBQ2hCLE1BQU0sUUFBUSxDQUFDO0FBQ2hCLE9BQU8sRUFDTCxhQUFhLEVBQ2IsYUFBYSxFQUNiLFVBQVUsRUFDVixjQUFjLEdBQ2YsTUFBTSxjQUFjLENBQUM7QUFFdEIsUUFBUSxDQUFDLGlCQUFpQixFQUFFLEdBQUcsRUFBRTtJQUMvQjs7Ozs7OztPQU9HO0lBQ0gsRUFBRSxDQUFDLDJDQUEyQyxFQUFFLEdBQUcsRUFBRTtRQUNuRCxNQUFNLEdBQUcsR0FBRyxlQUFlLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM5RCxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUMsQ0FBQyxDQUFDO0lBRUg7Ozs7Ozs7T0FPRztJQUNILEVBQUUsQ0FBQywyQ0FBMkMsRUFBRSxHQUFHLEVBQUU7UUFDbkQsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNWLGVBQWUsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDM0QsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDZixDQUFDLENBQUMsQ0FBQztJQUVIOzs7Ozs7O09BT0c7SUFDSCxFQUFFLENBQUMsOENBQThDLEVBQUUsR0FBRyxFQUFFO1FBQ3RELE1BQU0sR0FBRyxHQUFHLGVBQWUsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3BFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQyxDQUFDLENBQUM7SUFFSDs7Ozs7OztPQU9HO0lBQ0gsRUFBRSxDQUFDLDhDQUE4QyxFQUFFLEdBQUcsRUFBRTtRQUN0RCxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1YsZUFBZSxDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUNqRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNmLENBQUMsQ0FBQyxDQUFDO0lBRUg7Ozs7Ozs7T0FPRztJQUNILEVBQUUsQ0FBQyw4Q0FBOEMsRUFBRSxHQUFHLEVBQUU7UUFDdEQsTUFBTSxHQUFHLEdBQUcsZUFBZSxDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDcEUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDLENBQUMsQ0FBQztJQUVIOzs7Ozs7O09BT0c7SUFDSCxFQUFFLENBQUMsZ0RBQWdELEVBQUUsR0FBRyxFQUFFO1FBQ3hELE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDVixlQUFlLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ2pFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQ3RDLENBQUMsQ0FBQyxDQUFDO0lBRUg7Ozs7Ozs7T0FPRztJQUNILEVBQUUsQ0FBQyw4Q0FBOEMsRUFBRSxHQUFHLEVBQUU7UUFDdEQsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNWLGVBQWUsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDakUsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFFSDs7Ozs7OztPQU9HO0lBQ0gsRUFBRSxDQUFDLCtDQUErQyxFQUFFLEdBQUcsRUFBRTtRQUN2RCxNQUFNLEdBQUcsR0FBRyxlQUFlLENBQUMsY0FBYyxFQUFFLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN0RSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUMsQ0FBQyxDQUFDO0lBRUg7Ozs7Ozs7T0FPRztJQUNILEVBQUUsQ0FBQyw4Q0FBOEMsRUFBRSxHQUFHLEVBQUU7UUFDdEQsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNWLGVBQWUsQ0FBQyxjQUFjLEVBQUUsUUFBUSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDdkUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDdEMsQ0FBQyxDQUFDLENBQUM7SUFFSDs7Ozs7OztPQU9HO0lBQ0gsRUFBRSxDQUFDLHVEQUF1RCxFQUFFLEdBQUcsRUFBRTtRQUMvRCxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1YsZUFBZSxDQUFDLGNBQWMsRUFBRSxRQUFRLENBQUMsOEJBQThCLENBQUMsQ0FBQztRQUMzRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUN0QyxDQUFDLENBQUMsQ0FBQztJQUVIOzs7Ozs7O09BT0c7SUFDSCxFQUFFLENBQUMsK0NBQStDLEVBQUUsR0FBRyxFQUFFO1FBQ3ZELE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDVixlQUFlLENBQUMsY0FBYyxFQUFFLFFBQVEsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQ3pFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQ3RDLENBQUMsQ0FBQyxDQUFDO0lBRUg7Ozs7Ozs7T0FPRztJQUNILEVBQUUsQ0FBQyxnREFBZ0QsRUFBRSxHQUFHLEVBQUU7UUFDeEQsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNWLGVBQWUsQ0FBQyxtQkFBbUIsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNyRCxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUNwQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdGVzdERhdGEgZnJvbSAnLi90ZXN0RGF0YSc7XG5pbXBvcnQge1xuICBVbnN1cHBvcnRlZEFkZHJlc3NFcnJvcixcbiAgVW5zdXBwb3J0ZWRDaGFpbkVycm9yLFxuICB2YWxpZGF0ZUFkZHJlc3MsXG59IGZyb20gJy4uL2xpYic7XG5pbXBvcnQge1xuICBCSVRDT0lOX0NIQUlOLFxuICBDQVJEQU5PX0NIQUlOLFxuICBFUkdPX0NIQUlOLFxuICBFVEhFUkVVTV9DSEFJTixcbn0gZnJvbSAnLi4vbGliL2NvbnN0JztcblxuZGVzY3JpYmUoJ3ZhbGlkYXRlQWRkcmVzcycsICgpID0+IHtcbiAgLyoqXG4gICAqIEB0YXJnZXQgYHZhbGlkYXRlQWRkcmVzc2Agc2hvdWxkIHZhbGlkYXRlIEVyZ28gYWRkcmVzcyBzdWNjZXNzZnVsbHlcbiAgICogQGRlcGVuZGVuY2llc1xuICAgKiBAc2NlbmFyaW9cbiAgICogLSBydW4gdGVzdFxuICAgKiBAZXhwZWN0ZWRcbiAgICogLSB0byB2YWxpZGF0ZSBjb3JyZWN0IEVyZ28gYWRkcmVzc1xuICAgKi9cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBFcmdvIGFkZHJlc3Mgc3VjY2Vzc2Z1bGx5JywgKCkgPT4ge1xuICAgIGNvbnN0IHJlcyA9IHZhbGlkYXRlQWRkcmVzcyhFUkdPX0NIQUlOLCB0ZXN0RGF0YS5lcmdvQWRkcmVzcyk7XG4gICAgZXhwZWN0KHJlcykudG9FcXVhbCh0cnVlKTtcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEB0YXJnZXQgYHZhbGlkYXRlQWRkcmVzc2Agc2hvdWxkIHRocm93IGVycm9yIGZvciB3cm9uZyBFcmdvIGFkZHJlc3NcbiAgICogQGRlcGVuZGVuY2llc1xuICAgKiBAc2NlbmFyaW9cbiAgICogLSBydW4gdGVzdFxuICAgKiBAZXhwZWN0ZWRcbiAgICogLSB0byB0aHJvdyBlcnJvciBmb3Igd3JvbmcgRXJnbyBhZGRyZXNzXG4gICAqL1xuICBpdCgnc2hvdWxkIHRocm93IGVycm9yIGZvciB3cm9uZyBFcmdvIGFkZHJlc3MnLCAoKSA9PiB7XG4gICAgZXhwZWN0KCgpID0+IHtcbiAgICAgIHZhbGlkYXRlQWRkcmVzcyhFUkdPX0NIQUlOLCB0ZXN0RGF0YS5pbnZhbGlkRXJnb0FkZHJlc3MpO1xuICAgIH0pLnRvVGhyb3coKTtcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEB0YXJnZXQgYHZhbGlkYXRlQWRkcmVzc2Agc2hvdWxkIHZhbGlkYXRlIENhcmRhbm8gYWRkcmVzcyBzdWNjZXNzZnVsbHlcbiAgICogQGRlcGVuZGVuY2llc1xuICAgKiBAc2NlbmFyaW9cbiAgICogLSBydW4gdGVzdFxuICAgKiBAZXhwZWN0ZWRcbiAgICogLSB0byB2YWxpZGF0ZSBjb3JyZWN0IENhcmRhbm8gYWRkcmVzc1xuICAgKi9cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBDYXJkYW5vIGFkZHJlc3Mgc3VjY2Vzc2Z1bGx5JywgKCkgPT4ge1xuICAgIGNvbnN0IHJlcyA9IHZhbGlkYXRlQWRkcmVzcyhDQVJEQU5PX0NIQUlOLCB0ZXN0RGF0YS5jYXJkYW5vQWRkcmVzcyk7XG4gICAgZXhwZWN0KHJlcykudG9FcXVhbCh0cnVlKTtcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEB0YXJnZXQgYHZhbGlkYXRlQWRkcmVzc2Agc2hvdWxkIHRocm93IGVycm9yIGZvciB3cm9uZyBDYXJkYW5vIGFkZHJlc3NcbiAgICogQGRlcGVuZGVuY2llc1xuICAgKiBAc2NlbmFyaW9cbiAgICogLSBydW4gdGVzdFxuICAgKiBAZXhwZWN0ZWRcbiAgICogLSB0byB0aHJvdyBlcnJvciBmb3Igd3JvbmcgQ2FyZGFubyBhZGRyZXNzXG4gICAqL1xuICBpdCgnc2hvdWxkIHRocm93IGVycm9yIGZvciB3cm9uZyBDYXJkYW5vIGFkZHJlc3MnLCAoKSA9PiB7XG4gICAgZXhwZWN0KCgpID0+IHtcbiAgICAgIHZhbGlkYXRlQWRkcmVzcyhDQVJEQU5PX0NIQUlOLCB0ZXN0RGF0YS5pbnZhbGlkQ2FyZGFub0FkZHJlc3MpO1xuICAgIH0pLnRvVGhyb3coKTtcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEB0YXJnZXQgYHZhbGlkYXRlQWRkcmVzc2Agc2hvdWxkIHZhbGlkYXRlIEJpdGNvaW4gYWRkcmVzcyBzdWNjZXNzZnVsbHlcbiAgICogQGRlcGVuZGVuY2llc1xuICAgKiBAc2NlbmFyaW9cbiAgICogLSBydW4gdGVzdFxuICAgKiBAZXhwZWN0ZWRcbiAgICogLSB0byB2YWxpZGF0ZSBjb3JyZWN0IEJpdGNvaW4gYWRkcmVzc1xuICAgKi9cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBCaXRjb2luIGFkZHJlc3Mgc3VjY2Vzc2Z1bGx5JywgKCkgPT4ge1xuICAgIGNvbnN0IHJlcyA9IHZhbGlkYXRlQWRkcmVzcyhCSVRDT0lOX0NIQUlOLCB0ZXN0RGF0YS5iaXRjb2luQWRkcmVzcyk7XG4gICAgZXhwZWN0KHJlcykudG9FcXVhbCh0cnVlKTtcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEB0YXJnZXQgYHZhbGlkYXRlQWRkcmVzc2Agc2hvdWxkIHRocm93IGVycm9yIGZvciBCaXRjb2luIHRhcHJvb3QgYWRkcmVzc1xuICAgKiBAZGVwZW5kZW5jaWVzXG4gICAqIEBzY2VuYXJpb1xuICAgKiAtIHJ1biB0ZXN0XG4gICAqIEBleHBlY3RlZFxuICAgKiAtIHRvIHRocm93IGVycm9yIGZvciBCaXRjb2luIHRhcHJvb3QgYWRkcmVzc1xuICAgKi9cbiAgaXQoJ3Nob3VsZCB0aHJvdyBlcnJvciBmb3IgQml0Y29pbiB0YXByb290IGFkZHJlc3MnLCAoKSA9PiB7XG4gICAgZXhwZWN0KCgpID0+IHtcbiAgICAgIHZhbGlkYXRlQWRkcmVzcyhCSVRDT0lOX0NIQUlOLCB0ZXN0RGF0YS50YXBSb290Qml0Y29pbkFkZHJlc3MpO1xuICAgIH0pLnRvVGhyb3coVW5zdXBwb3J0ZWRBZGRyZXNzRXJyb3IpO1xuICB9KTtcblxuICAvKipcbiAgICogQHRhcmdldCBgdmFsaWRhdGVBZGRyZXNzYCBzaG91bGQgdGhyb3cgZXJyb3IgZm9yIHdyb25nIEJpdGNvaW4gYWRkcmVzc1xuICAgKiBAZGVwZW5kZW5jaWVzXG4gICAqIEBzY2VuYXJpb1xuICAgKiAtIHJ1biB0ZXN0XG4gICAqIEBleHBlY3RlZFxuICAgKiAtIHRvIHRocm93IGVycm9yIGZvciB3cm9uZyBCaXRjb2luIGFkZHJlc3NcbiAgICovXG4gIGl0KCdzaG91bGQgdGhyb3cgZXJyb3IgZm9yIHdyb25nIEJpdGNvaW4gYWRkcmVzcycsICgpID0+IHtcbiAgICBleHBlY3QoKCkgPT4ge1xuICAgICAgdmFsaWRhdGVBZGRyZXNzKEJJVENPSU5fQ0hBSU4sIHRlc3REYXRhLmludmFsaWRCaXRjb2luQWRkcmVzcyk7XG4gICAgfSkudG9UaHJvd0Vycm9yKCk7XG4gIH0pO1xuXG4gIC8qKlxuICAgKiBAdGFyZ2V0IGB2YWxpZGF0ZUFkZHJlc3NgIHNob3VsZCB2YWxpZGF0ZSBFdGhlcmV1bSBhZGRyZXNzIHN1Y2Nlc3NmdWxseVxuICAgKiBAZGVwZW5kZW5jaWVzXG4gICAqIEBzY2VuYXJpb1xuICAgKiAtIHJ1biB0ZXN0XG4gICAqIEBleHBlY3RlZFxuICAgKiAtIHRvIHZhbGlkYXRlIGNvcnJlY3QgRXRoZXJldW0gYWRkcmVzc1xuICAgKi9cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBFdGhlcmV1bSBhZGRyZXNzIHN1Y2Nlc3NmdWxseScsICgpID0+IHtcbiAgICBjb25zdCByZXMgPSB2YWxpZGF0ZUFkZHJlc3MoRVRIRVJFVU1fQ0hBSU4sIHRlc3REYXRhLmV0aGVyZXVtQWRkcmVzcyk7XG4gICAgZXhwZWN0KHJlcykudG9FcXVhbCh0cnVlKTtcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEB0YXJnZXQgYHZhbGlkYXRlQWRkcmVzc2Agc2hvdWxkIHRocm93IGVycm9yIGZvciBJQ0FQIEV0aGVyZXVtIGFkZHJlc3NcbiAgICogQGRlcGVuZGVuY2llc1xuICAgKiBAc2NlbmFyaW9cbiAgICogLSBydW4gdGVzdFxuICAgKiBAZXhwZWN0ZWRcbiAgICogLSB0byB0aHJvdyBlcnJvciBmb3IgSUNBUCBFdGhlcmV1bSBhZGRyZXNzXG4gICAqL1xuICBpdCgnc2hvdWxkIHRocm93IGVycm9yIGZvciBJQ0FQIEV0aGVyZXVtIGFkZHJlc3MnLCAoKSA9PiB7XG4gICAgZXhwZWN0KCgpID0+IHtcbiAgICAgIHZhbGlkYXRlQWRkcmVzcyhFVEhFUkVVTV9DSEFJTiwgdGVzdERhdGEuaW52YWxpZEV0aGVyZXVtSWNhcEFkZHJlc3MpO1xuICAgIH0pLnRvVGhyb3coVW5zdXBwb3J0ZWRBZGRyZXNzRXJyb3IpO1xuICB9KTtcblxuICAvKipcbiAgICogQHRhcmdldCBgdmFsaWRhdGVBZGRyZXNzYCBzaG91bGQgdGhyb3cgZXJyb3IgZm9yIEV0aGVyZXVtIGFkZHJlc3Mgd2l0aCBjaGVja3N1bVxuICAgKiBAZGVwZW5kZW5jaWVzXG4gICAqIEBzY2VuYXJpb1xuICAgKiAtIHJ1biB0ZXN0XG4gICAqIEBleHBlY3RlZFxuICAgKiAtIHRvIHRocm93IGVycm9yIGZvciBFdGhlcmV1bSBhZGRyZXNzIHdpdGggY2hlY2tzdW1cbiAgICovXG4gIGl0KCdzaG91bGQgdGhyb3cgZXJyb3IgZm9yIEV0aGVyZXVtIGFkZHJlc3Mgd2l0aCBjaGVja3N1bScsICgpID0+IHtcbiAgICBleHBlY3QoKCkgPT4ge1xuICAgICAgdmFsaWRhdGVBZGRyZXNzKEVUSEVSRVVNX0NIQUlOLCB0ZXN0RGF0YS5pbnZhbGlkRXRoZXJldW1DaGVja3N1bUFkZHJlc3MpO1xuICAgIH0pLnRvVGhyb3coVW5zdXBwb3J0ZWRBZGRyZXNzRXJyb3IpO1xuICB9KTtcblxuICAvKipcbiAgICogQHRhcmdldCBgdmFsaWRhdGVBZGRyZXNzYCBzaG91bGQgdGhyb3cgZXJyb3IgZm9yIHdyb25nIEV0aGVyZXVtIGFkZHJlc3NcbiAgICogQGRlcGVuZGVuY2llc1xuICAgKiBAc2NlbmFyaW9cbiAgICogLSBydW4gdGVzdFxuICAgKiBAZXhwZWN0ZWRcbiAgICogLSB0byB0aHJvdyBlcnJvciBmb3Igd3JvbmcgRXRoZXJldW0gYWRkcmVzc1xuICAgKi9cbiAgaXQoJ3Nob3VsZCB0aHJvdyBlcnJvciBmb3Igd3JvbmcgRXRoZXJldW0gYWRkcmVzcycsICgpID0+IHtcbiAgICBleHBlY3QoKCkgPT4ge1xuICAgICAgdmFsaWRhdGVBZGRyZXNzKEVUSEVSRVVNX0NIQUlOLCB0ZXN0RGF0YS5pbnZhbGlkRXRoZXJldW1BZGRyZXNzTGVuZ3RoKTtcbiAgICB9KS50b1Rocm93KFVuc3VwcG9ydGVkQWRkcmVzc0Vycm9yKTtcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEB0YXJnZXQgYHZhbGlkYXRlQWRkcmVzc2Agc2hvdWxkIHRocm93IGVycm9yIHdoZW4gY2hhaW4gaXMgbm90IHN1cHBvcnRlZFxuICAgKiBAZGVwZW5kZW5jaWVzXG4gICAqIEBzY2VuYXJpb1xuICAgKiAtIHJ1biB0ZXN0XG4gICAqIEBleHBlY3RlZFxuICAgKiAtIGl0IHNob3VsZCB0aHJvdyBVbnN1cHBvcnRlZENoYWluIGVycm9yXG4gICAqL1xuICBpdCgnc2hvdWxkIHRocm93IGVycm9yIHdoZW4gY2hhaW4gaXMgbm90IHN1cHBvcnRlZCcsICgpID0+IHtcbiAgICBleHBlY3QoKCkgPT4ge1xuICAgICAgdmFsaWRhdGVBZGRyZXNzKCd1bnN1cHBvcnRlZC1jaGFpbicsICcwMDExMjIzMzQ0Jyk7XG4gICAgfSkudG9UaHJvdyhVbnN1cHBvcnRlZENoYWluRXJyb3IpO1xuICB9KTtcbn0pO1xuIl19