@bitgo/sdk-coin-eth 25.8.0 → 25.9.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAO5C,OAAO,EAAE,KAAK,OAAO,EAA2B,MAAM,gBAAgB,CAAC;AAEvE,eAAO,MAAM,QAAQ,QAAS,SAAS,KAAG,IAWzC,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAAS,SAAS,WAAW,OAAO,KAAG,IAItE,CAAC"}
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAqB,MAAM,iBAAiB,CAAC;AAO/D,OAAO,EAAE,KAAK,OAAO,EAA2B,MAAM,gBAAgB,CAAC;AAEvE,eAAO,MAAM,QAAQ,QAAS,SAAS,KAAG,IAWzC,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAAS,SAAS,WAAW,OAAO,KAAG,IAgBtE,CAAC"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.registerWithCoinMap = exports.register = void 0;
4
+ const sdk_core_1 = require("@bitgo/sdk-core");
4
5
  const erc20Token_1 = require("./erc20Token");
5
6
  const eth_1 = require("./eth");
6
7
  const gteth_1 = require("./gteth");
@@ -22,9 +23,20 @@ const register = (sdk) => {
22
23
  };
23
24
  exports.register = register;
24
25
  const registerWithCoinMap = (sdk, coinMap) => {
26
+ sdk.register('eth', eth_1.Eth.createInstance);
27
+ sdk.register('gteth', gteth_1.Gteth.createInstance);
28
+ sdk.register('teth', teth_1.Teth.createInstance);
29
+ sdk.register('hteth', hteth_1.Hteth.createInstance);
30
+ erc721Token_1.Erc721Token.createTokenConstructors().forEach(({ name, coinConstructor }) => {
31
+ sdk.register(name, coinConstructor);
32
+ });
33
+ // Registration for ERC20 tokens from the coin map (includes both hardcoded and dynamic tokens from AMS).
25
34
  erc20Token_1.Erc20Token.createTokenConstructors((0, statics_1.getFormattedErc20Tokens)(coinMap)).forEach(({ name, coinConstructor }) => {
26
35
  sdk.register(name, coinConstructor);
36
+ if (coinMap.has(name)) {
37
+ sdk_core_1.GlobalCoinFactory.registerToken(coinMap.get(name), coinConstructor);
38
+ }
27
39
  });
28
40
  };
