@bitgo/sdk-core 38.3.0 → 38.4.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.
@@ -3,8 +3,17 @@ import { IBaseCoin } from './baseCoin';
3
3
  import { CoinConstructor } from './coinFactory';
4
4
  import { EnvironmentName } from './environments';
5
5
  import { EcdhDerivedKeypair, GetSigningKeyApi } from './keychain';
6
+ import type { BitGoApiV1Wallets } from './v1Wallets';
7
+ export type { BitGoApiV1AddWalletParams, BitGoApiV1BitGo, BitGoApiV1Callback, BitGoApiV1CreateForwardWalletParams, BitGoApiV1CreateWalletWithKeychainsParams, BitGoApiV1GetWalletParams, BitGoApiV1Keychains, BitGoApiV1ListWalletsParams, BitGoApiV1RemoveWalletParams, BitGoApiV1Wallet, BitGoApiV1WalletInviteParams, BitGoApiV1WalletShareParams, BitGoApiV1Wallets, } from './v1Wallets';
6
8
  export interface BitGoBase {
7
- wallets(): any;
9
+ /**
10
+ * Deprecated **v1** wallets accessor (`bitgo.wallets()` → {@link BitGoApiV1Wallets}).
11
+ *
12
+ * Do **not** confuse with v2 coin wallets: `bitgo.coin(name).wallets()` → {@link IWallets}.
13
+ *
14
+ * @deprecated Prefer `coin(coinName).wallets()`.
15
+ */
16
+ wallets(): BitGoApiV1Wallets;
8
17
  coin(coinName: string): IBaseCoin;
9
18
  decrypt(params: DecryptOptions): Promise<string>;
10
19
  decryptKeys(params: DecryptKeysOptions): Promise<string[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"bitgoBase.d.ts","sourceRoot":"","sources":["../../../src/bitgo/bitgoBase.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,EACf,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAElE,MAAM,WAAW,SAAS;IACxB,OAAO,IAAI,GAAG,CAAC;IACf,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,OAAO,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjD,WAAW,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3D,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAC;IAC/B,OAAO,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjD,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACvE,QAAQ,CAAC,GAAG,EAAE,eAAe,CAAC;IAC9B,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAC;IAC/B,eAAe,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACxD,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrF,MAAM,IAAI,eAAe,CAAC;IAC1B,aAAa,CAAC,EAAE,KAAK,EAAE,EAAE,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7D,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACvF,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACvC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAC;IAChC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAC;IAC/B,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAC;IACjC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAC;IACnC,gBAAgB,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI,CAAC;IAClD,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5C,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,IAAI,CAAC;CACrD"}
1
+ {"version":3,"file":"bitgoBase.d.ts","sourceRoot":"","sources":["../../../src/bitgo/bitgoBase.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,EACf,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,YAAY,EACV,yBAAyB,EACzB,eAAe,EACf,kBAAkB,EAClB,mCAAmC,EACnC,yCAAyC,EACzC,yBAAyB,EACzB,mBAAmB,EACnB,2BAA2B,EAC3B,4BAA4B,EAC5B,gBAAgB,EAChB,4BAA4B,EAC5B,2BAA2B,EAC3B,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,SAAS;IACxB;;;;;;OAMG;IACH,OAAO,IAAI,iBAAiB,CAAC;IAC7B,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,OAAO,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjD,WAAW,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3D,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAC;IAC/B,OAAO,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjD,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACvE,QAAQ,CAAC,GAAG,EAAE,eAAe,CAAC;IAC9B,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAC;IAC/B,eAAe,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACxD,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrF,MAAM,IAAI,eAAe,CAAC;IAC1B,aAAa,CAAC,EAAE,KAAK,EAAE,EAAE,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7D,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACvF,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACvC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAC;IAChC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAC;IAC/B,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAC;IACjC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAC;IACnC,gBAAgB,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI,CAAC;IAClD,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5C,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,IAAI,CAAC;CACrD"}
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml0Z29CYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JpdGdvL2JpdGdvQmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQml0R29SZXF1ZXN0LFxuICBEZWNyeXB0S2V5c09wdGlvbnMsXG4gIERlY3J5cHRPcHRpb25zLFxuICBFbmNyeXB0T3B0aW9ucyxcbiAgR2V0U2hhcmluZ0tleU9wdGlvbnMsXG4gIElFbmNyeXB0aW9uU2Vzc2lvbixcbiAgSVJlcXVlc3RUcmFjZXIsXG59IGZyb20gJy4uL2FwaSc7XG5pbXBvcnQgeyBJQmFzZUNvaW4gfSBmcm9tICcuL2Jhc2VDb2luJztcbmltcG9ydCB7IENvaW5Db25zdHJ1Y3RvciB9IGZyb20gJy4vY29pbkZhY3RvcnknO1xuaW1wb3J0IHsgRW52aXJvbm1lbnROYW1lIH0gZnJvbSAnLi9lbnZpcm9ubWVudHMnO1xuaW1wb3J0IHsgRWNkaERlcml2ZWRLZXlwYWlyLCBHZXRTaWduaW5nS2V5QXBpIH0gZnJvbSAnLi9rZXljaGFpbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQml0R29CYXNlIHtcbiAgd2FsbGV0cygpOiBhbnk7IC8vIFRPRE8gLSBkZWZpbmUgdjEgd2FsbGV0cyB0eXBlXG4gIGNvaW4oY29pbk5hbWU6IHN0cmluZyk6IElCYXNlQ29pbjsgLy8gbmVlZCB0byBjaGFuZ2UgaXQgdG8gQmFzZUNvaW4gb25jZSBpdCdzIG1vdmVkIHRvIEBiaXRnby9zZGstY29yZVxuICBkZWNyeXB0KHBhcmFtczogRGVjcnlwdE9wdGlvbnMpOiBQcm9taXNlPHN0cmluZz47XG4gIGRlY3J5cHRLZXlzKHBhcmFtczogRGVjcnlwdEtleXNPcHRpb25zKTogUHJvbWlzZTxzdHJpbmdbXT47XG4gIGRlbCh1cmw6IHN0cmluZyk6IEJpdEdvUmVxdWVzdDtcbiAgZW5jcnlwdChwYXJhbXM6IEVuY3J5cHRPcHRpb25zKTogUHJvbWlzZTxzdHJpbmc+O1xuICBjcmVhdGVFbmNyeXB0aW9uU2Vzc2lvbihwYXNzd29yZDogc3RyaW5nKTogUHJvbWlzZTxJRW5jcnlwdGlvblNlc3Npb24+O1xuICByZWFkb25seSBlbnY6IEVudmlyb25tZW50TmFtZTtcbiAgZmV0Y2hDb25zdGFudHMoKTogUHJvbWlzZTxhbnk+O1xuICBnZXQodXJsOiBzdHJpbmcpOiBCaXRHb1JlcXVlc3Q7XG4gIGdldEVDREhLZXljaGFpbihlY2RoS2V5Y2hhaW5QdWI/OiBzdHJpbmcpOiBQcm9taXNlPGFueT47XG4gIGdldEVjZGhLZXlwYWlyUHJpdmF0ZShwYXNzd29yZDogc3RyaW5nLCBlbnRJZD86IHN0cmluZyk6IFByb21pc2U8RWNkaERlcml2ZWRLZXlwYWlyPjtcbiAgZ2V0RW52KCk6IEVudmlyb25tZW50TmFtZTtcbiAgZ2V0U2hhcmluZ0tleSh7IGVtYWlsIH06IEdldFNoYXJpbmdLZXlPcHRpb25zKTogUHJvbWlzZTxhbnk+O1xuICBnZXRTaWduaW5nS2V5Rm9yVXNlcihlbnRlcnByaXNlSWQ6IHN0cmluZywgdXNlcklkPzogc3RyaW5nKTogUHJvbWlzZTxHZXRTaWduaW5nS2V5QXBpPjtcbiAgbWljcm9zZXJ2aWNlc1VybChwYXRoOiBzdHJpbmcpOiBzdHJpbmc7XG4gIHBvc3QodXJsOiBzdHJpbmcpOiBCaXRHb1JlcXVlc3Q7XG4gIHB1dCh1cmw6IHN0cmluZyk6IEJpdEdvUmVxdWVzdDtcbiAgcGF0Y2godXJsOiBzdHJpbmcpOiBCaXRHb1JlcXVlc3Q7XG4gIG9wdGlvbnModXJsOiBzdHJpbmcpOiBCaXRHb1JlcXVlc3Q7XG4gIHNldFJlcXVlc3RUcmFjZXIocmVxVHJhY2VyOiBJUmVxdWVzdFRyYWNlcik6IHZvaWQ7XG4gIHVybChwYXRoOiBzdHJpbmcsIHZlcnNpb24/OiBudW1iZXIpOiBzdHJpbmc7XG4gIHJlZ2lzdGVyKG5hbWU6IHN0cmluZywgY29pbjogQ29pbkNvbnN0cnVjdG9yKTogdm9pZDtcbn1cbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml0Z29CYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JpdGdvL2JpdGdvQmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQml0R29SZXF1ZXN0LFxuICBEZWNyeXB0S2V5c09wdGlvbnMsXG4gIERlY3J5cHRPcHRpb25zLFxuICBFbmNyeXB0T3B0aW9ucyxcbiAgR2V0U2hhcmluZ0tleU9wdGlvbnMsXG4gIElFbmNyeXB0aW9uU2Vzc2lvbixcbiAgSVJlcXVlc3RUcmFjZXIsXG59IGZyb20gJy4uL2FwaSc7XG5pbXBvcnQgeyBJQmFzZUNvaW4gfSBmcm9tICcuL2Jhc2VDb2luJztcbmltcG9ydCB7IENvaW5Db25zdHJ1Y3RvciB9IGZyb20gJy4vY29pbkZhY3RvcnknO1xuaW1wb3J0IHsgRW52aXJvbm1lbnROYW1lIH0gZnJvbSAnLi9lbnZpcm9ubWVudHMnO1xuaW1wb3J0IHsgRWNkaERlcml2ZWRLZXlwYWlyLCBHZXRTaWduaW5nS2V5QXBpIH0gZnJvbSAnLi9rZXljaGFpbic7XG5pbXBvcnQgdHlwZSB7IEJpdEdvQXBpVjFXYWxsZXRzIH0gZnJvbSAnLi92MVdhbGxldHMnO1xuXG5leHBvcnQgdHlwZSB7XG4gIEJpdEdvQXBpVjFBZGRXYWxsZXRQYXJhbXMsXG4gIEJpdEdvQXBpVjFCaXRHbyxcbiAgQml0R29BcGlWMUNhbGxiYWNrLFxuICBCaXRHb0FwaVYxQ3JlYXRlRm9yd2FyZFdhbGxldFBhcmFtcyxcbiAgQml0R29BcGlWMUNyZWF0ZVdhbGxldFdpdGhLZXljaGFpbnNQYXJhbXMsXG4gIEJpdEdvQXBpVjFHZXRXYWxsZXRQYXJhbXMsXG4gIEJpdEdvQXBpVjFLZXljaGFpbnMsXG4gIEJpdEdvQXBpVjFMaXN0V2FsbGV0c1BhcmFtcyxcbiAgQml0R29BcGlWMVJlbW92ZVdhbGxldFBhcmFtcyxcbiAgQml0R29BcGlWMVdhbGxldCxcbiAgQml0R29BcGlWMVdhbGxldEludml0ZVBhcmFtcyxcbiAgQml0R29BcGlWMVdhbGxldFNoYXJlUGFyYW1zLFxuICBCaXRHb0FwaVYxV2FsbGV0cyxcbn0gZnJvbSAnLi92MVdhbGxldHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJpdEdvQmFzZSB7XG4gIC8qKlxuICAgKiBEZXByZWNhdGVkICoqdjEqKiB3YWxsZXRzIGFjY2Vzc29yIChgYml0Z28ud2FsbGV0cygpYCDihpIge0BsaW5rIEJpdEdvQXBpVjFXYWxsZXRzfSkuXG4gICAqXG4gICAqIERvICoqbm90KiogY29uZnVzZSB3aXRoIHYyIGNvaW4gd2FsbGV0czogYGJpdGdvLmNvaW4obmFtZSkud2FsbGV0cygpYCDihpIge0BsaW5rIElXYWxsZXRzfS5cbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgUHJlZmVyIGBjb2luKGNvaW5OYW1lKS53YWxsZXRzKClgLlxuICAgKi9cbiAgd2FsbGV0cygpOiBCaXRHb0FwaVYxV2FsbGV0cztcbiAgY29pbihjb2luTmFtZTogc3RyaW5nKTogSUJhc2VDb2luOyAvLyBuZWVkIHRvIGNoYW5nZSBpdCB0byBCYXNlQ29pbiBvbmNlIGl0J3MgbW92ZWQgdG8gQGJpdGdvL3Nkay1jb3JlXG4gIGRlY3J5cHQocGFyYW1zOiBEZWNyeXB0T3B0aW9ucyk6IFByb21pc2U8c3RyaW5nPjtcbiAgZGVjcnlwdEtleXMocGFyYW1zOiBEZWNyeXB0S2V5c09wdGlvbnMpOiBQcm9taXNlPHN0cmluZ1tdPjtcbiAgZGVsKHVybDogc3RyaW5nKTogQml0R29SZXF1ZXN0O1xuICBlbmNyeXB0KHBhcmFtczogRW5jcnlwdE9wdGlvbnMpOiBQcm9taXNlPHN0cmluZz47XG4gIGNyZWF0ZUVuY3J5cHRpb25TZXNzaW9uKHBhc3N3b3JkOiBzdHJpbmcpOiBQcm9taXNlPElFbmNyeXB0aW9uU2Vzc2lvbj47XG4gIHJlYWRvbmx5IGVudjogRW52aXJvbm1lbnROYW1lO1xuICBmZXRjaENvbnN0YW50cygpOiBQcm9taXNlPGFueT47XG4gIGdldCh1cmw6IHN0cmluZyk6IEJpdEdvUmVxdWVzdDtcbiAgZ2V0RUNESEtleWNoYWluKGVjZGhLZXljaGFpblB1Yj86IHN0cmluZyk6IFByb21pc2U8YW55PjtcbiAgZ2V0RWNkaEtleXBhaXJQcml2YXRlKHBhc3N3b3JkOiBzdHJpbmcsIGVudElkPzogc3RyaW5nKTogUHJvbWlzZTxFY2RoRGVyaXZlZEtleXBhaXI+O1xuICBnZXRFbnYoKTogRW52aXJvbm1lbnROYW1lO1xuICBnZXRTaGFyaW5nS2V5KHsgZW1haWwgfTogR2V0U2hhcmluZ0tleU9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGdldFNpZ25pbmdLZXlGb3JVc2VyKGVudGVycHJpc2VJZDogc3RyaW5nLCB1c2VySWQ/OiBzdHJpbmcpOiBQcm9taXNlPEdldFNpZ25pbmdLZXlBcGk+O1xuICBtaWNyb3NlcnZpY2VzVXJsKHBhdGg6IHN0cmluZyk6IHN0cmluZztcbiAgcG9zdCh1cmw6IHN0cmluZyk6IEJpdEdvUmVxdWVzdDtcbiAgcHV0KHVybDogc3RyaW5nKTogQml0R29SZXF1ZXN0O1xuICBwYXRjaCh1cmw6IHN0cmluZyk6IEJpdEdvUmVxdWVzdDtcbiAgb3B0aW9ucyh1cmw6IHN0cmluZyk6IEJpdEdvUmVxdWVzdDtcbiAgc2V0UmVxdWVzdFRyYWNlcihyZXFUcmFjZXI6IElSZXF1ZXN0VHJhY2VyKTogdm9pZDtcbiAgdXJsKHBhdGg6IHN0cmluZywgdmVyc2lvbj86IG51bWJlcik6IHN0cmluZztcbiAgcmVnaXN0ZXIobmFtZTogc3RyaW5nLCBjb2luOiBDb2luQ29uc3RydWN0b3IpOiB2b2lkO1xufVxuIl19
@@ -4,6 +4,7 @@
4
4
  * @experimental The safe client surface is experimental and may change (including breaking
5
5
  * changes) before the public release.
6
6
  */
7
+ import type { InitializeSafeResponse } from '@bitgo/public-types';
7
8
  import { FinalizeSafeOptions, InitializeSafeOptions } from './iSafe';
8
9
  import { Safe } from './safe';
9
10
  /**
@@ -56,10 +57,12 @@ export interface ISafes {
56
57
  */
57
58
  generateSafe(params: CreateSafeOptions): Promise<Safe>;
58
59
  /**
59
- * Phase 1 — initialize a safe (metadata only, no key material).
60
+ * Phase 1 — initialize a safe (metadata only, no key material). The server response is just
61
+ * `{ id, status }` (no `label`/`enterpriseId`/`creator`/`users`/`createdAt` yet), so this
62
+ * returns that raw shape rather than a full `Safe`.
60
63
  * @experimental
61
64
  */
62
- initializeSafe(params: InitializeSafeOptions): Promise<Safe>;
65
+ initializeSafe(params: InitializeSafeOptions): Promise<InitializeSafeResponse>;
63
66
  /**
64
67
  * Phase 2 — run the 4 root key ceremonies tagged with `safeId`; returns the 12 minted key ids.
65
68
  * @experimental
@@ -1 +1 @@
1
- {"version":3,"file":"iSafes.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/safe/iSafes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,mBAAmB,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB;;;;OAIG;IACH,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD;;;OAGG;IACH,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D;;;OAGG;IACH,cAAc,CAAC,MAAM,EAAE,iBAAiB,GAAG,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClF;;;OAGG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE;;;OAGG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,oBAAoB;IACpB,IAAI,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjF,oBAAoB;IACpB,GAAG,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5C"}
1
+ {"version":3,"file":"iSafes.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/safe/iSafes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,mBAAmB,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB;;;;OAIG;IACH,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD;;;;;OAKG;IACH,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC/E;;;OAGG;IACH,cAAc,CAAC,MAAM,EAAE,iBAAiB,GAAG,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClF;;;OAGG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE;;;OAGG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,oBAAoB;IACpB,IAAI,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjF,oBAAoB;IACpB,GAAG,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5C"}
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaVNhZmVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL3NhZmUvaVNhZmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwcmV0dGllclxuICpcbiAqIEBleHBlcmltZW50YWwgVGhlIHNhZmUgY2xpZW50IHN1cmZhY2UgaXMgZXhwZXJpbWVudGFsIGFuZCBtYXkgY2hhbmdlIChpbmNsdWRpbmcgYnJlYWtpbmdcbiAqIGNoYW5nZXMpIGJlZm9yZSB0aGUgcHVibGljIHJlbGVhc2UuXG4gKi9cbmltcG9ydCB7IEZpbmFsaXplU2FmZU9wdGlvbnMsIEluaXRpYWxpemVTYWZlT3B0aW9ucyB9IGZyb20gJy4vaVNhZmUnO1xuaW1wb3J0IHsgU2FmZSB9IGZyb20gJy4vc2FmZSc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3Igc2FmZSBjcmVhdGlvbi5cbiAqXG4gKiB2MSB0YXJnZXRzIHRoZSBIT1QgY3VzdG9keSBtb2RlbCBvbmx5OiB0aGUgbXVsdGlzaWcgcm9vdCB1c2VyL2JhY2t1cCBrZXlzIGFyZSBnZW5lcmF0ZWQgbG9jYWxseVxuICogYnkgdGhlIFNESywgZW5jcnlwdGVkIHdpdGggYHBhc3NwaHJhc2VgLCBhbmQgcmVnaXN0ZXJlZCBvbiBCaXRHbzsgdGhlIE1QQyByb290cyBydW4gdGhlIHN0YW5kYXJkXG4gKiBob3QgY2VyZW1vbmllcyB3aXRoIHRoZSBzYW1lIHBhc3NwaHJhc2UuIFNlbGYtbWFuYWdlZCBjb2xkIGtleXMgYW5kIGN1c3RvZGlhbCBzYWZlcyBhcmUgb3V0IG9mXG4gKiBzY29wZSBmb3IgdjEuXG4gKiBAZXhwZXJpbWVudGFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlU2FmZU9wdGlvbnMge1xuICBsYWJlbDogc3RyaW5nO1xuICBwYXNzcGhyYXNlOiBzdHJpbmc7IC8vIGVuY3J5cHRzIHRoZSBsb2NhbGx5LWdlbmVyYXRlZCBtdWx0aXNpZyB1c2VyL2JhY2t1cCBwcnZzOyBzaGFyZWQgd2l0aCB0aGUgTVBDIGNlcmVtb25pZXNcbn1cblxuLyoqXG4gKiBIYW5kbGUgcmV0dXJuZWQgYnkgYGluaXRpYWxpemVTYWZlYCwgdGhyZWFkZWQgaW50byB0aGUga2V5IGNlcmVtb25pZXMgYW5kIGZpbmFsaXplLlxuICogQGV4cGVyaW1lbnRhbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhZmVDcmVhdGlvbkhhbmRsZSB7XG4gIHNhZmVJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFRoZSAxMiBtaW50ZWQgcm9vdCBrZXkgaWRzIHByb2R1Y2VkIGJ5IGBjcmVhdGVTYWZlS2V5c2AsIGFzIDQgb3JkZXJlZCBbdXNlciwgYmFja3VwLCBiaXRnb11cbiAqIHRyaXBsZXRzIOKAlCBleGFjdGx5IHRoZSBwYXlsb2FkIGBmaW5hbGl6ZVNhZmVgIGNvbnN1bWVzLlxuICogQGV4cGVyaW1lbnRhbFxuICovXG5leHBvcnQgdHlwZSBTYWZlS2V5cyA9IEZpbmFsaXplU2FmZU9wdGlvbnM7XG5cbi8qKlxuICogQGV4cGVyaW1lbnRhbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIExpc3RTYWZlc09wdGlvbnMge1xuICBjdXJzb3I/OiBzdHJpbmc7IC8vIG9wYXF1ZSBjdXJzb3IgZnJvbSBhIHByZXZpb3VzIHJlc3BvbnNlJ3MgbmV4dEN1cnNvclxuICBsaW1pdD86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBAZXhwZXJpbWVudGFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2V0U2FmZU9wdGlvbnMge1xuICBpZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIEBleHBlcmltZW50YWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJU2FmZXMge1xuICAvKipcbiAgICogT25lLWNhbGwgY29udmVuaWVuY2Ugd3JhcHBlciBjaGFpbmluZyB0aGUgdGhyZWUgY3JlYXRpb24gcGhhc2VzOlxuICAgKiBpbml0aWFsaXplIOKGkiBjcmVhdGVTYWZlS2V5cyAoNCBzYWZlSWQtdGFnZ2VkIGNlcmVtb25pZXMpIOKGkiBmaW5hbGl6ZS4gSE9UIGN1c3RvZHkgb25seSBpbiB2MS5cbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgZ2VuZXJhdGVTYWZlKHBhcmFtczogQ3JlYXRlU2FmZU9wdGlvbnMpOiBQcm9taXNlPFNhZmU+O1xuICAvKipcbiAgICogUGhhc2UgMSDigJQgaW5pdGlhbGl6ZSBhIHNhZmUgKG1ldGFkYXRhIG9ubHksIG5vIGtleSBtYXRlcmlhbCkuXG4gICAqIEBleHBlcmltZW50YWxcbiAgICovXG4gIGluaXRpYWxpemVTYWZlKHBhcmFtczogSW5pdGlhbGl6ZVNhZmVPcHRpb25zKTogUHJvbWlzZTxTYWZlPjtcbiAgLyoqXG4gICAqIFBoYXNlIDIg4oCUIHJ1biB0aGUgNCByb290IGtleSBjZXJlbW9uaWVzIHRhZ2dlZCB3aXRoIGBzYWZlSWRgOyByZXR1cm5zIHRoZSAxMiBtaW50ZWQga2V5IGlkcy5cbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgY3JlYXRlU2FmZUtleXMocGFyYW1zOiBDcmVhdGVTYWZlT3B0aW9ucyAmIFNhZmVDcmVhdGlvbkhhbmRsZSk6IFByb21pc2U8U2FmZUtleXM+O1xuICAvKipcbiAgICogUGhhc2UgMyDigJQgZmluYWxpemUgYSBzYWZlIHdpdGggdGhlIDEyIHJvb3Qga2V5IGlkcy4gSWRlbXBvdGVudC5cbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgZmluYWxpemVTYWZlKHNhZmVJZDogc3RyaW5nLCBwYXJhbXM6IEZpbmFsaXplU2FmZU9wdGlvbnMpOiBQcm9taXNlPFNhZmU+O1xuICAvKipcbiAgICogQXJjaGl2ZSBhIHNhZmUuIEFsc28gdGhlIGFiYW5kb25tZW50IHBhdGggZm9yIGEgc3R1Y2sgYGluaXRpYWxpemluZ2Agc2FmZS5cbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgYXJjaGl2ZVNhZmUoc2FmZUlkOiBzdHJpbmcpOiBQcm9taXNlPFNhZmU+O1xuICAvKiogQGV4cGVyaW1lbnRhbCAqL1xuICBsaXN0KHBhcmFtcz86IExpc3RTYWZlc09wdGlvbnMpOiBQcm9taXNlPHsgc2FmZXM6IFNhZmVbXTsgbmV4dEN1cnNvcj86IHN0cmluZyB9PjtcbiAgLyoqIEBleHBlcmltZW50YWwgKi9cbiAgZ2V0KHBhcmFtczogR2V0U2FmZU9wdGlvbnMpOiBQcm9taXNlPFNhZmU+O1xufVxuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaVNhZmVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL3NhZmUvaVNhZmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwcmV0dGllclxuICpcbiAqIEBleHBlcmltZW50YWwgVGhlIHNhZmUgY2xpZW50IHN1cmZhY2UgaXMgZXhwZXJpbWVudGFsIGFuZCBtYXkgY2hhbmdlIChpbmNsdWRpbmcgYnJlYWtpbmdcbiAqIGNoYW5nZXMpIGJlZm9yZSB0aGUgcHVibGljIHJlbGVhc2UuXG4gKi9cbmltcG9ydCB0eXBlIHsgSW5pdGlhbGl6ZVNhZmVSZXNwb25zZSB9IGZyb20gJ0BiaXRnby9wdWJsaWMtdHlwZXMnO1xuaW1wb3J0IHsgRmluYWxpemVTYWZlT3B0aW9ucywgSW5pdGlhbGl6ZVNhZmVPcHRpb25zIH0gZnJvbSAnLi9pU2FmZSc7XG5pbXBvcnQgeyBTYWZlIH0gZnJvbSAnLi9zYWZlJztcblxuLyoqXG4gKiBPcHRpb25zIGZvciBzYWZlIGNyZWF0aW9uLlxuICpcbiAqIHYxIHRhcmdldHMgdGhlIEhPVCBjdXN0b2R5IG1vZGVsIG9ubHk6IHRoZSBtdWx0aXNpZyByb290IHVzZXIvYmFja3VwIGtleXMgYXJlIGdlbmVyYXRlZCBsb2NhbGx5XG4gKiBieSB0aGUgU0RLLCBlbmNyeXB0ZWQgd2l0aCBgcGFzc3BocmFzZWAsIGFuZCByZWdpc3RlcmVkIG9uIEJpdEdvOyB0aGUgTVBDIHJvb3RzIHJ1biB0aGUgc3RhbmRhcmRcbiAqIGhvdCBjZXJlbW9uaWVzIHdpdGggdGhlIHNhbWUgcGFzc3BocmFzZS4gU2VsZi1tYW5hZ2VkIGNvbGQga2V5cyBhbmQgY3VzdG9kaWFsIHNhZmVzIGFyZSBvdXQgb2ZcbiAqIHNjb3BlIGZvciB2MS5cbiAqIEBleHBlcmltZW50YWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVTYWZlT3B0aW9ucyB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHBhc3NwaHJhc2U6IHN0cmluZzsgLy8gZW5jcnlwdHMgdGhlIGxvY2FsbHktZ2VuZXJhdGVkIG11bHRpc2lnIHVzZXIvYmFja3VwIHBydnM7IHNoYXJlZCB3aXRoIHRoZSBNUEMgY2VyZW1vbmllc1xufVxuXG4vKipcbiAqIEhhbmRsZSByZXR1cm5lZCBieSBgaW5pdGlhbGl6ZVNhZmVgLCB0aHJlYWRlZCBpbnRvIHRoZSBrZXkgY2VyZW1vbmllcyBhbmQgZmluYWxpemUuXG4gKiBAZXhwZXJpbWVudGFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FmZUNyZWF0aW9uSGFuZGxlIHtcbiAgc2FmZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogVGhlIDEyIG1pbnRlZCByb290IGtleSBpZHMgcHJvZHVjZWQgYnkgYGNyZWF0ZVNhZmVLZXlzYCwgYXMgNCBvcmRlcmVkIFt1c2VyLCBiYWNrdXAsIGJpdGdvXVxuICogdHJpcGxldHMg4oCUIGV4YWN0bHkgdGhlIHBheWxvYWQgYGZpbmFsaXplU2FmZWAgY29uc3VtZXMuXG4gKiBAZXhwZXJpbWVudGFsXG4gKi9cbmV4cG9ydCB0eXBlIFNhZmVLZXlzID0gRmluYWxpemVTYWZlT3B0aW9ucztcblxuLyoqXG4gKiBAZXhwZXJpbWVudGFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdFNhZmVzT3B0aW9ucyB7XG4gIGN1cnNvcj86IHN0cmluZzsgLy8gb3BhcXVlIGN1cnNvciBmcm9tIGEgcHJldmlvdXMgcmVzcG9uc2UncyBuZXh0Q3Vyc29yXG4gIGxpbWl0PzogbnVtYmVyO1xufVxuXG4vKipcbiAqIEBleHBlcmltZW50YWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHZXRTYWZlT3B0aW9ucyB7XG4gIGlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQGV4cGVyaW1lbnRhbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIElTYWZlcyB7XG4gIC8qKlxuICAgKiBPbmUtY2FsbCBjb252ZW5pZW5jZSB3cmFwcGVyIGNoYWluaW5nIHRoZSB0aHJlZSBjcmVhdGlvbiBwaGFzZXM6XG4gICAqIGluaXRpYWxpemUg4oaSIGNyZWF0ZVNhZmVLZXlzICg0IHNhZmVJZC10YWdnZWQgY2VyZW1vbmllcykg4oaSIGZpbmFsaXplLiBIT1QgY3VzdG9keSBvbmx5IGluIHYxLlxuICAgKiBAZXhwZXJpbWVudGFsXG4gICAqL1xuICBnZW5lcmF0ZVNhZmUocGFyYW1zOiBDcmVhdGVTYWZlT3B0aW9ucyk6IFByb21pc2U8U2FmZT47XG4gIC8qKlxuICAgKiBQaGFzZSAxIOKAlCBpbml0aWFsaXplIGEgc2FmZSAobWV0YWRhdGEgb25seSwgbm8ga2V5IG1hdGVyaWFsKS4gVGhlIHNlcnZlciByZXNwb25zZSBpcyBqdXN0XG4gICAqIGB7IGlkLCBzdGF0dXMgfWAgKG5vIGBsYWJlbGAvYGVudGVycHJpc2VJZGAvYGNyZWF0b3JgL2B1c2Vyc2AvYGNyZWF0ZWRBdGAgeWV0KSwgc28gdGhpc1xuICAgKiByZXR1cm5zIHRoYXQgcmF3IHNoYXBlIHJhdGhlciB0aGFuIGEgZnVsbCBgU2FmZWAuXG4gICAqIEBleHBlcmltZW50YWxcbiAgICovXG4gIGluaXRpYWxpemVTYWZlKHBhcmFtczogSW5pdGlhbGl6ZVNhZmVPcHRpb25zKTogUHJvbWlzZTxJbml0aWFsaXplU2FmZVJlc3BvbnNlPjtcbiAgLyoqXG4gICAqIFBoYXNlIDIg4oCUIHJ1biB0aGUgNCByb290IGtleSBjZXJlbW9uaWVzIHRhZ2dlZCB3aXRoIGBzYWZlSWRgOyByZXR1cm5zIHRoZSAxMiBtaW50ZWQga2V5IGlkcy5cbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgY3JlYXRlU2FmZUtleXMocGFyYW1zOiBDcmVhdGVTYWZlT3B0aW9ucyAmIFNhZmVDcmVhdGlvbkhhbmRsZSk6IFByb21pc2U8U2FmZUtleXM+O1xuICAvKipcbiAgICogUGhhc2UgMyDigJQgZmluYWxpemUgYSBzYWZlIHdpdGggdGhlIDEyIHJvb3Qga2V5IGlkcy4gSWRlbXBvdGVudC5cbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgZmluYWxpemVTYWZlKHNhZmVJZDogc3RyaW5nLCBwYXJhbXM6IEZpbmFsaXplU2FmZU9wdGlvbnMpOiBQcm9taXNlPFNhZmU+O1xuICAvKipcbiAgICogQXJjaGl2ZSBhIHNhZmUuIEFsc28gdGhlIGFiYW5kb25tZW50IHBhdGggZm9yIGEgc3R1Y2sgYGluaXRpYWxpemluZ2Agc2FmZS5cbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgYXJjaGl2ZVNhZmUoc2FmZUlkOiBzdHJpbmcpOiBQcm9taXNlPFNhZmU+O1xuICAvKiogQGV4cGVyaW1lbnRhbCAqL1xuICBsaXN0KHBhcmFtcz86IExpc3RTYWZlc09wdGlvbnMpOiBQcm9taXNlPHsgc2FmZXM6IFNhZmVbXTsgbmV4dEN1cnNvcj86IHN0cmluZyB9PjtcbiAgLyoqIEBleHBlcmltZW50YWwgKi9cbiAgZ2V0KHBhcmFtczogR2V0U2FmZU9wdGlvbnMpOiBQcm9taXNlPFNhZmU+O1xufVxuIl19
@@ -1,3 +1,4 @@
1
+ import { InitializeSafeResponse } from '@bitgo/public-types';
1
2
  import { BitGoBase } from '../bitgoBase';
2
3
  import { FinalizeSafeOptions, InitializeSafeOptions } from './iSafe';
3
4
  import { CreateSafeOptions, GetSafeOptions, ISafes, ListSafesOptions, SafeCreationHandle, SafeKeys } from './iSafes';
@@ -31,9 +32,10 @@ export declare class Safes implements ISafes {
31
32
  /**
32
33
  * Phase 1 — initialize a safe (metadata only, no key material).
33
34
  * POST /api/v2/enterprise/:eId/safes { label }
35
+ * Response is just `{ id, status }` — the safe has no label/roster/etc. yet.
34
36
  * @experimental
35
37
  */
36
- initializeSafe(params: InitializeSafeOptions): Promise<Safe>;
38
+ initializeSafe(params: InitializeSafeOptions): Promise<InitializeSafeResponse>;
37
39
  /**
38
40
  * Phase 2 — run the 4 root key ceremonies tagged with `safeId`; returns the 12 minted key ids
39
41
  * as 4 ordered [user, backup, bitgo] triplets. HOT custody only in v1.
@@ -1 +1 @@
1
- {"version":3,"file":"safes.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/safe/safes.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACrH,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAuC9B;;;;;;GAMG;AACH,qBAAa,KAAM,YAAW,MAAM;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;gBAE1B,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM;IAKlD;;;OAGG;IACH,OAAO,CAAC,GAAG;IAIX;;;;;;;;OAQG;IACG,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5D;;;;OAIG;IACG,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAMlE;;;;;;;;;;;;OAYG;IACG,cAAc,CAAC,MAAM,EAAE,iBAAiB,GAAG,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAkDvF;;;;;OAKG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAShD;;;;;OAKG;IACG,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAW9E;;;OAGG;IACH,OAAO,CAAC,WAAW;IAOnB;;;;;;OAMG;YACW,kBAAkB;IA0BhC;;;;;OAKG;YACW,aAAa;IAY3B;;;;;;;OAOG;IACG,IAAI,CAAC,MAAM,GAAE,gBAAqB,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAiB1F;;;;OAIG;IACG,GAAG,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAKjD"}
1
+ {"version":3,"file":"safes.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/safe/safes.ts"],"names":[],"mappings":"AAOA,OAAO,EAGL,sBAAsB,EAIvB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACrH,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAuC9B;;;;;;GAMG;AACH,qBAAa,KAAM,YAAW,MAAM;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;gBAE1B,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM;IAKlD;;;OAGG;IACH,OAAO,CAAC,GAAG;IAIX;;;;;;;;OAQG;IACG,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5D;;;;;OAKG;IACG,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAKpF;;;;;;;;;;;;OAYG;IACG,cAAc,CAAC,MAAM,EAAE,iBAAiB,GAAG,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAkDvF;;;;;OAKG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAShD;;;;;OAKG;IACG,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAW9E;;;OAGG;IACH,OAAO,CAAC,WAAW;IAOnB;;;;;;OAMG;YACW,kBAAkB;IA0BhC;;;;;OAKG;YACW,aAAa;IAY3B;;;;;;;OAOG;IACG,IAAI,CAAC,MAAM,GAAE,gBAAqB,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAiB1F;;;;OAIG;IACG,GAAG,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAKjD"}
@@ -111,18 +111,18 @@ class Safes {
111
111
  */
112
112
  async generateSafe(params) {
113
113
  const safe = await this.initializeSafe({ label: params.label });
114
- const rootKeys = await this.createSafeKeys({ ...params, safeId: safe.id() });
115
- return await this.finalizeSafe(safe.id(), rootKeys);
114
+ const rootKeys = await this.createSafeKeys({ ...params, safeId: safe.id });
115
+ return await this.finalizeSafe(safe.id, rootKeys);
116
116
  }
117
117
  /**
118
118
  * Phase 1 — initialize a safe (metadata only, no key material).
119
119
  * POST /api/v2/enterprise/:eId/safes { label }
120
+ * Response is just `{ id, status }` — the safe has no label/roster/etc. yet.
120
121
  * @experimental
121
122
  */
122
123
  async initializeSafe(params) {
123
124
  const response = await (0, postWithCodec_1.postWithCodec)(this.bitgo, this.url(), public_types_1.InitializeSafeBody, params).result();
124
- const safeData = (0, codecs_1.decodeWithCodec)(public_types_1.SafeData, response, 'SafeData');
125
- return new safe_1.Safe(this.bitgo, safeData);
125
+ return (0, codecs_1.decodeWithCodec)(public_types_1.InitializeSafeResponse, response, 'InitializeSafeResponse');
126
126
  }
127
127
  /**
128
128
  * Phase 2 — run the 4 root key ceremonies tagged with `safeId`; returns the 12 minted key ids
@@ -291,4 +291,4 @@ class Safes {
291
291
  }
292
292
  }
293
293
  exports.Safes = Safes;
294
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vc2FmZS9zYWZlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7Ozs7R0FLRztBQUNILHlDQUEyQjtBQUMzQixzREFBa0g7QUFDbEgseUNBQTRDO0FBRzVDLDRDQUFrRDtBQUNsRCwwREFBdUQ7QUFHdkQsaUNBQThCO0FBRTlCOzs7Ozs7R0FNRztBQUNILE1BQU0sb0JBQW9CLEdBQStEO0lBQ3ZGLE9BQU8sRUFBRTtRQUNQLGlCQUFpQjtRQUNqQixpQkFBaUIsRUFBRSxLQUFLO1FBQ3hCLGVBQWUsRUFBRSxLQUFLO1FBQ3RCLFlBQVk7UUFDWixRQUFRLEVBQUUsS0FBSztRQUNmLFFBQVEsRUFBRSxLQUFLO0tBQ2hCO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsaUJBQWlCO1FBQ2pCLGlCQUFpQixFQUFFLE1BQU07UUFDekIsZUFBZSxFQUFFLE1BQU07UUFDdkIsWUFBWTtRQUNaLFFBQVEsRUFBRSxPQUFPO1FBQ2pCLFFBQVEsRUFBRSxNQUFNO0tBQ2pCO0NBQ0YsQ0FBQztBQUVGOzs7OztHQUtHO0FBQ0gsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUFDO0lBQ3ZDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyx1QkFBUSxDQUFDLEVBQUUsQ0FBQztJQUNwQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztDQUN6QyxDQUFDLENBQUM7QUFFSDs7Ozs7O0dBTUc7QUFDSCxNQUFhLEtBQUs7SUFJaEIsWUFBWSxLQUFnQixFQUFFLFlBQW9CO1FBQ2hELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxD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QUlHO0lBQ0gsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFzQjtRQUM5QixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzFFLE1BQU0sUUFBUSxHQUFHLElBQUEsd0JBQWUsRUFBQyx1QkFBUSxFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNqRSxPQUFPLElBQUksV0FBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDeEMsQ0FBQztDQUNGO0FBM09ELHNCQTJPQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHByZXR0aWVyXG4gKlxuICogQGV4cGVyaW1lbnRhbCBUaGUgc2FmZSBjbGllbnQgc3VyZmFjZSBpcyBleHBlcmltZW50YWwgYW5kIG1heSBjaGFuZ2UgKGluY2x1ZGluZyBicmVha2luZ1xuICogY2hhbmdlcykgYmVmb3JlIHRoZSBwdWJsaWMgcmVsZWFzZS5cbiAqL1xuaW1wb3J0ICogYXMgdCBmcm9tICdpby10cyc7XG5pbXBvcnQgeyBGaW5hbGl6ZVNhZmVCb2R5LCBJbml0aWFsaXplU2FmZUJvZHksIFJvb3RLZXlUcmlwbGV0LCBSb290S2V5VHlwZSwgU2FmZURhdGEgfSBmcm9tICdAYml0Z28vcHVibGljLXR5cGVzJztcbmltcG9ydCB7IEVudmlyb25tZW50cyB9IGZyb20gJy4uLy4uL2NvbW1vbic7XG5pbXBvcnQgeyBJQmFzZUNvaW4gfSBmcm9tICcuLi9iYXNlQ29pbic7XG5pbXBvcnQgeyBCaXRHb0Jhc2UgfSBmcm9tICcuLi9iaXRnb0Jhc2UnO1xuaW1wb3J0IHsgZGVjb2RlV2l0aENvZGVjIH0gZnJvbSAnLi4vdXRpbHMvY29kZWNzJztcbmltcG9ydCB7IHBvc3RXaXRoQ29kZWMgfSBmcm9tICcuLi91dGlscy9wb3N0V2l0aENvZGVjJztcbmltcG9ydCB7IEZpbmFsaXplU2FmZU9wdGlvbnMsIEluaXRpYWxpemVTYWZlT3B0aW9ucyB9IGZyb20gJy4vaVNhZmUnO1xuaW1wb3J0IHsgQ3JlYXRlU2FmZU9wdGlvbnMsIEdldFNhZmVPcHRpb25zLCBJU2FmZXMsIExpc3RTYWZlc09wdGlvbnMsIFNhZmVDcmVhdGlvbkhhbmRsZSwgU2FmZUtleXMgfSBmcm9tICcuL2lTYWZlcyc7XG5pbXBvcnQgeyBTYWZlIH0gZnJvbSAnLi9zYWZlJztcblxuLyoqXG4gKiBSZXByZXNlbnRhdGl2ZSBjb2luIHBlciByb290IHNsb3QsIGJ5IG5ldHdvcmsuIFNhZmUgcm9vdHMgYXJlIGN1cnZlL3NjaGVtZS1zY29wZWQsIG5vdFxuICogY29pbi1zY29wZWQg4oCUIFdQIHN0YW1wcyBgY3VydmVgIHNlcnZlci1zaWRlIGZyb20gdGhlIGNvaW4ncyBrZXkgY3VydmUsIHNvIGFueSBjb2luIG9mIHRoZVxuICogcmlnaHQgKGN1cnZlLCBzY2hlbWUpIHdvcmtzLiBUaGVzZSBhcmUgc3RhYmxlLCBhbHdheXMtYXZhaWxhYmxlIGNob2ljZXMgdXNlZCBvbmx5IHRvIHJvdXRlXG4gKiB0aGUga2V5LWdlbmVyYXRpb24gY2VyZW1vbnk7IHRoZSByZXN1bHRpbmcgcm9vdCBpcyBpbnRlcmNoYW5nZWFibGUgYWNyb3NzIGNvaW5zIG9mIHRoZSBzbG90LlxuICogQGV4cGVyaW1lbnRhbFxuICovXG5jb25zdCBST09UX0NPSU5fQllfTkVUV09SSzogUmVjb3JkPCdtYWlubmV0JyB8ICd0ZXN0bmV0JywgUmVjb3JkPFJvb3RLZXlUeXBlLCBzdHJpbmc+PiA9IHtcbiAgbWFpbm5ldDoge1xuICAgIC8vIG11bHRpc2lnIHJvb3RzXG4gICAgc2VjcDI1NmsxTXVsdGlzaWc6ICdidGMnLFxuICAgIGVkMjU1MTlNdWx0aXNpZzogJ3hsbScsXG4gICAgLy8gTVBDIHJvb3RzXG4gICAgZWNkc2FNcGM6ICdldGgnLFxuICAgIGVkZHNhTXBjOiAnc29sJyxcbiAgfSxcbiAgdGVzdG5ldDoge1xuICAgIC8vIG11bHRpc2lnIHJvb3RzXG4gICAgc2VjcDI1NmsxTXVsdGlzaWc6ICd0YnRjJyxcbiAgICBlZDI1NTE5TXVsdGlzaWc6ICd0eGxtJyxcbiAgICAvLyBNUEMgcm9vdHNcbiAgICBlY2RzYU1wYzogJ2h0ZXRoJyxcbiAgICBlZGRzYU1wYzogJ3Rzb2wnLFxuICB9LFxufTtcblxuLyoqXG4gKiBXaXJlIHNoYXBlIG9mIHRoZSBwYWdpbmF0ZWQgYEdFVCAvZW50ZXJwcmlzZS86ZUlkL3NhZmVzYCByZXNwb25zZS4gV1AgcGFnaW5hdGVzIHdpdGggdGhlIHYyXG4gKiBgcHJldklkYC9gbmV4dEJhdGNoUHJldklkYCBjb252ZW50aW9uOyB0aGUgU0RLIHJlLWV4cG9zZXMgaXQgYXMgYW4gb3BhcXVlIGBjdXJzb3JgL2BuZXh0Q3Vyc29yYFxuICogKHNlZSBgbGlzdGApLlxuICogQGV4cGVyaW1lbnRhbFxuICovXG5jb25zdCBMaXN0U2FmZXNSZXNwb25zZSA9IHQuaW50ZXJzZWN0aW9uKFtcbiAgdC50eXBlKHsgc2FmZXM6IHQuYXJyYXkoU2FmZURhdGEpIH0pLFxuICB0LnBhcnRpYWwoeyBuZXh0QmF0Y2hQcmV2SWQ6IHQuc3RyaW5nIH0pLFxuXSk7XG5cbi8qKlxuICogQ29sbGVjdGlvbiBhY2Nlc3NvciBmb3IgYSBzaW5nbGUgZW50ZXJwcmlzZSdzIHNhZmVzLCBtaXJyb3JpbmcgV2FsbGV0cyAvIEVudGVycHJpc2VzLlxuICogU2FmZSByb3V0ZXMgYXJlIGVudGVycHJpc2Utc2NvcGVkICgvYXBpL3YyL2VudGVycHJpc2UvOmVJZC9zYWZlcyksIHNvIHRoZSBhY2Nlc3NvciBpc1xuICogY29uc3RydWN0ZWQgd2l0aCB0aGUgZW50ZXJwcmlzZSBpZCAoc2VlIEVudGVycHJpc2Uuc2FmZXMoKSkuXG4gKlxuICogQGV4cGVyaW1lbnRhbFxuICovXG5leHBvcnQgY2xhc3MgU2FmZXMgaW1wbGVtZW50cyBJU2FmZXMge1xuICBwcml2YXRlIHJlYWRvbmx5IGJpdGdvOiBCaXRHb0Jhc2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgZW50ZXJwcmlzZUlkOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoYml0Z286IEJpdEdvQmFzZSwgZW50ZXJwcmlzZUlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmJpdGdvID0gYml0Z287XG4gICAgdGhpcy5lbnRlcnByaXNlSWQgPSBlbnRlcnByaXNlSWQ7XG4gIH1cblxuICAvKipcbiAgICogRW50ZXJwcmlzZS1zY29wZWQgdjIgVVJMIGZvciB0aGUgc2FmZXMgY29sbGVjdGlvbiwgZS5nLiAvYXBpL3YyL2VudGVycHJpc2UvOmVJZC9zYWZlc1xuICAgKiBAcGFyYW0gZXh0cmFcbiAgICovXG4gIHByaXZhdGUgdXJsKGV4dHJhID0gJycpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmJpdGdvLnVybChgL2VudGVycHJpc2UvJHt0aGlzLmVudGVycHJpc2VJZH0vc2FmZXMke2V4dHJhfWAsIDIpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9uZS1jYWxsIGNvbnZlbmllbmNlIHdyYXBwZXIgY2hhaW5pbmcgdGhlIHRocmVlIGNyZWF0aW9uIHBoYXNlczpcbiAgICogaW5pdGlhbGl6ZSAoUGhhc2UgMSkg4oaSIGNyZWF0ZVNhZmVLZXlzIChQaGFzZSAyLCA0IHNhZmVJZC10YWdnZWQgY2VyZW1vbmllcykg4oaSXG4gICAqIGZpbmFsaXplIChQaGFzZSAzKS4gSE9UIGN1c3RvZHkgb25seSBpbiB2MS5cbiAgICpcbiAgICogSWYgYSBrZXkgY2VyZW1vbnkgZmFpbHMsIGBjcmVhdGVTYWZlS2V5c2AgYXJjaGl2ZXMgdGhlIHNhZmUgYmVmb3JlIHRocm93aW5nLCBzbyBhIGZhaWxlZCBydW5cbiAgICogbGVhdmVzIG5vIGhhbGYtY3JlYXRlZCBzYWZlIGJlaGluZCDigJQgY3JlYXRlIGEgbmV3IHNhZmUgYW5kIHJldHJ5LlxuICAgKiBAZXhwZXJpbWVudGFsXG4gICAqL1xuICBhc3luYyBnZW5lcmF0ZVNhZmUocGFyYW1zOiBDcmVhdGVTYWZlT3B0aW9ucyk6IFByb21pc2U8U2FmZT4ge1xuICAgIGNvbnN0IHNhZmUgPSBhd2FpdCB0aGlzLmluaXRpYWxpemVTYWZlKHsgbGFiZWw6IHBhcmFtcy5sYWJlbCB9KTtcbiAgICBjb25zdCByb290S2V5cyA9IGF3YWl0IHRoaXMuY3JlYXRlU2FmZUtleXMoeyAuLi5wYXJhbXMsIHNhZmVJZDogc2FmZS5pZCgpIH0pO1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmZpbmFsaXplU2FmZShzYWZlLmlkKCksIHJvb3RLZXlzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQaGFzZSAxIOKAlCBpbml0aWFsaXplIGEgc2FmZSAobWV0YWRhdGEgb25seSwgbm8ga2V5IG1hdGVyaWFsKS5cbiAgICogUE9TVCAvYXBpL3YyL2VudGVycHJpc2UvOmVJZC9zYWZlcyB7IGxhYmVsIH1cbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgYXN5bmMgaW5pdGlhbGl6ZVNhZmUocGFyYW1zOiBJbml0aWFsaXplU2FmZU9wdGlvbnMpOiBQcm9taXNlPFNhZmU+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHBvc3RXaXRoQ29kZWModGhpcy5iaXRnbywgdGhpcy51cmwoKSwgSW5pdGlhbGl6ZVNhZmVCb2R5LCBwYXJhbXMpLnJlc3VsdCgpO1xuICAgIGNvbnN0IHNhZmVEYXRhID0gZGVjb2RlV2l0aENvZGVjKFNhZmVEYXRhLCByZXNwb25zZSwgJ1NhZmVEYXRhJyk7XG4gICAgcmV0dXJuIG5ldyBTYWZlKHRoaXMuYml0Z28sIHNhZmVEYXRhKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQaGFzZSAyIOKAlCBydW4gdGhlIDQgcm9vdCBrZXkgY2VyZW1vbmllcyB0YWdnZWQgd2l0aCBgc2FmZUlkYDsgcmV0dXJucyB0aGUgMTIgbWludGVkIGtleSBpZHNcbiAgICogYXMgNCBvcmRlcmVkIFt1c2VyLCBiYWNrdXAsIGJpdGdvXSB0cmlwbGV0cy4gSE9UIGN1c3RvZHkgb25seSBpbiB2MS5cbiAgICpcbiAgICogQWxsIDQgY2VyZW1vbmllcyAoMi4xIG11bHRpc2lnIOKRoOKRoywgMi4yIE1QQyDikaHikaIpIHJ1biBpbiBwYXJhbGxlbC4gSWYgYW55IG9mIHRoZW0gZmFpbCwgdGhlXG4gICAqIHBhcnRpYWxseS1jcmVhdGVkIHNhZmUgaXMgYXJjaGl2ZWQgKGEgbGVnYWwgYGluaXRpYWxpemluZyDihpIgYXJjaGl2ZWRgIHRyYW5zaXRpb24sIHNvIHRoZVxuICAgKiBvcnBoYW5lZCB0YWdnZWQga2V5cyBhcmUgaW5lcnQpIGFuZCBhbiBlcnJvciBsaXN0aW5nIGV2ZXJ5IGNlcmVtb255IGZhaWx1cmUgaXMgdGhyb3duIOKAlFxuICAgKiBjcmVhdGUgYSBuZXcgc2FmZSBhbmQgcmV0cnkuXG4gICAqXG4gICAqIE5vdCBpbmRlcGVuZGVudGx5IGlkZW1wb3RlbnQ6IHJlLXJ1bm5pbmcgYWdhaW5zdCBhIHNhZmUgdGhhdCBhbHJlYWR5IGhhcyBzb21lIHJvb3RzIGhpdHMgV1Anc1xuICAgKiB1bmlxdWUgcm9vdC1zbG90IGluZGV4LlxuICAgKiBAZXhwZXJpbWVudGFsXG4gICAqL1xuICBhc3luYyBjcmVhdGVTYWZlS2V5cyhwYXJhbXM6IENyZWF0ZVNhZmVPcHRpb25zICYgU2FmZUNyZWF0aW9uSGFuZGxlKTogUHJvbWlzZTxTYWZlS2V5cz4ge1xuICAgIGNvbnN0IHsgc2FmZUlkLCBwYXNzcGhyYXNlIH0gPSBwYXJhbXM7XG4gICAgY29uc3QgZW50ZXJwcmlzZSA9IHRoaXMuZW50ZXJwcmlzZUlkO1xuXG4gICAgLy8gYHNsb3RzYCBNVVNUIHN0YXkgaW5kZXgtYWxpZ25lZCB3aXRoIHRoZSBQcm9taXNlLmFsbFNldHRsZWQgYXJyYXkgYmVsb3cuIE9yZGVyZWQgYnkgc2NoZW1lOlxuICAgIC8vIHRoZSB0d28gbXVsdGlzaWcgcm9vdHMgZmlyc3QsIHRoZW4gdGhlIHR3byBNUEMgcm9vdHMuXG4gICAgY29uc3Qgc2xvdHM6IFJvb3RLZXlUeXBlW10gPSBbJ3NlY3AyNTZrMU11bHRpc2lnJywgJ2VkMjU1MTlNdWx0aXNpZycsICdlY2RzYU1wYycsICdlZGRzYU1wYyddO1xuICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCBQcm9taXNlLmFsbFNldHRsZWQoW1xuICAgICAgLy8gUGhhc2UgMi4xIOKAlCBtdWx0aXNpZyByb290cyAo4pGg4pGjKTogbG9jYWwgdXNlci9iYWNrdXAga2V5cGFpcnMgKyBCaXRHbyBrZXksIGFsbCBzYWZlSWQtdGFnZ2VkLlxuICAgICAgdGhpcy5jcmVhdGVNdWx0aXNpZ1Jvb3QoJ3NlY3AyNTZrMU11bHRpc2lnJywgc2FmZUlkLCBwYXNzcGhyYXNlLCBlbnRlcnByaXNlKSxcbiAgICAgIHRoaXMuY3JlYXRlTXVsdGlzaWdSb290KCdlZDI1NTE5TXVsdGlzaWcnLCBzYWZlSWQsIHBhc3NwaHJhc2UsIGVudGVycHJpc2UpLFxuICAgICAgLy8gUGhhc2UgMi4yIOKAlCBNUEMgcm9vdHMgKOKRoeKRoik6IHRoZSBleGlzdGluZyBES0xTICjikaEpIGFuZCBFZERTQSAo4pGiKSBjZXJlbW9uaWVzLCBzYWZlSWQgdGhyZWFkZWQuXG4gICAgICB0aGlzLmNyZWF0ZU1wY1Jvb3QoJ2VjZHNhTXBjJywgc2FmZUlkLCBwYXNzcGhyYXNlLCBlbnRlcnByaXNlKSxcbiAgICAgIHRoaXMuY3JlYXRlTXBjUm9vdCgnZWRkc2FNcGMnLCBzYWZlSWQsIHBhc3NwaHJhc2UsIGVudGVycHJpc2UpLFxuICAgIF0pO1xuXG4gICAgLy8gU2luZ2xlIHBhc3Mgb3ZlciB0aGUgc2V0dGxlZCByZXN1bHRzOiBgc3RhdHVzID09PSAnZnVsZmlsbGVkJ2AgbmFycm93cyBgLnZhbHVlYCB0byBhXG4gICAgLy8gUm9vdEtleVRyaXBsZXQgKG5vIGNhc3QgbmVlZGVkKSwgYW5kIHJlamVjdGlvbnMgYXJlIGNvbGxlY3RlZCBwZXItc2xvdCBmb3IgdGhlIGVycm9yIGJlbG93LlxuICAgIGNvbnN0IGhvdCA9IHt9IGFzIFNhZmVLZXlzWydyb290S2V5cyddWydob3QnXTtcbiAgICBjb25zdCBmYWlsdXJlczogc3RyaW5nW10gPSBbXTtcbiAgICByZXN1bHRzLmZvckVhY2goKHJlc3VsdCwgaSkgPT4ge1xuICAgICAgaWYgKHJlc3VsdC5zdGF0dXMgPT09ICdmdWxmaWxsZWQnKSB7XG4gICAgICAgIGhvdFtzbG90c1tpXV0gPSByZXN1bHQudmFsdWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCByZWFzb24gPSByZXN1bHQucmVhc29uIGluc3RhbmNlb2YgRXJyb3IgPyByZXN1bHQucmVhc29uLm1lc3NhZ2UgOiBTdHJpbmcocmVzdWx0LnJlYXNvbik7XG4gICAgICAgIGZhaWx1cmVzLnB1c2goYCR7c2xvdHNbaV19OiAke3JlYXNvbn1gKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChmYWlsdXJlcy5sZW5ndGggPiAwKSB7XG4gICAgICAvLyBCZXN0LWVmZm9ydCBhYmFuZG9uIHRoZSBwYXJ0aWFsbHktY3JlYXRlZCBzYWZlIHNvIGEgcmV0cnkgc3RhcnRzIGZyb20gYSBjbGVhbiBzbGF0ZS4gS2VlcFxuICAgICAgLy8gdGhlIGNlcmVtb255IGZhaWx1cmVzIGFzIHRoZSBwcmltYXJ5IGVycm9yOyBub3RlIGl0IGlmIHRoZSBjbGVhbnVwIGFyY2hpdmUgYWxzbyBmYWlsZWQuXG4gICAgICBsZXQgYXJjaGl2ZUVycm9yOiBFcnJvciB8IHVuZGVmaW5lZDtcbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IHRoaXMuYXJjaGl2ZVNhZmUoc2FmZUlkKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgYXJjaGl2ZUVycm9yID0gZSBpbnN0YW5jZW9mIEVycm9yID8gZSA6IG5ldyBFcnJvcihTdHJpbmcoZSkpO1xuICAgICAgfVxuICAgICAgbGV0IG1lc3NhZ2UgPVxuICAgICAgICBgU2FmZSBrZXkgZ2VuZXJhdGlvbiBmYWlsZWQgZm9yICR7ZmFpbHVyZXMubGVuZ3RofSByb290IGNlcmVtb255L2llcyBgICtcbiAgICAgICAgYFske2ZhaWx1cmVzLmpvaW4oJzsgJyl9XS4gVGhlIHNhZmUgKCR7c2FmZUlkfSkgaGFzIGJlZW4gYXJjaGl2ZWQ7IGNyZWF0ZSBhIG5ldyBzYWZlIGFuZCByZXRyeS5gO1xuICAgICAgaWYgKGFyY2hpdmVFcnJvcikge1xuICAgICAgICBtZXNzYWdlICs9IGAgTk9URTogYXJjaGl2aW5nIHRoZSBzYWZlIGFsc28gZmFpbGVkICgke2FyY2hpdmVFcnJvci5tZXNzYWdlfSk7IGFyY2hpdmUgaXQgbWFudWFsbHkgYmVmb3JlIHJldHJ5aW5nLmA7XG4gICAgICB9XG4gICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgcm9vdEtleXM6IHsgaG90IH0gfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcmNoaXZlIGEgc2FmZS4gQWxzbyB0aGUgYWJhbmRvbm1lbnQgcGF0aCBmb3IgYSBzdHVjayBgaW5pdGlhbGl6aW5nYCBzYWZlICh1c2VkIGJ5XG4gICAqIGBjcmVhdGVTYWZlS2V5c2AgdG8gY2xlYW4gdXAgYWZ0ZXIgYSBmYWlsZWQgY2VyZW1vbnkpLlxuICAgKiBQT1NUIC9hcGkvdjIvZW50ZXJwcmlzZS86ZUlkL3NhZmVzLzpzYWZlSWQvYXJjaGl2ZVxuICAgKiBAZXhwZXJpbWVudGFsXG4gICAqL1xuICBhc3luYyBhcmNoaXZlU2FmZShzYWZlSWQ6IHN0cmluZyk6IFByb21pc2U8U2FmZT4ge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5iaXRnb1xuICAgICAgLnBvc3QodGhpcy51cmwoYC8ke3NhZmVJZH0vYXJjaGl2ZWApKVxuICAgICAgLnNlbmQoKVxuICAgICAgLnJlc3VsdCgpO1xuICAgIGNvbnN0IHNhZmVEYXRhID0gZGVjb2RlV2l0aENvZGVjKFNhZmVEYXRhLCByZXNwb25zZSwgJ1NhZmVEYXRhJyk7XG4gICAgcmV0dXJuIG5ldyBTYWZlKHRoaXMuYml0Z28sIHNhZmVEYXRhKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQaGFzZSAzIOKAlCBmaW5hbGl6ZSBhIHNhZmUgd2l0aCB0aGUgMTIgcm9vdCBrZXkgaWRzIGFzIDQgb3JkZXJlZCBbdXNlciwgYmFja3VwLCBiaXRnb10gdHJpcGxldHMuXG4gICAqIFBPU1QgL2FwaS92Mi9lbnRlcnByaXNlLzplSWQvc2FmZXMvOnNhZmVJZC9maW5hbGl6ZSB7IHJvb3RLZXlzIH0uXG4gICAqIElkZW1wb3RlbnQ6IHJlLWZpbmFsaXppbmcgd2l0aCB0aGUgc2FtZSBgcm9vdEtleXNgIHJldHVybnMgdGhlIGFjdGl2ZSBzYWZlIGFnYWluICgyMDApLlxuICAgKiBAZXhwZXJpbWVudGFsXG4gICAqL1xuICBhc3luYyBmaW5hbGl6ZVNhZmUoc2FmZUlkOiBzdHJpbmcsIHBhcmFtczogRmluYWxpemVTYWZlT3B0aW9ucyk6IFByb21pc2U8U2FmZT4ge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgcG9zdFdpdGhDb2RlYyhcbiAgICAgIHRoaXMuYml0Z28sXG4gICAgICB0aGlzLnVybChgLyR7c2FmZUlkfS9maW5hbGl6ZWApLFxuICAgICAgRmluYWxpemVTYWZlQm9keSxcbiAgICAgIHBhcmFtc1xuICAgICkucmVzdWx0KCk7XG4gICAgY29uc3Qgc2FmZURhdGEgPSBkZWNvZGVXaXRoQ29kZWMoU2FmZURhdGEsIHJlc3BvbnNlLCAnU2FmZURhdGEnKTtcbiAgICByZXR1cm4gbmV3IFNhZmUodGhpcy5iaXRnbywgc2FmZURhdGEpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvaW4gdXNlZCB0byByb3V0ZSBhIGdpdmVuIHJvb3QncyBrZXkgY2VyZW1vbnkgKHNlZSBST09UX0NPSU5fQllfTkVUV09SSykuXG4gICAqIEBleHBlcmltZW50YWxcbiAgICovXG4gIHByaXZhdGUgY29pbkZvclJvb3Qoc2xvdDogUm9vdEtleVR5cGUpOiBJQmFzZUNvaW4ge1xuICAgIC8vIFYxTmV0d29yayBpcyBleGFjdGx5ICdiaXRjb2luJyB8ICd0ZXN0bmV0Jywgc28gdGhpcyBicmFuY2ggaXMgZXhoYXVzdGl2ZSBvdmVyIGV2ZXJ5XG4gICAgLy8gZW52aXJvbm1lbnQ6ICdiaXRjb2luJyBpcyBtYWlubmV0IGFuZCBldmVyeSBvdGhlciB2YWx1ZSBpcyBhIHRlc3RuZXQuXG4gICAgY29uc3QgbmV0d29yayA9IEVudmlyb25tZW50c1t0aGlzLmJpdGdvLmdldEVudigpXS5uZXR3b3JrID09PSAnYml0Y29pbicgPyAnbWFpbm5ldCcgOiAndGVzdG5ldCc7XG4gICAgcmV0dXJuIHRoaXMuYml0Z28uY29pbihST09UX0NPSU5fQllfTkVUV09SS1tuZXR3b3JrXVtzbG90XSk7XG4gIH1cblxuICAvKipcbiAgICogUGhhc2UgMi4xIGhlbHBlciDigJQgbWludCBvbmUgb25jaGFpbi1tdWx0aXNpZyByb290IChjb2xkIG1vZGVsLCBhcyB3YWxsZXQgY3JlYXRpb24gZG9lcyB0b2RheSk6XG4gICAqIGdlbmVyYXRlIHVzZXIvYmFja3VwIGtleXBhaXJzIGxvY2FsbHksIGVuY3J5cHQgd2l0aCBgcGFzc3BocmFzZWAsIHJlZ2lzdGVyIHZpYSBQT1NUIC86Y29pbi9rZXlcbiAgICogd2l0aCBgc2FmZUlkYDsgdGhlIEJpdEdvIGtleSBpcyBjcmVhdGVkIHRocm91Z2ggdGhlIHNhbWUgcm91dGUncyBgc291cmNlOidiaXRnbydgIHBhdGguXG4gICAqIFJldHVybnMgdGhlIFt1c2VyLCBiYWNrdXAsIGJpdGdvXSBrZXkgaWQgdHJpcGxldC5cbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBjcmVhdGVNdWx0aXNpZ1Jvb3QoXG4gICAgc2xvdDogJ3NlY3AyNTZrMU11bHRpc2lnJyB8ICdlZDI1NTE5TXVsdGlzaWcnLFxuICAgIHNhZmVJZDogc3RyaW5nLFxuICAgIHBhc3NwaHJhc2U6IHN0cmluZyxcbiAgICBlbnRlcnByaXNlOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxSb290S2V5VHJpcGxldD4ge1xuICAgIGNvbnN0IGtleWNoYWlucyA9IHRoaXMuY29pbkZvclJvb3Qoc2xvdCkua2V5Y2hhaW5zKCk7XG5cbiAgICBjb25zdCB1c2VyS2V5UGFpciA9IGtleWNoYWlucy5jcmVhdGUoKTtcbiAgICBjb25zdCB1c2VyS2V5Y2hhaW5Qcm9taXNlID0ga2V5Y2hhaW5zLmFkZCh7XG4gICAgICBwdWI6IHVzZXJLZXlQYWlyLnB1YixcbiAgICAgIGVuY3J5cHRlZFBydjogYXdhaXQgdGhpcy5iaXRnby5lbmNyeXB0KHsgaW5wdXQ6IHVzZXJLZXlQYWlyLnBydiwgcGFzc3dvcmQ6IHBhc3NwaHJhc2UgfSksXG4gICAgICBzb3VyY2U6ICd1c2VyJyxcbiAgICAgIHNhZmVJZCxcbiAgICB9KTtcbiAgICBjb25zdCBiYWNrdXBLZXljaGFpblByb21pc2UgPSBrZXljaGFpbnMuY3JlYXRlQmFja3VwKHsgcGFzc3BocmFzZSwgc2FmZUlkIH0pO1xuICAgIGNvbnN0IGJpdGdvS2V5Y2hhaW5Qcm9taXNlID0ga2V5Y2hhaW5zLmNyZWF0ZUJpdEdvKHsgZW50ZXJwcmlzZSwgc2FmZUlkIH0pO1xuXG4gICAgY29uc3QgW3VzZXJLZXljaGFpbiwgYmFja3VwS2V5Y2hhaW4sIGJpdGdvS2V5Y2hhaW5dID0gYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgdXNlcktleWNoYWluUHJvbWlzZSxcbiAgICAgIGJhY2t1cEtleWNoYWluUHJvbWlzZSxcbiAgICAgIGJpdGdvS2V5Y2hhaW5Qcm9taXNlLFxuICAgIF0pO1xuICAgIHJldHVybiBbdXNlcktleWNoYWluLmlkLCBiYWNrdXBLZXljaGFpbi5pZCwgYml0Z29LZXljaGFpbi5pZF07XG4gIH1cblxuICAvKipcbiAgICogUGhhc2UgMi4yIGhlbHBlciDigJQgcnVuIG9uZSBNUEMgY2VyZW1vbnkgKERLTFMgZm9yIGVjZHNhTXBjLCBFZERTQSBmb3IgZWRkc2FNcGMpIHZpYSB0aGVcbiAgICogZXhpc3RpbmcgYGNyZWF0ZU1wY2AgZmxvdyB3aXRoIGBzYWZlSWRgIHRocmVhZGVkIHRocm91Z2gsIHNvIHRoZSByZXN1bHRpbmcgdXNlci9iYWNrdXAvYml0Z29cbiAgICoga2V5cyBsYW5kIHRhZ2dlZC4gUmV0dXJucyB0aGUgW3VzZXIsIGJhY2t1cCwgYml0Z29dIGtleSBpZCB0cmlwbGV0LlxuICAgKiBAZXhwZXJpbWVudGFsXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGNyZWF0ZU1wY1Jvb3QoXG4gICAgc2xvdDogJ2VjZHNhTXBjJyB8ICdlZGRzYU1wYycsXG4gICAgc2FmZUlkOiBzdHJpbmcsXG4gICAgcGFzc3BocmFzZTogc3RyaW5nLFxuICAgIGVudGVycHJpc2U6IHN0cmluZ1xuICApOiBQcm9taXNlPFJvb3RLZXlUcmlwbGV0PiB7XG4gICAgY29uc3QgeyB1c2VyS2V5Y2hhaW4sIGJhY2t1cEtleWNoYWluLCBiaXRnb0tleWNoYWluIH0gPSBhd2FpdCB0aGlzLmNvaW5Gb3JSb290KHNsb3QpXG4gICAgICAua2V5Y2hhaW5zKClcbiAgICAgIC5jcmVhdGVNcGMoeyBtdWx0aXNpZ1R5cGU6ICd0c3MnLCBwYXNzcGhyYXNlLCBlbnRlcnByaXNlLCBzYWZlSWQgfSk7XG4gICAgcmV0dXJuIFt1c2VyS2V5Y2hhaW4uaWQsIGJhY2t1cEtleWNoYWluLmlkLCBiaXRnb0tleWNoYWluLmlkXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0IHRoZSBlbnRlcnByaXNlJ3Mgc2FmZXMgdGhlIGNhbGxlciBpcyBhIG1lbWJlciBvZiAoY3Vyc29yIHBhZ2luYXRpb24pLlxuICAgKiBHRVQgL2FwaS92Mi9lbnRlcnByaXNlLzplSWQvc2FmZXM/bGltaXQmcHJldklkXG4gICAqXG4gICAqIGBjdXJzb3JgIGlzIHRoZSBvcGFxdWUgYG5leHRDdXJzb3JgIHJldHVybmVkIGJ5IGEgcHJldmlvdXMgY2FsbDsgcGFnZSBmb3J3YXJkIHVudGlsXG4gICAqIGBuZXh0Q3Vyc29yYCBpcyBhYnNlbnQuXG4gICAqIEBleHBlcmltZW50YWxcbiAgICovXG4gIGFzeW5jIGxpc3QocGFyYW1zOiBMaXN0U2FmZXNPcHRpb25zID0ge30pOiBQcm9taXNlPHsgc2FmZXM6IFNhZmVbXTsgbmV4dEN1cnNvcj86IHN0cmluZyB9PiB7XG4gICAgLy8gU0RLIGV4cG9zZXMgYW4gb3BhcXVlIGN1cnNvcjsgV1Agc3BlYWtzIHByZXZJZC9uZXh0QmF0Y2hQcmV2SWQgKHYyIGxpc3QgY29udmVudGlvbikuXG4gICAgY29uc3QgcXVlcnk6IHsgbGltaXQ/OiBudW1iZXI7IHByZXZJZD86IHN0cmluZyB9ID0ge307XG4gICAgaWYgKHBhcmFtcy5saW1pdCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBxdWVyeS5saW1pdCA9IHBhcmFtcy5saW1pdDtcbiAgICB9XG4gICAgaWYgKHBhcmFtcy5jdXJzb3IgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcXVlcnkucHJldklkID0gcGFyYW1zLmN1cnNvcjtcbiAgICB9XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmJpdGdvLmdldCh0aGlzLnVybCgpKS5xdWVyeShxdWVyeSkucmVzdWx0KCk7XG4gICAgY29uc3QgeyBzYWZlcywgbmV4dEJhdGNoUHJldklkIH0gPSBkZWNvZGVXaXRoQ29kZWMoTGlzdFNhZmVzUmVzcG9uc2UsIHJlc3BvbnNlLCAnTGlzdFNhZmVzUmVzcG9uc2UnKTtcbiAgICByZXR1cm4ge1xuICAgICAgc2FmZXM6IHNhZmVzLm1hcCgoc2FmZURhdGEpID0+IG5ldyBTYWZlKHRoaXMuYml0Z28sIHNhZmVEYXRhKSksXG4gICAgICBuZXh0Q3Vyc29yOiBuZXh0QmF0Y2hQcmV2SWQsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaCBhIHNpbmdsZSBzYWZlIGJ5IGlkLiBOb24tbWVtYmVycyBnZXQgYSA0MDQgKGV4aXN0ZW5jZSBpcyBub3QgbGVha2VkKS5cbiAgICogR0VUIC9hcGkvdjIvZW50ZXJwcmlzZS86ZUlkL3NhZmVzLzpzYWZlSWRcbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgYXN5bmMgZ2V0KHBhcmFtczogR2V0U2FmZU9wdGlvbnMpOiBQcm9taXNlPFNhZmU+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuYml0Z28uZ2V0KHRoaXMudXJsKGAvJHtwYXJhbXMuaWR9YCkpLnJlc3VsdCgpO1xuICAgIGNvbnN0IHNhZmVEYXRhID0gZGVjb2RlV2l0aENvZGVjKFNhZmVEYXRhLCByZXNwb25zZSwgJ1NhZmVEYXRhJyk7XG4gICAgcmV0dXJuIG5ldyBTYWZlKHRoaXMuYml0Z28sIHNhZmVEYXRhKTtcbiAgfVxufVxuIl19
294
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vc2FmZS9zYWZlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7Ozs7R0FLRztBQUNILHlDQUEyQjtBQUMzQixzREFPNkI7QUFDN0IseUNBQTRDO0FBRzVDLDRDQUFrRDtBQUNsRCwwREFBdUQ7QUFHdkQsaUNBQThCO0FBRTlCOzs7Ozs7R0FNRztBQUNILE1BQU0sb0JBQW9CLEdBQStEO0lBQ3ZGLE9BQU8sRUFBRTtRQUNQLGlCQUFpQjtRQUNqQixpQkFBaUIsRUFBRSxLQUFLO1FBQ3hCLGVBQWUsRUFBRSxLQUFLO1FBQ3RCLFlBQVk7UUFDWixRQUFRLEVBQUUsS0FBSztRQUNmLFFBQVEsRUFBRSxLQUFLO0tBQ2hCO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsaUJBQWlCO1FBQ2pCLGlCQUFpQixFQUFFLE1BQU07UUFDekIsZUFBZSxFQUFFLE1BQU07UUFDdkIsWUFBWTtRQUNaLFFBQVEsRUFBRSxPQUFPO1FBQ2pCLFFBQVEsRUFBRSxNQUFNO0tBQ2pCO0NBQ0YsQ0FBQztBQUVGOzs7OztHQUtHO0FBQ0gsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUFDO0lBQ3ZDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyx1QkFBUSxDQUFDLEVBQUUsQ0FBQztJQUNwQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztDQUN6QyxDQUFDLENBQUM7QUFFSDs7Ozs7O0dBTUc7QUFDSCxNQUFhLEtBQUs7SUFJaEIsWUFBWSxLQUFnQixFQUFFLFlBQW9CO1FBQ2hELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxD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QUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMxRSxNQUFNLFFBQVEsR0FBRyxJQUFBLHdCQUFlLEVBQUMsdUJBQVEsRUFBRSxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDakUsT0FBTyxJQUFJLFdBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7Q0FDRjtBQTNPRCxzQkEyT0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwcmV0dGllclxuICpcbiAqIEBleHBlcmltZW50YWwgVGhlIHNhZmUgY2xpZW50IHN1cmZhY2UgaXMgZXhwZXJpbWVudGFsIGFuZCBtYXkgY2hhbmdlIChpbmNsdWRpbmcgYnJlYWtpbmdcbiAqIGNoYW5nZXMpIGJlZm9yZSB0aGUgcHVibGljIHJlbGVhc2UuXG4gKi9cbmltcG9ydCAqIGFzIHQgZnJvbSAnaW8tdHMnO1xuaW1wb3J0IHtcbiAgRmluYWxpemVTYWZlQm9keSxcbiAgSW5pdGlhbGl6ZVNhZmVCb2R5LFxuICBJbml0aWFsaXplU2FmZVJlc3BvbnNlLFxuICBSb290S2V5VHJpcGxldCxcbiAgUm9vdEtleVR5cGUsXG4gIFNhZmVEYXRhLFxufSBmcm9tICdAYml0Z28vcHVibGljLXR5cGVzJztcbmltcG9ydCB7IEVudmlyb25tZW50cyB9IGZyb20gJy4uLy4uL2NvbW1vbic7XG5pbXBvcnQgeyBJQmFzZUNvaW4gfSBmcm9tICcuLi9iYXNlQ29pbic7XG5pbXBvcnQgeyBCaXRHb0Jhc2UgfSBmcm9tICcuLi9iaXRnb0Jhc2UnO1xuaW1wb3J0IHsgZGVjb2RlV2l0aENvZGVjIH0gZnJvbSAnLi4vdXRpbHMvY29kZWNzJztcbmltcG9ydCB7IHBvc3RXaXRoQ29kZWMgfSBmcm9tICcuLi91dGlscy9wb3N0V2l0aENvZGVjJztcbmltcG9ydCB7IEZpbmFsaXplU2FmZU9wdGlvbnMsIEluaXRpYWxpemVTYWZlT3B0aW9ucyB9IGZyb20gJy4vaVNhZmUnO1xuaW1wb3J0IHsgQ3JlYXRlU2FmZU9wdGlvbnMsIEdldFNhZmVPcHRpb25zLCBJU2FmZXMsIExpc3RTYWZlc09wdGlvbnMsIFNhZmVDcmVhdGlvbkhhbmRsZSwgU2FmZUtleXMgfSBmcm9tICcuL2lTYWZlcyc7XG5pbXBvcnQgeyBTYWZlIH0gZnJvbSAnLi9zYWZlJztcblxuLyoqXG4gKiBSZXByZXNlbnRhdGl2ZSBjb2luIHBlciByb290IHNsb3QsIGJ5IG5ldHdvcmsuIFNhZmUgcm9vdHMgYXJlIGN1cnZlL3NjaGVtZS1zY29wZWQsIG5vdFxuICogY29pbi1zY29wZWQg4oCUIFdQIHN0YW1wcyBgY3VydmVgIHNlcnZlci1zaWRlIGZyb20gdGhlIGNvaW4ncyBrZXkgY3VydmUsIHNvIGFueSBjb2luIG9mIHRoZVxuICogcmlnaHQgKGN1cnZlLCBzY2hlbWUpIHdvcmtzLiBUaGVzZSBhcmUgc3RhYmxlLCBhbHdheXMtYXZhaWxhYmxlIGNob2ljZXMgdXNlZCBvbmx5IHRvIHJvdXRlXG4gKiB0aGUga2V5LWdlbmVyYXRpb24gY2VyZW1vbnk7IHRoZSByZXN1bHRpbmcgcm9vdCBpcyBpbnRlcmNoYW5nZWFibGUgYWNyb3NzIGNvaW5zIG9mIHRoZSBzbG90LlxuICogQGV4cGVyaW1lbnRhbFxuICovXG5jb25zdCBST09UX0NPSU5fQllfTkVUV09SSzogUmVjb3JkPCdtYWlubmV0JyB8ICd0ZXN0bmV0JywgUmVjb3JkPFJvb3RLZXlUeXBlLCBzdHJpbmc+PiA9IHtcbiAgbWFpbm5ldDoge1xuICAgIC8vIG11bHRpc2lnIHJvb3RzXG4gICAgc2VjcDI1NmsxTXVsdGlzaWc6ICdidGMnLFxuICAgIGVkMjU1MTlNdWx0aXNpZzogJ3hsbScsXG4gICAgLy8gTVBDIHJvb3RzXG4gICAgZWNkc2FNcGM6ICdldGgnLFxuICAgIGVkZHNhTXBjOiAnc29sJyxcbiAgfSxcbiAgdGVzdG5ldDoge1xuICAgIC8vIG11bHRpc2lnIHJvb3RzXG4gICAgc2VjcDI1NmsxTXVsdGlzaWc6ICd0YnRjJyxcbiAgICBlZDI1NTE5TXVsdGlzaWc6ICd0eGxtJyxcbiAgICAvLyBNUEMgcm9vdHNcbiAgICBlY2RzYU1wYzogJ2h0ZXRoJyxcbiAgICBlZGRzYU1wYzogJ3Rzb2wnLFxuICB9LFxufTtcblxuLyoqXG4gKiBXaXJlIHNoYXBlIG9mIHRoZSBwYWdpbmF0ZWQgYEdFVCAvZW50ZXJwcmlzZS86ZUlkL3NhZmVzYCByZXNwb25zZS4gV1AgcGFnaW5hdGVzIHdpdGggdGhlIHYyXG4gKiBgcHJldklkYC9gbmV4dEJhdGNoUHJldklkYCBjb252ZW50aW9uOyB0aGUgU0RLIHJlLWV4cG9zZXMgaXQgYXMgYW4gb3BhcXVlIGBjdXJzb3JgL2BuZXh0Q3Vyc29yYFxuICogKHNlZSBgbGlzdGApLlxuICogQGV4cGVyaW1lbnRhbFxuICovXG5jb25zdCBMaXN0U2FmZXNSZXNwb25zZSA9IHQuaW50ZXJzZWN0aW9uKFtcbiAgdC50eXBlKHsgc2FmZXM6IHQuYXJyYXkoU2FmZURhdGEpIH0pLFxuICB0LnBhcnRpYWwoeyBuZXh0QmF0Y2hQcmV2SWQ6IHQuc3RyaW5nIH0pLFxuXSk7XG5cbi8qKlxuICogQ29sbGVjdGlvbiBhY2Nlc3NvciBmb3IgYSBzaW5nbGUgZW50ZXJwcmlzZSdzIHNhZmVzLCBtaXJyb3JpbmcgV2FsbGV0cyAvIEVudGVycHJpc2VzLlxuICogU2FmZSByb3V0ZXMgYXJlIGVudGVycHJpc2Utc2NvcGVkICgvYXBpL3YyL2VudGVycHJpc2UvOmVJZC9zYWZlcyksIHNvIHRoZSBhY2Nlc3NvciBpc1xuICogY29uc3RydWN0ZWQgd2l0aCB0aGUgZW50ZXJwcmlzZSBpZCAoc2VlIEVudGVycHJpc2Uuc2FmZXMoKSkuXG4gKlxuICogQGV4cGVyaW1lbnRhbFxuICovXG5leHBvcnQgY2xhc3MgU2FmZXMgaW1wbGVtZW50cyBJU2FmZXMge1xuICBwcml2YXRlIHJlYWRvbmx5IGJpdGdvOiBCaXRHb0Jhc2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgZW50ZXJwcmlzZUlkOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoYml0Z286IEJpdEdvQmFzZSwgZW50ZXJwcmlzZUlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmJpdGdvID0gYml0Z287XG4gICAgdGhpcy5lbnRlcnByaXNlSWQgPSBlbnRlcnByaXNlSWQ7XG4gIH1cblxuICAvKipcbiAgICogRW50ZXJwcmlzZS1zY29wZWQgdjIgVVJMIGZvciB0aGUgc2FmZXMgY29sbGVjdGlvbiwgZS5nLiAvYXBpL3YyL2VudGVycHJpc2UvOmVJZC9zYWZlc1xuICAgKiBAcGFyYW0gZXh0cmFcbiAgICovXG4gIHByaXZhdGUgdXJsKGV4dHJhID0gJycpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmJpdGdvLnVybChgL2VudGVycHJpc2UvJHt0aGlzLmVudGVycHJpc2VJZH0vc2FmZXMke2V4dHJhfWAsIDIpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9uZS1jYWxsIGNvbnZlbmllbmNlIHdyYXBwZXIgY2hhaW5pbmcgdGhlIHRocmVlIGNyZWF0aW9uIHBoYXNlczpcbiAgICogaW5pdGlhbGl6ZSAoUGhhc2UgMSkg4oaSIGNyZWF0ZVNhZmVLZXlzIChQaGFzZSAyLCA0IHNhZmVJZC10YWdnZWQgY2VyZW1vbmllcykg4oaSXG4gICAqIGZpbmFsaXplIChQaGFzZSAzKS4gSE9UIGN1c3RvZHkgb25seSBpbiB2MS5cbiAgICpcbiAgICogSWYgYSBrZXkgY2VyZW1vbnkgZmFpbHMsIGBjcmVhdGVTYWZlS2V5c2AgYXJjaGl2ZXMgdGhlIHNhZmUgYmVmb3JlIHRocm93aW5nLCBzbyBhIGZhaWxlZCBydW5cbiAgICogbGVhdmVzIG5vIGhhbGYtY3JlYXRlZCBzYWZlIGJlaGluZCDigJQgY3JlYXRlIGEgbmV3IHNhZmUgYW5kIHJldHJ5LlxuICAgKiBAZXhwZXJpbWVudGFsXG4gICAqL1xuICBhc3luYyBnZW5lcmF0ZVNhZmUocGFyYW1zOiBDcmVhdGVTYWZlT3B0aW9ucyk6IFByb21pc2U8U2FmZT4ge1xuICAgIGNvbnN0IHNhZmUgPSBhd2FpdCB0aGlzLmluaXRpYWxpemVTYWZlKHsgbGFiZWw6IHBhcmFtcy5sYWJlbCB9KTtcbiAgICBjb25zdCByb290S2V5cyA9IGF3YWl0IHRoaXMuY3JlYXRlU2FmZUtleXMoeyAuLi5wYXJhbXMsIHNhZmVJZDogc2FmZS5pZCB9KTtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5maW5hbGl6ZVNhZmUoc2FmZS5pZCwgcm9vdEtleXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFBoYXNlIDEg4oCUIGluaXRpYWxpemUgYSBzYWZlIChtZXRhZGF0YSBvbmx5LCBubyBrZXkgbWF0ZXJpYWwpLlxuICAgKiBQT1NUIC9hcGkvdjIvZW50ZXJwcmlzZS86ZUlkL3NhZmVzIHsgbGFiZWwgfVxuICAgKiBSZXNwb25zZSBpcyBqdXN0IGB7IGlkLCBzdGF0dXMgfWAg4oCUIHRoZSBzYWZlIGhhcyBubyBsYWJlbC9yb3N0ZXIvZXRjLiB5ZXQuXG4gICAqIEBleHBlcmltZW50YWxcbiAgICovXG4gIGFzeW5jIGluaXRpYWxpemVTYWZlKHBhcmFtczogSW5pdGlhbGl6ZVNhZmVPcHRpb25zKTogUHJvbWlzZTxJbml0aWFsaXplU2FmZVJlc3BvbnNlPiB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBwb3N0V2l0aENvZGVjKHRoaXMuYml0Z28sIHRoaXMudXJsKCksIEluaXRpYWxpemVTYWZlQm9keSwgcGFyYW1zKS5yZXN1bHQoKTtcbiAgICByZXR1cm4gZGVjb2RlV2l0aENvZGVjKEluaXRpYWxpemVTYWZlUmVzcG9uc2UsIHJlc3BvbnNlLCAnSW5pdGlhbGl6ZVNhZmVSZXNwb25zZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIFBoYXNlIDIg4oCUIHJ1biB0aGUgNCByb290IGtleSBjZXJlbW9uaWVzIHRhZ2dlZCB3aXRoIGBzYWZlSWRgOyByZXR1cm5zIHRoZSAxMiBtaW50ZWQga2V5IGlkc1xuICAgKiBhcyA0IG9yZGVyZWQgW3VzZXIsIGJhY2t1cCwgYml0Z29dIHRyaXBsZXRzLiBIT1QgY3VzdG9keSBvbmx5IGluIHYxLlxuICAgKlxuICAgKiBBbGwgNCBjZXJlbW9uaWVzICgyLjEgbXVsdGlzaWcg4pGg4pGjLCAyLjIgTVBDIOKRoeKRoikgcnVuIGluIHBhcmFsbGVsLiBJZiBhbnkgb2YgdGhlbSBmYWlsLCB0aGVcbiAgICogcGFydGlhbGx5LWNyZWF0ZWQgc2FmZSBpcyBhcmNoaXZlZCAoYSBsZWdhbCBgaW5pdGlhbGl6aW5nIOKGkiBhcmNoaXZlZGAgdHJhbnNpdGlvbiwgc28gdGhlXG4gICAqIG9ycGhhbmVkIHRhZ2dlZCBrZXlzIGFyZSBpbmVydCkgYW5kIGFuIGVycm9yIGxpc3RpbmcgZXZlcnkgY2VyZW1vbnkgZmFpbHVyZSBpcyB0aHJvd24g4oCUXG4gICAqIGNyZWF0ZSBhIG5ldyBzYWZlIGFuZCByZXRyeS5cbiAgICpcbiAgICogTm90IGluZGVwZW5kZW50bHkgaWRlbXBvdGVudDogcmUtcnVubmluZyBhZ2FpbnN0IGEgc2FmZSB0aGF0IGFscmVhZHkgaGFzIHNvbWUgcm9vdHMgaGl0cyBXUCdzXG4gICAqIHVuaXF1ZSByb290LXNsb3QgaW5kZXguXG4gICAqIEBleHBlcmltZW50YWxcbiAgICovXG4gIGFzeW5jIGNyZWF0ZVNhZmVLZXlzKHBhcmFtczogQ3JlYXRlU2FmZU9wdGlvbnMgJiBTYWZlQ3JlYXRpb25IYW5kbGUpOiBQcm9taXNlPFNhZmVLZXlzPiB7XG4gICAgY29uc3QgeyBzYWZlSWQsIHBhc3NwaHJhc2UgfSA9IHBhcmFtcztcbiAgICBjb25zdCBlbnRlcnByaXNlID0gdGhpcy5lbnRlcnByaXNlSWQ7XG5cbiAgICAvLyBgc2xvdHNgIE1VU1Qgc3RheSBpbmRleC1hbGlnbmVkIHdpdGggdGhlIFByb21pc2UuYWxsU2V0dGxlZCBhcnJheSBiZWxvdy4gT3JkZXJlZCBieSBzY2hlbWU6XG4gICAgLy8gdGhlIHR3byBtdWx0aXNpZyByb290cyBmaXJzdCwgdGhlbiB0aGUgdHdvIE1QQyByb290cy5cbiAgICBjb25zdCBzbG90czogUm9vdEtleVR5cGVbXSA9IFsnc2VjcDI1NmsxTXVsdGlzaWcnLCAnZWQyNTUxOU11bHRpc2lnJywgJ2VjZHNhTXBjJywgJ2VkZHNhTXBjJ107XG4gICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IFByb21pc2UuYWxsU2V0dGxlZChbXG4gICAgICAvLyBQaGFzZSAyLjEg4oCUIG11bHRpc2lnIHJvb3RzICjikaDikaMpOiBsb2NhbCB1c2VyL2JhY2t1cCBrZXlwYWlycyArIEJpdEdvIGtleSwgYWxsIHNhZmVJZC10YWdnZWQuXG4gICAgICB0aGlzLmNyZWF0ZU11bHRpc2lnUm9vdCgnc2VjcDI1NmsxTXVsdGlzaWcnLCBzYWZlSWQsIHBhc3NwaHJhc2UsIGVudGVycHJpc2UpLFxuICAgICAgdGhpcy5jcmVhdGVNdWx0aXNpZ1Jvb3QoJ2VkMjU1MTlNdWx0aXNpZycsIHNhZmVJZCwgcGFzc3BocmFzZSwgZW50ZXJwcmlzZSksXG4gICAgICAvLyBQaGFzZSAyLjIg4oCUIE1QQyByb290cyAo4pGh4pGiKTogdGhlIGV4aXN0aW5nIERLTFMgKOKRoSkgYW5kIEVkRFNBICjikaIpIGNlcmVtb25pZXMsIHNhZmVJZCB0aHJlYWRlZC5cbiAgICAgIHRoaXMuY3JlYXRlTXBjUm9vdCgnZWNkc2FNcGMnLCBzYWZlSWQsIHBhc3NwaHJhc2UsIGVudGVycHJpc2UpLFxuICAgICAgdGhpcy5jcmVhdGVNcGNSb290KCdlZGRzYU1wYycsIHNhZmVJZCwgcGFzc3BocmFzZSwgZW50ZXJwcmlzZSksXG4gICAgXSk7XG5cbiAgICAvLyBTaW5nbGUgcGFzcyBvdmVyIHRoZSBzZXR0bGVkIHJlc3VsdHM6IGBzdGF0dXMgPT09ICdmdWxmaWxsZWQnYCBuYXJyb3dzIGAudmFsdWVgIHRvIGFcbiAgICAvLyBSb290S2V5VHJpcGxldCAobm8gY2FzdCBuZWVkZWQpLCBhbmQgcmVqZWN0aW9ucyBhcmUgY29sbGVjdGVkIHBlci1zbG90IGZvciB0aGUgZXJyb3IgYmVsb3cuXG4gICAgY29uc3QgaG90ID0ge30gYXMgU2FmZUtleXNbJ3Jvb3RLZXlzJ11bJ2hvdCddO1xuICAgIGNvbnN0IGZhaWx1cmVzOiBzdHJpbmdbXSA9IFtdO1xuICAgIHJlc3VsdHMuZm9yRWFjaCgocmVzdWx0LCBpKSA9PiB7XG4gICAgICBpZiAocmVzdWx0LnN0YXR1cyA9PT0gJ2Z1bGZpbGxlZCcpIHtcbiAgICAgICAgaG90W3Nsb3RzW2ldXSA9IHJlc3VsdC52YWx1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHJlYXNvbiA9IHJlc3VsdC5yZWFzb24gaW5zdGFuY2VvZiBFcnJvciA/IHJlc3VsdC5yZWFzb24ubWVzc2FnZSA6IFN0cmluZyhyZXN1bHQucmVhc29uKTtcbiAgICAgICAgZmFpbHVyZXMucHVzaChgJHtzbG90c1tpXX06ICR7cmVhc29ufWApO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKGZhaWx1cmVzLmxlbmd0aCA+IDApIHtcbiAgICAgIC8vIEJlc3QtZWZmb3J0IGFiYW5kb24gdGhlIHBhcnRpYWxseS1jcmVhdGVkIHNhZmUgc28gYSByZXRyeSBzdGFydHMgZnJvbSBhIGNsZWFuIHNsYXRlLiBLZWVwXG4gICAgICAvLyB0aGUgY2VyZW1vbnkgZmFpbHVyZXMgYXMgdGhlIHByaW1hcnkgZXJyb3I7IG5vdGUgaXQgaWYgdGhlIGNsZWFudXAgYXJjaGl2ZSBhbHNvIGZhaWxlZC5cbiAgICAgIGxldCBhcmNoaXZlRXJyb3I6IEVycm9yIHwgdW5kZWZpbmVkO1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgdGhpcy5hcmNoaXZlU2FmZShzYWZlSWQpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBhcmNoaXZlRXJyb3IgPSBlIGluc3RhbmNlb2YgRXJyb3IgPyBlIDogbmV3IEVycm9yKFN0cmluZyhlKSk7XG4gICAgICB9XG4gICAgICBsZXQgbWVzc2FnZSA9XG4gICAgICAgIGBTYWZlIGtleSBnZW5lcmF0aW9uIGZhaWxlZCBmb3IgJHtmYWlsdXJlcy5sZW5ndGh9IHJvb3QgY2VyZW1vbnkvaWVzIGAgK1xuICAgICAgICBgWyR7ZmFpbHVyZXMuam9pbignOyAnKX1dLiBUaGUgc2FmZSAoJHtzYWZlSWR9KSBoYXMgYmVlbiBhcmNoaXZlZDsgY3JlYXRlIGEgbmV3IHNhZmUgYW5kIHJldHJ5LmA7XG4gICAgICBpZiAoYXJjaGl2ZUVycm9yKSB7XG4gICAgICAgIG1lc3NhZ2UgKz0gYCBOT1RFOiBhcmNoaXZpbmcgdGhlIHNhZmUgYWxzbyBmYWlsZWQgKCR7YXJjaGl2ZUVycm9yLm1lc3NhZ2V9KTsgYXJjaGl2ZSBpdCBtYW51YWxseSBiZWZvcmUgcmV0cnlpbmcuYDtcbiAgICAgIH1cbiAgICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlKTtcbiAgICB9XG5cbiAgICByZXR1cm4geyByb290S2V5czogeyBob3QgfSB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEFyY2hpdmUgYSBzYWZlLiBBbHNvIHRoZSBhYmFuZG9ubWVudCBwYXRoIGZvciBhIHN0dWNrIGBpbml0aWFsaXppbmdgIHNhZmUgKHVzZWQgYnlcbiAgICogYGNyZWF0ZVNhZmVLZXlzYCB0byBjbGVhbiB1cCBhZnRlciBhIGZhaWxlZCBjZXJlbW9ueSkuXG4gICAqIFBPU1QgL2FwaS92Mi9lbnRlcnByaXNlLzplSWQvc2FmZXMvOnNhZmVJZC9hcmNoaXZlXG4gICAqIEBleHBlcmltZW50YWxcbiAgICovXG4gIGFzeW5jIGFyY2hpdmVTYWZlKHNhZmVJZDogc3RyaW5nKTogUHJvbWlzZTxTYWZlPiB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmJpdGdvXG4gICAgICAucG9zdCh0aGlzLnVybChgLyR7c2FmZUlkfS9hcmNoaXZlYCkpXG4gICAgICAuc2VuZCgpXG4gICAgICAucmVzdWx0KCk7XG4gICAgY29uc3Qgc2FmZURhdGEgPSBkZWNvZGVXaXRoQ29kZWMoU2FmZURhdGEsIHJlc3BvbnNlLCAnU2FmZURhdGEnKTtcbiAgICByZXR1cm4gbmV3IFNhZmUodGhpcy5iaXRnbywgc2FmZURhdGEpO1xuICB9XG5cbiAgLyoqXG4gICAqIFBoYXNlIDMg4oCUIGZpbmFsaXplIGEgc2FmZSB3aXRoIHRoZSAxMiByb290IGtleSBpZHMgYXMgNCBvcmRlcmVkIFt1c2VyLCBiYWNrdXAsIGJpdGdvXSB0cmlwbGV0cy5cbiAgICogUE9TVCAvYXBpL3YyL2VudGVycHJpc2UvOmVJZC9zYWZlcy86c2FmZUlkL2ZpbmFsaXplIHsgcm9vdEtleXMgfS5cbiAgICogSWRlbXBvdGVudDogcmUtZmluYWxpemluZyB3aXRoIHRoZSBzYW1lIGByb290S2V5c2AgcmV0dXJucyB0aGUgYWN0aXZlIHNhZmUgYWdhaW4gKDIwMCkuXG4gICAqIEBleHBlcmltZW50YWxcbiAgICovXG4gIGFzeW5jIGZpbmFsaXplU2FmZShzYWZlSWQ6IHN0cmluZywgcGFyYW1zOiBGaW5hbGl6ZVNhZmVPcHRpb25zKTogUHJvbWlzZTxTYWZlPiB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBwb3N0V2l0aENvZGVjKFxuICAgICAgdGhpcy5iaXRnbyxcbiAgICAgIHRoaXMudXJsKGAvJHtzYWZlSWR9L2ZpbmFsaXplYCksXG4gICAgICBGaW5hbGl6ZVNhZmVCb2R5LFxuICAgICAgcGFyYW1zXG4gICAgKS5yZXN1bHQoKTtcbiAgICBjb25zdCBzYWZlRGF0YSA9IGRlY29kZVdpdGhDb2RlYyhTYWZlRGF0YSwgcmVzcG9uc2UsICdTYWZlRGF0YScpO1xuICAgIHJldHVybiBuZXcgU2FmZSh0aGlzLmJpdGdvLCBzYWZlRGF0YSk7XG4gIH1cblxuICAvKipcbiAgICogQ29pbiB1c2VkIHRvIHJvdXRlIGEgZ2l2ZW4gcm9vdCdzIGtleSBjZXJlbW9ueSAoc2VlIFJPT1RfQ09JTl9CWV9ORVRXT1JLKS5cbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcHJpdmF0ZSBjb2luRm9yUm9vdChzbG90OiBSb290S2V5VHlwZSk6IElCYXNlQ29pbiB7XG4gICAgLy8gVjFOZXR3b3JrIGlzIGV4YWN0bHkgJ2JpdGNvaW4nIHwgJ3Rlc3RuZXQnLCBzbyB0aGlzIGJyYW5jaCBpcyBleGhhdXN0aXZlIG92ZXIgZXZlcnlcbiAgICAvLyBlbnZpcm9ubWVudDogJ2JpdGNvaW4nIGlzIG1haW5uZXQgYW5kIGV2ZXJ5IG90aGVyIHZhbHVlIGlzIGEgdGVzdG5ldC5cbiAgICBjb25zdCBuZXR3b3JrID0gRW52aXJvbm1lbnRzW3RoaXMuYml0Z28uZ2V0RW52KCldLm5ldHdvcmsgPT09ICdiaXRjb2luJyA/ICdtYWlubmV0JyA6ICd0ZXN0bmV0JztcbiAgICByZXR1cm4gdGhpcy5iaXRnby5jb2luKFJPT1RfQ09JTl9CWV9ORVRXT1JLW25ldHdvcmtdW3Nsb3RdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQaGFzZSAyLjEgaGVscGVyIOKAlCBtaW50IG9uZSBvbmNoYWluLW11bHRpc2lnIHJvb3QgKGNvbGQgbW9kZWwsIGFzIHdhbGxldCBjcmVhdGlvbiBkb2VzIHRvZGF5KTpcbiAgICogZ2VuZXJhdGUgdXNlci9iYWNrdXAga2V5cGFpcnMgbG9jYWxseSwgZW5jcnlwdCB3aXRoIGBwYXNzcGhyYXNlYCwgcmVnaXN0ZXIgdmlhIFBPU1QgLzpjb2luL2tleVxuICAgKiB3aXRoIGBzYWZlSWRgOyB0aGUgQml0R28ga2V5IGlzIGNyZWF0ZWQgdGhyb3VnaCB0aGUgc2FtZSByb3V0ZSdzIGBzb3VyY2U6J2JpdGdvJ2AgcGF0aC5cbiAgICogUmV0dXJucyB0aGUgW3VzZXIsIGJhY2t1cCwgYml0Z29dIGtleSBpZCB0cmlwbGV0LlxuICAgKiBAZXhwZXJpbWVudGFsXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGNyZWF0ZU11bHRpc2lnUm9vdChcbiAgICBzbG90OiAnc2VjcDI1NmsxTXVsdGlzaWcnIHwgJ2VkMjU1MTlNdWx0aXNpZycsXG4gICAgc2FmZUlkOiBzdHJpbmcsXG4gICAgcGFzc3BocmFzZTogc3RyaW5nLFxuICAgIGVudGVycHJpc2U6IHN0cmluZ1xuICApOiBQcm9taXNlPFJvb3RLZXlUcmlwbGV0PiB7XG4gICAgY29uc3Qga2V5Y2hhaW5zID0gdGhpcy5jb2luRm9yUm9vdChzbG90KS5rZXljaGFpbnMoKTtcblxuICAgIGNvbnN0IHVzZXJLZXlQYWlyID0ga2V5Y2hhaW5zLmNyZWF0ZSgpO1xuICAgIGNvbnN0IHVzZXJLZXljaGFpblByb21pc2UgPSBrZXljaGFpbnMuYWRkKHtcbiAgICAgIHB1YjogdXNlcktleVBhaXIucHViLFxuICAgICAgZW5jcnlwdGVkUHJ2OiBhd2FpdCB0aGlzLmJpdGdvLmVuY3J5cHQoeyBpbnB1dDogdXNlcktleVBhaXIucHJ2LCBwYXNzd29yZDogcGFzc3BocmFzZSB9KSxcbiAgICAgIHNvdXJjZTogJ3VzZXInLFxuICAgICAgc2FmZUlkLFxuICAgIH0pO1xuICAgIGNvbnN0IGJhY2t1cEtleWNoYWluUHJvbWlzZSA9IGtleWNoYWlucy5jcmVhdGVCYWNrdXAoeyBwYXNzcGhyYXNlLCBzYWZlSWQgfSk7XG4gICAgY29uc3QgYml0Z29LZXljaGFpblByb21pc2UgPSBrZXljaGFpbnMuY3JlYXRlQml0R28oeyBlbnRlcnByaXNlLCBzYWZlSWQgfSk7XG5cbiAgICBjb25zdCBbdXNlcktleWNoYWluLCBiYWNrdXBLZXljaGFpbiwgYml0Z29LZXljaGFpbl0gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICB1c2VyS2V5Y2hhaW5Qcm9taXNlLFxuICAgICAgYmFja3VwS2V5Y2hhaW5Qcm9taXNlLFxuICAgICAgYml0Z29LZXljaGFpblByb21pc2UsXG4gICAgXSk7XG4gICAgcmV0dXJuIFt1c2VyS2V5Y2hhaW4uaWQsIGJhY2t1cEtleWNoYWluLmlkLCBiaXRnb0tleWNoYWluLmlkXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQaGFzZSAyLjIgaGVscGVyIOKAlCBydW4gb25lIE1QQyBjZXJlbW9ueSAoREtMUyBmb3IgZWNkc2FNcGMsIEVkRFNBIGZvciBlZGRzYU1wYykgdmlhIHRoZVxuICAgKiBleGlzdGluZyBgY3JlYXRlTXBjYCBmbG93IHdpdGggYHNhZmVJZGAgdGhyZWFkZWQgdGhyb3VnaCwgc28gdGhlIHJlc3VsdGluZyB1c2VyL2JhY2t1cC9iaXRnb1xuICAgKiBrZXlzIGxhbmQgdGFnZ2VkLiBSZXR1cm5zIHRoZSBbdXNlciwgYmFja3VwLCBiaXRnb10ga2V5IGlkIHRyaXBsZXQuXG4gICAqIEBleHBlcmltZW50YWxcbiAgICovXG4gIHByaXZhdGUgYXN5bmMgY3JlYXRlTXBjUm9vdChcbiAgICBzbG90OiAnZWNkc2FNcGMnIHwgJ2VkZHNhTXBjJyxcbiAgICBzYWZlSWQ6IHN0cmluZyxcbiAgICBwYXNzcGhyYXNlOiBzdHJpbmcsXG4gICAgZW50ZXJwcmlzZTogc3RyaW5nXG4gICk6IFByb21pc2U8Um9vdEtleVRyaXBsZXQ+IHtcbiAgICBjb25zdCB7IHVzZXJLZXljaGFpbiwgYmFja3VwS2V5Y2hhaW4sIGJpdGdvS2V5Y2hhaW4gfSA9IGF3YWl0IHRoaXMuY29pbkZvclJvb3Qoc2xvdClcbiAgICAgIC5rZXljaGFpbnMoKVxuICAgICAgLmNyZWF0ZU1wYyh7IG11bHRpc2lnVHlwZTogJ3RzcycsIHBhc3NwaHJhc2UsIGVudGVycHJpc2UsIHNhZmVJZCB9KTtcbiAgICByZXR1cm4gW3VzZXJLZXljaGFpbi5pZCwgYmFja3VwS2V5Y2hhaW4uaWQsIGJpdGdvS2V5Y2hhaW4uaWRdO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3QgdGhlIGVudGVycHJpc2UncyBzYWZlcyB0aGUgY2FsbGVyIGlzIGEgbWVtYmVyIG9mIChjdXJzb3IgcGFnaW5hdGlvbikuXG4gICAqIEdFVCAvYXBpL3YyL2VudGVycHJpc2UvOmVJZC9zYWZlcz9saW1pdCZwcmV2SWRcbiAgICpcbiAgICogYGN1cnNvcmAgaXMgdGhlIG9wYXF1ZSBgbmV4dEN1cnNvcmAgcmV0dXJuZWQgYnkgYSBwcmV2aW91cyBjYWxsOyBwYWdlIGZvcndhcmQgdW50aWxcbiAgICogYG5leHRDdXJzb3JgIGlzIGFic2VudC5cbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgYXN5bmMgbGlzdChwYXJhbXM6IExpc3RTYWZlc09wdGlvbnMgPSB7fSk6IFByb21pc2U8eyBzYWZlczogU2FmZVtdOyBuZXh0Q3Vyc29yPzogc3RyaW5nIH0+IHtcbiAgICAvLyBTREsgZXhwb3NlcyBhbiBvcGFxdWUgY3Vyc29yOyBXUCBzcGVha3MgcHJldklkL25leHRCYXRjaFByZXZJZCAodjIgbGlzdCBjb252ZW50aW9uKS5cbiAgICBjb25zdCBxdWVyeTogeyBsaW1pdD86IG51bWJlcjsgcHJldklkPzogc3RyaW5nIH0gPSB7fTtcbiAgICBpZiAocGFyYW1zLmxpbWl0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHF1ZXJ5LmxpbWl0ID0gcGFyYW1zLmxpbWl0O1xuICAgIH1cbiAgICBpZiAocGFyYW1zLmN1cnNvciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBxdWVyeS5wcmV2SWQgPSBwYXJhbXMuY3Vyc29yO1xuICAgIH1cbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuYml0Z28uZ2V0KHRoaXMudXJsKCkpLnF1ZXJ5KHF1ZXJ5KS5yZXN1bHQoKTtcbiAgICBjb25zdCB7IHNhZmVzLCBuZXh0QmF0Y2hQcmV2SWQgfSA9IGRlY29kZVdpdGhDb2RlYyhMaXN0U2FmZXNSZXNwb25zZSwgcmVzcG9uc2UsICdMaXN0U2FmZXNSZXNwb25zZScpO1xuICAgIHJldHVybiB7XG4gICAgICBzYWZlczogc2FmZXMubWFwKChzYWZlRGF0YSkgPT4gbmV3IFNhZmUodGhpcy5iaXRnbywgc2FmZURhdGEpKSxcbiAgICAgIG5leHRDdXJzb3I6IG5leHRCYXRjaFByZXZJZCxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEZldGNoIGEgc2luZ2xlIHNhZmUgYnkgaWQuIE5vbi1tZW1iZXJzIGdldCBhIDQwNCAoZXhpc3RlbmNlIGlzIG5vdCBsZWFrZWQpLlxuICAgKiBHRVQgL2FwaS92Mi9lbnRlcnByaXNlLzplSWQvc2FmZXMvOnNhZmVJZFxuICAgKiBAZXhwZXJpbWVudGFsXG4gICAqL1xuICBhc3luYyBnZXQocGFyYW1zOiBHZXRTYWZlT3B0aW9ucyk6IFByb21pc2U8U2FmZT4ge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5iaXRnby5nZXQodGhpcy51cmwoYC8ke3BhcmFtcy5pZH1gKSkucmVzdWx0KCk7XG4gICAgY29uc3Qgc2FmZURhdGEgPSBkZWNvZGVXaXRoQ29kZWMoU2FmZURhdGEsIHJlc3BvbnNlLCAnU2FmZURhdGEnKTtcbiAgICByZXR1cm4gbmV3IFNhZmUodGhpcy5iaXRnbywgc2FmZURhdGEpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,170 @@
1
+ import type { BitGoRequest, DecryptOptions, EncryptionVersion, EncryptOptions } from '../api';
2
+ /**
3
+ * Minimal BitGo client surface used by the **v1** Wallets facade
4
+ * (`modules/sdk-api/src/v1/wallets.ts`).
5
+ *
6
+ * Intentionally **not** {@link BitGoBase}: importing `BitGoBase` here would
7
+ * create a circular module dependency with `bitgoBase.ts`.
8
+ * Import graph: `bitgoBase → v1Wallets → api` (acyclic).
9
+ *
10
+ * @see BitGoApiV1Wallets for the collection returned by `bitgo.wallets()`
11
+ * @see IWallets for the **v2** coin wallets API (`bitgo.coin(name).wallets()`)
12
+ */
13
+ export type BitGoApiV1BitGo = {
14
+ get(url: string): BitGoRequest;
15
+ post(url: string): BitGoRequest;
16
+ del(url: string): BitGoRequest;
17
+ url(path: string, version?: number): string;
18
+ encrypt(params: EncryptOptions): Promise<string>;
19
+ decrypt(params: DecryptOptions): Promise<string>;
20
+ getECDHKeychain(): Promise<{
21
+ encryptedXprv?: string;
22
+ xprv?: string;
23
+ }>;
24
+ keychains(): BitGoApiV1Keychains;
25
+ };
26
+ /**
27
+ * v1 keychains surface used by `createWalletWithKeychains` on
28
+ * {@link BitGoApiV1Wallets}. Distinct from the v2 `IKeychains` API.
29
+ */
30
+ export type BitGoApiV1Keychains = {
31
+ create(): {
32
+ xpub: string;
33
+ xprv?: string;
34
+ encryptedXprv?: string;
35
+ };
36
+ add(keychainData: Record<string, unknown>): Promise<unknown>;
37
+ createBackup(params: {
38
+ provider: string;
39
+ disableKRSEmail?: boolean;
40
+ }): Promise<{
41
+ xpub: string;
42
+ }>;
43
+ createBitGo(): Promise<{
44
+ xpub: string;
45
+ }>;
46
+ };
47
+ /** Legacy Node-style callback used by v1 wallet APIs. */
48
+ export type BitGoApiV1Callback<T = unknown> = (err?: Error | null, result?: T) => void;
49
+ /**
50
+ * Structural hints for a CommonJS v1 Wallet instance
51
+ * (`modules/sdk-api/src/v1/wallet.ts`) when used as a **parameter**.
52
+ *
53
+ * Not the v2 {@link IWallet} / {@link Wallet} class.
54
+ *
55
+ * Methods that **return** a v1 wallet (`get` / `getWallet` / `add`) still use
56
+ * `Promise<any>`: a stub return type with an index signature broke consumers
57
+ * (e.g. `abstract-utxo` recovery expects `.recover` / `.sweep` and a local
58
+ * `WalletV1` shape). Full typing of `v1/wallet.ts` is a follow-up.
59
+ */
60
+ export type BitGoApiV1Wallet = {
61
+ id?: string;
62
+ createAddress?: (params?: Record<string, unknown>) => Promise<unknown>;
63
+ };
64
+ /** Params for {@link BitGoApiV1Wallets.list}. */
65
+ export type BitGoApiV1ListWalletsParams = {
66
+ skip?: number;
67
+ prevId?: string;
68
+ limit?: number;
69
+ getbalances?: boolean;
70
+ };
71
+ /** Params for {@link BitGoApiV1Wallets.get} / {@link BitGoApiV1Wallets.getWallet}. */
72
+ export type BitGoApiV1GetWalletParams = {
73
+ id: string;
74
+ gpk?: boolean | number;
75
+ };
76
+ /** Params for {@link BitGoApiV1Wallets.cancelInvite}. */
77
+ export type BitGoApiV1WalletInviteParams = {
78
+ walletInviteId: string;
79
+ };
80
+ /** Params for v1 wallet-share methods on {@link BitGoApiV1Wallets}. */
81
+ export type BitGoApiV1WalletShareParams = {
82
+ walletShareId: string;
83
+ state?: string;
84
+ encryptedXprv?: string;
85
+ userPassword?: string;
86
+ newWalletPassphrase?: string;
87
+ overrideEncryptedXprv?: string;
88
+ encryptionVersion?: EncryptionVersion;
89
+ };
90
+ /** Params for {@link BitGoApiV1Wallets.createWalletWithKeychains}. */
91
+ export type BitGoApiV1CreateWalletWithKeychainsParams = {
92
+ passphrase: string;
93
+ label?: string;
94
+ backupXpub?: string;
95
+ backupXpubProvider?: string;
96
+ enterprise?: string;
97
+ passcodeEncryptionCode?: string;
98
+ disableTransactionNotifications?: boolean;
99
+ disableKRSEmail?: boolean;
100
+ encryptionVersion?: EncryptionVersion;
101
+ };
102
+ /** Params for {@link BitGoApiV1Wallets.createForwardWallet}. */
103
+ export type BitGoApiV1CreateForwardWalletParams = {
104
+ privKey: string;
105
+ sourceAddress: string;
106
+ destinationWallet: BitGoApiV1Wallet;
107
+ label?: string;
108
+ enterprise?: string;
109
+ };
110
+ /** Params for {@link BitGoApiV1Wallets.add}. */
111
+ export type BitGoApiV1AddWalletParams = {
112
+ label?: string;
113
+ m: number;
114
+ n: number;
115
+ keychains: {
116
+ xpub: string;
117
+ }[];
118
+ enterprise?: string;
119
+ disableTransactionNotifications?: boolean;
120
+ };
121
+ /** Params for {@link BitGoApiV1Wallets.remove}. */
122
+ export type BitGoApiV1RemoveWalletParams = {
123
+ id: string;
124
+ };
125
+ /**
126
+ * **Deprecated v1** wallet collection facade returned by
127
+ * {@link BitGoBase.wallets} / `BitGoAPI.wallets()`.
128
+ *
129
+ * Source of truth: `modules/sdk-api/src/v1/wallets.ts` (CommonJS prototype).
130
+ *
131
+ * | Accessor | Type | API |
132
+ * | --- | --- | --- |
133
+ * | `bitgo.wallets()` | {@link BitGoApiV1Wallets} | **v1** (this type) |
134
+ * | `bitgo.coin(name).wallets()` | {@link IWallets} | **v2** (not this type) |
135
+ *
136
+ * Replaces the previous `wallets(): any` on {@link BitGoBase}.
137
+ *
138
+ * @deprecated Prefer `bitgo.coin(coinName).wallets()` ({@link IWallets}).
139
+ */
140
+ export type BitGoApiV1Wallets = {
141
+ /** Owning BitGo client (v1 surface only; see {@link BitGoApiV1BitGo}). */
142
+ bitgo: BitGoApiV1BitGo;
143
+ list(params?: BitGoApiV1ListWalletsParams, callback?: BitGoApiV1Callback): Promise<unknown>;
144
+ /**
145
+ * Returns a CommonJS v1 Wallet instance.
146
+ * Typed as `any` until `sdk-api/src/v1/wallet.ts` is fully typed (call sites
147
+ * use `.recover` / `.sweep` / local `WalletV1` shapes).
148
+ */
149
+ getWallet(params: BitGoApiV1GetWalletParams, callback?: BitGoApiV1Callback): Promise<any>;
150
+ /** Shorthand for {@link BitGoApiV1Wallets.getWallet}. */
151
+ get(params: BitGoApiV1GetWalletParams, callback?: BitGoApiV1Callback): Promise<any>;
152
+ listInvites(params?: Record<string, unknown>, callback?: BitGoApiV1Callback): Promise<unknown>;
153
+ cancelInvite(params: BitGoApiV1WalletInviteParams, callback?: BitGoApiV1Callback): Promise<unknown>;
154
+ listShares(params?: Record<string, unknown>, callback?: BitGoApiV1Callback): Promise<unknown>;
155
+ resendShareInvite(params: BitGoApiV1WalletShareParams, callback?: BitGoApiV1Callback): Promise<unknown>;
156
+ getShare(params: BitGoApiV1WalletShareParams, callback?: BitGoApiV1Callback): Promise<unknown>;
157
+ updateShare(params: BitGoApiV1WalletShareParams, callback?: BitGoApiV1Callback): Promise<unknown>;
158
+ cancelShare(params: BitGoApiV1WalletShareParams, callback?: BitGoApiV1Callback): Promise<unknown>;
159
+ acceptShare(params: BitGoApiV1WalletShareParams, callback?: BitGoApiV1Callback): Promise<unknown>;
160
+ createKey(params?: Record<string, unknown>): {
161
+ address: string;
162
+ key: string;
163
+ };
164
+ createWalletWithKeychains(params: BitGoApiV1CreateWalletWithKeychainsParams, callback?: BitGoApiV1Callback): Promise<unknown>;
165
+ createForwardWallet(params: BitGoApiV1CreateForwardWalletParams, callback?: BitGoApiV1Callback): Promise<unknown>;
166
+ /** Returns a CommonJS v1 Wallet instance (`any` — see {@link BitGoApiV1Wallets.getWallet}). */
167
+ add(params: BitGoApiV1AddWalletParams, callback?: BitGoApiV1Callback): Promise<any>;
168
+ remove(params: BitGoApiV1RemoveWalletParams, callback?: BitGoApiV1Callback): Promise<unknown>;
169
+ };
170
+ //# sourceMappingURL=v1Wallets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v1Wallets.d.ts","sourceRoot":"","sources":["../../../src/bitgo/v1Wallets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjFXYWxsZXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JpdGdvL3YxV2FsbGV0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCaXRHb1JlcXVlc3QsIERlY3J5cHRPcHRpb25zLCBFbmNyeXB0aW9uVmVyc2lvbiwgRW5jcnlwdE9wdGlvbnMgfSBmcm9tICcuLi9hcGknO1xuXG4vKipcbiAqIE1pbmltYWwgQml0R28gY2xpZW50IHN1cmZhY2UgdXNlZCBieSB0aGUgKip2MSoqIFdhbGxldHMgZmFjYWRlXG4gKiAoYG1vZHVsZXMvc2RrLWFwaS9zcmMvdjEvd2FsbGV0cy50c2ApLlxuICpcbiAqIEludGVudGlvbmFsbHkgKipub3QqKiB7QGxpbmsgQml0R29CYXNlfTogaW1wb3J0aW5nIGBCaXRHb0Jhc2VgIGhlcmUgd291bGRcbiAqIGNyZWF0ZSBhIGNpcmN1bGFyIG1vZHVsZSBkZXBlbmRlbmN5IHdpdGggYGJpdGdvQmFzZS50c2AuXG4gKiBJbXBvcnQgZ3JhcGg6IGBiaXRnb0Jhc2Ug4oaSIHYxV2FsbGV0cyDihpIgYXBpYCAoYWN5Y2xpYykuXG4gKlxuICogQHNlZSBCaXRHb0FwaVYxV2FsbGV0cyBmb3IgdGhlIGNvbGxlY3Rpb24gcmV0dXJuZWQgYnkgYGJpdGdvLndhbGxldHMoKWBcbiAqIEBzZWUgSVdhbGxldHMgZm9yIHRoZSAqKnYyKiogY29pbiB3YWxsZXRzIEFQSSAoYGJpdGdvLmNvaW4obmFtZSkud2FsbGV0cygpYClcbiAqL1xuZXhwb3J0IHR5cGUgQml0R29BcGlWMUJpdEdvID0ge1xuICBnZXQodXJsOiBzdHJpbmcpOiBCaXRHb1JlcXVlc3Q7XG4gIHBvc3QodXJsOiBzdHJpbmcpOiBCaXRHb1JlcXVlc3Q7XG4gIGRlbCh1cmw6IHN0cmluZyk6IEJpdEdvUmVxdWVzdDtcbiAgdXJsKHBhdGg6IHN0cmluZywgdmVyc2lvbj86IG51bWJlcik6IHN0cmluZztcbiAgZW5jcnlwdChwYXJhbXM6IEVuY3J5cHRPcHRpb25zKTogUHJvbWlzZTxzdHJpbmc+O1xuICBkZWNyeXB0KHBhcmFtczogRGVjcnlwdE9wdGlvbnMpOiBQcm9taXNlPHN0cmluZz47XG4gIGdldEVDREhLZXljaGFpbigpOiBQcm9taXNlPHsgZW5jcnlwdGVkWHBydj86IHN0cmluZzsgeHBydj86IHN0cmluZyB9PjtcbiAga2V5Y2hhaW5zKCk6IEJpdEdvQXBpVjFLZXljaGFpbnM7XG59O1xuXG4vKipcbiAqIHYxIGtleWNoYWlucyBzdXJmYWNlIHVzZWQgYnkgYGNyZWF0ZVdhbGxldFdpdGhLZXljaGFpbnNgIG9uXG4gKiB7QGxpbmsgQml0R29BcGlWMVdhbGxldHN9LiBEaXN0aW5jdCBmcm9tIHRoZSB2MiBgSUtleWNoYWluc2AgQVBJLlxuICovXG5leHBvcnQgdHlwZSBCaXRHb0FwaVYxS2V5Y2hhaW5zID0ge1xuICBjcmVhdGUoKTogeyB4cHViOiBzdHJpbmc7IHhwcnY/OiBzdHJpbmc7IGVuY3J5cHRlZFhwcnY/OiBzdHJpbmcgfTtcbiAgYWRkKGtleWNoYWluRGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiBQcm9taXNlPHVua25vd24+O1xuICBjcmVhdGVCYWNrdXAocGFyYW1zOiB7IHByb3ZpZGVyOiBzdHJpbmc7IGRpc2FibGVLUlNFbWFpbD86IGJvb2xlYW4gfSk6IFByb21pc2U8eyB4cHViOiBzdHJpbmcgfT47XG4gIGNyZWF0ZUJpdEdvKCk6IFByb21pc2U8eyB4cHViOiBzdHJpbmcgfT47XG59O1xuXG4vKiogTGVnYWN5IE5vZGUtc3R5bGUgY2FsbGJhY2sgdXNlZCBieSB2MSB3YWxsZXQgQVBJcy4gKi9cbmV4cG9ydCB0eXBlIEJpdEdvQXBpVjFDYWxsYmFjazxUID0gdW5rbm93bj4gPSAoZXJyPzogRXJyb3IgfCBudWxsLCByZXN1bHQ/OiBUKSA9PiB2b2lkO1xuXG4vKipcbiAqIFN0cnVjdHVyYWwgaGludHMgZm9yIGEgQ29tbW9uSlMgdjEgV2FsbGV0IGluc3RhbmNlXG4gKiAoYG1vZHVsZXMvc2RrLWFwaS9zcmMvdjEvd2FsbGV0LnRzYCkgd2hlbiB1c2VkIGFzIGEgKipwYXJhbWV0ZXIqKi5cbiAqXG4gKiBOb3QgdGhlIHYyIHtAbGluayBJV2FsbGV0fSAvIHtAbGluayBXYWxsZXR9IGNsYXNzLlxuICpcbiAqIE1ldGhvZHMgdGhhdCAqKnJldHVybioqIGEgdjEgd2FsbGV0IChgZ2V0YCAvIGBnZXRXYWxsZXRgIC8gYGFkZGApIHN0aWxsIHVzZVxuICogYFByb21pc2U8YW55PmA6IGEgc3R1YiByZXR1cm4gdHlwZSB3aXRoIGFuIGluZGV4IHNpZ25hdHVyZSBicm9rZSBjb25zdW1lcnNcbiAqIChlLmcuIGBhYnN0cmFjdC11dHhvYCByZWNvdmVyeSBleHBlY3RzIGAucmVjb3ZlcmAgLyBgLnN3ZWVwYCBhbmQgYSBsb2NhbFxuICogYFdhbGxldFYxYCBzaGFwZSkuIEZ1bGwgdHlwaW5nIG9mIGB2MS93YWxsZXQudHNgIGlzIGEgZm9sbG93LXVwLlxuICovXG5leHBvcnQgdHlwZSBCaXRHb0FwaVYxV2FsbGV0ID0ge1xuICBpZD86IHN0cmluZztcbiAgY3JlYXRlQWRkcmVzcz86IChwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikgPT4gUHJvbWlzZTx1bmtub3duPjtcbn07XG5cbi8qKiBQYXJhbXMgZm9yIHtAbGluayBCaXRHb0FwaVYxV2FsbGV0cy5saXN0fS4gKi9cbmV4cG9ydCB0eXBlIEJpdEdvQXBpVjFMaXN0V2FsbGV0c1BhcmFtcyA9IHtcbiAgc2tpcD86IG51bWJlcjtcbiAgcHJldklkPzogc3RyaW5nO1xuICBsaW1pdD86IG51bWJlcjtcbiAgZ2V0YmFsYW5jZXM/OiBib29sZWFuO1xufTtcblxuLyoqIFBhcmFtcyBmb3Ige0BsaW5rIEJpdEdvQXBpVjFXYWxsZXRzLmdldH0gLyB7QGxpbmsgQml0R29BcGlWMVdhbGxldHMuZ2V0V2FsbGV0fS4gKi9cbmV4cG9ydCB0eXBlIEJpdEdvQXBpVjFHZXRXYWxsZXRQYXJhbXMgPSB7XG4gIGlkOiBzdHJpbmc7XG4gIGdwaz86IGJvb2xlYW4gfCBudW1iZXI7XG59O1xuXG4vKiogUGFyYW1zIGZvciB7QGxpbmsgQml0R29BcGlWMVdhbGxldHMuY2FuY2VsSW52aXRlfS4gKi9cbmV4cG9ydCB0eXBlIEJpdEdvQXBpVjFXYWxsZXRJbnZpdGVQYXJhbXMgPSB7XG4gIHdhbGxldEludml0ZUlkOiBzdHJpbmc7XG59O1xuXG4vKiogUGFyYW1zIGZvciB2MSB3YWxsZXQtc2hhcmUgbWV0aG9kcyBvbiB7QGxpbmsgQml0R29BcGlWMVdhbGxldHN9LiAqL1xuZXhwb3J0IHR5cGUgQml0R29BcGlWMVdhbGxldFNoYXJlUGFyYW1zID0ge1xuICB3YWxsZXRTaGFyZUlkOiBzdHJpbmc7XG4gIHN0YXRlPzogc3RyaW5nO1xuICBlbmNyeXB0ZWRYcHJ2Pzogc3RyaW5nO1xuICB1c2VyUGFzc3dvcmQ/OiBzdHJpbmc7XG4gIG5ld1dhbGxldFBhc3NwaHJhc2U/OiBzdHJpbmc7XG4gIG92ZXJyaWRlRW5jcnlwdGVkWHBydj86IHN0cmluZztcbiAgZW5jcnlwdGlvblZlcnNpb24/OiBFbmNyeXB0aW9uVmVyc2lvbjtcbn07XG5cbi8qKiBQYXJhbXMgZm9yIHtAbGluayBCaXRHb0FwaVYxV2FsbGV0cy5jcmVhdGVXYWxsZXRXaXRoS2V5Y2hhaW5zfS4gKi9cbmV4cG9ydCB0eXBlIEJpdEdvQXBpVjFDcmVhdGVXYWxsZXRXaXRoS2V5Y2hhaW5zUGFyYW1zID0ge1xuICBwYXNzcGhyYXNlOiBzdHJpbmc7XG4gIGxhYmVsPzogc3RyaW5nO1xuICBiYWNrdXBYcHViPzogc3RyaW5nO1xuICBiYWNrdXBYcHViUHJvdmlkZXI/OiBzdHJpbmc7XG4gIGVudGVycHJpc2U/OiBzdHJpbmc7XG4gIHBhc3Njb2RlRW5jcnlwdGlvbkNvZGU/OiBzdHJpbmc7XG4gIGRpc2FibGVUcmFuc2FjdGlvbk5vdGlmaWNhdGlvbnM/OiBib29sZWFuO1xuICBkaXNhYmxlS1JTRW1haWw/OiBib29sZWFuO1xuICBlbmNyeXB0aW9uVmVyc2lvbj86IEVuY3J5cHRpb25WZXJzaW9uO1xufTtcblxuLyoqIFBhcmFtcyBmb3Ige0BsaW5rIEJpdEdvQXBpVjFXYWxsZXRzLmNyZWF0ZUZvcndhcmRXYWxsZXR9LiAqL1xuZXhwb3J0IHR5cGUgQml0R29BcGlWMUNyZWF0ZUZvcndhcmRXYWxsZXRQYXJhbXMgPSB7XG4gIHByaXZLZXk6IHN0cmluZztcbiAgc291cmNlQWRkcmVzczogc3RyaW5nO1xuICBkZXN0aW5hdGlvbldhbGxldDogQml0R29BcGlWMVdhbGxldDtcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIGVudGVycHJpc2U/OiBzdHJpbmc7XG59O1xuXG4vKiogUGFyYW1zIGZvciB7QGxpbmsgQml0R29BcGlWMVdhbGxldHMuYWRkfS4gKi9cbmV4cG9ydCB0eXBlIEJpdEdvQXBpVjFBZGRXYWxsZXRQYXJhbXMgPSB7XG4gIGxhYmVsPzogc3RyaW5nO1xuICBtOiBudW1iZXI7XG4gIG46IG51bWJlcjtcbiAga2V5Y2hhaW5zOiB7IHhwdWI6IHN0cmluZyB9W107XG4gIGVudGVycHJpc2U/OiBzdHJpbmc7XG4gIGRpc2FibGVUcmFuc2FjdGlvbk5vdGlmaWNhdGlvbnM/OiBib29sZWFuO1xufTtcblxuLyoqIFBhcmFtcyBmb3Ige0BsaW5rIEJpdEdvQXBpVjFXYWxsZXRzLnJlbW92ZX0uICovXG5leHBvcnQgdHlwZSBCaXRHb0FwaVYxUmVtb3ZlV2FsbGV0UGFyYW1zID0ge1xuICBpZDogc3RyaW5nO1xufTtcblxuLyoqXG4gKiAqKkRlcHJlY2F0ZWQgdjEqKiB3YWxsZXQgY29sbGVjdGlvbiBmYWNhZGUgcmV0dXJuZWQgYnlcbiAqIHtAbGluayBCaXRHb0Jhc2Uud2FsbGV0c30gLyBgQml0R29BUEkud2FsbGV0cygpYC5cbiAqXG4gKiBTb3VyY2Ugb2YgdHJ1dGg6IGBtb2R1bGVzL3Nkay1hcGkvc3JjL3YxL3dhbGxldHMudHNgIChDb21tb25KUyBwcm90b3R5cGUpLlxuICpcbiAqIHwgQWNjZXNzb3IgfCBUeXBlIHwgQVBJIHxcbiAqIHwgLS0tIHwgLS0tIHwgLS0tIHxcbiAqIHwgYGJpdGdvLndhbGxldHMoKWAgfCB7QGxpbmsgQml0R29BcGlWMVdhbGxldHN9IHwgKip2MSoqICh0aGlzIHR5cGUpIHxcbiAqIHwgYGJpdGdvLmNvaW4obmFtZSkud2FsbGV0cygpYCB8IHtAbGluayBJV2FsbGV0c30gfCAqKnYyKiogKG5vdCB0aGlzIHR5cGUpIHxcbiAqXG4gKiBSZXBsYWNlcyB0aGUgcHJldmlvdXMgYHdhbGxldHMoKTogYW55YCBvbiB7QGxpbmsgQml0R29CYXNlfS5cbiAqXG4gKiBAZGVwcmVjYXRlZCBQcmVmZXIgYGJpdGdvLmNvaW4oY29pbk5hbWUpLndhbGxldHMoKWAgKHtAbGluayBJV2FsbGV0c30pLlxuICovXG5leHBvcnQgdHlwZSBCaXRHb0FwaVYxV2FsbGV0cyA9IHtcbiAgLyoqIE93bmluZyBCaXRHbyBjbGllbnQgKHYxIHN1cmZhY2Ugb25seTsgc2VlIHtAbGluayBCaXRHb0FwaVYxQml0R299KS4gKi9cbiAgYml0Z286IEJpdEdvQXBpVjFCaXRHbztcbiAgbGlzdChwYXJhbXM/OiBCaXRHb0FwaVYxTGlzdFdhbGxldHNQYXJhbXMsIGNhbGxiYWNrPzogQml0R29BcGlWMUNhbGxiYWNrKTogUHJvbWlzZTx1bmtub3duPjtcbiAgLyoqXG4gICAqIFJldHVybnMgYSBDb21tb25KUyB2MSBXYWxsZXQgaW5zdGFuY2UuXG4gICAqIFR5cGVkIGFzIGBhbnlgIHVudGlsIGBzZGstYXBpL3NyYy92MS93YWxsZXQudHNgIGlzIGZ1bGx5IHR5cGVkIChjYWxsIHNpdGVzXG4gICAqIHVzZSBgLnJlY292ZXJgIC8gYC5zd2VlcGAgLyBsb2NhbCBgV2FsbGV0VjFgIHNoYXBlcykuXG4gICAqL1xuICBnZXRXYWxsZXQocGFyYW1zOiBCaXRHb0FwaVYxR2V0V2FsbGV0UGFyYW1zLCBjYWxsYmFjaz86IEJpdEdvQXBpVjFDYWxsYmFjayk6IFByb21pc2U8YW55PjtcbiAgLyoqIFNob3J0aGFuZCBmb3Ige0BsaW5rIEJpdEdvQXBpVjFXYWxsZXRzLmdldFdhbGxldH0uICovXG4gIGdldChwYXJhbXM6IEJpdEdvQXBpVjFHZXRXYWxsZXRQYXJhbXMsIGNhbGxiYWNrPzogQml0R29BcGlWMUNhbGxiYWNrKTogUHJvbWlzZTxhbnk+O1xuICBsaXN0SW52aXRlcyhwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiwgY2FsbGJhY2s/OiBCaXRHb0FwaVYxQ2FsbGJhY2spOiBQcm9taXNlPHVua25vd24+O1xuICBjYW5jZWxJbnZpdGUocGFyYW1zOiBCaXRHb0FwaVYxV2FsbGV0SW52aXRlUGFyYW1zLCBjYWxsYmFjaz86IEJpdEdvQXBpVjFDYWxsYmFjayk6IFByb21pc2U8dW5rbm93bj47XG4gIGxpc3RTaGFyZXMocGFyYW1zPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sIGNhbGxiYWNrPzogQml0R29BcGlWMUNhbGxiYWNrKTogUHJvbWlzZTx1bmtub3duPjtcbiAgcmVzZW5kU2hhcmVJbnZpdGUocGFyYW1zOiBCaXRHb0FwaVYxV2FsbGV0U2hhcmVQYXJhbXMsIGNhbGxiYWNrPzogQml0R29BcGlWMUNhbGxiYWNrKTogUHJvbWlzZTx1bmtub3duPjtcbiAgZ2V0U2hhcmUocGFyYW1zOiBCaXRHb0FwaVYxV2FsbGV0U2hhcmVQYXJhbXMsIGNhbGxiYWNrPzogQml0R29BcGlWMUNhbGxiYWNrKTogUHJvbWlzZTx1bmtub3duPjtcbiAgdXBkYXRlU2hhcmUocGFyYW1zOiBCaXRHb0FwaVYxV2FsbGV0U2hhcmVQYXJhbXMsIGNhbGxiYWNrPzogQml0R29BcGlWMUNhbGxiYWNrKTogUHJvbWlzZTx1bmtub3duPjtcbiAgY2FuY2VsU2hhcmUocGFyYW1zOiBCaXRHb0FwaVYxV2FsbGV0U2hhcmVQYXJhbXMsIGNhbGxiYWNrPzogQml0R29BcGlWMUNhbGxiYWNrKTogUHJvbWlzZTx1bmtub3duPjtcbiAgYWNjZXB0U2hhcmUocGFyYW1zOiBCaXRHb0FwaVYxV2FsbGV0U2hhcmVQYXJhbXMsIGNhbGxiYWNrPzogQml0R29BcGlWMUNhbGxiYWNrKTogUHJvbWlzZTx1bmtub3duPjtcbiAgY3JlYXRlS2V5KHBhcmFtcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogeyBhZGRyZXNzOiBzdHJpbmc7IGtleTogc3RyaW5nIH07XG4gIGNyZWF0ZVdhbGxldFdpdGhLZXljaGFpbnMoXG4gICAgcGFyYW1zOiBCaXRHb0FwaVYxQ3JlYXRlV2FsbGV0V2l0aEtleWNoYWluc1BhcmFtcyxcbiAgICBjYWxsYmFjaz86IEJpdEdvQXBpVjFDYWxsYmFja1xuICApOiBQcm9taXNlPHVua25vd24+O1xuICBjcmVhdGVGb3J3YXJkV2FsbGV0KHBhcmFtczogQml0R29BcGlWMUNyZWF0ZUZvcndhcmRXYWxsZXRQYXJhbXMsIGNhbGxiYWNrPzogQml0R29BcGlWMUNhbGxiYWNrKTogUHJvbWlzZTx1bmtub3duPjtcbiAgLyoqIFJldHVybnMgYSBDb21tb25KUyB2MSBXYWxsZXQgaW5zdGFuY2UgKGBhbnlgIOKAlCBzZWUge0BsaW5rIEJpdEdvQXBpVjFXYWxsZXRzLmdldFdhbGxldH0pLiAqL1xuICBhZGQocGFyYW1zOiBCaXRHb0FwaVYxQWRkV2FsbGV0UGFyYW1zLCBjYWxsYmFjaz86IEJpdEdvQXBpVjFDYWxsYmFjayk6IFByb21pc2U8YW55PjtcbiAgcmVtb3ZlKHBhcmFtczogQml0R29BcGlWMVJlbW92ZVdhbGxldFBhcmFtcywgY2FsbGJhY2s/OiBCaXRHb0FwaVYxQ2FsbGJhY2spOiBQcm9taXNlPHVua25vd24+O1xufTtcbiJdfQ==