29
41
  exports.registerWithCoinMap = registerWithCoinMap;
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVnaXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsNkNBQTBDO0FBQzFDLCtCQUE0QjtBQUM1QixtQ0FBZ0M7QUFDaEMsbUNBQWdDO0FBQ2hDLGlDQUE4QjtBQUM5QiwrQ0FBNEM7QUFDNUMsNENBQXVFO0FBRWhFLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBYyxFQUFRLEVBQUU7SUFDL0MsR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsU0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hDLEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLGFBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM1QyxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxXQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDMUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsYUFBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzVDLHVCQUFVLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFO1FBQ3pFLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ3RDLENBQUMsQ0FBQyxDQUFDO0lBQ0gseUJBQVcsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUU7UUFDMUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDdEMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFYVyxRQUFBLFFBQVEsWUFXbkI7QUFFSyxNQUFNLG1CQUFtQixHQUFHLENBQUMsR0FBYyxFQUFFLE9BQWdCLEVBQVEsRUFBRTtJQUM1RSx1QkFBVSxDQUFDLHVCQUF1QixDQUFDLElBQUEsaUNBQXVCLEVBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFO1FBQ3pHLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ3RDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBSlcsUUFBQSxtQkFBbUIsdUJBSTlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IEVyYzIwVG9rZW4gfSBmcm9tICcuL2VyYzIwVG9rZW4nO1xuaW1wb3J0IHsgRXRoIH0gZnJvbSAnLi9ldGgnO1xuaW1wb3J0IHsgR3RldGggfSBmcm9tICcuL2d0ZXRoJztcbmltcG9ydCB7IEh0ZXRoIH0gZnJvbSAnLi9odGV0aCc7XG5pbXBvcnQgeyBUZXRoIH0gZnJvbSAnLi90ZXRoJztcbmltcG9ydCB7IEVyYzcyMVRva2VuIH0gZnJvbSAnLi9lcmM3MjFUb2tlbic7XG5pbXBvcnQgeyB0eXBlIENvaW5NYXAsIGdldEZvcm1hdHRlZEVyYzIwVG9rZW5zIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuXG5leHBvcnQgY29uc3QgcmVnaXN0ZXIgPSAoc2RrOiBCaXRHb0Jhc2UpOiB2b2lkID0+IHtcbiAgc2RrLnJlZ2lzdGVyKCdldGgnLCBFdGguY3JlYXRlSW5zdGFuY2UpO1xuICBzZGsucmVnaXN0ZXIoJ2d0ZXRoJywgR3RldGguY3JlYXRlSW5zdGFuY2UpO1xuICBzZGsucmVnaXN0ZXIoJ3RldGgnLCBUZXRoLmNyZWF0ZUluc3RhbmNlKTtcbiAgc2RrLnJlZ2lzdGVyKCdodGV0aCcsIEh0ZXRoLmNyZWF0ZUluc3RhbmNlKTtcbiAgRXJjMjBUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycygpLmZvckVhY2goKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+IHtcbiAgICBzZGsucmVnaXN0ZXIobmFtZSwgY29pbkNvbnN0cnVjdG9yKTtcbiAgfSk7XG4gIEVyYzcyMVRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKCkuZm9yRWFjaCgoeyBuYW1lLCBjb2luQ29uc3RydWN0b3IgfSkgPT4ge1xuICAgIHNkay5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpO1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCByZWdpc3RlcldpdGhDb2luTWFwID0gKHNkazogQml0R29CYXNlLCBjb2luTWFwOiBDb2luTWFwKTogdm9pZCA9PiB7XG4gIEVyYzIwVG9rZW4uY3JlYXRlVG9rZW5Db25zdHJ1Y3RvcnMoZ2V0Rm9ybWF0dGVkRXJjMjBUb2tlbnMoY29pbk1hcCkpLmZvckVhY2goKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+IHtcbiAgICBzZGsucmVnaXN0ZXIobmFtZSwgY29pbkNvbnN0cnVjdG9yKTtcbiAgfSk7XG59O1xuIl19
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVnaXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsOENBQStEO0FBQy9ELDZDQUEwQztBQUMxQywrQkFBNEI7QUFDNUIsbUNBQWdDO0FBQ2hDLG1DQUFnQztBQUNoQyxpQ0FBOEI7QUFDOUIsK0NBQTRDO0FBQzVDLDRDQUF1RTtBQUVoRSxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQWMsRUFBUSxFQUFFO0lBQy9DLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFNBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN4QyxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxhQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDNUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsV0FBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLGFBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM1Qyx1QkFBVSxDQUFDLHVCQUF1QixFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBRTtRQUN6RSxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FBQztJQUN0QyxDQUFDLENBQUMsQ0FBQztJQUNILHlCQUFXLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFO1FBQzFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ3RDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBWFcsUUFBQSxRQUFRLFlBV25CO0FBRUssTUFBTSxtQkFBbUIsR0FBRyxDQUFDLEdBQWMsRUFBRSxPQUFnQixFQUFRLEVBQUU7SUFDNUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsU0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hDLEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLGFBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM1QyxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxXQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDMUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsYUFBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzVDLHlCQUFXLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFO1FBQzFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ3RDLENBQUMsQ0FBQyxDQUFDO0lBRUgseUdBQXlHO0lBQ3pHLHVCQUFVLENBQUMsdUJBQXVCLENBQUMsSUFBQSxpQ0FBdUIsRUFBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUU7UUFDekcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDcEMsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDdEIsNEJBQWlCLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDdEUsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBaEJXLFFBQUEsbUJBQW1CLHVCQWdCOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCaXRHb0Jhc2UsIEdsb2JhbENvaW5GYWN0b3J5IH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IEVyYzIwVG9rZW4gfSBmcm9tICcuL2VyYzIwVG9rZW4nO1xuaW1wb3J0IHsgRXRoIH0gZnJvbSAnLi9ldGgnO1xuaW1wb3J0IHsgR3RldGggfSBmcm9tICcuL2d0ZXRoJztcbmltcG9ydCB7IEh0ZXRoIH0gZnJvbSAnLi9odGV0aCc7XG5pbXBvcnQgeyBUZXRoIH0gZnJvbSAnLi90ZXRoJztcbmltcG9ydCB7IEVyYzcyMVRva2VuIH0gZnJvbSAnLi9lcmM3MjFUb2tlbic7XG5pbXBvcnQgeyB0eXBlIENvaW5NYXAsIGdldEZvcm1hdHRlZEVyYzIwVG9rZW5zIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuXG5leHBvcnQgY29uc3QgcmVnaXN0ZXIgPSAoc2RrOiBCaXRHb0Jhc2UpOiB2b2lkID0+IHtcbiAgc2RrLnJlZ2lzdGVyKCdldGgnLCBFdGguY3JlYXRlSW5zdGFuY2UpO1xuICBzZGsucmVnaXN0ZXIoJ2d0ZXRoJywgR3RldGguY3JlYXRlSW5zdGFuY2UpO1xuICBzZGsucmVnaXN0ZXIoJ3RldGgnLCBUZXRoLmNyZWF0ZUluc3RhbmNlKTtcbiAgc2RrLnJlZ2lzdGVyKCdodGV0aCcsIEh0ZXRoLmNyZWF0ZUluc3RhbmNlKTtcbiAgRXJjMjBUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycygpLmZvckVhY2goKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+IHtcbiAgICBzZGsucmVnaXN0ZXIobmFtZSwgY29pbkNvbnN0cnVjdG9yKTtcbiAgfSk7XG4gIEVyYzcyMVRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKCkuZm9yRWFjaCgoeyBuYW1lLCBjb2luQ29uc3RydWN0b3IgfSkgPT4ge1xuICAgIHNkay5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpO1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCByZWdpc3RlcldpdGhDb2luTWFwID0gKHNkazogQml0R29CYXNlLCBjb2luTWFwOiBDb2luTWFwKTogdm9pZCA9PiB7XG4gIHNkay5yZWdpc3RlcignZXRoJywgRXRoLmNyZWF0ZUluc3RhbmNlKTtcbiAgc2RrLnJlZ2lzdGVyKCdndGV0aCcsIEd0ZXRoLmNyZWF0ZUluc3RhbmNlKTtcbiAgc2RrLnJlZ2lzdGVyKCd0ZXRoJywgVGV0aC5jcmVhdGVJbnN0YW5jZSk7XG4gIHNkay5yZWdpc3RlcignaHRldGgnLCBIdGV0aC5jcmVhdGVJbnN0YW5jZSk7XG4gIEVyYzcyMVRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKCkuZm9yRWFjaCgoeyBuYW1lLCBjb2luQ29uc3RydWN0b3IgfSkgPT4ge1xuICAgIHNkay5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpO1xuICB9KTtcblxuICAvLyBSZWdpc3RyYXRpb24gZm9yIEVSQzIwIHRva2VucyBmcm9tIHRoZSBjb2luIG1hcCAoaW5jbHVkZXMgYm90aCBoYXJkY29kZWQgYW5kIGR5bmFtaWMgdG9rZW5zIGZyb20gQU1TKS5cbiAgRXJjMjBUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycyhnZXRGb3JtYXR0ZWRFcmMyMFRva2Vucyhjb2luTWFwKSkuZm9yRWFjaCgoeyBuYW1lLCBjb2luQ29uc3RydWN0b3IgfSkgPT4ge1xuICAgIHNkay5yZWdpc3RlcihuYW1lLCBjb2luQ29uc3RydWN0b3IpO1xuICAgIGlmIChjb2luTWFwLmhhcyhuYW1lKSkge1xuICAgICAgR2xvYmFsQ29pbkZhY3RvcnkucmVnaXN0ZXJUb2tlbihjb2luTWFwLmdldChuYW1lKSwgY29pbkNvbnN0cnVjdG9yKTtcbiAgICB9XG4gIH0pO1xufTtcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=register.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../test/unit/register.ts"],"names":[],"mappings":""}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const sinon_1 = __importDefault(require("sinon"));
7
+ const assert_1 = __importDefault(require("assert"));
8
+ const sdk_api_1 = require("@bitgo/sdk-api");
9
+ const sdk_core_1 = require("@bitgo/sdk-core");
10
+ const statics_1 = require("@bitgo/statics");
11
+ const register_1 = require("../../src/register");
12
+ const erc20Token_1 = require("../../src/erc20Token");
13
+ const erc721Token_1 = require("../../src/erc721Token");
14
+ describe('ETH Register', function () {
15
+ let bitgo;
16
+ let registerSpy;
17
+ let registerTokenSpy;
18
+ beforeEach(function () {
19
+ bitgo = new sdk_api_1.BitGoAPI({ env: 'test' });
20
+ registerSpy = sinon_1.default.spy(bitgo, 'register');
21
+ registerTokenSpy = sinon_1.default.spy(sdk_core_1.GlobalCoinFactory, 'registerToken');
22
+ });
23
+ afterEach(function () {
24
+ registerSpy.restore();
25
+ registerTokenSpy.restore();
26
+ });
27
+ describe('register', function () {
28
+ it('should register base coins and token constructors', function () {
29
+ (0, register_1.register)(bitgo);
30
+ const registeredNames = registerSpy.getCalls().map((call) => call.args[0]);
31
+ // Base coins should be registered
32
+ assert_1.default.ok(registeredNames.includes('eth'));
33
+ assert_1.default.ok(registeredNames.includes('gteth'));
34
+ assert_1.default.ok(registeredNames.includes('teth'));
35
+ assert_1.default.ok(registeredNames.includes('hteth'));
36
+ // ERC20 and ERC721 tokens should be registered
37
+ const erc20Count = erc20Token_1.Erc20Token.createTokenConstructors().length;
38
+ const erc721Count = erc721Token_1.Erc721Token.createTokenConstructors().length;
39
+ assert_1.default.strictEqual(registerSpy.callCount, 4 + erc20Count + erc721Count);
40
+ });
41
+ });
42
+ describe('registerWithCoinMap', function () {
43
+ it('should call register internally for base coins and tokens', function () {
44
+ (0, register_1.registerWithCoinMap)(bitgo, statics_1.coins);
45
+ const registeredNames = registerSpy.getCalls().map((call) => call.args[0]);
46
+ // Base coins should be registered via register()
47
+ assert_1.default.ok(registeredNames.includes('eth'));
48
+ assert_1.default.ok(registeredNames.includes('gteth'));
49
+ assert_1.default.ok(registeredNames.includes('teth'));
50
+ assert_1.default.ok(registeredNames.includes('hteth'));
51
+ });
52
+ it('should add dynamic ERC20 tokens to the global coin map', function () {
53
+ (0, register_1.registerWithCoinMap)(bitgo, statics_1.coins);
54
+ // registerToken should have been called for dynamic tokens
55
+ assert_1.default.ok(registerTokenSpy.callCount > 0);
56
+ // Each call should pass a valid coin from the coinMap
57
+ for (let i = 0; i < registerTokenSpy.callCount; i++) {
58
+ const call = registerTokenSpy.getCall(i);
59
+ const staticsCoin = call.args[0];
60
+ assert_1.default.ok(statics_1.coins.has(staticsCoin.name), `${staticsCoin.name} should exist in the coin map`);
61
+ }
62
+ });
63
+ it('should not add tokens to the global coin map when coin map has no ERC20 tokens', function () {
64
+ const limitedCoinMap = statics_1.coins.filter((coin) => !(coin instanceof statics_1.Erc20Coin));
65
+ (0, register_1.registerWithCoinMap)(bitgo, limitedCoinMap);
66
+ // registerToken should not be called since no ERC20 tokens are in the map
67
+ assert_1.default.strictEqual(registerTokenSpy.callCount, 0);
68
+ });
69
+ });
70
+ });
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3VuaXQvcmVnaXN0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxrREFBMEI7QUFDMUIsb0RBQTRCO0FBQzVCLDRDQUEwQztBQUMxQyw4Q0FBb0Q7QUFDcEQsNENBQWtEO0FBQ2xELGlEQUFtRTtBQUNuRSxxREFBa0Q7QUFDbEQsdURBQW9EO0FBRXBELFFBQVEsQ0FBQyxjQUFjLEVBQUU7SUFDdkIsSUFBSSxLQUFlLENBQUM7SUFDcEIsSUFBSSxXQUEyQixDQUFDO0lBQ2hDLElBQUksZ0JBQWdDLENBQUM7SUFFckMsVUFBVSxDQUFDO1FBQ1QsS0FBSyxHQUFHLElBQUksa0JBQVEsQ0FBQyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ3RDLFdBQVcsR0FBRyxlQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztRQUMzQyxnQkFBZ0IsR0FBRyxlQUFLLENBQUMsR0FBRyxDQUFDLDRCQUFpQixFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ25FLENBQUMsQ0FBQyxDQUFDO0lBRUgsU0FBUyxDQUFDO1FBQ1IsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3RCLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzdCLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLFVBQVUsRUFBRTtRQUNuQixFQUFFLENBQUMsbURBQW1ELEVBQUU7WUFDdEQsSUFBQSxtQkFBUSxFQUFDLEtBQUssQ0FBQyxDQUFDO1lBRWhCLE1BQU0sZUFBZSxHQUFHLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUUzRSxrQ0FBa0M7WUFDbEMsZ0JBQU0sQ0FBQyxFQUFFLENBQUMsZUFB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QUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc2lub24gZnJvbSAnc2lub24nO1xuaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IHsgQml0R29BUEkgfSBmcm9tICdAYml0Z28vc2RrLWFwaSc7XG5pbXBvcnQgeyBHbG9iYWxDb2luRmFjdG9yeSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5pbXBvcnQgeyBjb2lucywgRXJjMjBDb2luIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgcmVnaXN0ZXIsIHJlZ2lzdGVyV2l0aENvaW5NYXAgfSBmcm9tICcuLi8uLi9zcmMvcmVnaXN0ZXInO1xuaW1wb3J0IHsgRXJjMjBUb2tlbiB9IGZyb20gJy4uLy4uL3NyYy9lcmMyMFRva2VuJztcbmltcG9ydCB7IEVyYzcyMVRva2VuIH0gZnJvbSAnLi4vLi4vc3JjL2VyYzcyMVRva2VuJztcblxuZGVzY3JpYmUoJ0VUSCBSZWdpc3RlcicsIGZ1bmN0aW9uICgpIHtcbiAgbGV0IGJpdGdvOiBCaXRHb0FQSTtcbiAgbGV0IHJlZ2lzdGVyU3B5OiBzaW5vbi5TaW5vblNweTtcbiAgbGV0IHJlZ2lzdGVyVG9rZW5TcHk6IHNpbm9uLlNpbm9uU3B5O1xuXG4gIGJlZm9yZUVhY2goZnVuY3Rpb24gKCkge1xuICAgIGJpdGdvID0gbmV3IEJpdEdvQVBJKHsgZW52OiAndGVzdCcgfSk7XG4gICAgcmVnaXN0ZXJTcHkgPSBzaW5vbi5zcHkoYml0Z28sICdyZWdpc3RlcicpO1xuICAgIHJlZ2lzdGVyVG9rZW5TcHkgPSBzaW5vbi5zcHkoR2xvYmFsQ29pbkZhY3RvcnksICdyZWdpc3RlclRva2VuJyk7XG4gIH0pO1xuXG4gIGFmdGVyRWFjaChmdW5jdGlvbiAoKSB7XG4gICAgcmVnaXN0ZXJTcHkucmVzdG9yZSgpO1xuICAgIHJlZ2lzdGVyVG9rZW5TcHkucmVzdG9yZSgpO1xuICB9KTtcblxuICBkZXNjcmliZSgncmVnaXN0ZXInLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ3Nob3VsZCByZWdpc3RlciBiYXNlIGNvaW5zIGFuZCB0b2tlbiBjb25zdHJ1Y3RvcnMnLCBmdW5jdGlvbiAoKSB7XG4gICAgICByZWdpc3RlcihiaXRnbyk7XG5cbiAgICAgIGNvbnN0IHJlZ2lzdGVyZWROYW1lcyA9IHJlZ2lzdGVyU3B5LmdldENhbGxzKCkubWFwKChjYWxsKSA9PiBjYWxsLmFyZ3NbMF0pO1xuXG4gICAgICAvLyBCYXNlIGNvaW5zIHNob3VsZCBiZSByZWdpc3RlcmVkXG4gICAgICBhc3NlcnQub2socmVnaXN0ZXJlZE5hbWVzLmluY2x1ZGVzKCdldGgnKSk7XG4gICAgICBhc3NlcnQub2socmVnaXN0ZXJlZE5hbWVzLmluY2x1ZGVzKCdndGV0aCcpKTtcbiAgICAgIGFzc2VydC5vayhyZWdpc3RlcmVkTmFtZXMuaW5jbHVkZXMoJ3RldGgnKSk7XG4gICAgICBhc3NlcnQub2socmVnaXN0ZXJlZE5hbWVzLmluY2x1ZGVzKCdodGV0aCcpKTtcblxuICAgICAgLy8gRVJDMjAgYW5kIEVSQzcyMSB0b2tlbnMgc2hvdWxkIGJlIHJlZ2lzdGVyZWRcbiAgICAgIGNvbnN0IGVyYzIwQ291bnQgPSBFcmMyMFRva2VuLmNyZWF0ZVRva2VuQ29uc3RydWN0b3JzKCkubGVuZ3RoO1xuICAgICAgY29uc3QgZXJjNzIxQ291bnQgPSBFcmM3MjFUb2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycygpLmxlbmd0aDtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChyZWdpc3RlclNweS5jYWxsQ291bnQsIDQgKyBlcmMyMENvdW50ICsgZXJjNzIxQ291bnQpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgncmVnaXN0ZXJXaXRoQ29pbk1hcCcsIGZ1bmN0aW9uICgpIHtcbiAgICBpdCgnc2hvdWxkIGNhbGwgcmVnaXN0ZXIgaW50ZXJuYWxseSBmb3IgYmFzZSBjb2lucyBhbmQgdG9rZW5zJywgZnVuY3Rpb24gKCkge1xuICAgICAgcmVnaXN0ZXJXaXRoQ29pbk1hcChiaXRnbywgY29pbnMpO1xuXG4gICAgICBjb25zdCByZWdpc3RlcmVkTmFtZXMgPSByZWdpc3RlclNweS5nZXRDYWxscygpLm1hcCgoY2FsbCkgPT4gY2FsbC5hcmdzWzBdKTtcblxuICAgICAgLy8gQmFzZSBjb2lucyBzaG91bGQgYmUgcmVnaXN0ZXJlZCB2aWEgcmVnaXN0ZXIoKVxuICAgICAgYXNzZXJ0Lm9rKHJlZ2lzdGVyZWROYW1lcy5pbmNsdWRlcygnZXRoJykpO1xuICAgICAgYXNzZXJ0Lm9rKHJlZ2lzdGVyZWROYW1lcy5pbmNsdWRlcygnZ3RldGgnKSk7XG4gICAgICBhc3NlcnQub2socmVnaXN0ZXJlZE5hbWVzLmluY2x1ZGVzKCd0ZXRoJykpO1xuICAgICAgYXNzZXJ0Lm9rKHJlZ2lzdGVyZWROYW1lcy5pbmNsdWRlcygnaHRldGgnKSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGFkZCBkeW5hbWljIEVSQzIwIHRva2VucyB0byB0aGUgZ2xvYmFsIGNvaW4gbWFwJywgZnVuY3Rpb24gKCkge1xuICAgICAgcmVnaXN0ZXJXaXRoQ29pbk1hcChiaXRnbywgY29pbnMpO1xuXG4gICAgICAvLyByZWdpc3RlclRva2VuIHNob3VsZCBoYXZlIGJlZW4gY2FsbGVkIGZvciBkeW5hbWljIHRva2Vuc1xuICAgICAgYXNzZXJ0Lm9rKHJlZ2lzdGVyVG9rZW5TcHkuY2FsbENvdW50ID4gMCk7XG5cbiAgICAgIC8vIEVhY2ggY2FsbCBzaG91bGQgcGFzcyBhIHZhbGlkIGNvaW4gZnJvbSB0aGUgY29pbk1hcFxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByZWdpc3RlclRva2VuU3B5LmNhbGxDb3VudDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGNhbGwgPSByZWdpc3RlclRva2VuU3B5LmdldENhbGwoaSk7XG4gICAgICAgIGNvbnN0IHN0YXRpY3NDb2luID0gY2FsbC5hcmdzWzBdO1xuICAgICAgICBhc3NlcnQub2soY29pbnMuaGFzKHN0YXRpY3NDb2luLm5hbWUpLCBgJHtzdGF0aWNzQ29pbi5uYW1lfSBzaG91bGQgZXhpc3QgaW4gdGhlIGNvaW4gbWFwYCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIG5vdCBhZGQgdG9rZW5zIHRvIHRoZSBnbG9iYWwgY29pbiBtYXAgd2hlbiBjb2luIG1hcCBoYXMgbm8gRVJDMjAgdG9rZW5zJywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgbGltaXRlZENvaW5NYXAgPSBjb2lucy5maWx0ZXIoKGNvaW4pID0+ICEoY29pbiBpbnN0YW5jZW9mIEVyYzIwQ29pbikpO1xuXG4gICAgICByZWdpc3RlcldpdGhDb2luTWFwKGJpdGdvLCBsaW1pdGVkQ29pbk1hcCk7XG5cbiAgICAgIC8vIHJlZ2lzdGVyVG9rZW4gc2hvdWxkIG5vdCBiZSBjYWxsZWQgc2luY2Ugbm8gRVJDMjAgdG9rZW5zIGFyZSBpbiB0aGUgbWFwXG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwocmVnaXN0ZXJUb2tlblNweS5jYWxsQ291bnQsIDApO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19