@bitgo/sdk-core 37.4.1 → 37.6.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.
Files changed (87) hide show
  1. package/dist/src/account-lib/baseCoin/enum.d.ts +2 -1
  2. package/dist/src/account-lib/baseCoin/enum.d.ts.map +1 -1
  3. package/dist/src/account-lib/baseCoin/enum.js +3 -1
  4. package/dist/src/api/types.d.ts +1 -0
  5. package/dist/src/api/types.d.ts.map +1 -1
  6. package/dist/src/api/types.js +1 -1
  7. package/dist/src/bitgo/baseCoin/baseCoin.d.ts +2 -0
  8. package/dist/src/bitgo/baseCoin/baseCoin.d.ts.map +1 -1
  9. package/dist/src/bitgo/baseCoin/baseCoin.js +19 -3
  10. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +1 -0
  11. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
  12. package/dist/src/bitgo/baseCoin/iBaseCoin.js +1 -1
  13. package/dist/src/bitgo/defi/defiVault.d.ts +79 -0
  14. package/dist/src/bitgo/defi/defiVault.d.ts.map +1 -0
  15. package/dist/src/bitgo/defi/defiVault.js +198 -0
  16. package/dist/src/bitgo/defi/iDefiVault.d.ts +59 -0
  17. package/dist/src/bitgo/defi/iDefiVault.d.ts.map +1 -0
  18. package/dist/src/bitgo/defi/iDefiVault.js +6 -0
  19. package/dist/src/bitgo/defi/index.d.ts +3 -0
  20. package/dist/src/bitgo/defi/index.d.ts.map +1 -0
  21. package/dist/src/bitgo/defi/index.js +22 -0
  22. package/dist/src/bitgo/index.d.ts +1 -0
  23. package/dist/src/bitgo/index.d.ts.map +1 -1
  24. package/dist/src/bitgo/index.js +2 -1
  25. package/dist/src/bitgo/internal/keycard.d.ts +2 -1
  26. package/dist/src/bitgo/internal/keycard.d.ts.map +1 -1
  27. package/dist/src/bitgo/internal/keycard.js +6 -3
  28. package/dist/src/bitgo/keychain/iKeychains.d.ts +2 -1
  29. package/dist/src/bitgo/keychain/iKeychains.d.ts.map +1 -1
  30. package/dist/src/bitgo/keychain/iKeychains.js +1 -1
  31. package/dist/src/bitgo/keychain/keychains.d.ts +2 -1
  32. package/dist/src/bitgo/keychain/keychains.d.ts.map +1 -1
  33. package/dist/src/bitgo/keychain/keychains.js +9 -4
  34. package/dist/src/bitgo/trading/tradingAccount.js +2 -2
  35. package/dist/src/bitgo/tss/common.d.ts +2 -1
  36. package/dist/src/bitgo/tss/common.d.ts.map +1 -1
  37. package/dist/src/bitgo/tss/common.js +14 -4
  38. package/dist/src/bitgo/utils/messageTypes.d.ts +3 -1
  39. package/dist/src/bitgo/utils/messageTypes.d.ts.map +1 -1
  40. package/dist/src/bitgo/utils/messageTypes.js +3 -1
  41. package/dist/src/bitgo/utils/mpcUtils.d.ts.map +1 -1
  42. package/dist/src/bitgo/utils/mpcUtils.js +16 -1
  43. package/dist/src/bitgo/utils/tss/baseTypes.d.ts +25 -3
  44. package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
  45. package/dist/src/bitgo/utils/tss/baseTypes.js +1 -1
  46. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts +3 -0
  47. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts.map +1 -1
  48. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.js +8 -1
  49. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +1 -1
  50. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -1
  51. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +14 -8
  52. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts +2 -2
  53. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts.map +1 -1
  54. package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +14 -6
  55. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts +3 -1
  56. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.d.ts.map +1 -1
  57. package/dist/src/bitgo/utils/tss/eddsa/eddsaMPCv2.js +23 -28
  58. package/dist/src/bitgo/wallet/iWallet.d.ts +11 -2
  59. package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
  60. package/dist/src/bitgo/wallet/iWallet.js +1 -1
  61. package/dist/src/bitgo/wallet/iWallets.d.ts +3 -0
  62. package/dist/src/bitgo/wallet/iWallets.d.ts.map +1 -1
  63. package/dist/src/bitgo/wallet/iWallets.js +1 -1
  64. package/dist/src/bitgo/wallet/wallet.d.ts +9 -3
  65. package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
  66. package/dist/src/bitgo/wallet/wallet.js +47 -7
  67. package/dist/src/bitgo/wallet/wallets.d.ts +2 -1
  68. package/dist/src/bitgo/wallet/wallets.d.ts.map +1 -1
  69. package/dist/src/bitgo/wallet/wallets.js +26 -16
  70. package/dist/src/coins/ofc.d.ts +4 -0
  71. package/dist/src/coins/ofc.d.ts.map +1 -1
  72. package/dist/src/coins/ofc.js +17 -2
  73. package/dist/test/unit/bitgo/defi/defiVault.d.ts +2 -0
  74. package/dist/test/unit/bitgo/defi/defiVault.d.ts.map +1 -0
  75. package/dist/test/unit/bitgo/defi/defiVault.js +292 -0
  76. package/dist/test/unit/bitgo/trading/tradingAccount.js +6 -6
  77. package/dist/test/unit/bitgo/utils/tss/baseTSSUtils.js +14 -6
  78. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaEncryptionVersion.d.ts +2 -0
  79. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaEncryptionVersion.d.ts.map +1 -0
  80. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaEncryptionVersion.js +94 -0
  81. package/dist/test/unit/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +50 -1
  82. package/dist/test/unit/bitgo/utils/tss/eddsa/eddsaMPCv2.js +77 -21
  83. package/dist/test/unit/bitgo/wallet/walletsEncryptionVersion.d.ts +2 -0
  84. package/dist/test/unit/bitgo/wallet/walletsEncryptionVersion.d.ts.map +1 -0
  85. package/dist/test/unit/bitgo/wallet/walletsEncryptionVersion.js +228 -0
  86. package/dist/tsconfig.tsbuildinfo +1 -1
  87. package/package.json +3 -3
@@ -18,4 +18,4 @@ var SignTypedDataVersion;
18
18
  SignTypedDataVersion["V3"] = "V3";
19
19
  SignTypedDataVersion["V4"] = "V4";
20
20
  })(SignTypedDataVersion || (exports.SignTypedDataVersion = SignTypedDataVersion = {}));
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaUJhc2VDb2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL2Jhc2VDb2luL2lCYXNlQ29pbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUF5TUEsOERBU0M7QUEvTFksUUFBQSxhQUFhLEdBQUc7SUFDM0IsT0FBTyxFQUFFLFNBQVM7SUFDbEIsR0FBRyxFQUFFLEtBQUs7Q0FDRixDQUFDO0FBbUxYLFNBQWdCLHlCQUF5QixDQUN2QyxNQUFTO0lBRVQsT0FBTyxDQUFDLENBQUMsQ0FDUCxXQUFXLElBQUksTUFBTTtRQUNyQixPQUFPLElBQUksTUFBTTtRQUNqQixTQUFTLElBQUksTUFBTTtRQUNuQixNQUFNLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQzlFLENBQUM7QUFDSixDQUFDO0FBbUxELElBQVksb0JBSVg7QUFKRCxXQUFZLG9CQUFvQjtJQUM5QixpQ0FBUyxDQUFBO0lBQ1QsaUNBQVMsQ0FBQTtJQUNULGlDQUFTLENBQUE7QUFDWCxDQUFDLEVBSlcsb0JBQW9CLG9DQUFwQixvQkFBb0IsUUFJL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlVG9rZW5Db25maWcsIEJhc2VDb2luIGFzIFN0YXRpY3NCYXNlQ29pbiB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCB7IElSZXF1ZXN0VHJhY2VyIH0gZnJvbSAnLi4vLi4vYXBpJztcbmltcG9ydCB7IElFbnRlcnByaXNlcyB9IGZyb20gJy4uL2VudGVycHJpc2UnO1xuaW1wb3J0IHsgSUtleWNoYWlucywgS2V5Y2hhaW4gfSBmcm9tICcuLi9rZXljaGFpbic7XG5pbXBvcnQgeyBJTWFya2V0cyB9IGZyb20gJy4uL21hcmtldCc7XG5pbXBvcnQgeyBJUGVuZGluZ0FwcHJvdmFscyB9IGZyb20gJy4uL3BlbmRpbmdBcHByb3ZhbCc7XG5pbXBvcnQgeyBJbml0aWF0ZVJlY292ZXJ5T3B0aW9ucyB9IGZyb20gJy4uL3JlY292ZXJ5JztcbmltcG9ydCB7IEVjZHNhTVBDdjJVdGlscywgRWNkc2FVdGlscyB9IGZyb20gJy4uL3V0aWxzL3Rzcy9lY2RzYSc7XG5pbXBvcnQgRWRkc2FVdGlscywgeyBFZGRzYU1QQ3YyVXRpbHMsIFByZWJ1aWxkVHJhbnNhY3Rpb25XaXRoSW50ZW50T3B0aW9ucywgVHhSZXF1ZXN0IH0gZnJvbSAnLi4vdXRpbHMvdHNzL2VkZHNhJztcbmltcG9ydCB7IENyZWF0ZUFkZHJlc3NGb3JtYXQsIEN1c3RvbVNpZ25pbmdGdW5jdGlvbiwgSVdhbGxldCwgSVdhbGxldHMsIE1lbW8sIFdhbGxldCwgV2FsbGV0RGF0YSB9IGZyb20gJy4uL3dhbGxldCc7XG5cbmltcG9ydCB7IFRva2VuRW5hYmxlbWVudCB9IGZyb20gJ0BiaXRnby9wdWJsaWMtdHlwZXMnO1xuaW1wb3J0IHsgSGFzaCB9IGZyb20gJ2NyeXB0byc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICcuLi8uLi9hY2NvdW50LWxpYic7XG5pbXBvcnQgeyBJSW5zY3JpcHRpb25CdWlsZGVyIH0gZnJvbSAnLi4vaW5zY3JpcHRpb25CdWlsZGVyJztcbmltcG9ydCB7IE1lc3NhZ2VTdGFuZGFyZFR5cGUsIE1QQ1R4LCBQb3B1bGF0ZWRJbnRlbnQsIFRva2VuVHJhbnNmZXJSZWNpcGllbnRQYXJhbXMsIFRva2VuVHlwZSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IElXZWJob29rcyB9IGZyb20gJy4uL3dlYmhvb2svaVdlYmhvb2tzJztcblxuZXhwb3J0IGNvbnN0IG11bHRpc2lnVHlwZXMgPSB7XG4gIG9uY2hhaW46ICdvbmNoYWluJyxcbiAgdHNzOiAndHNzJyxcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIE11bHRpc2lnVHlwZSA9IGtleW9mIHR5cGVvZiBtdWx0aXNpZ1R5cGVzO1xuXG5leHBvcnQgaW50ZXJmYWNlIE91dHB1dCBleHRlbmRzIElUcmFuc2FjdGlvblJlY2lwaWVudCB7XG4gIGFkZHJlc3M6IHN0cmluZztcbiAgLy8gb2YgZm9ybSBjb2luOnRva2VuXG4gIGNvaW5OYW1lPzogc3RyaW5nO1xuICBpc1BheUdvPzogYm9vbGVhbjtcbiAgdmFsdWU/OiBudW1iZXI7XG4gIHdhbGxldD86IHN0cmluZzsgLy8gVHlwZXMuT2JqZWN0SWQ7XG4gIHdhbGxldFYxPzogc3RyaW5nOyAvLyBUeXBlcy5PYmplY3RJZDtcbiAgYmFzZUFkZHJlc3M/OiBzdHJpbmc7XG4gIGVudGVycHJpc2U/OiBzdHJpbmc7IC8vIFR5cGVzLk9iamVjdElkO1xuICB2YWx1ZVN0cmluZzogc3RyaW5nO1xuICBkYXRhPzogc3RyaW5nO1xuICAvLyBcImNoYW5nZVwiIGlzIGEgdXR4by1zcGVjaWZpYyBjb25jZXB0IGFuZCB0aGlzIHByb3BlcnR5IHNob3VsZFxuICAvLyBiZSByZW1vdmVkIG9uY2UgaXQgaXQncyB1c2FnZSBpcyByZWZhY3RvcmVkIG91dCBvZiBiYXNlIGNvaW4gbG9naWNcbiAgY2hhbmdlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgSW5wdXQgPSB7XG4gIGRlcml2YXRpb25JbmRleD86IG51bWJlcjtcbiAgdmFsdWU6IG51bWJlcjtcbiAgYWRkcmVzcz86IHN0cmluZztcbiAgdmFsdWVTdHJpbmc6IHN0cmluZztcbiAgLy8gdGhlIHByb3BlcnRpZXMgYmVsb3cgYXJlIHV0eG8tcmVsYXRlZCBidXQgYXJlIGN1cnJlbnRseSB1c2VkIGluIGFic3RyYWN0QmFzZUNvaW5cbiAgLy8gdGhlc2Ugc2hvdWxkIGJlIHJlbW92ZWQgb25jZSB0aGVpciB1c2FnZSBpcyByZW1vdmVkIGZyb20gdGhlIGJhc2UgY29pbiBjbGFzc1xuICBjaGFpbj86IG51bWJlcjtcbiAgaW5kZXg/OiBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSBVbnNpZ25lZFRyYW5zYWN0aW9uID0ge1xuICAvLyB1bnNpZ25lZCB0cmFuc2FjdGlvbiBpbiBicm9hZGNhc3QgZm9ybWF0XG4gIHNlcmlhbGl6ZWRUeEhleDogc3RyaW5nO1xuICAvLyBwb3J0aW9uIG9mIGEgdHJhbnNhY3Rpb24gdXNlZCB0byBnZW5lcmF0ZSBhIHNpZ25hdHVyZVxuICBzaWduYWJsZUhleDogc3RyaW5nO1xuICAvLyB0cmFuc2FjdGlvbiBmZWVzXG4gIGZlZUluZm8/OiB7XG4gICAgZmVlOiBudW1iZXIgfCBCaWdOdW1iZXI7XG4gICAgZmVlU3RyaW5nOiBzdHJpbmc7XG4gIH07XG4gIC8vIGRlcml2YXRpb24gcGF0aCBvZiB0aGUgc2lnbmVyXG4gIGRlcml2YXRpb25QYXRoOiBzdHJpbmc7XG4gIGNvaW5TcGVjaWZpYz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBlbnRyeVZhbHVlczogYW55O1xuICBwYXJzZWRUeDogVW5zaWduZWRQYXJzZWRUcmFuc2FjdGlvbjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXhwbGFuYXRpb25SZXN1bHQgZXh0ZW5kcyBJVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB7XG4gIHNlcXVlbmNlSWQ6IG51bWJlcjtcbiAgdHlwZT86IHN0cmluZztcbiAgb3V0cHV0czogT3V0cHV0W107XG4gIGJsb2NrTnVtYmVyOiBudW1iZXIgfCB1bmtub3duO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElUcmFuc2FjdGlvblJlY2lwaWVudCB7XG4gIGFkZHJlc3M6IHN0cmluZztcbiAgYW1vdW50OiBzdHJpbmcgfCBudW1iZXI7XG4gIHRva2VuTmFtZT86IHN0cmluZztcbiAgbWVtbz86IHN0cmluZztcbiAgZGF0YT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgdG9rZW4gZW5hYmxlbWVudCAoZS5nLiwgY3JlYXRpb24gb2YgYW4gYXNzb2NpYXRlZCB0b2tlbiBhY2NvdW50KVxuICovXG5leHBvcnQgaW50ZXJmYWNlIElUb2tlbkVuYWJsZW1lbnQge1xuICBhZGRyZXNzOiBzdHJpbmc7IC8vIEFzc29jaWF0ZWQgdG9rZW4gYWNjb3VudCBhZGRyZXNzXG4gIHRva2VuTmFtZTogc3RyaW5nOyAvLyBOYW1lIG9mIHRoZSB0b2tlbiBiZWluZyBlbmFibGVkXG4gIHRva2VuQWRkcmVzcz86IHN0cmluZzsgLy8gQ29udHJhY3QgYWRkcmVzcyBvZiB0aGUgdG9rZW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVHJhbnNhY3Rpb25GZWU8VEFtb3VudCA9IHN0cmluZz4ge1xuICBmZWU6IFRBbW91bnQ7XG4gIGZlZVJhdGU/OiBudW1iZXI7XG4gIHNpemU/OiBudW1iZXI7XG59XG5cbmV4cG9ydCB0eXBlIEF1ZGl0S2V5UGFyYW1zID0geyBwcnY/OiBzdHJpbmc7IGVuY3J5cHRlZFBydj86IHN0cmluZzsgd2FsbGV0UGFzc3BocmFzZT86IHN0cmluZyB9ICYgKFxuICB8IHsgcHJ2OiBzdHJpbmcgfVxuICB8IHsgZW5jcnlwdGVkUHJ2OiBzdHJpbmc7IHdhbGxldFBhc3NwaHJhc2U6IHN0cmluZyB9XG4pICZcbiAgKFxuICAgIHwge1xuICAgICAgICBtdWx0aVNpZ1R5cGU6ICd0c3MnO1xuICAgICAgICBwdWJsaWNLZXk6IHN0cmluZztcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgbXVsdGlTaWdUeXBlPzogJ29uY2hhaW4nO1xuICAgICAgICBwdWJsaWNLZXk/OiBzdHJpbmc7XG4gICAgICB9XG4gICk7XG5cbmV4cG9ydCB0eXBlIEF1ZGl0RGVjcnlwdGVkS2V5UGFyYW1zID0gT21pdDxBdWRpdEtleVBhcmFtcywgJ2VuY3J5cHRlZFBydicgfCAnd2FsbGV0UGFzc3BocmFzZSc+ICYgeyBwcnY6IHN0cmluZyB9O1xuXG5leHBvcnQgaW50ZXJmYWNlIElUcmFuc2FjdGlvbkV4cGxhbmF0aW9uPFRGZWUgPSBhbnksIFRBbW91bnQgPSBhbnk+IHtcbiAgLyoqIEBkZXByZWNhdGVkICovXG4gIGRpc3BsYXlPcmRlcj86IHN0cmluZ1tdO1xuICBpZDogc3RyaW5nO1xuICAvKiogTk9URTogRXh0ZXJuYWwgcmVjaXBpZW50cyAqL1xuICBvdXRwdXRzOiBJVHJhbnNhY3Rpb25SZWNpcGllbnRbXTtcbiAgLyoqIE5PVEU6IEV4dGVybmFsIGFtb3VudCAqL1xuICBvdXRwdXRBbW91bnQ6IFRBbW91bnQ7XG4gIGNoYW5nZU91dHB1dHM6IElUcmFuc2FjdGlvblJlY2lwaWVudFtdO1xuICBjaGFuZ2VBbW91bnQ6IFRBbW91bnQ7XG4gIGZlZTogVEZlZTtcbiAgcHJveHk/OiBzdHJpbmc7XG4gIHByb2R1Y2Vycz86IHN0cmluZ1tdO1xuICAvKiogTk9URTogVG9rZW5zIGJlaW5nIGVuYWJsZWQgZm9yIHRoZSB3YWxsZXQgKi9cbiAgdG9rZW5FbmFibGVtZW50cz86IElUb2tlbkVuYWJsZW1lbnRbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBLZXlQYWlyIHtcbiAgcHViPzogc3RyaW5nO1xuICBwcnY6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQmxzS2V5UGFpciBleHRlbmRzIEtleVBhaXIge1xuICBzZWNyZXRTaGFyZXM/OiBzdHJpbmdbXTtcbiAgY2hhaW5jb2RlOiBzdHJpbmc7XG4gIHNlZWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmVyaWZ5QWRkcmVzc09wdGlvbnMge1xuICBmb3JtYXQ/OiBDcmVhdGVBZGRyZXNzRm9ybWF0O1xuICBhZGRyZXNzOiBzdHJpbmc7XG4gIGFkZHJlc3NUeXBlPzogc3RyaW5nO1xuICBrZXljaGFpbnM/OiB7XG4gICAgcHViOiBzdHJpbmc7XG4gIH1bXTtcbiAgZXJyb3I/OiBzdHJpbmc7XG4gIGNvaW5TcGVjaWZpYz86IEFkZHJlc3NDb2luU3BlY2lmaWM7XG4gIGltcGxpZWRGb3J3YXJkZXJWZXJzaW9uPzogbnVtYmVyO1xuICAvKipcbiAgICogT3B0aW9uYWwgc2VlZCB2YWx1ZSBmcm9tIHVzZXIga2V5Y2hhaW4ncyBkZXJpdmVkRnJvbVBhcmVudFdpdGhTZWVkIGZpZWxkLlxuICAgKiBGb3IgU01DIChTZWxmLU1hbmFnZWQgQ3VzdG9kaWFsKSBUU1Mgd2FsbGV0cywgdGhpcyBpcyB1c2VkIHRvIGNvbXB1dGUgdGhlIGRlcml2YXRpb24gcHJlZml4LlxuICAgKi9cbiAgZGVyaXZlZEZyb21QYXJlbnRXaXRoU2VlZD86IHN0cmluZztcbiAgLyoqXG4gICAqIElkZW50aWZpZXMgdGhlIE1QQyBzaWduaW5nIHByb3RvY29sIHZlcnNpb24gb2YgdGhlIHdhbGxldCAoZS5nLiAnTVBDdjInKS5cbiAgICogVXNlZCB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIE1QQ3YxIGFuZCBNUEN2MiB3YWxsZXRzLlxuICAgKi9cbiAgbXVsdGlzaWdUeXBlVmVyc2lvbj86ICdNUEN2Mic7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgdmVyaWZ5aW5nIGlmIGFuIGFkZHJlc3MgYmVsb25ncyB0byBhIFRTUy9NUEMgd2FsbGV0LlxuICogVXNlZCBmb3IgRWREU0EtYmFzZWQgTVBDIGNvaW5zIChTT0wsIERPVCwgU1VJLCBUT04sIElPVEEsIE5FQVIsIGV0Yy4pXG4gKiB0byBjcnlwdG9ncmFwaGljYWxseSB2ZXJpZnkgYWRkcmVzcyBkZXJpdmF0aW9uIHdpdGhvdXQgdHJ1c3RpbmcgdGhlIHBsYXRmb3JtLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRzc1ZlcmlmeUFkZHJlc3NPcHRpb25zIHtcbiAgLyoqIFRoZSBhZGRyZXNzIHRvIHZlcmlmeSAqL1xuICBhZGRyZXNzOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBLZXljaGFpbnMgY29udGFpbmluZyB0aGUgY29tbW9uS2V5Y2hhaW4gZm9yIEhEIGRlcml2YXRpb24uXG4gICAqIEZvciBNUEMgd2FsbGV0cywgdGhlIGNvbW1vbktleWNoYWluIChjb21iaW5lZCBwdWJsaWMga2V5IGZyb20gTVBDIGtleSBnZW5lcmF0aW9uKVxuICAgKiBzaG91bGQgYmUgaWRlbnRpY2FsIGFjcm9zcyBhbGwga2V5Y2hhaW5zICh1c2VyLCBiYWNrdXAsIGJpdGdvKS5cbiAgICovXG4gIGtleWNoYWluczogUGljazxLZXljaGFpbiwgJ2NvbW1vbktleWNoYWluJz5bXTtcbiAgLyoqXG4gICAqIERlcml2YXRpb24gaW5kZXggZm9yIHRoZSBhZGRyZXNzLlxuICAgKiBVc2VkIHRvIGRlcml2ZSBjaGlsZCBhZGRyZXNzZXMgZnJvbSB0aGUgcm9vdCBrZXljaGFpbiB2aWEgSEQgZGVyaXZhdGlvbiBwYXRoOiBtL3tpbmRleH1cbiAgICogRm9yIFNNQyAoU2VsZi1NYW5hZ2VkIEN1c3RvZGlhbCkgd2FsbGV0cywgdGhlIHBhdGggaW5jbHVkZXMgYSBwcmVmaXg6IG0ve2Rlcml2YXRpb25QcmVmaXh9L3tpbmRleH1cbiAgICovXG4gIGluZGV4OiBudW1iZXIgfCBzdHJpbmc7XG4gIC8qKlxuICAgKiBPcHRpb25hbCBzZWVkIHZhbHVlIGZyb20gdXNlciBrZXljaGFpbidzIGRlcml2ZWRGcm9tUGFyZW50V2l0aFNlZWQgZmllbGQuXG4gICAqIEZvciBTTUMgKFNlbGYtTWFuYWdlZCBDdXN0b2RpYWwpIHdhbGxldHMsIHRoaXMgaXMgdXNlZCB0byBjb21wdXRlIHRoZSBkZXJpdmF0aW9uIHByZWZpeC5cbiAgICogVGhlIGRlcml2YXRpb24gcGF0aCBiZWNvbWVzIHtjb21wdXRlZFByZWZpeH0ve2luZGV4fSBpbnN0ZWFkIG9mIG0ve2luZGV4fS5cbiAgICovXG4gIGRlcml2ZWRGcm9tUGFyZW50V2l0aFNlZWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJZGVudGlmaWVzIHRoZSBNUEMgc2lnbmluZyBwcm90b2NvbCB2ZXJzaW9uIG9mIHRoZSB3YWxsZXQgKGUuZy4gJ01QQ3YyJykuXG4gICAqIFVzZWQgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiBNUEN2MSBhbmQgTVBDdjIgd2FsbGV0cy5cbiAgICovXG4gIG11bHRpc2lnVHlwZVZlcnNpb24/OiAnTVBDdjInO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNUc3NWZXJpZnlBZGRyZXNzT3B0aW9uczxUIGV4dGVuZHMgVmVyaWZ5QWRkcmVzc09wdGlvbnMgfCBUc3NWZXJpZnlBZGRyZXNzT3B0aW9ucz4oXG4gIHBhcmFtczogVFxuKTogcGFyYW1zIGlzIFQgJiBUc3NWZXJpZnlBZGRyZXNzT3B0aW9ucyB7XG4gIHJldHVybiAhIShcbiAgICAna2V5Y2hhaW5zJyBpbiBwYXJhbXMgJiZcbiAgICAnaW5kZXgnIGluIHBhcmFtcyAmJlxuICAgICdhZGRyZXNzJyBpbiBwYXJhbXMgJiZcbiAgICBwYXJhbXMua2V5Y2hhaW5zPy5zb21lKChrYykgPT4gJ2NvbW1vbktleWNoYWluJyBpbiBrYyAmJiAhIWtjLmNvbW1vbktleWNoYWluKVxuICApO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zYWN0aW9uUGFyYW1zIHtcbiAgcmVjaXBpZW50cz86IElUcmFuc2FjdGlvblJlY2lwaWVudFtdO1xuICB3YWxsZXRQYXNzcGhyYXNlPzogc3RyaW5nO1xuICB0eXBlPzogc3RyaW5nO1xuICBtZW1vPzogTWVtbztcbiAgZW5hYmxlVG9rZW5zPzogVG9rZW5FbmFibGVtZW50W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRkcmVzc1ZlcmlmaWNhdGlvbkRhdGEge1xuICBjb2luU3BlY2lmaWM/OiBBZGRyZXNzQ29pblNwZWNpZmljO1xuICBjaGFpbj86IG51bWJlcjtcbiAgaW5kZXg/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmVyaWZpY2F0aW9uT3B0aW9ucyB7XG4gIGRpc2FibGVOZXR3b3JraW5nPzogYm9vbGVhbjtcbiAga2V5Y2hhaW5zPzoge1xuICAgIHVzZXI/OiBLZXljaGFpbjtcbiAgICBiYWNrdXA/OiBLZXljaGFpbjtcbiAgICBiaXRnbz86IEtleWNoYWluO1xuICB9O1xuICBhZGRyZXNzZXM/OiB7IFthZGRyZXNzOiBzdHJpbmddOiBBZGRyZXNzVmVyaWZpY2F0aW9uRGF0YSB9O1xuICBhbGxvd1BheWdvT3V0cHV0PzogYm9vbGVhbjtcbiAgY29uc2lkZXJNaWdyYXRlZEZyb21BZGRyZXNzSW50ZXJuYWw/OiBib29sZWFuO1xuICB2ZXJpZnlUb2tlbkVuYWJsZW1lbnQ/OiBib29sZWFuO1xuICAvLyBWZXJpZnkgdHJhbnNhY3Rpb24gaXMgY29uc29saWRhdGluZyB0byB3YWxsZXQncyBiYXNlIGFkZHJlc3NcbiAgY29uc29saWRhdGlvblRvQmFzZUFkZHJlc3M/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZlcmlmeVRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIHR4UHJlYnVpbGQ6IFRyYW5zYWN0aW9uUHJlYnVpbGQ7XG4gIHR4UGFyYW1zOiBUcmFuc2FjdGlvblBhcmFtcztcbiAgd2FsbGV0OiBJV2FsbGV0O1xuICB2ZXJpZmljYXRpb24/OiBWZXJpZmljYXRpb25PcHRpb25zO1xuICByZXFJZD86IElSZXF1ZXN0VHJhY2VyO1xuICB3YWxsZXRUeXBlPzogJ29uY2hhaW4nIHwgJ3Rzcyc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3VwcGxlbWVudEdlbmVyYXRlV2FsbGV0T3B0aW9ucyB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIG0/OiBudW1iZXI7XG4gIG4/OiBudW1iZXI7XG4gIGVudGVycHJpc2U/OiBzdHJpbmc7XG4gIGRpc2FibGVUcmFuc2FjdGlvbk5vdGlmaWNhdGlvbnM/OiBib29sZWFuO1xuICBnYXNQcmljZT86IG51bWJlciB8IHN0cmluZztcbiAgZWlwMTU1OT86IHtcbiAgICBtYXhGZWVQZXJHYXM6IG51bWJlciB8IHN0cmluZztcbiAgICBtYXhQcmlvcml0eUZlZVBlckdhcz86IG51bWJlciB8IHN0cmluZztcbiAgfTtcbiAgd2FsbGV0VmVyc2lvbj86IG51bWJlcjtcbiAga2V5cz86IHN0cmluZ1tdO1xuICBrZXlTaWduYXR1cmVzPzoge1xuICAgIGJhY2t1cDogc3RyaW5nO1xuICAgIGJpdGdvOiBzdHJpbmc7XG4gIH07XG4gIHJvb3RQcml2YXRlS2V5Pzogc3RyaW5nO1xuICBkaXNhYmxlS1JTRW1haWw/OiBib29sZWFuO1xuICBtdWx0aXNpZ1R5cGU/OiAndHNzJyB8ICdvbmNoYWluJyB8ICdibHNka2cnO1xuICB0eXBlOiAnaG90JyB8ICdjb2xkJyB8ICdjdXN0b2RpYWwnIHwgJ2FkdmFuY2VkJyB8ICd0cmFkaW5nJztcbiAgc3ViVHlwZT86ICdsaWdodG5pbmdDdXN0b2R5JyB8ICdsaWdodG5pbmdTZWxmQ3VzdG9keScgfCAnb25QcmVtJztcbiAgY29pblNwZWNpZmljPzogeyBbY29pbk5hbWU6IHN0cmluZ106IHVua25vd24gfTtcbiAgZXZtS2V5UmluZ1JlZmVyZW5jZVdhbGxldElkPzogc3RyaW5nO1xuICBsaWdodG5pbmdQcm92aWRlcj86ICd2b2x0YWdlJyB8ICdhbWJvc3MnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZlZUVzdGltYXRlT3B0aW9ucyB7XG4gIG51bUJsb2Nrcz86IG51bWJlcjtcbiAgaG9wPzogYm9vbGVhbjtcbiAgcmVjaXBpZW50Pzogc3RyaW5nO1xuICBkYXRhPzogc3RyaW5nO1xuICBhbW91bnQ/OiBzdHJpbmc7XG4gIHR5cGU/OiBrZXlvZiB0eXBlb2YgVHJhbnNhY3Rpb25UeXBlO1xufVxuXG4vLyBUT0RPIChTREtULTkpOiByZXZlcnNlIGVuZ2luZWVyIGFuZCBhZGQgb3B0aW9uc1xuZXhwb3J0IGludGVyZmFjZSBFeHRyYVByZWJ1aWxkUGFyYW1zT3B0aW9ucyB7XG4gIFtpbmRleDogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuLy8gVE9ETyAoU0RLVC05KTogcmV2ZXJzZSBlbmdpbmVlciBhbmQgYWRkIG9wdGlvbnNcbmV4cG9ydCBpbnRlcmZhY2UgUHJlc2lnblRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIHR4UHJlYnVpbGQ/OiBUcmFuc2FjdGlvblByZWJ1aWxkO1xuICB3YWxsZXREYXRhOiBXYWxsZXREYXRhO1xuICB0c3NVdGlsczogRWNkc2FVdGlscyB8IEVjZHNhTVBDdjJVdGlscyB8IEVkZHNhVXRpbHMgfCBFZGRzYU1QQ3YyVXRpbHMgfCB1bmRlZmluZWQ7XG4gIFtpbmRleDogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuLy8gVE9ETyAoU0RLVC05KTogcmV2ZXJzZSBlbmdpbmVlciBhbmQgYWRkIG9wdGlvbnNcbmV4cG9ydCBpbnRlcmZhY2UgUHJlY3JlYXRlQml0R29PcHRpb25zIHtcbiAgW2luZGV4OiBzdHJpbmddOiB1bmtub3duO1xufVxuXG4vLyBUT0RPIChTREtULTkpOiByZXZlcnNlIGVuZ2luZWVyIGFuZCBhZGQgb3B0aW9uc1xuZXhwb3J0IGludGVyZmFjZSBWZXJpZnlSZWNvdmVyeVRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIFtpbmRleDogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuLy8gVE9ETyAoU0RLVC05KTogcmV2ZXJzZSBlbmdpbmVlciBhbmQgYWRkIG9wdGlvbnNcbmV4cG9ydCBpbnRlcmZhY2UgUGFyc2VUcmFuc2FjdGlvbk9wdGlvbnMge1xuICBbaW5kZXg6IHN0cmluZ106IHVua25vd247XG59XG5cbi8qKlxuICogVGhpcyBpcyBvbmx5IHVzZWQgZm9yIGRldGVybWluaW5nIHRoZSBQYXlHbyBmZWUgb2YgYSB0cmFuc2FjdGlvbiB3aGljaCBpcyBvbmx5IHJlbGV2YW50IGZvciBVVFhPIGNvaW5zLlxuICogU29tZSBjb2lucyByZXR1cm4gdmFyaW91cyBvdGhlciBmaWVsZHMgaGVyZSwgYnV0IHRoZXkgYXJlIG9ubHkgdXNlZCBpbnRlcm5hbGx5IGJ5IHRoZSByZXNwZWN0aXZlIGNvaW5zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnNlZFRyYW5zYWN0aW9uIHtcbiAgLy8gdGhlIGNhbGxzaXRlIGFzc3VtZXMgdGhhdCB0aGlzIGlzIHRoZSBQYXlHbyBhbW91bnRcbiAgaW1wbGljaXRFeHRlcm5hbFNwZW5kQW1vdW50PzogbnVtYmVyIHwgYmlnaW50O1xuICAvLyBjb2lucyBtYXkgYWRkIGludGVybmFsIGZpZWxkc1xuICBbaW5kZXg6IHN0cmluZ106IHVua25vd247XG59XG5cbi8vIFRPRE8gKFNES1QtOSk6IHJldmVyc2UgZW5naW5lZXIgYW5kIGFkZCBvcHRpb25zXG5leHBvcnQgdHlwZSBVbnNpZ25lZFBhcnNlZFRyYW5zYWN0aW9uID0ge1xuICBpbnB1dHM6IElucHV0W107XG4gIG1pbmVyRmVlOiBudW1iZXIgfCBzdHJpbmc7XG4gIG91dHB1dHM6IE91dHB1dFtdO1xuICBzcGVuZEFtb3VudDogbnVtYmVyIHwgc3RyaW5nO1xuICBoYXNVbnZhbGlkYXRlZERhdGE/OiBib29sZWFuO1xuICBwYXlHb0ZlZT86IG51bWJlcjtcbiAgdHlwZT86IHN0cmluZztcbiAgc2VxdWVuY2VJZDogbnVtYmVyO1xuICBpZDogc3RyaW5nO1xufTtcblxuLy8gVE9ETyAoU0RLVC05KTogcmV2ZXJzZSBlbmdpbmVlciBhbmQgYWRkIG9wdGlvbnNcbmV4cG9ydCBpbnRlcmZhY2UgU2lnblRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIFtpbmRleDogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBLZXljaGFpbnNUcmlwbGV0IHtcbiAgdXNlcktleWNoYWluOiBLZXljaGFpbjtcbiAgYmFja3VwS2V5Y2hhaW46IEtleWNoYWluO1xuICBiaXRnb0tleWNoYWluOiBLZXljaGFpbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaWdodG5pbmdLZXljaGFpbnNUcmlwbGV0IHtcbiAgdXNlcktleWNoYWluOiBLZXljaGFpbjtcbiAgdXNlckF1dGhLZXljaGFpbjogS2V5Y2hhaW47XG4gIG5vZGVBdXRoS2V5Y2hhaW46IEtleWNoYWluO1xufVxuXG5pbnRlcmZhY2UgQnVpbGRQYXJhbXMge1xuICBwcmV2aWV3PzogYm9vbGVhbjtcbiAgcmVjaXBpZW50cz86IElUcmFuc2FjdGlvblJlY2lwaWVudFtdO1xufVxuXG5pbnRlcmZhY2UgQmFzZVNpZ25hYmxlIHtcbiAgd2FsbGV0PzogSVdhbGxldDtcbiAgYnVpbGRQYXJhbXM/OiBCdWlsZFBhcmFtcyAmIFBhcnRpYWw8YW55PjtcbiAgY29uc29saWRhdGVJZD86IHN0cmluZztcbiAgdHhSZXF1ZXN0SWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNhY3Rpb25QcmVidWlsZCBleHRlbmRzIEJhc2VTaWduYWJsZSB7XG4gIHR4QmFzZTY0Pzogc3RyaW5nO1xuICB0eEhleD86IHN0cmluZztcbiAgdHhJbmZvPzogdW5rbm93bjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlIGV4dGVuZHMgQmFzZVNpZ25hYmxlIHtcbiAgbWVzc2FnZVJhdzogc3RyaW5nO1xuICBtZXNzYWdlRW5jb2RlZD86IHN0cmluZztcbiAgbWVzc2FnZVN0YW5kYXJkVHlwZT86IE1lc3NhZ2VTdGFuZGFyZFR5cGU7XG4gIHNpZ25lckFkZHJlc3M/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZVR5cGVQcm9wZXJ0eSB7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlVHlwZXMge1xuICBFSVA3MTJEb21haW46IE1lc3NhZ2VUeXBlUHJvcGVydHlbXTtcbiAgW2FkZGl0aW9uYWxQcm9wZXJ0aWVzOiBzdHJpbmddOiBNZXNzYWdlVHlwZVByb3BlcnR5W107XG59XG5cbmV4cG9ydCBlbnVtIFNpZ25UeXBlZERhdGFWZXJzaW9uIHtcbiAgVjEgPSAnVjEnLFxuICBWMyA9ICdWMycsXG4gIFY0ID0gJ1Y0Jyxcbn1cblxuLyoqXG4gKiBUaGlzIGlzIHRoZSBtZXNzYWdlIGZvcm1hdCB1c2VkIGZvciBgc2lnblR5cGVEYXRhYCwgZm9yIGFsbCB2ZXJzaW9uc1xuICogZXhjZXB0IGBWMWAuXG4gKlxuICogQHRlbXBsYXRlIFQgLSBUaGUgY3VzdG9tIHR5cGVzIHVzZWQgYnkgdGhpcyBtZXNzYWdlLlxuICogQHByb3BlcnR5IHR5cGVzIC0gVGhlIGN1c3RvbSB0eXBlcyB1c2VkIGJ5IHRoaXMgbWVzc2FnZS5cbiAqIEBwcm9wZXJ0eSBwcmltYXJ5VHlwZSAtIFRoZSB0eXBlIG9mIHRoZSBtZXNzYWdlLlxuICogQHByb3BlcnR5IGRvbWFpbiAtIFNpZ25pbmcgZG9tYWluIG1ldGFkYXRhLiBUaGUgc2lnbmluZyBkb21haW4gaXMgdGhlIGludGVuZGVkIGNvbnRleHQgZm9yIHRoZVxuICogc2lnbmF0dXJlIChlLmcuIHRoZSBkYXBwLCBwcm90b2NvbCwgZXRjLiB0aGF0IGl0J3MgaW50ZW5kZWQgZm9yKS4gVGhpcyBkYXRhIGlzIHVzZWQgdG9cbiAqIGNvbnN0cnVjdCB0aGUgZG9tYWluIHNlcGVyYXRvciBvZiB0aGUgbWVzc2FnZS5cbiAqIEBwcm9wZXJ0eSBkb21haW4ubmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBzaWduaW5nIGRvbWFpbi5cbiAqIEBwcm9wZXJ0eSBkb21haW4udmVyc2lvbiAtIFRoZSBjdXJyZW50IG1ham9yIHZlcnNpb24gb2YgdGhlIHNpZ25pbmcgZG9tYWluLlxuICogQHByb3BlcnR5IGRvbWFpbi5jaGFpbklkIC0gVGhlIGNoYWluIElEIG9mIHRoZSBzaWduaW5nIGRvbWFpbi5cbiAqIEBwcm9wZXJ0eSBkb21haW4udmVyaWZ5aW5nQ29udHJhY3QgLSBUaGUgYWRkcmVzcyBvZiB0aGUgY29udHJhY3QgdGhhdCBjYW4gdmVyaWZ5IHRoZSBzaWduYXR1cmUuXG4gKiBAcHJvcGVydHkgZG9tYWluLnNhbHQgLSBBIGRpc2FtYmlndWF0aW5nIHNhbHQgZm9yIHRoZSBwcm90b2NvbC5cbiAqIEBwcm9wZXJ0eSBtZXNzYWdlIC0gVGhlIG1lc3NhZ2UgdG8gYmUgc2lnbmVkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVkTWVzc2FnZTxUIGV4dGVuZHMgTWVzc2FnZVR5cGVzPiB7XG4gIHR5cGVzOiBUO1xuICBwcmltYXJ5VHlwZToga2V5b2YgVDtcbiAgZG9tYWluOiB7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICB2ZXJzaW9uPzogc3RyaW5nO1xuICAgIGNoYWluSWQ/OiBudW1iZXI7XG4gICAgdmVyaWZ5aW5nQ29udHJhY3Q/OiBzdHJpbmc7XG4gICAgc2FsdD86IEFycmF5QnVmZmVyO1xuICB9O1xuICBtZXNzYWdlOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUeXBlZERhdGEgZXh0ZW5kcyBCYXNlU2lnbmFibGUge1xuICB0eXBlZERhdGFSYXc6IHN0cmluZztcbiAgdmVyc2lvbjogU2lnblR5cGVkRGF0YVZlcnNpb247XG4gIHR5cGVkRGF0YUVuY29kZWQ/OiBCdWZmZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRkcmVzc0NvaW5TcGVjaWZpYyB7XG4gIG91dHB1dFNjcmlwdD86IHN0cmluZztcbiAgcmVkZWVtU2NyaXB0Pzogc3RyaW5nO1xuICB3aXRuZXNzU2NyaXB0Pzogc3RyaW5nO1xuICBiYXNlQWRkcmVzcz86IHN0cmluZztcbiAgcGVuZGluZ0NoYWluSW5pdGlhbGl6YXRpb24/OiBib29sZWFuO1xuICBmb3J3YXJkZXJWZXJzaW9uPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZ1bGx5U2lnbmVkVHJhbnNhY3Rpb24ge1xuICB0eEhleDogc3RyaW5nOyAvLyBUcmFuc2FjdGlvbiBpbiBhbnkgZm9ybWF0IHJlcXVpcmVkIGJ5IGVhY2ggY29pbiwgaS5lLiBpbiBUcm9uIGl0IGlzIGEgc3RyaW5naWZ5ZWQgSlNPTlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhhbGZTaWduZWRVdHhvVHJhbnNhY3Rpb24ge1xuICB0eEhleDogc3RyaW5nO1xuICAvKipcbiAgICogUFNCVC1saXRlIGhleCBwcmVzZXJ2ZWQgZnJvbSBhIHBlbmRpbmcgYXBwcm92YWwncyBjb2luU3BlY2lmaWMuXG4gICAqIE9ubHkgcHJlc2VudCBpbiB0aGUgUEEgYXBwcm92YWwgZmxvdyDigJQgbm90IGluIHJlZ3VsYXIgc2lnbi9zZW5kIGZsb3dzLlxuICAgKi9cbiAgdHhIZXhQc2J0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhhbGZTaWduZWRBY2NvdW50VHJhbnNhY3Rpb24ge1xuICBoYWxmU2lnbmVkPzoge1xuICAgIHR4SGV4Pzogc3RyaW5nOyAvLyBUcmFuc2FjdGlvbiBpbiBhbnkgZm9ybWF0IHJlcXVpcmVkIGJ5IGVhY2ggY29pbiwgaS5lLiBpbiBUcm9uIGl0IGlzIGEgc3RyaW5naWZ5ZWQgSlNPTlxuICAgIHBheWxvYWQ/OiBzdHJpbmc7XG4gICAgdHhCYXNlNjQ/OiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGFsZlNpZ25lZFRyYW5zYWN0aW9uIGV4dGVuZHMgSGFsZlNpZ25lZEFjY291bnRUcmFuc2FjdGlvbiB7XG4gIGhhbGZTaWduZWQ6IHtcbiAgICByZWNpcGllbnRzOiBSZWNpcGllbnRbXTtcbiAgICBleHBpcmVUaW1lPzogbnVtYmVyO1xuICAgIGNvbnRyYWN0U2VxdWVuY2VJZD86IG51bWJlcjtcbiAgICBzZXF1ZW5jZUlkPzogbnVtYmVyO1xuICAgIHR4SGV4PzogbmV2ZXI7XG4gICAgaXNCYXRjaD86IGJvb2xlYW47XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbmVkVHJhbnNhY3Rpb25SZXF1ZXN0IHtcbiAgdHhSZXF1ZXN0SWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZXJpdmVLZXlXaXRoU2VlZE9wdGlvbnMge1xuICBrZXk6IHN0cmluZztcbiAgc2VlZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZhbGlkTW9mTk9wdGlvbnMge1xuICBtPzogbnVtYmVyO1xuICBuPzogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBTaWduZWRUcmFuc2FjdGlvbiA9XG4gIHwgSGFsZlNpZ25lZEFjY291bnRUcmFuc2FjdGlvblxuICB8IEhhbGZTaWduZWRVdHhvVHJhbnNhY3Rpb25cbiAgfCBGdWxseVNpZ25lZFRyYW5zYWN0aW9uXG4gIHwgU2lnbmVkVHJhbnNhY3Rpb25SZXF1ZXN0XG4gIHwgVHhSZXF1ZXN0O1xuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25lZE1lc3NhZ2Uge1xuICBjb2luPzogc3RyaW5nO1xuICAvLyBAZGVwcmVjYXRlZCAtIHVzZSBgc2lnbmF0dXJlYCBpbnN0ZWFkXG4gIHR4SGFzaDogc3RyaW5nO1xuICBzaWduYXR1cmU6IHN0cmluZztcbiAgbWVzc2FnZVJhdzogc3RyaW5nO1xuICBtZXNzYWdlRW5jb2RlZD86IHN0cmluZztcbiAgbWVzc2FnZVN0YW5kYXJkVHlwZT86IE1lc3NhZ2VTdGFuZGFyZFR5cGU7XG4gIHR4UmVxdWVzdElkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVjb3ZlcldhbGxldFRva2VuT3B0aW9ucyB7XG4gIHRva2VuQ29udHJhY3RBZGRyZXNzOiBzdHJpbmc7XG4gIHdhbGxldDogSVdhbGxldDtcbiAgcmVjaXBpZW50OiBzdHJpbmc7XG4gIGJyb2FkY2FzdD86IGJvb2xlYW47XG4gIHdhbGxldFBhc3NwaHJhc2U/OiBzdHJpbmc7XG4gIHBydj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWNpcGllbnQge1xuICBhZGRyZXNzOiBzdHJpbmc7XG4gIGFtb3VudDogc3RyaW5nO1xuICBkYXRhPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlY292ZXJUb2tlblRyYW5zYWN0aW9uIHtcbiAgaGFsZlNpZ25lZDoge1xuICAgIHJlY2lwaWVudDogUmVjaXBpZW50O1xuICAgIGV4cGlyZVRpbWU6IG51bWJlcjtcbiAgICBjb250cmFjdFNlcXVlbmNlSWQ6IG51bWJlcjtcbiAgICBvcGVyYXRpb25IYXNoOiBzdHJpbmc7XG4gICAgc2lnbmF0dXJlOiBzdHJpbmc7XG4gICAgZ2FzTGltaXQ6IG51bWJlcjtcbiAgICBnYXNQcmljZTogbnVtYmVyO1xuICAgIHRva2VuQ29udHJhY3RBZGRyZXNzOiBzdHJpbmc7XG4gICAgd2FsbGV0SWQ6IHN0cmluZztcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUb2tlbkVuYWJsZW1lbnRDb25maWcge1xuICByZXF1aXJlc1Rva2VuRW5hYmxlbWVudDogYm9vbGVhbjtcbiAgc3VwcG9ydHNNdWx0aXBsZVRva2VuRW5hYmxlbWVudHM6IGJvb2xlYW47XG4gIHZhbGlkYXRlV2FsbGV0PzogKHdhbGxldFR5cGU6IHN0cmluZykgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlUHJlcCB7XG4gIGVuY29kZU1lc3NhZ2UobWVzc2FnZTogc3RyaW5nKTogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBNUENBbGdvcml0aG0gPSAnZWNkc2EnIHwgJ2VkZHNhJztcblxuZXhwb3J0IHR5cGUgTkZUVHJhbnNmZXJPcHRpb25zID0ge1xuICB0b2tlbkNvbnRyYWN0QWRkcmVzczogc3RyaW5nO1xuICByZWNpcGllbnRBZGRyZXNzOiBzdHJpbmc7XG59ICYgKFxuICB8IHtcbiAgICAgIHR5cGU6ICdFUkM3MjEnIHwgVG9rZW5UeXBlLkRJR0lUQUxfQVNTRVQ7XG4gICAgICB0b2tlbklkOiBzdHJpbmc7XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6ICdFUkMxMTU1JztcbiAgICAgIGVudHJpZXM6IHsgdG9rZW5JZDogc3RyaW5nOyBhbW91bnQ6IG51bWJlciB9W107XG4gICAgfVxuKTtcblxuZXhwb3J0IHR5cGUgQnVpbGROZnRUcmFuc2ZlckRhdGFPcHRpb25zID0gTkZUVHJhbnNmZXJPcHRpb25zICYge1xuICBmcm9tQWRkcmVzczogc3RyaW5nO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBCYXNlQnJvYWRjYXN0VHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgc2VyaWFsaXplZFNpZ25lZFRyYW5zYWN0aW9uOiBzdHJpbmc7XG4gIHRyYW5zYWN0aW9ucz86IE1QQ1R4W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZUJyb2FkY2FzdFRyYW5zYWN0aW9uUmVzdWx0IHtcbiAgdHhJZD86IHN0cmluZztcbiAgdHhJZHM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQmFzZUNvaW4ge1xuICB0eXBlOiBzdHJpbmc7XG4gIHRva2VuQ29uZmlnPzogQmFzZVRva2VuQ29uZmlnO1xuICBnZXRDb25maWcoKTogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPjtcbiAgdXJsKHN1ZmZpeDogc3RyaW5nKTogc3RyaW5nO1xuICB3YWxsZXRzKCk6IElXYWxsZXRzO1xuICBlbnRlcnByaXNlcygpOiBJRW50ZXJwcmlzZXM7XG4gIGtleWNoYWlucygpOiBJS2V5Y2hhaW5zO1xuICB3ZWJob29rcygpOiBJV2ViaG9va3M7XG4gIHBlbmRpbmdBcHByb3ZhbHMoKTogSVBlbmRpbmdBcHByb3ZhbHM7XG4gIG1hcmtldHMoKTogSU1hcmtldHM7XG4gIGdldENoYWluKCk6IHN0cmluZztcbiAgZ2V0RmFtaWx5KCk6IHN0cmluZztcbiAgZ2V0RnVsbE5hbWUoKTogc3RyaW5nO1xuICB2YWx1ZWxlc3NUcmFuc2ZlckFsbG93ZWQoKTogYm9vbGVhbjtcbiAgY2hlY2tSZWNpcGllbnQocmVjaXBpZW50OiB7IGFkZHJlc3M6IHN0cmluZzsgYW1vdW50OiBzdHJpbmcgfCBudW1iZXIgfSk6IHZvaWQ7XG4gIHN3ZWVwV2l0aFNlbmRNYW55KCk6IGJvb2xlYW47XG4gIHRyYW5zYWN0aW9uRGF0YUFsbG93ZWQoKTogYm9vbGVhbjtcbiAgYWxsb3dzQWNjb3VudENvbnNvbGlkYXRpb25zKCk6IGJvb2xlYW47XG4gIHN1cHBvcnRzUmVzb3VyY2VEZWxlZ2F0aW9uKCk6IGJvb2xlYW47XG4gIGdldFRva2VuRW5hYmxlbWVudENvbmZpZygpOiBUb2tlbkVuYWJsZW1lbnRDb25maWc7XG4gIHN1cHBvcnRzVHNzKCk6IGJvb2xlYW47XG4gIHN1cHBvcnRzTXVsdGlzaWcoKTogYm9vbGVhbjtcbiAgZ2V0RGVmYXVsdE11bHRpc2lnVHlwZSgpOiBNdWx0aXNpZ1R5cGUgfCB1bmRlZmluZWQ7XG4gIHN1cHBvcnRzRGVyaXZlS2V5V2l0aFNlZWQoKTogYm9vbGVhbjtcbiAgaXNFVk0oKTogYm9vbGVhbjtcbiAgc3VwcG9ydHNCbHNEa2coKTogYm9vbGVhbjtcbiAgZ2V0QmFzZUZhY3RvcigpOiBudW1iZXIgfCBzdHJpbmc7XG4gIGJhc2VVbml0c1RvQmlnVW5pdHMoYmFzZVVuaXRzOiBzdHJpbmcgfCBudW1iZXIpOiBzdHJpbmc7XG4gIGJpZ1VuaXRzVG9CYXNlVW5pdHMoYmlnVW5pdHM6IHN0cmluZyB8IG51bWJlcik6IHN0cmluZztcbiAgcHJlcHJvY2Vzc0J1aWxkUGFyYW1zKHBhcmFtczogUmVjb3JkPHN0cmluZywgYW55Pik6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIHNpZ25NZXNzYWdlKGtleTogeyBwcnY6IHN0cmluZyB9LCBtZXNzYWdlOiBzdHJpbmcpOiBQcm9taXNlPEJ1ZmZlcj47XG4gIGNyZWF0ZUtleVNpZ25hdHVyZXMoXG4gICAgcHJ2OiBzdHJpbmcsXG4gICAgYmFja3VwS2V5Y2hhaW46IHsgcHViOiBzdHJpbmcgfSxcbiAgICBiaXRnb0tleWNoYWluOiB7IHB1Yjogc3RyaW5nIH1cbiAgKTogUHJvbWlzZTx7XG4gICAgYmFja3VwOiBzdHJpbmc7XG4gICAgYml0Z286IHN0cmluZztcbiAgfT47XG4gIGV4cGxhaW5UcmFuc2FjdGlvbihcbiAgICBvcHRpb25zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgIHdhbGxldD86IElXYWxsZXRcbiAgKTogUHJvbWlzZTxJVHJhbnNhY3Rpb25FeHBsYW5hdGlvbjxhbnksIHN0cmluZyB8IG51bWJlcj4gfCB1bmRlZmluZWQ+O1xuICB2ZXJpZnlUcmFuc2FjdGlvbihwYXJhbXM6IFZlcmlmeVRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8Ym9vbGVhbj47XG4gIHZlcmlmeUFkZHJlc3MocGFyYW1zOiBWZXJpZnlBZGRyZXNzT3B0aW9ucyk6IFByb21pc2U8Ym9vbGVhbj47XG4gIGlzV2FsbGV0QWRkcmVzcyhwYXJhbXM6IFZlcmlmeUFkZHJlc3NPcHRpb25zIHwgVHNzVmVyaWZ5QWRkcmVzc09wdGlvbnMsIHdhbGxldD86IElXYWxsZXQpOiBQcm9taXNlPGJvb2xlYW4+O1xuICBjYW5vbmljYWxBZGRyZXNzKGFkZHJlc3M6IHN0cmluZywgZm9ybWF0OiB1bmtub3duKTogc3RyaW5nO1xuICBzdXBwb3J0c0Jsb2NrVGFyZ2V0KCk6IGJvb2xlYW47XG4gIHN1cHBvcnRzTGlnaHRuaW5nKCk6IGJvb2xlYW47XG4gIHN1cHBvcnRzTWVzc2FnZVNpZ25pbmcoKTogYm9vbGVhbjtcbiAgc3VwcG9ydHNTaWduaW5nVHlwZWREYXRhKCk6IGJvb2xlYW47XG4gIHN1cHBsZW1lbnRHZW5lcmF0ZVdhbGxldCh3YWxsZXRQYXJhbXM6IFN1cHBsZW1lbnRHZW5lcmF0ZVdhbGxldE9wdGlvbnMsIGtleWNoYWluczogS2V5Y2hhaW5zVHJpcGxldCk6IFByb21pc2U8YW55PjtcbiAgZ2V0RXh0cmFQcmVidWlsZFBhcmFtcyhidWlsZFBhcmFtczogRXh0cmFQcmVidWlsZFBhcmFtc09wdGlvbnMpOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIHVua25vd24+PjtcbiAgcG9zdFByb2Nlc3NQcmVidWlsZChwcmVidWlsZFJlc3BvbnNlOiBUcmFuc2FjdGlvblByZWJ1aWxkKTogUHJvbWlzZTxUcmFuc2FjdGlvblByZWJ1aWxkPjtcbiAgcHJlc2lnblRyYW5zYWN0aW9uKHBhcmFtczogUHJlc2lnblRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8UHJlc2lnblRyYW5zYWN0aW9uT3B0aW9ucz47XG4gIHNpZ25XaXRoQ3VzdG9tU2lnbmluZ0Z1bmN0aW9uPyhcbiAgICBjdXN0b21TaWduaW5nRnVuY3Rpb246IEN1c3RvbVNpZ25pbmdGdW5jdGlvbixcbiAgICBzaWduVHJhbnNhY3Rpb25QYXJhbXM6IHsgdHhQcmVidWlsZDogVHJhbnNhY3Rpb25QcmVidWlsZDsgcHViczogc3RyaW5nW10gfVxuICApOiBQcm9taXNlPFNpZ25lZFRyYW5zYWN0aW9uPjtcbiAgbmV3V2FsbGV0T2JqZWN0KHdhbGxldFBhcmFtczogYW55KTogSVdhbGxldDtcbiAgZmVlRXN0aW1hdGUocGFyYW1zOiBGZWVFc3RpbWF0ZU9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGRlcml2ZUtleVdpdGhTZWVkKHBhcmFtczogRGVyaXZlS2V5V2l0aFNlZWRPcHRpb25zKTogeyBrZXk6IHN0cmluZzsgZGVyaXZhdGlvblBhdGg6IHN0cmluZyB9O1xuICBrZXlJZHNGb3JTaWduaW5nKCk6IG51bWJlcltdO1xuICBwcmVDcmVhdGVCaXRHbyhwYXJhbXM6IFByZWNyZWF0ZUJpdEdvT3B0aW9ucyk6IHZvaWQ7XG4gIGluaXRpYXRlUmVjb3ZlcnkocGFyYW1zOiBJbml0aWF0ZVJlY292ZXJ5T3B0aW9ucyk6IG5ldmVyO1xuICBwYXJzZVRyYW5zYWN0aW9uKHBhcmFtczogUGFyc2VUcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPFBhcnNlZFRyYW5zYWN0aW9uPjtcbiAgZ2VuZXJhdGVLZXlQYWlyKHNlZWQ/OiBCdWZmZXIpOiBLZXlQYWlyO1xuICBnZW5lcmF0ZVJvb3RLZXlQYWlyKHNlZWQ/OiBCdWZmZXIpOiBLZXlQYWlyO1xuICBpc1ZhbGlkUHViKHB1Yjogc3RyaW5nKTogYm9vbGVhbjtcbiAgaXNWYWxpZE1vZk5TZXR1cChwYXJhbXM6IFZhbGlkTW9mTk9wdGlvbnMpOiBib29sZWFuO1xuICBpc1ZhbGlkQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuO1xuICBzaWduVHJhbnNhY3Rpb24ocGFyYW1zOiBTaWduVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxTaWduZWRUcmFuc2FjdGlvbj47XG4gIGdldFNpZ25hYmxlUGF5bG9hZChzZXJpYWxpemVkVHg6IHN0cmluZyk6IFByb21pc2U8QnVmZmVyPjtcbiAgZ2V0TVBDQWxnb3JpdGhtKCk6IE1QQ0FsZ29yaXRobTtcbiAgLy8gVE9ETyAtIHRoaXMgb25seSBiZWxvbmdzIGluIGV0aCBjb2luc1xuICByZWNvdmVyVG9rZW4ocGFyYW1zOiBSZWNvdmVyV2FsbGV0VG9rZW5PcHRpb25zKTogUHJvbWlzZTxSZWNvdmVyVG9rZW5UcmFuc2FjdGlvbj47XG4gIGdldEluc2NyaXB0aW9uQnVpbGRlcih3YWxsZXQ6IFdhbGxldCk6IElJbnNjcmlwdGlvbkJ1aWxkZXI7XG5cbiAgLyoqXG4gICAqIEJ1aWxkIHRoZSBjYWxsIGRhdGEgZm9yIHRyYW5zZmVycmluZyBhIE5GVChzKS5cbiAgICogQHBhcmFtIHBhcmFtcyBPcHRpb25zIHNwZWNpZnlpbmcgdGhlIHRva2VuIGNvbnRyYWN0LCB0b2tlbiByZWNpcGllbnQgJiB0aGUgdG9rZW4ocykgdG8gYmUgdHJhbnNmZXJyZWRcbiAgICogQHJldHVybiB0aGUgaGV4IHN0cmluZyBmb3IgdGhlIGNvbnRyYWN0IGNhbGwuXG4gICAqL1xuICBidWlsZE5mdFRyYW5zZmVyRGF0YShwYXJhbXM6IEJ1aWxkTmZ0VHJhbnNmZXJEYXRhT3B0aW9ucyk6IHN0cmluZyB8IFRva2VuVHJhbnNmZXJSZWNpcGllbnRQYXJhbXM7XG4gIGdldEhhc2hGdW5jdGlvbigpOiBIYXNoO1xuICBicm9hZGNhc3RUcmFuc2FjdGlvbihwYXJhbXM6IEJhc2VCcm9hZGNhc3RUcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPEJhc2VCcm9hZGNhc3RUcmFuc2FjdGlvblJlc3VsdD47XG4gIHNldENvaW5TcGVjaWZpY0ZpZWxkc0luSW50ZW50KGludGVudDogUG9wdWxhdGVkSW50ZW50LCBwYXJhbXM6IFByZWJ1aWxkVHJhbnNhY3Rpb25XaXRoSW50ZW50T3B0aW9ucyk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEF1ZGl0IGEga2V5IHRvIGRldGVybWluZSBpZiBpdCBpcyB2YWxpZCBmb3IgdGhlIGNvaW4uXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGF1ZGl0XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwYXJhbXMucHVibGljS2V5ICAtIFRoZSBwdWJsaWMgcG9ydGlvbiBvZiB0aGUga2V5XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwYXJhbXMuZW5jcnlwdGVkUHJ2IC0gVGhlIGVuY3J5cHRlZCBwcml2YXRlIGtleVxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGFyYW1zLndhbGxldFBhc3NwaHJhc2UgLSBUaGUgcGFzc3BocmFzZSB0byBkZWNyeXB0IHRoZSBwcml2YXRlIGtleVxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGFyYW1zLm11bHRpU2lnVHlwZSAtIFRoZSB0eXBlIG9mIG11bHRpc2lnIChlLmcuICdvbmNoYWluJyBvciAndHNzJylcbiAgICovXG4gIGFzc2VydElzVmFsaWRLZXkoeyBwdWJsaWNLZXksIGVuY3J5cHRlZFBydiwgd2FsbGV0UGFzc3BocmFzZSwgbXVsdGlTaWdUeXBlIH06IEF1ZGl0S2V5UGFyYW1zKTogdm9pZDtcbiAgcmVxdWlyZXNXYWxsZXRJbml0aWFsaXphdGlvblRyYW5zYWN0aW9uKCk6IGJvb2xlYW47XG59XG4iXX0=
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaUJhc2VDb2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL2Jhc2VDb2luL2lCYXNlQ29pbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUF5TUEsOERBU0M7QUEvTFksUUFBQSxhQUFhLEdBQUc7SUFDM0IsT0FBTyxFQUFFLFNBQVM7SUFDbEIsR0FBRyxFQUFFLEtBQUs7Q0FDRixDQUFDO0FBbUxYLFNBQWdCLHlCQUF5QixDQUN2QyxNQUFTO0lBRVQsT0FBTyxDQUFDLENBQUMsQ0FDUCxXQUFXLElBQUksTUFBTTtRQUNyQixPQUFPLElBQUksTUFBTTtRQUNqQixTQUFTLElBQUksTUFBTTtRQUNuQixNQUFNLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQzlFLENBQUM7QUFDSixDQUFDO0FBbUxELElBQVksb0JBSVg7QUFKRCxXQUFZLG9CQUFvQjtJQUM5QixpQ0FBUyxDQUFBO0lBQ1QsaUNBQVMsQ0FBQTtJQUNULGlDQUFTLENBQUE7QUFDWCxDQUFDLEVBSlcsb0JBQW9CLG9DQUFwQixvQkFBb0IsUUFJL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlVG9rZW5Db25maWcsIEJhc2VDb2luIGFzIFN0YXRpY3NCYXNlQ29pbiB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCB7IElSZXF1ZXN0VHJhY2VyIH0gZnJvbSAnLi4vLi4vYXBpJztcbmltcG9ydCB7IElFbnRlcnByaXNlcyB9IGZyb20gJy4uL2VudGVycHJpc2UnO1xuaW1wb3J0IHsgSUtleWNoYWlucywgS2V5Y2hhaW4gfSBmcm9tICcuLi9rZXljaGFpbic7XG5pbXBvcnQgeyBJTWFya2V0cyB9IGZyb20gJy4uL21hcmtldCc7XG5pbXBvcnQgeyBJUGVuZGluZ0FwcHJvdmFscyB9IGZyb20gJy4uL3BlbmRpbmdBcHByb3ZhbCc7XG5pbXBvcnQgeyBJbml0aWF0ZVJlY292ZXJ5T3B0aW9ucyB9IGZyb20gJy4uL3JlY292ZXJ5JztcbmltcG9ydCB7IEVjZHNhTVBDdjJVdGlscywgRWNkc2FVdGlscyB9IGZyb20gJy4uL3V0aWxzL3Rzcy9lY2RzYSc7XG5pbXBvcnQgRWRkc2FVdGlscywgeyBFZGRzYU1QQ3YyVXRpbHMsIFByZWJ1aWxkVHJhbnNhY3Rpb25XaXRoSW50ZW50T3B0aW9ucywgVHhSZXF1ZXN0IH0gZnJvbSAnLi4vdXRpbHMvdHNzL2VkZHNhJztcbmltcG9ydCB7IENyZWF0ZUFkZHJlc3NGb3JtYXQsIEN1c3RvbVNpZ25pbmdGdW5jdGlvbiwgSVdhbGxldCwgSVdhbGxldHMsIE1lbW8sIFdhbGxldCwgV2FsbGV0RGF0YSB9IGZyb20gJy4uL3dhbGxldCc7XG5cbmltcG9ydCB7IFRva2VuRW5hYmxlbWVudCB9IGZyb20gJ0BiaXRnby9wdWJsaWMtdHlwZXMnO1xuaW1wb3J0IHsgSGFzaCB9IGZyb20gJ2NyeXB0byc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICcuLi8uLi9hY2NvdW50LWxpYic7XG5pbXBvcnQgeyBJSW5zY3JpcHRpb25CdWlsZGVyIH0gZnJvbSAnLi4vaW5zY3JpcHRpb25CdWlsZGVyJztcbmltcG9ydCB7IE1lc3NhZ2VTdGFuZGFyZFR5cGUsIE1QQ1R4LCBQb3B1bGF0ZWRJbnRlbnQsIFRva2VuVHJhbnNmZXJSZWNpcGllbnRQYXJhbXMsIFRva2VuVHlwZSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IElXZWJob29rcyB9IGZyb20gJy4uL3dlYmhvb2svaVdlYmhvb2tzJztcblxuZXhwb3J0IGNvbnN0IG11bHRpc2lnVHlwZXMgPSB7XG4gIG9uY2hhaW46ICdvbmNoYWluJyxcbiAgdHNzOiAndHNzJyxcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIE11bHRpc2lnVHlwZSA9IGtleW9mIHR5cGVvZiBtdWx0aXNpZ1R5cGVzO1xuXG5leHBvcnQgaW50ZXJmYWNlIE91dHB1dCBleHRlbmRzIElUcmFuc2FjdGlvblJlY2lwaWVudCB7XG4gIGFkZHJlc3M6IHN0cmluZztcbiAgLy8gb2YgZm9ybSBjb2luOnRva2VuXG4gIGNvaW5OYW1lPzogc3RyaW5nO1xuICBpc1BheUdvPzogYm9vbGVhbjtcbiAgdmFsdWU/OiBudW1iZXI7XG4gIHdhbGxldD86IHN0cmluZzsgLy8gVHlwZXMuT2JqZWN0SWQ7XG4gIHdhbGxldFYxPzogc3RyaW5nOyAvLyBUeXBlcy5PYmplY3RJZDtcbiAgYmFzZUFkZHJlc3M/OiBzdHJpbmc7XG4gIGVudGVycHJpc2U/OiBzdHJpbmc7IC8vIFR5cGVzLk9iamVjdElkO1xuICB2YWx1ZVN0cmluZzogc3RyaW5nO1xuICBkYXRhPzogc3RyaW5nO1xuICAvLyBcImNoYW5nZVwiIGlzIGEgdXR4by1zcGVjaWZpYyBjb25jZXB0IGFuZCB0aGlzIHByb3BlcnR5IHNob3VsZFxuICAvLyBiZSByZW1vdmVkIG9uY2UgaXQgaXQncyB1c2FnZSBpcyByZWZhY3RvcmVkIG91dCBvZiBiYXNlIGNvaW4gbG9naWNcbiAgY2hhbmdlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgSW5wdXQgPSB7XG4gIGRlcml2YXRpb25JbmRleD86IG51bWJlcjtcbiAgdmFsdWU6IG51bWJlcjtcbiAgYWRkcmVzcz86IHN0cmluZztcbiAgdmFsdWVTdHJpbmc6IHN0cmluZztcbiAgLy8gdGhlIHByb3BlcnRpZXMgYmVsb3cgYXJlIHV0eG8tcmVsYXRlZCBidXQgYXJlIGN1cnJlbnRseSB1c2VkIGluIGFic3RyYWN0QmFzZUNvaW5cbiAgLy8gdGhlc2Ugc2hvdWxkIGJlIHJlbW92ZWQgb25jZSB0aGVpciB1c2FnZSBpcyByZW1vdmVkIGZyb20gdGhlIGJhc2UgY29pbiBjbGFzc1xuICBjaGFpbj86IG51bWJlcjtcbiAgaW5kZXg/OiBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSBVbnNpZ25lZFRyYW5zYWN0aW9uID0ge1xuICAvLyB1bnNpZ25lZCB0cmFuc2FjdGlvbiBpbiBicm9hZGNhc3QgZm9ybWF0XG4gIHNlcmlhbGl6ZWRUeEhleDogc3RyaW5nO1xuICAvLyBwb3J0aW9uIG9mIGEgdHJhbnNhY3Rpb24gdXNlZCB0byBnZW5lcmF0ZSBhIHNpZ25hdHVyZVxuICBzaWduYWJsZUhleDogc3RyaW5nO1xuICAvLyB0cmFuc2FjdGlvbiBmZWVzXG4gIGZlZUluZm8/OiB7XG4gICAgZmVlOiBudW1iZXIgfCBCaWdOdW1iZXI7XG4gICAgZmVlU3RyaW5nOiBzdHJpbmc7XG4gIH07XG4gIC8vIGRlcml2YXRpb24gcGF0aCBvZiB0aGUgc2lnbmVyXG4gIGRlcml2YXRpb25QYXRoOiBzdHJpbmc7XG4gIGNvaW5TcGVjaWZpYz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBlbnRyeVZhbHVlczogYW55O1xuICBwYXJzZWRUeDogVW5zaWduZWRQYXJzZWRUcmFuc2FjdGlvbjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXhwbGFuYXRpb25SZXN1bHQgZXh0ZW5kcyBJVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB7XG4gIHNlcXVlbmNlSWQ6IG51bWJlcjtcbiAgdHlwZT86IHN0cmluZztcbiAgb3V0cHV0czogT3V0cHV0W107XG4gIGJsb2NrTnVtYmVyOiBudW1iZXIgfCB1bmtub3duO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElUcmFuc2FjdGlvblJlY2lwaWVudCB7XG4gIGFkZHJlc3M6IHN0cmluZztcbiAgYW1vdW50OiBzdHJpbmcgfCBudW1iZXI7XG4gIHRva2VuTmFtZT86IHN0cmluZztcbiAgbWVtbz86IHN0cmluZztcbiAgZGF0YT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgdG9rZW4gZW5hYmxlbWVudCAoZS5nLiwgY3JlYXRpb24gb2YgYW4gYXNzb2NpYXRlZCB0b2tlbiBhY2NvdW50KVxuICovXG5leHBvcnQgaW50ZXJmYWNlIElUb2tlbkVuYWJsZW1lbnQge1xuICBhZGRyZXNzOiBzdHJpbmc7IC8vIEFzc29jaWF0ZWQgdG9rZW4gYWNjb3VudCBhZGRyZXNzXG4gIHRva2VuTmFtZTogc3RyaW5nOyAvLyBOYW1lIG9mIHRoZSB0b2tlbiBiZWluZyBlbmFibGVkXG4gIHRva2VuQWRkcmVzcz86IHN0cmluZzsgLy8gQ29udHJhY3QgYWRkcmVzcyBvZiB0aGUgdG9rZW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVHJhbnNhY3Rpb25GZWU8VEFtb3VudCA9IHN0cmluZz4ge1xuICBmZWU6IFRBbW91bnQ7XG4gIGZlZVJhdGU/OiBudW1iZXI7XG4gIHNpemU/OiBudW1iZXI7XG59XG5cbmV4cG9ydCB0eXBlIEF1ZGl0S2V5UGFyYW1zID0geyBwcnY/OiBzdHJpbmc7IGVuY3J5cHRlZFBydj86IHN0cmluZzsgd2FsbGV0UGFzc3BocmFzZT86IHN0cmluZyB9ICYgKFxuICB8IHsgcHJ2OiBzdHJpbmcgfVxuICB8IHsgZW5jcnlwdGVkUHJ2OiBzdHJpbmc7IHdhbGxldFBhc3NwaHJhc2U6IHN0cmluZyB9XG4pICZcbiAgKFxuICAgIHwge1xuICAgICAgICBtdWx0aVNpZ1R5cGU6ICd0c3MnO1xuICAgICAgICBwdWJsaWNLZXk6IHN0cmluZztcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgbXVsdGlTaWdUeXBlPzogJ29uY2hhaW4nO1xuICAgICAgICBwdWJsaWNLZXk/OiBzdHJpbmc7XG4gICAgICB9XG4gICk7XG5cbmV4cG9ydCB0eXBlIEF1ZGl0RGVjcnlwdGVkS2V5UGFyYW1zID0gT21pdDxBdWRpdEtleVBhcmFtcywgJ2VuY3J5cHRlZFBydicgfCAnd2FsbGV0UGFzc3BocmFzZSc+ICYgeyBwcnY6IHN0cmluZyB9O1xuXG5leHBvcnQgaW50ZXJmYWNlIElUcmFuc2FjdGlvbkV4cGxhbmF0aW9uPFRGZWUgPSBhbnksIFRBbW91bnQgPSBhbnk+IHtcbiAgLyoqIEBkZXByZWNhdGVkICovXG4gIGRpc3BsYXlPcmRlcj86IHN0cmluZ1tdO1xuICBpZDogc3RyaW5nO1xuICAvKiogTk9URTogRXh0ZXJuYWwgcmVjaXBpZW50cyAqL1xuICBvdXRwdXRzOiBJVHJhbnNhY3Rpb25SZWNpcGllbnRbXTtcbiAgLyoqIE5PVEU6IEV4dGVybmFsIGFtb3VudCAqL1xuICBvdXRwdXRBbW91bnQ6IFRBbW91bnQ7XG4gIGNoYW5nZU91dHB1dHM6IElUcmFuc2FjdGlvblJlY2lwaWVudFtdO1xuICBjaGFuZ2VBbW91bnQ6IFRBbW91bnQ7XG4gIGZlZTogVEZlZTtcbiAgcHJveHk/OiBzdHJpbmc7XG4gIHByb2R1Y2Vycz86IHN0cmluZ1tdO1xuICAvKiogTk9URTogVG9rZW5zIGJlaW5nIGVuYWJsZWQgZm9yIHRoZSB3YWxsZXQgKi9cbiAgdG9rZW5FbmFibGVtZW50cz86IElUb2tlbkVuYWJsZW1lbnRbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBLZXlQYWlyIHtcbiAgcHViPzogc3RyaW5nO1xuICBwcnY6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQmxzS2V5UGFpciBleHRlbmRzIEtleVBhaXIge1xuICBzZWNyZXRTaGFyZXM/OiBzdHJpbmdbXTtcbiAgY2hhaW5jb2RlOiBzdHJpbmc7XG4gIHNlZWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmVyaWZ5QWRkcmVzc09wdGlvbnMge1xuICBmb3JtYXQ/OiBDcmVhdGVBZGRyZXNzRm9ybWF0O1xuICBhZGRyZXNzOiBzdHJpbmc7XG4gIGFkZHJlc3NUeXBlPzogc3RyaW5nO1xuICBrZXljaGFpbnM/OiB7XG4gICAgcHViOiBzdHJpbmc7XG4gIH1bXTtcbiAgZXJyb3I/OiBzdHJpbmc7XG4gIGNvaW5TcGVjaWZpYz86IEFkZHJlc3NDb2luU3BlY2lmaWM7XG4gIGltcGxpZWRGb3J3YXJkZXJWZXJzaW9uPzogbnVtYmVyO1xuICAvKipcbiAgICogT3B0aW9uYWwgc2VlZCB2YWx1ZSBmcm9tIHVzZXIga2V5Y2hhaW4ncyBkZXJpdmVkRnJvbVBhcmVudFdpdGhTZWVkIGZpZWxkLlxuICAgKiBGb3IgU01DIChTZWxmLU1hbmFnZWQgQ3VzdG9kaWFsKSBUU1Mgd2FsbGV0cywgdGhpcyBpcyB1c2VkIHRvIGNvbXB1dGUgdGhlIGRlcml2YXRpb24gcHJlZml4LlxuICAgKi9cbiAgZGVyaXZlZEZyb21QYXJlbnRXaXRoU2VlZD86IHN0cmluZztcbiAgLyoqXG4gICAqIElkZW50aWZpZXMgdGhlIE1QQyBzaWduaW5nIHByb3RvY29sIHZlcnNpb24gb2YgdGhlIHdhbGxldCAoZS5nLiAnTVBDdjInKS5cbiAgICogVXNlZCB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIE1QQ3YxIGFuZCBNUEN2MiB3YWxsZXRzLlxuICAgKi9cbiAgbXVsdGlzaWdUeXBlVmVyc2lvbj86ICdNUEN2Mic7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgdmVyaWZ5aW5nIGlmIGFuIGFkZHJlc3MgYmVsb25ncyB0byBhIFRTUy9NUEMgd2FsbGV0LlxuICogVXNlZCBmb3IgRWREU0EtYmFzZWQgTVBDIGNvaW5zIChTT0wsIERPVCwgU1VJLCBUT04sIElPVEEsIE5FQVIsIGV0Yy4pXG4gKiB0byBjcnlwdG9ncmFwaGljYWxseSB2ZXJpZnkgYWRkcmVzcyBkZXJpdmF0aW9uIHdpdGhvdXQgdHJ1c3RpbmcgdGhlIHBsYXRmb3JtLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRzc1ZlcmlmeUFkZHJlc3NPcHRpb25zIHtcbiAgLyoqIFRoZSBhZGRyZXNzIHRvIHZlcmlmeSAqL1xuICBhZGRyZXNzOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBLZXljaGFpbnMgY29udGFpbmluZyB0aGUgY29tbW9uS2V5Y2hhaW4gZm9yIEhEIGRlcml2YXRpb24uXG4gICAqIEZvciBNUEMgd2FsbGV0cywgdGhlIGNvbW1vbktleWNoYWluIChjb21iaW5lZCBwdWJsaWMga2V5IGZyb20gTVBDIGtleSBnZW5lcmF0aW9uKVxuICAgKiBzaG91bGQgYmUgaWRlbnRpY2FsIGFjcm9zcyBhbGwga2V5Y2hhaW5zICh1c2VyLCBiYWNrdXAsIGJpdGdvKS5cbiAgICovXG4gIGtleWNoYWluczogUGljazxLZXljaGFpbiwgJ2NvbW1vbktleWNoYWluJz5bXTtcbiAgLyoqXG4gICAqIERlcml2YXRpb24gaW5kZXggZm9yIHRoZSBhZGRyZXNzLlxuICAgKiBVc2VkIHRvIGRlcml2ZSBjaGlsZCBhZGRyZXNzZXMgZnJvbSB0aGUgcm9vdCBrZXljaGFpbiB2aWEgSEQgZGVyaXZhdGlvbiBwYXRoOiBtL3tpbmRleH1cbiAgICogRm9yIFNNQyAoU2VsZi1NYW5hZ2VkIEN1c3RvZGlhbCkgd2FsbGV0cywgdGhlIHBhdGggaW5jbHVkZXMgYSBwcmVmaXg6IG0ve2Rlcml2YXRpb25QcmVmaXh9L3tpbmRleH1cbiAgICovXG4gIGluZGV4OiBudW1iZXIgfCBzdHJpbmc7XG4gIC8qKlxuICAgKiBPcHRpb25hbCBzZWVkIHZhbHVlIGZyb20gdXNlciBrZXljaGFpbidzIGRlcml2ZWRGcm9tUGFyZW50V2l0aFNlZWQgZmllbGQuXG4gICAqIEZvciBTTUMgKFNlbGYtTWFuYWdlZCBDdXN0b2RpYWwpIHdhbGxldHMsIHRoaXMgaXMgdXNlZCB0byBjb21wdXRlIHRoZSBkZXJpdmF0aW9uIHByZWZpeC5cbiAgICogVGhlIGRlcml2YXRpb24gcGF0aCBiZWNvbWVzIHtjb21wdXRlZFByZWZpeH0ve2luZGV4fSBpbnN0ZWFkIG9mIG0ve2luZGV4fS5cbiAgICovXG4gIGRlcml2ZWRGcm9tUGFyZW50V2l0aFNlZWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJZGVudGlmaWVzIHRoZSBNUEMgc2lnbmluZyBwcm90b2NvbCB2ZXJzaW9uIG9mIHRoZSB3YWxsZXQgKGUuZy4gJ01QQ3YyJykuXG4gICAqIFVzZWQgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiBNUEN2MSBhbmQgTVBDdjIgd2FsbGV0cy5cbiAgICovXG4gIG11bHRpc2lnVHlwZVZlcnNpb24/OiAnTVBDdjInO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNUc3NWZXJpZnlBZGRyZXNzT3B0aW9uczxUIGV4dGVuZHMgVmVyaWZ5QWRkcmVzc09wdGlvbnMgfCBUc3NWZXJpZnlBZGRyZXNzT3B0aW9ucz4oXG4gIHBhcmFtczogVFxuKTogcGFyYW1zIGlzIFQgJiBUc3NWZXJpZnlBZGRyZXNzT3B0aW9ucyB7XG4gIHJldHVybiAhIShcbiAgICAna2V5Y2hhaW5zJyBpbiBwYXJhbXMgJiZcbiAgICAnaW5kZXgnIGluIHBhcmFtcyAmJlxuICAgICdhZGRyZXNzJyBpbiBwYXJhbXMgJiZcbiAgICBwYXJhbXMua2V5Y2hhaW5zPy5zb21lKChrYykgPT4gJ2NvbW1vbktleWNoYWluJyBpbiBrYyAmJiAhIWtjLmNvbW1vbktleWNoYWluKVxuICApO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zYWN0aW9uUGFyYW1zIHtcbiAgcmVjaXBpZW50cz86IElUcmFuc2FjdGlvblJlY2lwaWVudFtdO1xuICB3YWxsZXRQYXNzcGhyYXNlPzogc3RyaW5nO1xuICB0eXBlPzogc3RyaW5nO1xuICBtZW1vPzogTWVtbztcbiAgZW5hYmxlVG9rZW5zPzogVG9rZW5FbmFibGVtZW50W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRkcmVzc1ZlcmlmaWNhdGlvbkRhdGEge1xuICBjb2luU3BlY2lmaWM/OiBBZGRyZXNzQ29pblNwZWNpZmljO1xuICBjaGFpbj86IG51bWJlcjtcbiAgaW5kZXg/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmVyaWZpY2F0aW9uT3B0aW9ucyB7XG4gIGRpc2FibGVOZXR3b3JraW5nPzogYm9vbGVhbjtcbiAga2V5Y2hhaW5zPzoge1xuICAgIHVzZXI/OiBLZXljaGFpbjtcbiAgICBiYWNrdXA/OiBLZXljaGFpbjtcbiAgICBiaXRnbz86IEtleWNoYWluO1xuICB9O1xuICBhZGRyZXNzZXM/OiB7IFthZGRyZXNzOiBzdHJpbmddOiBBZGRyZXNzVmVyaWZpY2F0aW9uRGF0YSB9O1xuICBhbGxvd1BheWdvT3V0cHV0PzogYm9vbGVhbjtcbiAgY29uc2lkZXJNaWdyYXRlZEZyb21BZGRyZXNzSW50ZXJuYWw/OiBib29sZWFuO1xuICB2ZXJpZnlUb2tlbkVuYWJsZW1lbnQ/OiBib29sZWFuO1xuICAvLyBWZXJpZnkgdHJhbnNhY3Rpb24gaXMgY29uc29saWRhdGluZyB0byB3YWxsZXQncyBiYXNlIGFkZHJlc3NcbiAgY29uc29saWRhdGlvblRvQmFzZUFkZHJlc3M/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZlcmlmeVRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIHR4UHJlYnVpbGQ6IFRyYW5zYWN0aW9uUHJlYnVpbGQ7XG4gIHR4UGFyYW1zOiBUcmFuc2FjdGlvblBhcmFtcztcbiAgd2FsbGV0OiBJV2FsbGV0O1xuICB2ZXJpZmljYXRpb24/OiBWZXJpZmljYXRpb25PcHRpb25zO1xuICByZXFJZD86IElSZXF1ZXN0VHJhY2VyO1xuICB3YWxsZXRUeXBlPzogJ29uY2hhaW4nIHwgJ3Rzcyc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3VwcGxlbWVudEdlbmVyYXRlV2FsbGV0T3B0aW9ucyB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIG0/OiBudW1iZXI7XG4gIG4/OiBudW1iZXI7XG4gIGVudGVycHJpc2U/OiBzdHJpbmc7XG4gIGRpc2FibGVUcmFuc2FjdGlvbk5vdGlmaWNhdGlvbnM/OiBib29sZWFuO1xuICBnYXNQcmljZT86IG51bWJlciB8IHN0cmluZztcbiAgZWlwMTU1OT86IHtcbiAgICBtYXhGZWVQZXJHYXM6IG51bWJlciB8IHN0cmluZztcbiAgICBtYXhQcmlvcml0eUZlZVBlckdhcz86IG51bWJlciB8IHN0cmluZztcbiAgfTtcbiAgd2FsbGV0VmVyc2lvbj86IG51bWJlcjtcbiAga2V5cz86IHN0cmluZ1tdO1xuICBrZXlTaWduYXR1cmVzPzoge1xuICAgIGJhY2t1cDogc3RyaW5nO1xuICAgIGJpdGdvOiBzdHJpbmc7XG4gIH07XG4gIHJvb3RQcml2YXRlS2V5Pzogc3RyaW5nO1xuICBkaXNhYmxlS1JTRW1haWw/OiBib29sZWFuO1xuICBtdWx0aXNpZ1R5cGU/OiAndHNzJyB8ICdvbmNoYWluJyB8ICdibHNka2cnO1xuICB0eXBlOiAnaG90JyB8ICdjb2xkJyB8ICdjdXN0b2RpYWwnIHwgJ2FkdmFuY2VkJyB8ICd0cmFkaW5nJztcbiAgc3ViVHlwZT86ICdsaWdodG5pbmdDdXN0b2R5JyB8ICdsaWdodG5pbmdTZWxmQ3VzdG9keScgfCAnb25QcmVtJztcbiAgY29pblNwZWNpZmljPzogeyBbY29pbk5hbWU6IHN0cmluZ106IHVua25vd24gfTtcbiAgZXZtS2V5UmluZ1JlZmVyZW5jZVdhbGxldElkPzogc3RyaW5nO1xuICBsaWdodG5pbmdQcm92aWRlcj86ICd2b2x0YWdlJyB8ICdhbWJvc3MnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZlZUVzdGltYXRlT3B0aW9ucyB7XG4gIG51bUJsb2Nrcz86IG51bWJlcjtcbiAgaG9wPzogYm9vbGVhbjtcbiAgcmVjaXBpZW50Pzogc3RyaW5nO1xuICBkYXRhPzogc3RyaW5nO1xuICBhbW91bnQ/OiBzdHJpbmc7XG4gIHR5cGU/OiBrZXlvZiB0eXBlb2YgVHJhbnNhY3Rpb25UeXBlO1xufVxuXG4vLyBUT0RPIChTREtULTkpOiByZXZlcnNlIGVuZ2luZWVyIGFuZCBhZGQgb3B0aW9uc1xuZXhwb3J0IGludGVyZmFjZSBFeHRyYVByZWJ1aWxkUGFyYW1zT3B0aW9ucyB7XG4gIFtpbmRleDogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuLy8gVE9ETyAoU0RLVC05KTogcmV2ZXJzZSBlbmdpbmVlciBhbmQgYWRkIG9wdGlvbnNcbmV4cG9ydCBpbnRlcmZhY2UgUHJlc2lnblRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIHR4UHJlYnVpbGQ/OiBUcmFuc2FjdGlvblByZWJ1aWxkO1xuICB3YWxsZXREYXRhOiBXYWxsZXREYXRhO1xuICB0c3NVdGlsczogRWNkc2FVdGlscyB8IEVjZHNhTVBDdjJVdGlscyB8IEVkZHNhVXRpbHMgfCBFZGRzYU1QQ3YyVXRpbHMgfCB1bmRlZmluZWQ7XG4gIFtpbmRleDogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuLy8gVE9ETyAoU0RLVC05KTogcmV2ZXJzZSBlbmdpbmVlciBhbmQgYWRkIG9wdGlvbnNcbmV4cG9ydCBpbnRlcmZhY2UgUHJlY3JlYXRlQml0R29PcHRpb25zIHtcbiAgW2luZGV4OiBzdHJpbmddOiB1bmtub3duO1xufVxuXG4vLyBUT0RPIChTREtULTkpOiByZXZlcnNlIGVuZ2luZWVyIGFuZCBhZGQgb3B0aW9uc1xuZXhwb3J0IGludGVyZmFjZSBWZXJpZnlSZWNvdmVyeVRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIFtpbmRleDogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuLy8gVE9ETyAoU0RLVC05KTogcmV2ZXJzZSBlbmdpbmVlciBhbmQgYWRkIG9wdGlvbnNcbmV4cG9ydCBpbnRlcmZhY2UgUGFyc2VUcmFuc2FjdGlvbk9wdGlvbnMge1xuICBbaW5kZXg6IHN0cmluZ106IHVua25vd247XG59XG5cbi8qKlxuICogVGhpcyBpcyBvbmx5IHVzZWQgZm9yIGRldGVybWluaW5nIHRoZSBQYXlHbyBmZWUgb2YgYSB0cmFuc2FjdGlvbiB3aGljaCBpcyBvbmx5IHJlbGV2YW50IGZvciBVVFhPIGNvaW5zLlxuICogU29tZSBjb2lucyByZXR1cm4gdmFyaW91cyBvdGhlciBmaWVsZHMgaGVyZSwgYnV0IHRoZXkgYXJlIG9ubHkgdXNlZCBpbnRlcm5hbGx5IGJ5IHRoZSByZXNwZWN0aXZlIGNvaW5zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnNlZFRyYW5zYWN0aW9uIHtcbiAgLy8gdGhlIGNhbGxzaXRlIGFzc3VtZXMgdGhhdCB0aGlzIGlzIHRoZSBQYXlHbyBhbW91bnRcbiAgaW1wbGljaXRFeHRlcm5hbFNwZW5kQW1vdW50PzogbnVtYmVyIHwgYmlnaW50O1xuICAvLyBjb2lucyBtYXkgYWRkIGludGVybmFsIGZpZWxkc1xuICBbaW5kZXg6IHN0cmluZ106IHVua25vd247XG59XG5cbi8vIFRPRE8gKFNES1QtOSk6IHJldmVyc2UgZW5naW5lZXIgYW5kIGFkZCBvcHRpb25zXG5leHBvcnQgdHlwZSBVbnNpZ25lZFBhcnNlZFRyYW5zYWN0aW9uID0ge1xuICBpbnB1dHM6IElucHV0W107XG4gIG1pbmVyRmVlOiBudW1iZXIgfCBzdHJpbmc7XG4gIG91dHB1dHM6IE91dHB1dFtdO1xuICBzcGVuZEFtb3VudDogbnVtYmVyIHwgc3RyaW5nO1xuICBoYXNVbnZhbGlkYXRlZERhdGE/OiBib29sZWFuO1xuICBwYXlHb0ZlZT86IG51bWJlcjtcbiAgdHlwZT86IHN0cmluZztcbiAgc2VxdWVuY2VJZDogbnVtYmVyO1xuICBpZDogc3RyaW5nO1xufTtcblxuLy8gVE9ETyAoU0RLVC05KTogcmV2ZXJzZSBlbmdpbmVlciBhbmQgYWRkIG9wdGlvbnNcbmV4cG9ydCBpbnRlcmZhY2UgU2lnblRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIFtpbmRleDogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBLZXljaGFpbnNUcmlwbGV0IHtcbiAgdXNlcktleWNoYWluOiBLZXljaGFpbjtcbiAgYmFja3VwS2V5Y2hhaW46IEtleWNoYWluO1xuICBiaXRnb0tleWNoYWluOiBLZXljaGFpbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaWdodG5pbmdLZXljaGFpbnNUcmlwbGV0IHtcbiAgdXNlcktleWNoYWluOiBLZXljaGFpbjtcbiAgdXNlckF1dGhLZXljaGFpbjogS2V5Y2hhaW47XG4gIG5vZGVBdXRoS2V5Y2hhaW46IEtleWNoYWluO1xufVxuXG5pbnRlcmZhY2UgQnVpbGRQYXJhbXMge1xuICBwcmV2aWV3PzogYm9vbGVhbjtcbiAgcmVjaXBpZW50cz86IElUcmFuc2FjdGlvblJlY2lwaWVudFtdO1xufVxuXG5pbnRlcmZhY2UgQmFzZVNpZ25hYmxlIHtcbiAgd2FsbGV0PzogSVdhbGxldDtcbiAgYnVpbGRQYXJhbXM/OiBCdWlsZFBhcmFtcyAmIFBhcnRpYWw8YW55PjtcbiAgY29uc29saWRhdGVJZD86IHN0cmluZztcbiAgdHhSZXF1ZXN0SWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNhY3Rpb25QcmVidWlsZCBleHRlbmRzIEJhc2VTaWduYWJsZSB7XG4gIHR4QmFzZTY0Pzogc3RyaW5nO1xuICB0eEhleD86IHN0cmluZztcbiAgdHhJbmZvPzogdW5rbm93bjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlIGV4dGVuZHMgQmFzZVNpZ25hYmxlIHtcbiAgbWVzc2FnZVJhdzogc3RyaW5nO1xuICBtZXNzYWdlRW5jb2RlZD86IHN0cmluZztcbiAgbWVzc2FnZVN0YW5kYXJkVHlwZT86IE1lc3NhZ2VTdGFuZGFyZFR5cGU7XG4gIHNpZ25lckFkZHJlc3M/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZVR5cGVQcm9wZXJ0eSB7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlVHlwZXMge1xuICBFSVA3MTJEb21haW46IE1lc3NhZ2VUeXBlUHJvcGVydHlbXTtcbiAgW2FkZGl0aW9uYWxQcm9wZXJ0aWVzOiBzdHJpbmddOiBNZXNzYWdlVHlwZVByb3BlcnR5W107XG59XG5cbmV4cG9ydCBlbnVtIFNpZ25UeXBlZERhdGFWZXJzaW9uIHtcbiAgVjEgPSAnVjEnLFxuICBWMyA9ICdWMycsXG4gIFY0ID0gJ1Y0Jyxcbn1cblxuLyoqXG4gKiBUaGlzIGlzIHRoZSBtZXNzYWdlIGZvcm1hdCB1c2VkIGZvciBgc2lnblR5cGVEYXRhYCwgZm9yIGFsbCB2ZXJzaW9uc1xuICogZXhjZXB0IGBWMWAuXG4gKlxuICogQHRlbXBsYXRlIFQgLSBUaGUgY3VzdG9tIHR5cGVzIHVzZWQgYnkgdGhpcyBtZXNzYWdlLlxuICogQHByb3BlcnR5IHR5cGVzIC0gVGhlIGN1c3RvbSB0eXBlcyB1c2VkIGJ5IHRoaXMgbWVzc2FnZS5cbiAqIEBwcm9wZXJ0eSBwcmltYXJ5VHlwZSAtIFRoZSB0eXBlIG9mIHRoZSBtZXNzYWdlLlxuICogQHByb3BlcnR5IGRvbWFpbiAtIFNpZ25pbmcgZG9tYWluIG1ldGFkYXRhLiBUaGUgc2lnbmluZyBkb21haW4gaXMgdGhlIGludGVuZGVkIGNvbnRleHQgZm9yIHRoZVxuICogc2lnbmF0dXJlIChlLmcuIHRoZSBkYXBwLCBwcm90b2NvbCwgZXRjLiB0aGF0IGl0J3MgaW50ZW5kZWQgZm9yKS4gVGhpcyBkYXRhIGlzIHVzZWQgdG9cbiAqIGNvbnN0cnVjdCB0aGUgZG9tYWluIHNlcGVyYXRvciBvZiB0aGUgbWVzc2FnZS5cbiAqIEBwcm9wZXJ0eSBkb21haW4ubmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBzaWduaW5nIGRvbWFpbi5cbiAqIEBwcm9wZXJ0eSBkb21haW4udmVyc2lvbiAtIFRoZSBjdXJyZW50IG1ham9yIHZlcnNpb24gb2YgdGhlIHNpZ25pbmcgZG9tYWluLlxuICogQHByb3BlcnR5IGRvbWFpbi5jaGFpbklkIC0gVGhlIGNoYWluIElEIG9mIHRoZSBzaWduaW5nIGRvbWFpbi5cbiAqIEBwcm9wZXJ0eSBkb21haW4udmVyaWZ5aW5nQ29udHJhY3QgLSBUaGUgYWRkcmVzcyBvZiB0aGUgY29udHJhY3QgdGhhdCBjYW4gdmVyaWZ5IHRoZSBzaWduYXR1cmUuXG4gKiBAcHJvcGVydHkgZG9tYWluLnNhbHQgLSBBIGRpc2FtYmlndWF0aW5nIHNhbHQgZm9yIHRoZSBwcm90b2NvbC5cbiAqIEBwcm9wZXJ0eSBtZXNzYWdlIC0gVGhlIG1lc3NhZ2UgdG8gYmUgc2lnbmVkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVkTWVzc2FnZTxUIGV4dGVuZHMgTWVzc2FnZVR5cGVzPiB7XG4gIHR5cGVzOiBUO1xuICBwcmltYXJ5VHlwZToga2V5b2YgVDtcbiAgZG9tYWluOiB7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICB2ZXJzaW9uPzogc3RyaW5nO1xuICAgIGNoYWluSWQ/OiBudW1iZXI7XG4gICAgdmVyaWZ5aW5nQ29udHJhY3Q/OiBzdHJpbmc7XG4gICAgc2FsdD86IEFycmF5QnVmZmVyO1xuICB9O1xuICBtZXNzYWdlOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUeXBlZERhdGEgZXh0ZW5kcyBCYXNlU2lnbmFibGUge1xuICB0eXBlZERhdGFSYXc6IHN0cmluZztcbiAgdmVyc2lvbjogU2lnblR5cGVkRGF0YVZlcnNpb247XG4gIHR5cGVkRGF0YUVuY29kZWQ/OiBCdWZmZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRkcmVzc0NvaW5TcGVjaWZpYyB7XG4gIG91dHB1dFNjcmlwdD86IHN0cmluZztcbiAgcmVkZWVtU2NyaXB0Pzogc3RyaW5nO1xuICB3aXRuZXNzU2NyaXB0Pzogc3RyaW5nO1xuICBiYXNlQWRkcmVzcz86IHN0cmluZztcbiAgcGVuZGluZ0NoYWluSW5pdGlhbGl6YXRpb24/OiBib29sZWFuO1xuICBmb3J3YXJkZXJWZXJzaW9uPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZ1bGx5U2lnbmVkVHJhbnNhY3Rpb24ge1xuICB0eEhleDogc3RyaW5nOyAvLyBUcmFuc2FjdGlvbiBpbiBhbnkgZm9ybWF0IHJlcXVpcmVkIGJ5IGVhY2ggY29pbiwgaS5lLiBpbiBUcm9uIGl0IGlzIGEgc3RyaW5naWZ5ZWQgSlNPTlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhhbGZTaWduZWRVdHhvVHJhbnNhY3Rpb24ge1xuICB0eEhleDogc3RyaW5nO1xuICAvKipcbiAgICogUFNCVC1saXRlIGhleCBwcmVzZXJ2ZWQgZnJvbSBhIHBlbmRpbmcgYXBwcm92YWwncyBjb2luU3BlY2lmaWMuXG4gICAqIE9ubHkgcHJlc2VudCBpbiB0aGUgUEEgYXBwcm92YWwgZmxvdyDigJQgbm90IGluIHJlZ3VsYXIgc2lnbi9zZW5kIGZsb3dzLlxuICAgKi9cbiAgdHhIZXhQc2J0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhhbGZTaWduZWRBY2NvdW50VHJhbnNhY3Rpb24ge1xuICBoYWxmU2lnbmVkPzoge1xuICAgIHR4SGV4Pzogc3RyaW5nOyAvLyBUcmFuc2FjdGlvbiBpbiBhbnkgZm9ybWF0IHJlcXVpcmVkIGJ5IGVhY2ggY29pbiwgaS5lLiBpbiBUcm9uIGl0IGlzIGEgc3RyaW5naWZ5ZWQgSlNPTlxuICAgIHBheWxvYWQ/OiBzdHJpbmc7XG4gICAgdHhCYXNlNjQ/OiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGFsZlNpZ25lZFRyYW5zYWN0aW9uIGV4dGVuZHMgSGFsZlNpZ25lZEFjY291bnRUcmFuc2FjdGlvbiB7XG4gIGhhbGZTaWduZWQ6IHtcbiAgICByZWNpcGllbnRzOiBSZWNpcGllbnRbXTtcbiAgICBleHBpcmVUaW1lPzogbnVtYmVyO1xuICAgIGNvbnRyYWN0U2VxdWVuY2VJZD86IG51bWJlcjtcbiAgICBzZXF1ZW5jZUlkPzogbnVtYmVyO1xuICAgIHR4SGV4PzogbmV2ZXI7XG4gICAgaXNCYXRjaD86IGJvb2xlYW47XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbmVkVHJhbnNhY3Rpb25SZXF1ZXN0IHtcbiAgdHhSZXF1ZXN0SWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZXJpdmVLZXlXaXRoU2VlZE9wdGlvbnMge1xuICBrZXk6IHN0cmluZztcbiAgc2VlZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZhbGlkTW9mTk9wdGlvbnMge1xuICBtPzogbnVtYmVyO1xuICBuPzogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBTaWduZWRUcmFuc2FjdGlvbiA9XG4gIHwgSGFsZlNpZ25lZEFjY291bnRUcmFuc2FjdGlvblxuICB8IEhhbGZTaWduZWRVdHhvVHJhbnNhY3Rpb25cbiAgfCBGdWxseVNpZ25lZFRyYW5zYWN0aW9uXG4gIHwgU2lnbmVkVHJhbnNhY3Rpb25SZXF1ZXN0XG4gIHwgVHhSZXF1ZXN0O1xuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25lZE1lc3NhZ2Uge1xuICBjb2luPzogc3RyaW5nO1xuICAvLyBAZGVwcmVjYXRlZCAtIHVzZSBgc2lnbmF0dXJlYCBpbnN0ZWFkXG4gIHR4SGFzaDogc3RyaW5nO1xuICBzaWduYXR1cmU6IHN0cmluZztcbiAgbWVzc2FnZVJhdzogc3RyaW5nO1xuICBtZXNzYWdlRW5jb2RlZD86IHN0cmluZztcbiAgbWVzc2FnZVN0YW5kYXJkVHlwZT86IE1lc3NhZ2VTdGFuZGFyZFR5cGU7XG4gIHR4UmVxdWVzdElkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVjb3ZlcldhbGxldFRva2VuT3B0aW9ucyB7XG4gIHRva2VuQ29udHJhY3RBZGRyZXNzOiBzdHJpbmc7XG4gIHdhbGxldDogSVdhbGxldDtcbiAgcmVjaXBpZW50OiBzdHJpbmc7XG4gIGJyb2FkY2FzdD86IGJvb2xlYW47XG4gIHdhbGxldFBhc3NwaHJhc2U/OiBzdHJpbmc7XG4gIHBydj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWNpcGllbnQge1xuICBhZGRyZXNzOiBzdHJpbmc7XG4gIGFtb3VudDogc3RyaW5nO1xuICBkYXRhPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlY292ZXJUb2tlblRyYW5zYWN0aW9uIHtcbiAgaGFsZlNpZ25lZDoge1xuICAgIHJlY2lwaWVudDogUmVjaXBpZW50O1xuICAgIGV4cGlyZVRpbWU6IG51bWJlcjtcbiAgICBjb250cmFjdFNlcXVlbmNlSWQ6IG51bWJlcjtcbiAgICBvcGVyYXRpb25IYXNoOiBzdHJpbmc7XG4gICAgc2lnbmF0dXJlOiBzdHJpbmc7XG4gICAgZ2FzTGltaXQ6IG51bWJlcjtcbiAgICBnYXNQcmljZTogbnVtYmVyO1xuICAgIHRva2VuQ29udHJhY3RBZGRyZXNzOiBzdHJpbmc7XG4gICAgd2FsbGV0SWQ6IHN0cmluZztcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUb2tlbkVuYWJsZW1lbnRDb25maWcge1xuICByZXF1aXJlc1Rva2VuRW5hYmxlbWVudDogYm9vbGVhbjtcbiAgc3VwcG9ydHNNdWx0aXBsZVRva2VuRW5hYmxlbWVudHM6IGJvb2xlYW47XG4gIHZhbGlkYXRlV2FsbGV0PzogKHdhbGxldFR5cGU6IHN0cmluZykgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlUHJlcCB7XG4gIGVuY29kZU1lc3NhZ2UobWVzc2FnZTogc3RyaW5nKTogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBNUENBbGdvcml0aG0gPSAnZWNkc2EnIHwgJ2VkZHNhJztcblxuZXhwb3J0IHR5cGUgTkZUVHJhbnNmZXJPcHRpb25zID0ge1xuICB0b2tlbkNvbnRyYWN0QWRkcmVzczogc3RyaW5nO1xuICByZWNpcGllbnRBZGRyZXNzOiBzdHJpbmc7XG59ICYgKFxuICB8IHtcbiAgICAgIHR5cGU6ICdFUkM3MjEnIHwgVG9rZW5UeXBlLkRJR0lUQUxfQVNTRVQ7XG4gICAgICB0b2tlbklkOiBzdHJpbmc7XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6ICdFUkMxMTU1JztcbiAgICAgIGVudHJpZXM6IHsgdG9rZW5JZDogc3RyaW5nOyBhbW91bnQ6IG51bWJlciB9W107XG4gICAgfVxuKTtcblxuZXhwb3J0IHR5cGUgQnVpbGROZnRUcmFuc2ZlckRhdGFPcHRpb25zID0gTkZUVHJhbnNmZXJPcHRpb25zICYge1xuICBmcm9tQWRkcmVzczogc3RyaW5nO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBCYXNlQnJvYWRjYXN0VHJhbnNhY3Rpb25PcHRpb25zIHtcbiAgc2VyaWFsaXplZFNpZ25lZFRyYW5zYWN0aW9uOiBzdHJpbmc7XG4gIHRyYW5zYWN0aW9ucz86IE1QQ1R4W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZUJyb2FkY2FzdFRyYW5zYWN0aW9uUmVzdWx0IHtcbiAgdHhJZD86IHN0cmluZztcbiAgdHhJZHM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQmFzZUNvaW4ge1xuICB0eXBlOiBzdHJpbmc7XG4gIHRva2VuQ29uZmlnPzogQmFzZVRva2VuQ29uZmlnO1xuICBnZXRDb25maWcoKTogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPjtcbiAgdXJsKHN1ZmZpeDogc3RyaW5nKTogc3RyaW5nO1xuICB3YWxsZXRzKCk6IElXYWxsZXRzO1xuICBlbnRlcnByaXNlcygpOiBJRW50ZXJwcmlzZXM7XG4gIGtleWNoYWlucygpOiBJS2V5Y2hhaW5zO1xuICB3ZWJob29rcygpOiBJV2ViaG9va3M7XG4gIHBlbmRpbmdBcHByb3ZhbHMoKTogSVBlbmRpbmdBcHByb3ZhbHM7XG4gIG1hcmtldHMoKTogSU1hcmtldHM7XG4gIGdldENoYWluKCk6IHN0cmluZztcbiAgZ2V0RmFtaWx5KCk6IHN0cmluZztcbiAgZ2V0RnVsbE5hbWUoKTogc3RyaW5nO1xuICB2YWx1ZWxlc3NUcmFuc2ZlckFsbG93ZWQoKTogYm9vbGVhbjtcbiAgY2hlY2tSZWNpcGllbnQocmVjaXBpZW50OiB7IGFkZHJlc3M6IHN0cmluZzsgYW1vdW50OiBzdHJpbmcgfCBudW1iZXIgfSk6IHZvaWQ7XG4gIHN3ZWVwV2l0aFNlbmRNYW55KCk6IGJvb2xlYW47XG4gIHRyYW5zYWN0aW9uRGF0YUFsbG93ZWQoKTogYm9vbGVhbjtcbiAgYWxsb3dzQWNjb3VudENvbnNvbGlkYXRpb25zKCk6IGJvb2xlYW47XG4gIHN1cHBvcnRzUmVzb3VyY2VEZWxlZ2F0aW9uKCk6IGJvb2xlYW47XG4gIGdldFRva2VuRW5hYmxlbWVudENvbmZpZygpOiBUb2tlbkVuYWJsZW1lbnRDb25maWc7XG4gIHN1cHBvcnRzVHNzKCk6IGJvb2xlYW47XG4gIHN1cHBvcnRzTXVsdGlzaWcoKTogYm9vbGVhbjtcbiAgZ2V0RGVmYXVsdE11bHRpc2lnVHlwZSgpOiBNdWx0aXNpZ1R5cGUgfCB1bmRlZmluZWQ7XG4gIHN1cHBvcnRzRGVyaXZlS2V5V2l0aFNlZWQoKTogYm9vbGVhbjtcbiAgaXNFVk0oKTogYm9vbGVhbjtcbiAgc3VwcG9ydHNCbHNEa2coKTogYm9vbGVhbjtcbiAgZ2V0QmFzZUZhY3RvcigpOiBudW1iZXIgfCBzdHJpbmc7XG4gIGJhc2VVbml0c1RvQmlnVW5pdHMoYmFzZVVuaXRzOiBzdHJpbmcgfCBudW1iZXIpOiBzdHJpbmc7XG4gIGJpZ1VuaXRzVG9CYXNlVW5pdHMoYmlnVW5pdHM6IHN0cmluZyB8IG51bWJlcik6IHN0cmluZztcbiAgcHJlcHJvY2Vzc0J1aWxkUGFyYW1zKHBhcmFtczogUmVjb3JkPHN0cmluZywgYW55Pik6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIHNpZ25NZXNzYWdlKGtleTogeyBwcnY6IHN0cmluZyB9LCBtZXNzYWdlOiBzdHJpbmcpOiBQcm9taXNlPEJ1ZmZlcj47XG4gIGNyZWF0ZUtleVNpZ25hdHVyZXMoXG4gICAgcHJ2OiBzdHJpbmcsXG4gICAgYmFja3VwS2V5Y2hhaW46IHsgcHViOiBzdHJpbmcgfSxcbiAgICBiaXRnb0tleWNoYWluOiB7IHB1Yjogc3RyaW5nIH1cbiAgKTogUHJvbWlzZTx7XG4gICAgYmFja3VwOiBzdHJpbmc7XG4gICAgYml0Z286IHN0cmluZztcbiAgfT47XG4gIGV4cGxhaW5UcmFuc2FjdGlvbihcbiAgICBvcHRpb25zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgIHdhbGxldD86IElXYWxsZXRcbiAgKTogUHJvbWlzZTxJVHJhbnNhY3Rpb25FeHBsYW5hdGlvbjxhbnksIHN0cmluZyB8IG51bWJlcj4gfCB1bmRlZmluZWQ+O1xuICB2ZXJpZnlUcmFuc2FjdGlvbihwYXJhbXM6IFZlcmlmeVRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8Ym9vbGVhbj47XG4gIHZlcmlmeUFkZHJlc3MocGFyYW1zOiBWZXJpZnlBZGRyZXNzT3B0aW9ucyk6IFByb21pc2U8Ym9vbGVhbj47XG4gIGlzV2FsbGV0QWRkcmVzcyhwYXJhbXM6IFZlcmlmeUFkZHJlc3NPcHRpb25zIHwgVHNzVmVyaWZ5QWRkcmVzc09wdGlvbnMsIHdhbGxldD86IElXYWxsZXQpOiBQcm9taXNlPGJvb2xlYW4+O1xuICBjYW5vbmljYWxBZGRyZXNzKGFkZHJlc3M6IHN0cmluZywgZm9ybWF0OiB1bmtub3duKTogc3RyaW5nO1xuICBzdXBwb3J0c0Jsb2NrVGFyZ2V0KCk6IGJvb2xlYW47XG4gIHN1cHBvcnRzTGlnaHRuaW5nKCk6IGJvb2xlYW47XG4gIHN1cHBvcnRzTWVzc2FnZVNpZ25pbmcoKTogYm9vbGVhbjtcbiAgc3VwcG9ydHNTaWduaW5nVHlwZWREYXRhKCk6IGJvb2xlYW47XG4gIHN1cHBsZW1lbnRHZW5lcmF0ZVdhbGxldCh3YWxsZXRQYXJhbXM6IFN1cHBsZW1lbnRHZW5lcmF0ZVdhbGxldE9wdGlvbnMsIGtleWNoYWluczogS2V5Y2hhaW5zVHJpcGxldCk6IFByb21pc2U8YW55PjtcbiAgZ2V0RXh0cmFQcmVidWlsZFBhcmFtcyhidWlsZFBhcmFtczogRXh0cmFQcmVidWlsZFBhcmFtc09wdGlvbnMpOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIHVua25vd24+PjtcbiAgcG9zdFByb2Nlc3NQcmVidWlsZChwcmVidWlsZFJlc3BvbnNlOiBUcmFuc2FjdGlvblByZWJ1aWxkKTogUHJvbWlzZTxUcmFuc2FjdGlvblByZWJ1aWxkPjtcbiAgcHJlc2lnblRyYW5zYWN0aW9uKHBhcmFtczogUHJlc2lnblRyYW5zYWN0aW9uT3B0aW9ucyk6IFByb21pc2U8UHJlc2lnblRyYW5zYWN0aW9uT3B0aW9ucz47XG4gIHNpZ25XaXRoQ3VzdG9tU2lnbmluZ0Z1bmN0aW9uPyhcbiAgICBjdXN0b21TaWduaW5nRnVuY3Rpb246IEN1c3RvbVNpZ25pbmdGdW5jdGlvbixcbiAgICBzaWduVHJhbnNhY3Rpb25QYXJhbXM6IHsgdHhQcmVidWlsZDogVHJhbnNhY3Rpb25QcmVidWlsZDsgcHViczogc3RyaW5nW10gfVxuICApOiBQcm9taXNlPFNpZ25lZFRyYW5zYWN0aW9uPjtcbiAgbmV3V2FsbGV0T2JqZWN0KHdhbGxldFBhcmFtczogYW55KTogSVdhbGxldDtcbiAgZmVlRXN0aW1hdGUocGFyYW1zOiBGZWVFc3RpbWF0ZU9wdGlvbnMpOiBQcm9taXNlPGFueT47XG4gIGRlcml2ZUtleVdpdGhTZWVkKHBhcmFtczogRGVyaXZlS2V5V2l0aFNlZWRPcHRpb25zKTogeyBrZXk6IHN0cmluZzsgZGVyaXZhdGlvblBhdGg6IHN0cmluZyB9O1xuICBrZXlJZHNGb3JTaWduaW5nKCk6IG51bWJlcltdO1xuICBwcmVDcmVhdGVCaXRHbyhwYXJhbXM6IFByZWNyZWF0ZUJpdEdvT3B0aW9ucyk6IHZvaWQ7XG4gIGluaXRpYXRlUmVjb3ZlcnkocGFyYW1zOiBJbml0aWF0ZVJlY292ZXJ5T3B0aW9ucyk6IG5ldmVyO1xuICBwYXJzZVRyYW5zYWN0aW9uKHBhcmFtczogUGFyc2VUcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPFBhcnNlZFRyYW5zYWN0aW9uPjtcbiAgZ2VuZXJhdGVLZXlQYWlyKHNlZWQ/OiBCdWZmZXIpOiBLZXlQYWlyO1xuICBnZW5lcmF0ZVJvb3RLZXlQYWlyKHNlZWQ/OiBCdWZmZXIpOiBLZXlQYWlyO1xuICBpc1ZhbGlkUHViKHB1Yjogc3RyaW5nKTogYm9vbGVhbjtcbiAgaXNWYWxpZE1vZk5TZXR1cChwYXJhbXM6IFZhbGlkTW9mTk9wdGlvbnMpOiBib29sZWFuO1xuICBpc1ZhbGlkQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuO1xuICBzaWduVHJhbnNhY3Rpb24ocGFyYW1zOiBTaWduVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxTaWduZWRUcmFuc2FjdGlvbj47XG4gIGdldFNpZ25hYmxlUGF5bG9hZChzZXJpYWxpemVkVHg6IHN0cmluZyk6IFByb21pc2U8QnVmZmVyPjtcbiAgZ2V0TVBDQWxnb3JpdGhtKCk6IE1QQ0FsZ29yaXRobTtcbiAgLy8gVE9ETyAtIHRoaXMgb25seSBiZWxvbmdzIGluIGV0aCBjb2luc1xuICByZWNvdmVyVG9rZW4ocGFyYW1zOiBSZWNvdmVyV2FsbGV0VG9rZW5PcHRpb25zKTogUHJvbWlzZTxSZWNvdmVyVG9rZW5UcmFuc2FjdGlvbj47XG4gIGdldEluc2NyaXB0aW9uQnVpbGRlcih3YWxsZXQ6IFdhbGxldCk6IElJbnNjcmlwdGlvbkJ1aWxkZXI7XG5cbiAgLyoqXG4gICAqIEJ1aWxkIHRoZSBjYWxsIGRhdGEgZm9yIHRyYW5zZmVycmluZyBhIE5GVChzKS5cbiAgICogQHBhcmFtIHBhcmFtcyBPcHRpb25zIHNwZWNpZnlpbmcgdGhlIHRva2VuIGNvbnRyYWN0LCB0b2tlbiByZWNpcGllbnQgJiB0aGUgdG9rZW4ocykgdG8gYmUgdHJhbnNmZXJyZWRcbiAgICogQHJldHVybiB0aGUgaGV4IHN0cmluZyBmb3IgdGhlIGNvbnRyYWN0IGNhbGwuXG4gICAqL1xuICBidWlsZE5mdFRyYW5zZmVyRGF0YShwYXJhbXM6IEJ1aWxkTmZ0VHJhbnNmZXJEYXRhT3B0aW9ucyk6IHN0cmluZyB8IFRva2VuVHJhbnNmZXJSZWNpcGllbnRQYXJhbXM7XG4gIGdldEhhc2hGdW5jdGlvbigpOiBIYXNoO1xuICBicm9hZGNhc3RUcmFuc2FjdGlvbihwYXJhbXM6IEJhc2VCcm9hZGNhc3RUcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPEJhc2VCcm9hZGNhc3RUcmFuc2FjdGlvblJlc3VsdD47XG4gIHNldENvaW5TcGVjaWZpY0ZpZWxkc0luSW50ZW50KGludGVudDogUG9wdWxhdGVkSW50ZW50LCBwYXJhbXM6IFByZWJ1aWxkVHJhbnNhY3Rpb25XaXRoSW50ZW50T3B0aW9ucyk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEF1ZGl0IGEga2V5IHRvIGRldGVybWluZSBpZiBpdCBpcyB2YWxpZCBmb3IgdGhlIGNvaW4uXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGF1ZGl0XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwYXJhbXMucHVibGljS2V5ICAtIFRoZSBwdWJsaWMgcG9ydGlvbiBvZiB0aGUga2V5XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwYXJhbXMuZW5jcnlwdGVkUHJ2IC0gVGhlIGVuY3J5cHRlZCBwcml2YXRlIGtleVxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGFyYW1zLndhbGxldFBhc3NwaHJhc2UgLSBUaGUgcGFzc3BocmFzZSB0byBkZWNyeXB0IHRoZSBwcml2YXRlIGtleVxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGFyYW1zLm11bHRpU2lnVHlwZSAtIFRoZSB0eXBlIG9mIG11bHRpc2lnIChlLmcuICdvbmNoYWluJyBvciAndHNzJylcbiAgICovXG4gIGFzc2VydElzVmFsaWRLZXkoeyBwdWJsaWNLZXksIGVuY3J5cHRlZFBydiwgd2FsbGV0UGFzc3BocmFzZSwgbXVsdGlTaWdUeXBlIH06IEF1ZGl0S2V5UGFyYW1zKTogdm9pZDtcbiAgYXNzZXJ0SXNWYWxpZEtleUFzeW5jKHBhcmFtczogQXVkaXRLZXlQYXJhbXMpOiBQcm9taXNlPHZvaWQ+O1xuICByZXF1aXJlc1dhbGxldEluaXRpYWxpemF0aW9uVHJhbnNhY3Rpb24oKTogYm9vbGVhbjtcbn1cbiJdfQ==
@@ -0,0 +1,79 @@
1
+ /**
2
+ * @prettier
3
+ */
4
+ import { DefiOperation, DefiOperationListResult, DepositResult, DepositToVaultOptions, GetOperationOptions, IDefiVault, ListOperationsOptions, ResumeDepositOptions } from './iDefiVault';
5
+ import { IWallet } from '../wallet';
6
+ /**
7
+ * Error thrown when a concurrent active deposit already exists for the (wallet, vault) pair.
8
+ */
9
+ export declare class ActiveOperationExistsError extends Error {
10
+ readonly operationId: string;
11
+ constructor(operationId: string);
12
+ }
13
+ /**
14
+ * Orchestrates ERC-4626 vault deposit and withdraw flows for a wallet.
15
+ *
16
+ * Exposed as `wallet.defi` on the Wallet class. See TDD §6.3.1 for the full
17
+ * design: the SDK sequences two sendMany calls (approve + deposit) and
18
+ * returns an operationId that the UI uses for status tracking and recovery.
19
+ *
20
+ * Uses wallet.sendMany() under the hood so that both custody wallets
21
+ * (txRequest creation only) and hot wallets (create + sign + broadcast)
22
+ * are handled by the existing infrastructure.
23
+ */
24
+ export declare class DefiVault implements IDefiVault {
25
+ private readonly wallet;
26
+ private readonly bitgo;
27
+ constructor(wallet: IWallet);
28
+ /**
29
+ * Deposit an amount of underlying asset into a vault.
30
+ *
31
+ * Internally issues two sendMany calls (approve + deposit) and returns the
32
+ * operationId that links them. If the deposit sendMany fails after
33
+ * the approve succeeds, the approve is auto-cancelled (fail-fast).
34
+ *
35
+ * @param params.vaultId - DeFi-service vault identifier
36
+ * @param params.amount - amount in base units of the underlying asset
37
+ * @param params.clientIdempotencyKey - optional client idempotency key
38
+ * @param params.walletPassphrase - required for hot wallets, omit for custody
39
+ */
40
+ depositToVault(params: DepositToVaultOptions): Promise<DepositResult>;
41
+ /**
42
+ * Resume a partially-completed deposit. Call this when the SDK process died
43
+ * between the approve and deposit txRequest creation.
44
+ *
45
+ * @param params.operationId - the operationId from the original depositToVault call
46
+ * @param params.walletPassphrase - required for hot wallets, omit for custody
47
+ */
48
+ resumeDeposit(params: ResumeDepositOptions): Promise<DepositResult>;
49
+ /**
50
+ * Get the current state of a DeFi operation.
51
+ *
52
+ * @param params.operationId - the operation to retrieve
53
+ */
54
+ getOperation(params: GetOperationOptions): Promise<DefiOperation>;
55
+ /**
56
+ * List operations for a vault filtered by walletId.
57
+ *
58
+ * @param params.vaultId - vault to list operations for
59
+ * @param params.state - optional state filter
60
+ * @param params.type - optional type filter (DEPOSIT | WITHDRAW)
61
+ * @param params.limit - page size
62
+ * @param params.cursor - pagination cursor
63
+ */
64
+ listOperations(params: ListOperationsOptions): Promise<DefiOperationListResult>;
65
+ /**
66
+ * Extract txRequestId from a sendMany result.
67
+ * sendMany returns different shapes depending on wallet type:
68
+ * - TSS full: { txRequest: { txRequestId } } or { pendingApproval, txRequest }
69
+ * - TSS lite: result from tssUtils.sendTxRequest
70
+ */
71
+ private extractTxRequestId;
72
+ /**
73
+ * Extract operationId from the intent of a sendMany result.
74
+ * The WP populates operationId in the intent of the approve txRequest.
75
+ */
76
+ private extractOperationId;
77
+ private operationsUrl;
78
+ }
79
+ //# sourceMappingURL=defiVault.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defiVault.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/defi/defiVault.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,aAAa,EACb,uBAAuB,EACvB,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,UAAU,EACV,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC;;GAEG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,SAAgB,WAAW,EAAE,MAAM,CAAC;gBAExB,WAAW,EAAE,MAAM;CAKhC;AAED;;;;;;;;;;GAUG;AACH,qBAAa,SAAU,YAAW,UAAU;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;gBAEtB,MAAM,EAAE,OAAO;IAK3B;;;;;;;;;;;OAWG;IACG,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC;IA0D3E;;;;;;OAMG;IACG,aAAa,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC;IAoCzE;;;;OAIG;IACG,YAAY,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;IAQvE;;;;;;;;OAQG;IACG,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAkBrF;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAW1B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,aAAa;CAGtB"}
@@ -0,0 +1,198 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DefiVault = exports.ActiveOperationExistsError = void 0;
4
+ /**
5
+ * Error thrown when a concurrent active deposit already exists for the (wallet, vault) pair.
6
+ */
7
+ class ActiveOperationExistsError extends Error {
8
+ constructor(operationId) {
9
+ super(`An active deposit operation already exists: ${operationId}`);
10
+ this.name = 'ActiveOperationExistsError';
11
+ this.operationId = operationId;
12
+ }
13
+ }
14
+ exports.ActiveOperationExistsError = ActiveOperationExistsError;
15
+ /**
16
+ * Orchestrates ERC-4626 vault deposit and withdraw flows for a wallet.
17
+ *
18
+ * Exposed as `wallet.defi` on the Wallet class. See TDD §6.3.1 for the full
19
+ * design: the SDK sequences two sendMany calls (approve + deposit) and
20
+ * returns an operationId that the UI uses for status tracking and recovery.
21
+ *
22
+ * Uses wallet.sendMany() under the hood so that both custody wallets
23
+ * (txRequest creation only) and hot wallets (create + sign + broadcast)
24
+ * are handled by the existing infrastructure.
25
+ */
26
+ class DefiVault {
27
+ constructor(wallet) {
28
+ this.wallet = wallet;
29
+ this.bitgo = wallet.bitgo;
30
+ }
31
+ /**
32
+ * Deposit an amount of underlying asset into a vault.
33
+ *
34
+ * Internally issues two sendMany calls (approve + deposit) and returns the
35
+ * operationId that links them. If the deposit sendMany fails after
36
+ * the approve succeeds, the approve is auto-cancelled (fail-fast).
37
+ *
38
+ * @param params.vaultId - DeFi-service vault identifier
39
+ * @param params.amount - amount in base units of the underlying asset
40
+ * @param params.clientIdempotencyKey - optional client idempotency key
41
+ * @param params.walletPassphrase - required for hot wallets, omit for custody
42
+ */
43
+ async depositToVault(params) {
44
+ if (!params.vaultId) {
45
+ throw new Error('vaultId is required');
46
+ }
47
+ if (!params.amount) {
48
+ throw new Error('amount is required');
49
+ }
50
+ // Layer-1 pre-flight: reject if an active deposit already exists for this (wallet, vault)
51
+ const activeOps = await this.bitgo
52
+ .get(this.bitgo.microservicesUrl(this.operationsUrl()))
53
+ .query({ vaultId: params.vaultId, state: 'active' })
54
+ .result();
55
+ if (activeOps.items && activeOps.items.length > 0) {
56
+ throw new ActiveOperationExistsError(activeOps.items[0].operationId);
57
+ }
58
+ // Step 1: Approve txRequest via sendMany
59
+ const approveResult = await this.wallet.sendMany({
60
+ type: 'defiApprove',
61
+ defiParams: {
62
+ vaultId: params.vaultId,
63
+ amount: params.amount,
64
+ ...(params.clientIdempotencyKey ? { clientIdempotencyKey: params.clientIdempotencyKey } : {}),
65
+ },
66
+ ...(params.walletPassphrase ? { walletPassphrase: params.walletPassphrase } : {}),
67
+ });
68
+ const approveTxRequestId = this.extractTxRequestId(approveResult);
69
+ const operationId = this.extractOperationId(approveResult);
70
+ if (!operationId) {
71
+ throw new Error('operationId not found in approve txRequest response');
72
+ }
73
+ // Step 2: Deposit txRequest via sendMany
74
+ const depositResult = await this.wallet.sendMany({
75
+ type: 'defiDeposit',
76
+ defiParams: {
77
+ vaultId: params.vaultId,
78
+ amount: params.amount,
79
+ operationId,
80
+ ...(params.clientIdempotencyKey ? { clientIdempotencyKey: params.clientIdempotencyKey } : {}),
81
+ },
82
+ ...(params.walletPassphrase ? { walletPassphrase: params.walletPassphrase } : {}),
83
+ });
84
+ const depositTxRequestId = this.extractTxRequestId(depositResult);
85
+ return {
86
+ operationId,
87
+ txRequestIds: {
88
+ approve: approveTxRequestId,
89
+ deposit: depositTxRequestId,
90
+ },
91
+ };
92
+ }
93
+ /**
94
+ * Resume a partially-completed deposit. Call this when the SDK process died
95
+ * between the approve and deposit txRequest creation.
96
+ *
97
+ * @param params.operationId - the operationId from the original depositToVault call
98
+ * @param params.walletPassphrase - required for hot wallets, omit for custody
99
+ */
100
+ async resumeDeposit(params) {
101
+ if (!params.operationId) {
102
+ throw new Error('operationId is required');
103
+ }
104
+ // Fetch the operation to get the vault and amount details
105
+ const operation = await this.getOperation({ operationId: params.operationId });
106
+ if (operation.associatedTxRequestId) {
107
+ throw new Error('Deposit txRequest already exists for this operation; nothing to resume');
108
+ }
109
+ if (!operation.txRequestId) {
110
+ throw new Error('Approve txRequest not found for this operation; cannot resume');
111
+ }
112
+ // Issue the deposit txRequest using the existing operation's details
113
+ const depositResult = await this.wallet.sendMany({
114
+ type: 'defiDeposit',
115
+ defiParams: {
116
+ vaultId: operation.vaultId,
117
+ amount: operation.assetAmount,
118
+ operationId: params.operationId,
119
+ },
120
+ ...(params.walletPassphrase ? { walletPassphrase: params.walletPassphrase } : {}),
121
+ });
122
+ return {
123
+ operationId: params.operationId,
124
+ txRequestIds: {
125
+ approve: operation.txRequestId,
126
+ deposit: this.extractTxRequestId(depositResult),
127
+ },
128
+ };
129
+ }
130
+ /**
131
+ * Get the current state of a DeFi operation.
132
+ *
133
+ * @param params.operationId - the operation to retrieve
134
+ */
135
+ async getOperation(params) {
136
+ if (!params.operationId) {
137
+ throw new Error('operationId is required');
138
+ }
139
+ return await this.bitgo.get(this.bitgo.microservicesUrl(this.operationsUrl() + '/' + params.operationId)).result();
140
+ }
141
+ /**
142
+ * List operations for a vault filtered by walletId.
143
+ *
144
+ * @param params.vaultId - vault to list operations for
145
+ * @param params.state - optional state filter
146
+ * @param params.type - optional type filter (DEPOSIT | WITHDRAW)
147
+ * @param params.limit - page size
148
+ * @param params.cursor - pagination cursor
149
+ */
150
+ async listOperations(params) {
151
+ if (!params.vaultId) {
152
+ throw new Error('vaultId is required');
153
+ }
154
+ const query = {
155
+ vaultId: params.vaultId,
156
+ };
157
+ if (params.state)
158
+ query.state = params.state;
159
+ if (params.type)
160
+ query.type = params.type;
161
+ if (params.limit)
162
+ query.limit = params.limit;
163
+ if (params.cursor)
164
+ query.cursor = params.cursor;
165
+ return await this.bitgo.get(this.bitgo.microservicesUrl(this.operationsUrl())).query(query).result();
166
+ }
167
+ // ── Internal helpers ────────────────────────────────────────────────
168
+ /**
169
+ * Extract txRequestId from a sendMany result.
170
+ * sendMany returns different shapes depending on wallet type:
171
+ * - TSS full: { txRequest: { txRequestId } } or { pendingApproval, txRequest }
172
+ * - TSS lite: result from tssUtils.sendTxRequest
173
+ */
174
+ extractTxRequestId(sendManyResult) {
175
+ const txRequest = sendManyResult.txRequest;
176
+ if (txRequest?.txRequestId) {
177
+ return txRequest.txRequestId;
178
+ }
179
+ if (sendManyResult.txRequestId) {
180
+ return sendManyResult.txRequestId;
181
+ }
182
+ throw new Error('txRequestId not found in sendMany response');
183
+ }
184
+ /**
185
+ * Extract operationId from the intent of a sendMany result.
186
+ * The WP populates operationId in the intent of the approve txRequest.
187
+ */
188
+ extractOperationId(sendManyResult) {
189
+ const txRequest = sendManyResult.txRequest;
190
+ const intent = txRequest?.intent;
191
+ return intent?.operationId;
192
+ }
193
+ operationsUrl() {
194
+ return `/api/defi-service/v1/wallets/${this.wallet.id()}/operations`;
195
+ }
196
+ }
197
+ exports.DefiVault = DefiVault;
198
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaVZhdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL2RlZmkvZGVmaVZhdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWdCQTs7R0FFRztBQUNILE1BQWEsMEJBQTJCLFNBQVEsS0FBSztJQUduRCxZQUFZLFdBQW1CO1FBQzdCLEtBQUssQ0FBQywrQ0FBK0MsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsSUFBSSxHQUFHLDRCQUE0QixDQUFDO1FBQ3pDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBQ2pDLENBQUM7Q0FDRjtBQVJELGdFQVFDO0FBRUQ7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQWEsU0FBUztJQUlwQixZQUFZLE1BQWU7UUFDekIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNILEtBQUssQ0FBQyxjQUFjLENBQUMsTUFBNkI7UUFDaEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDekMsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7UUFFRCwwRkFBMEY7UUFDMUYsTUFBTSxTQUFTLEdBQTRCLE1BQU0sSUFBSSxDQUFDLEtBQUs7YUFDeEQsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7YUFDdEQsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLEVBQUUsS0FB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QUM7SUFFRDs7O09BR0c7SUFDSyxrQkFBa0IsQ0FBQyxjQUF1QztRQUNoRSxNQUFNLFNBQVMsR0FBRyxjQUFjLENBQUMsU0FBZ0QsQ0FBQztRQUNsRixNQUFNLE1BQU0sR0FBRyxTQUFTLEVBQUUsTUFBNkMsQ0FBQztRQUN4RSxPQUFPLE1BQU0sRUFBRSxXQUFpQyxDQUFDO0lBQ25ELENBQUM7SUFFTyxhQUFhO1FBQ25CLE9BQU8sZ0NBQWdDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLGFBQWEsQ0FBQztJQUN2RSxDQUFDO0NBQ0Y7QUFoTUQsOEJBZ01DIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuaW1wb3J0IHtcbiAgRGVmaU9wZXJhdGlvbixcbiAgRGVmaU9wZXJhdGlvbkxpc3RSZXN1bHQsXG4gIERlcG9zaXRSZXN1bHQsXG4gIERlcG9zaXRUb1ZhdWx0T3B0aW9ucyxcbiAgR2V0T3BlcmF0aW9uT3B0aW9ucyxcbiAgSURlZmlWYXVsdCxcbiAgTGlzdE9wZXJhdGlvbnNPcHRpb25zLFxuICBSZXN1bWVEZXBvc2l0T3B0aW9ucyxcbn0gZnJvbSAnLi9pRGVmaVZhdWx0JztcbmltcG9ydCB7IElXYWxsZXQgfSBmcm9tICcuLi93YWxsZXQnO1xuaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnLi4vYml0Z29CYXNlJztcblxuLyoqXG4gKiBFcnJvciB0aHJvd24gd2hlbiBhIGNvbmN1cnJlbnQgYWN0aXZlIGRlcG9zaXQgYWxyZWFkeSBleGlzdHMgZm9yIHRoZSAod2FsbGV0LCB2YXVsdCkgcGFpci5cbiAqL1xuZXhwb3J0IGNsYXNzIEFjdGl2ZU9wZXJhdGlvbkV4aXN0c0Vycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBwdWJsaWMgcmVhZG9ubHkgb3BlcmF0aW9uSWQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihvcGVyYXRpb25JZDogc3RyaW5nKSB7XG4gICAgc3VwZXIoYEFuIGFjdGl2ZSBkZXBvc2l0IG9wZXJhdGlvbiBhbHJlYWR5IGV4aXN0czogJHtvcGVyYXRpb25JZH1gKTtcbiAgICB0aGlzLm5hbWUgPSAnQWN0aXZlT3BlcmF0aW9uRXhpc3RzRXJyb3InO1xuICAgIHRoaXMub3BlcmF0aW9uSWQgPSBvcGVyYXRpb25JZDtcbiAgfVxufVxuXG4vKipcbiAqIE9yY2hlc3RyYXRlcyBFUkMtNDYyNiB2YXVsdCBkZXBvc2l0IGFuZCB3aXRoZHJhdyBmbG93cyBmb3IgYSB3YWxsZXQuXG4gKlxuICogRXhwb3NlZCBhcyBgd2FsbGV0LmRlZmlgIG9uIHRoZSBXYWxsZXQgY2xhc3MuIFNlZSBUREQgwqc2LjMuMSBmb3IgdGhlIGZ1bGxcbiAqIGRlc2lnbjogdGhlIFNESyBzZXF1ZW5jZXMgdHdvIHNlbmRNYW55IGNhbGxzIChhcHByb3ZlICsgZGVwb3NpdCkgYW5kXG4gKiByZXR1cm5zIGFuIG9wZXJhdGlvbklkIHRoYXQgdGhlIFVJIHVzZXMgZm9yIHN0YXR1cyB0cmFja2luZyBhbmQgcmVjb3ZlcnkuXG4gKlxuICogVXNlcyB3YWxsZXQuc2VuZE1hbnkoKSB1bmRlciB0aGUgaG9vZCBzbyB0aGF0IGJvdGggY3VzdG9keSB3YWxsZXRzXG4gKiAodHhSZXF1ZXN0IGNyZWF0aW9uIG9ubHkpIGFuZCBob3Qgd2FsbGV0cyAoY3JlYXRlICsgc2lnbiArIGJyb2FkY2FzdClcbiAqIGFyZSBoYW5kbGVkIGJ5IHRoZSBleGlzdGluZyBpbmZyYXN0cnVjdHVyZS5cbiAqL1xuZXhwb3J0IGNsYXNzIERlZmlWYXVsdCBpbXBsZW1lbnRzIElEZWZpVmF1bHQge1xuICBwcml2YXRlIHJlYWRvbmx5IHdhbGxldDogSVdhbGxldDtcbiAgcHJpdmF0ZSByZWFkb25seSBiaXRnbzogQml0R29CYXNlO1xuXG4gIGNvbnN0cnVjdG9yKHdhbGxldDogSVdhbGxldCkge1xuICAgIHRoaXMud2FsbGV0ID0gd2FsbGV0O1xuICAgIHRoaXMuYml0Z28gPSB3YWxsZXQuYml0Z287XG4gIH1cblxuICAvKipcbiAgICogRGVwb3NpdCBhbiBhbW91bnQgb2YgdW5kZXJseWluZyBhc3NldCBpbnRvIGEgdmF1bHQuXG4gICAqXG4gICAqIEludGVybmFsbHkgaXNzdWVzIHR3byBzZW5kTWFueSBjYWxscyAoYXBwcm92ZSArIGRlcG9zaXQpIGFuZCByZXR1cm5zIHRoZVxuICAgKiBvcGVyYXRpb25JZCB0aGF0IGxpbmtzIHRoZW0uIElmIHRoZSBkZXBvc2l0IHNlbmRNYW55IGZhaWxzIGFmdGVyXG4gICAqIHRoZSBhcHByb3ZlIHN1Y2NlZWRzLCB0aGUgYXBwcm92ZSBpcyBhdXRvLWNhbmNlbGxlZCAoZmFpbC1mYXN0KS5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcy52YXVsdElkIC0gRGVGaS1zZXJ2aWNlIHZhdWx0IGlkZW50aWZpZXJcbiAgICogQHBhcmFtIHBhcmFtcy5hbW91bnQgLSBhbW91bnQgaW4gYmFzZSB1bml0cyBvZiB0aGUgdW5kZXJseWluZyBhc3NldFxuICAgKiBAcGFyYW0gcGFyYW1zLmNsaWVudElkZW1wb3RlbmN5S2V5IC0gb3B0aW9uYWwgY2xpZW50IGlkZW1wb3RlbmN5IGtleVxuICAgKiBAcGFyYW0gcGFyYW1zLndhbGxldFBhc3NwaHJhc2UgLSByZXF1aXJlZCBmb3IgaG90IHdhbGxldHMsIG9taXQgZm9yIGN1c3RvZHlcbiAgICovXG4gIGFzeW5jIGRlcG9zaXRUb1ZhdWx0KHBhcmFtczogRGVwb3NpdFRvVmF1bHRPcHRpb25zKTogUHJvbWlzZTxEZXBvc2l0UmVzdWx0PiB7XG4gICAgaWYgKCFwYXJhbXMudmF1bHRJZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCd2YXVsdElkIGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuICAgIGlmICghcGFyYW1zLmFtb3VudCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdhbW91bnQgaXMgcmVxdWlyZWQnKTtcbiAgICB9XG5cbiAgICAvLyBMYXllci0xIHByZS1mbGlnaHQ6IHJlamVjdCBpZiBhbiBhY3RpdmUgZGVwb3NpdCBhbHJlYWR5IGV4aXN0cyBmb3IgdGhpcyAod2FsbGV0LCB2YXVsdClcbiAgICBjb25zdCBhY3RpdmVPcHM6IERlZmlPcGVyYXRpb25MaXN0UmVzdWx0ID0gYXdhaXQgdGhpcy5iaXRnb1xuICAgICAgLmdldCh0aGlzLmJpdGdvLm1pY3Jvc2VydmljZXNVcmwodGhpcy5vcGVyYXRpb25zVXJsKCkpKVxuICAgICAgLnF1ZXJ5KHsgdmF1bHRJZDogcGFyYW1zLnZhdWx0SWQsIHN0YXRlOiAnYWN0aXZlJyB9KVxuICAgICAgLnJlc3VsdCgpO1xuXG4gICAgaWYgKGFjdGl2ZU9wcy5pdGVtcyAmJiBhY3RpdmVPcHMuaXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhyb3cgbmV3IEFjdGl2ZU9wZXJhdGlvbkV4aXN0c0Vycm9yKGFjdGl2ZU9wcy5pdGVtc1swXS5vcGVyYXRpb25JZCk7XG4gICAgfVxuXG4gICAgLy8gU3RlcCAxOiBBcHByb3ZlIHR4UmVxdWVzdCB2aWEgc2VuZE1hbnlcbiAgICBjb25zdCBhcHByb3ZlUmVzdWx0ID0gYXdhaXQgdGhpcy53YWxsZXQuc2VuZE1hbnkoe1xuICAgICAgdHlwZTogJ2RlZmlBcHByb3ZlJyxcbiAgICAgIGRlZmlQYXJhbXM6IHtcbiAgICAgICAgdmF1bHRJZDogcGFyYW1zLnZhdWx0SWQsXG4gICAgICAgIGFtb3VudDogcGFyYW1zLmFtb3VudCxcbiAgICAgICAgLi4uKHBhcmFtcy5jbGllbnRJZGVtcG90ZW5jeUtleSA/IHsgY2xpZW50SWRlbXBvdGVuY3lLZXk6IHBhcmFtcy5jbGllbnRJZGVtcG90ZW5jeUtleSB9IDoge30pLFxuICAgICAgfSxcbiAgICAgIC4uLihwYXJhbXMud2FsbGV0UGFzc3BocmFzZSA/IHsgd2FsbGV0UGFzc3BocmFzZTogcGFyYW1zLndhbGxldFBhc3NwaHJhc2UgfSA6IHt9KSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGFwcHJvdmVUeFJlcXVlc3RJZCA9IHRoaXMuZXh0cmFjdFR4UmVxdWVzdElkKGFwcHJvdmVSZXN1bHQpO1xuICAgIGNvbnN0IG9wZXJhdGlvbklkID0gdGhpcy5leHRyYWN0T3BlcmF0aW9uSWQoYXBwcm92ZVJlc3VsdCk7XG5cbiAgICBpZiAoIW9wZXJhdGlvbklkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ29wZXJhdGlvbklkIG5vdCBmb3VuZCBpbiBhcHByb3ZlIHR4UmVxdWVzdCByZXNwb25zZScpO1xuICAgIH1cblxuICAgIC8vIFN0ZXAgMjogRGVwb3NpdCB0eFJlcXVlc3QgdmlhIHNlbmRNYW55XG4gICAgY29uc3QgZGVwb3NpdFJlc3VsdCA9IGF3YWl0IHRoaXMud2FsbGV0LnNlbmRNYW55KHtcbiAgICAgIHR5cGU6ICdkZWZpRGVwb3NpdCcsXG4gICAgICBkZWZpUGFyYW1zOiB7XG4gICAgICAgIHZhdWx0SWQ6IHBhcmFtcy52YXVsdElkLFxuICAgICAgICBhbW91bnQ6IHBhcmFtcy5hbW91bnQsXG4gICAgICAgIG9wZXJhdGlvbklkLFxuICAgICAgICAuLi4ocGFyYW1zLmNsaWVudElkZW1wb3RlbmN5S2V5ID8geyBjbGllbnRJZGVtcG90ZW5jeUtleTogcGFyYW1zLmNsaWVudElkZW1wb3RlbmN5S2V5IH0gOiB7fSksXG4gICAgICB9LFxuICAgICAgLi4uKHBhcmFtcy53YWxsZXRQYXNzcGhyYXNlID8geyB3YWxsZXRQYXNzcGhyYXNlOiBwYXJhbXMud2FsbGV0UGFzc3BocmFzZSB9IDoge30pLFxuICAgIH0pO1xuICAgIGNvbnN0IGRlcG9zaXRUeFJlcXVlc3RJZCA9IHRoaXMuZXh0cmFjdFR4UmVxdWVzdElkKGRlcG9zaXRSZXN1bHQpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIG9wZXJhdGlvbklkLFxuICAgICAgdHhSZXF1ZXN0SWRzOiB7XG4gICAgICAgIGFwcHJvdmU6IGFwcHJvdmVUeFJlcXVlc3RJZCxcbiAgICAgICAgZGVwb3NpdDogZGVwb3NpdFR4UmVxdWVzdElkLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc3VtZSBhIHBhcnRpYWxseS1jb21wbGV0ZWQgZGVwb3NpdC4gQ2FsbCB0aGlzIHdoZW4gdGhlIFNESyBwcm9jZXNzIGRpZWRcbiAgICogYmV0d2VlbiB0aGUgYXBwcm92ZSBhbmQgZGVwb3NpdCB0eFJlcXVlc3QgY3JlYXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXMub3BlcmF0aW9uSWQgLSB0aGUgb3BlcmF0aW9uSWQgZnJvbSB0aGUgb3JpZ2luYWwgZGVwb3NpdFRvVmF1bHQgY2FsbFxuICAgKiBAcGFyYW0gcGFyYW1zLndhbGxldFBhc3NwaHJhc2UgLSByZXF1aXJlZCBmb3IgaG90IHdhbGxldHMsIG9taXQgZm9yIGN1c3RvZHlcbiAgICovXG4gIGFzeW5jIHJlc3VtZURlcG9zaXQocGFyYW1zOiBSZXN1bWVEZXBvc2l0T3B0aW9ucyk6IFByb21pc2U8RGVwb3NpdFJlc3VsdD4ge1xuICAgIGlmICghcGFyYW1zLm9wZXJhdGlvbklkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ29wZXJhdGlvbklkIGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuXG4gICAgLy8gRmV0Y2ggdGhlIG9wZXJhdGlvbiB0byBnZXQgdGhlIHZhdWx0IGFuZCBhbW91bnQgZGV0YWlsc1xuICAgIGNvbnN0IG9wZXJhdGlvbiA9IGF3YWl0IHRoaXMuZ2V0T3BlcmF0aW9uKHsgb3BlcmF0aW9uSWQ6IHBhcmFtcy5vcGVyYXRpb25JZCB9KTtcblxuICAgIGlmIChvcGVyYXRpb24uYXNzb2NpYXRlZFR4UmVxdWVzdElkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0RlcG9zaXQgdHhSZXF1ZXN0IGFscmVhZHkgZXhpc3RzIGZvciB0aGlzIG9wZXJhdGlvbjsgbm90aGluZyB0byByZXN1bWUnKTtcbiAgICB9XG5cbiAgICBpZiAoIW9wZXJhdGlvbi50eFJlcXVlc3RJZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdBcHByb3ZlIHR4UmVxdWVzdCBub3QgZm91bmQgZm9yIHRoaXMgb3BlcmF0aW9uOyBjYW5ub3QgcmVzdW1lJyk7XG4gICAgfVxuXG4gICAgLy8gSXNzdWUgdGhlIGRlcG9zaXQgdHhSZXF1ZXN0IHVzaW5nIHRoZSBleGlzdGluZyBvcGVyYXRpb24ncyBkZXRhaWxzXG4gICAgY29uc3QgZGVwb3NpdFJlc3VsdCA9IGF3YWl0IHRoaXMud2FsbGV0LnNlbmRNYW55KHtcbiAgICAgIHR5cGU6ICdkZWZpRGVwb3NpdCcsXG4gICAgICBkZWZpUGFyYW1zOiB7XG4gICAgICAgIHZhdWx0SWQ6IG9wZXJhdGlvbi52YXVsdElkLFxuICAgICAgICBhbW91bnQ6IG9wZXJhdGlvbi5hc3NldEFtb3VudCxcbiAgICAgICAgb3BlcmF0aW9uSWQ6IHBhcmFtcy5vcGVyYXRpb25JZCxcbiAgICAgIH0sXG4gICAgICAuLi4ocGFyYW1zLndhbGxldFBhc3NwaHJhc2UgPyB7IHdhbGxldFBhc3NwaHJhc2U6IHBhcmFtcy53YWxsZXRQYXNzcGhyYXNlIH0gOiB7fSksXG4gICAgfSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgb3BlcmF0aW9uSWQ6IHBhcmFtcy5vcGVyYXRpb25JZCxcbiAgICAgIHR4UmVxdWVzdElkczoge1xuICAgICAgICBhcHByb3ZlOiBvcGVyYXRpb24udHhSZXF1ZXN0SWQsXG4gICAgICAgIGRlcG9zaXQ6IHRoaXMuZXh0cmFjdFR4UmVxdWVzdElkKGRlcG9zaXRSZXN1bHQpLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgY3VycmVudCBzdGF0ZSBvZiBhIERlRmkgb3BlcmF0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gcGFyYW1zLm9wZXJhdGlvbklkIC0gdGhlIG9wZXJhdGlvbiB0byByZXRyaWV2ZVxuICAgKi9cbiAgYXN5bmMgZ2V0T3BlcmF0aW9uKHBhcmFtczogR2V0T3BlcmF0aW9uT3B0aW9ucyk6IFByb21pc2U8RGVmaU9wZXJhdGlvbj4ge1xuICAgIGlmICghcGFyYW1zLm9wZXJhdGlvbklkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ29wZXJhdGlvbklkIGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYml0Z28uZ2V0KHRoaXMuYml0Z28ubWljcm9zZXJ2aWNlc1VybCh0aGlzLm9wZXJhdGlvbnNVcmwoKSArICcvJyArIHBhcmFtcy5vcGVyYXRpb25JZCkpLnJlc3VsdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3Qgb3BlcmF0aW9ucyBmb3IgYSB2YXVsdCBmaWx0ZXJlZCBieSB3YWxsZXRJZC5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcy52YXVsdElkIC0gdmF1bHQgdG8gbGlzdCBvcGVyYXRpb25zIGZvclxuICAgKiBAcGFyYW0gcGFyYW1zLnN0YXRlIC0gb3B0aW9uYWwgc3RhdGUgZmlsdGVyXG4gICAqIEBwYXJhbSBwYXJhbXMudHlwZSAtIG9wdGlvbmFsIHR5cGUgZmlsdGVyIChERVBPU0lUIHwgV0lUSERSQVcpXG4gICAqIEBwYXJhbSBwYXJhbXMubGltaXQgLSBwYWdlIHNpemVcbiAgICogQHBhcmFtIHBhcmFtcy5jdXJzb3IgLSBwYWdpbmF0aW9uIGN1cnNvclxuICAgKi9cbiAgYXN5bmMgbGlzdE9wZXJhdGlvbnMocGFyYW1zOiBMaXN0T3BlcmF0aW9uc09wdGlvbnMpOiBQcm9taXNlPERlZmlPcGVyYXRpb25MaXN0UmVzdWx0PiB7XG4gICAgaWYgKCFwYXJhbXMudmF1bHRJZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCd2YXVsdElkIGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuXG4gICAgY29uc3QgcXVlcnk6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlcj4gPSB7XG4gICAgICB2YXVsdElkOiBwYXJhbXMudmF1bHRJZCxcbiAgICB9O1xuICAgIGlmIChwYXJhbXMuc3RhdGUpIHF1ZXJ5LnN0YXRlID0gcGFyYW1zLnN0YXRlO1xuICAgIGlmIChwYXJhbXMudHlwZSkgcXVlcnkudHlwZSA9IHBhcmFtcy50eXBlO1xuICAgIGlmIChwYXJhbXMubGltaXQpIHF1ZXJ5LmxpbWl0ID0gcGFyYW1zLmxpbWl0O1xuICAgIGlmIChwYXJhbXMuY3Vyc29yKSBxdWVyeS5jdXJzb3IgPSBwYXJhbXMuY3Vyc29yO1xuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYml0Z28uZ2V0KHRoaXMuYml0Z28ubWljcm9zZXJ2aWNlc1VybCh0aGlzLm9wZXJhdGlvbnNVcmwoKSkpLnF1ZXJ5KHF1ZXJ5KS5yZXN1bHQoKTtcbiAgfVxuXG4gIC8vIOKUgOKUgCBJbnRlcm5hbCBoZWxwZXJzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4gIC8qKlxuICAgKiBFeHRyYWN0IHR4UmVxdWVzdElkIGZyb20gYSBzZW5kTWFueSByZXN1bHQuXG4gICAqIHNlbmRNYW55IHJldHVybnMgZGlmZmVyZW50IHNoYXBlcyBkZXBlbmRpbmcgb24gd2FsbGV0IHR5cGU6XG4gICAqIC0gVFNTIGZ1bGw6IHsgdHhSZXF1ZXN0OiB7IHR4UmVxdWVzdElkIH0gfSBvciB7IHBlbmRpbmdBcHByb3ZhbCwgdHhSZXF1ZXN0IH1cbiAgICogLSBUU1MgbGl0ZTogcmVzdWx0IGZyb20gdHNzVXRpbHMuc2VuZFR4UmVxdWVzdFxuICAgKi9cbiAgcHJpdmF0ZSBleHRyYWN0VHhSZXF1ZXN0SWQoc2VuZE1hbnlSZXN1bHQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogc3RyaW5nIHtcbiAgICBjb25zdCB0eFJlcXVlc3QgPSBzZW5kTWFueVJlc3VsdC50eFJlcXVlc3QgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCB1bmRlZmluZWQ7XG4gICAgaWYgKHR4UmVxdWVzdD8udHhSZXF1ZXN0SWQpIHtcbiAgICAgIHJldHVybiB0eFJlcXVlc3QudHhSZXF1ZXN0SWQgYXMgc3RyaW5nO1xuICAgIH1cbiAgICBpZiAoc2VuZE1hbnlSZXN1bHQudHhSZXF1ZXN0SWQpIHtcbiAgICAgIHJldHVybiBzZW5kTWFueVJlc3VsdC50eFJlcXVlc3RJZCBhcyBzdHJpbmc7XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcigndHhSZXF1ZXN0SWQgbm90IGZvdW5kIGluIHNlbmRNYW55IHJlc3BvbnNlJyk7XG4gIH1cblxuICAvKipcbiAgICogRXh0cmFjdCBvcGVyYXRpb25JZCBmcm9tIHRoZSBpbnRlbnQgb2YgYSBzZW5kTWFueSByZXN1bHQuXG4gICAqIFRoZSBXUCBwb3B1bGF0ZXMgb3BlcmF0aW9uSWQgaW4gdGhlIGludGVudCBvZiB0aGUgYXBwcm92ZSB0eFJlcXVlc3QuXG4gICAqL1xuICBwcml2YXRlIGV4dHJhY3RPcGVyYXRpb25JZChzZW5kTWFueVJlc3VsdDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHR4UmVxdWVzdCA9IHNlbmRNYW55UmVzdWx0LnR4UmVxdWVzdCBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZDtcbiAgICBjb25zdCBpbnRlbnQgPSB0eFJlcXVlc3Q/LmludGVudCBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gaW50ZW50Py5vcGVyYXRpb25JZCBhcyBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIG9wZXJhdGlvbnNVcmwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYC9hcGkvZGVmaS1zZXJ2aWNlL3YxL3dhbGxldHMvJHt0aGlzLndhbGxldC5pZCgpfS9vcGVyYXRpb25zYDtcbiAgfVxufVxuIl19
@@ -0,0 +1,59 @@
1
+ /**
2
+ * @prettier
3
+ */
4
+ export interface DepositToVaultOptions {
5
+ /** DeFi-service vault identifier */
6
+ vaultId: string;
7
+ /** Amount in base units of the underlying asset */
8
+ amount: string;
9
+ /** Optional client-supplied idempotency key */
10
+ clientIdempotencyKey?: string;
11
+ /** Wallet passphrase — required for hot wallets, omit for custody */
12
+ walletPassphrase?: string;
13
+ }
14
+ export interface ResumeDepositOptions {
15
+ /** operationId of the partially-completed deposit */
16
+ operationId: string;
17
+ /** Wallet passphrase — required for hot wallets, omit for custody */
18
+ walletPassphrase?: string;
19
+ }
20
+ export interface GetOperationOptions {
21
+ operationId: string;
22
+ }
23
+ export interface ListOperationsOptions {
24
+ vaultId: string;
25
+ state?: string;
26
+ type?: string;
27
+ limit?: number;
28
+ cursor?: string;
29
+ }
30
+ export interface DefiOperation {
31
+ operationId: string;
32
+ walletId: string;
33
+ vaultId: string;
34
+ type: 'DEPOSIT' | 'WITHDRAW';
35
+ assetAmount: string;
36
+ state: string;
37
+ txRequestId?: string;
38
+ associatedTxRequestId?: string;
39
+ createdAt: string;
40
+ updatedAt: string;
41
+ }
42
+ export interface DepositResult {
43
+ operationId: string;
44
+ txRequestIds: {
45
+ approve: string;
46
+ deposit: string;
47
+ };
48
+ }
49
+ export interface DefiOperationListResult {
50
+ items: DefiOperation[];
51
+ nextCursor?: string;
52
+ }
53
+ export interface IDefiVault {
54
+ depositToVault(params: DepositToVaultOptions): Promise<DepositResult>;
55
+ resumeDeposit(params: ResumeDepositOptions): Promise<DepositResult>;
56
+ getOperation(params: GetOperationOptions): Promise<DefiOperation>;
57
+ listOperations(params: ListOperationsOptions): Promise<DefiOperationListResult>;
58
+ }
59
+ //# sourceMappingURL=iDefiVault.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iDefiVault.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/defi/iDefiVault.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,qBAAqB;IACpC,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB;IACnC,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,SAAS,GAAG,UAAU,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACtE,aAAa,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACpE,YAAY,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAClE,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;CACjF"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * @prettier
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaURlZmlWYXVsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iaXRnby9kZWZpL2lEZWZpVmF1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuXG5leHBvcnQgaW50ZXJmYWNlIERlcG9zaXRUb1ZhdWx0T3B0aW9ucyB7XG4gIC8qKiBEZUZpLXNlcnZpY2UgdmF1bHQgaWRlbnRpZmllciAqL1xuICB2YXVsdElkOiBzdHJpbmc7XG4gIC8qKiBBbW91bnQgaW4gYmFzZSB1bml0cyBvZiB0aGUgdW5kZXJseWluZyBhc3NldCAqL1xuICBhbW91bnQ6IHN0cmluZztcbiAgLyoqIE9wdGlvbmFsIGNsaWVudC1zdXBwbGllZCBpZGVtcG90ZW5jeSBrZXkgKi9cbiAgY2xpZW50SWRlbXBvdGVuY3lLZXk/OiBzdHJpbmc7XG4gIC8qKiBXYWxsZXQgcGFzc3BocmFzZSDigJQgcmVxdWlyZWQgZm9yIGhvdCB3YWxsZXRzLCBvbWl0IGZvciBjdXN0b2R5ICovXG4gIHdhbGxldFBhc3NwaHJhc2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzdW1lRGVwb3NpdE9wdGlvbnMge1xuICAvKiogb3BlcmF0aW9uSWQgb2YgdGhlIHBhcnRpYWxseS1jb21wbGV0ZWQgZGVwb3NpdCAqL1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICAvKiogV2FsbGV0IHBhc3NwaHJhc2Ug4oCUIHJlcXVpcmVkIGZvciBob3Qgd2FsbGV0cywgb21pdCBmb3IgY3VzdG9keSAqL1xuICB3YWxsZXRQYXNzcGhyYXNlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldE9wZXJhdGlvbk9wdGlvbnMge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RPcGVyYXRpb25zT3B0aW9ucyB7XG4gIHZhdWx0SWQ6IHN0cmluZztcbiAgc3RhdGU/OiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG4gIGxpbWl0PzogbnVtYmVyO1xuICBjdXJzb3I/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVmaU9wZXJhdGlvbiB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIHdhbGxldElkOiBzdHJpbmc7XG4gIHZhdWx0SWQ6IHN0cmluZztcbiAgdHlwZTogJ0RFUE9TSVQnIHwgJ1dJVEhEUkFXJztcbiAgYXNzZXRBbW91bnQ6IHN0cmluZztcbiAgc3RhdGU6IHN0cmluZztcbiAgdHhSZXF1ZXN0SWQ/OiBzdHJpbmc7XG4gIGFzc29jaWF0ZWRUeFJlcXVlc3RJZD86IHN0cmluZztcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gIHVwZGF0ZWRBdDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlcG9zaXRSZXN1bHQge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICB0eFJlcXVlc3RJZHM6IHtcbiAgICBhcHByb3ZlOiBzdHJpbmc7XG4gICAgZGVwb3NpdDogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlZmlPcGVyYXRpb25MaXN0UmVzdWx0IHtcbiAgaXRlbXM6IERlZmlPcGVyYXRpb25bXTtcbiAgbmV4dEN1cnNvcj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGVmaVZhdWx0IHtcbiAgZGVwb3NpdFRvVmF1bHQocGFyYW1zOiBEZXBvc2l0VG9WYXVsdE9wdGlvbnMpOiBQcm9taXNlPERlcG9zaXRSZXN1bHQ+O1xuICByZXN1bWVEZXBvc2l0KHBhcmFtczogUmVzdW1lRGVwb3NpdE9wdGlvbnMpOiBQcm9taXNlPERlcG9zaXRSZXN1bHQ+O1xuICBnZXRPcGVyYXRpb24ocGFyYW1zOiBHZXRPcGVyYXRpb25PcHRpb25zKTogUHJvbWlzZTxEZWZpT3BlcmF0aW9uPjtcbiAgbGlzdE9wZXJhdGlvbnMocGFyYW1zOiBMaXN0T3BlcmF0aW9uc09wdGlvbnMpOiBQcm9taXNlPERlZmlPcGVyYXRpb25MaXN0UmVzdWx0Pjtcbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './iDefiVault';
2
+ export { DefiVault, ActiveOperationExistsError } from './defiVault';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/defi/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.ActiveOperationExistsError = exports.DefiVault = void 0;
18
+ __exportStar(require("./iDefiVault"), exports);
19
+ var defiVault_1 = require("./defiVault");
20
+ Object.defineProperty(exports, "DefiVault", { enumerable: true, get: function () { return defiVault_1.DefiVault; } });
21
+ Object.defineProperty(exports, "ActiveOperationExistsError", { enumerable: true, get: function () { return defiVault_1.ActiveOperationExistsError; } });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vZGVmaS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUE2QjtBQUM3Qix5Q0FBb0U7QUFBM0Qsc0dBQUEsU0FBUyxPQUFBO0FBQUUsdUhBQUEsMEJBQTBCLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2lEZWZpVmF1bHQnO1xuZXhwb3J0IHsgRGVmaVZhdWx0LCBBY3RpdmVPcGVyYXRpb25FeGlzdHNFcnJvciB9IGZyb20gJy4vZGVmaVZhdWx0JztcbiJdfQ==
@@ -7,6 +7,7 @@ export * from './bitcoin';
7
7
  export * from './bitgoBase';
8
8
  export * from './config';
9
9
  export * from './coinFactory';
10
+ export * from './defi';
10
11
  export * from './ecdh';
11
12
  export * from './enterprise';
12
13
  export * from './environments';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bitgo/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAE7B,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAC3C,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,OAAO,EAAE,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bitgo/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAE7B,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAC3C,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,OAAO,EAAE,GAAG,EAAE,CAAC"}
@@ -48,6 +48,7 @@ __exportStar(require("./bitcoin"), exports);
48
48
  __exportStar(require("./bitgoBase"), exports);
49
49
  __exportStar(require("./config"), exports);
50
50
  __exportStar(require("./coinFactory"), exports);
51
+ __exportStar(require("./defi"), exports);
51
52
  __exportStar(require("./ecdh"), exports);
52
53
  __exportStar(require("./enterprise"), exports);
53
54
  __exportStar(require("./environments"), exports);
@@ -70,4 +71,4 @@ __exportStar(require("./types"), exports);
70
71
  __exportStar(require("./utils"), exports);
71
72
  __exportStar(require("./wallet"), exports);
72
73
  __exportStar(require("./webhook"), exports);
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYml0Z28vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsdURBQXlDO0FBOEJoQyxrQ0FBVztBQTdCcEIsMkNBQTZCO0FBOEJwQixrQkFBRztBQTVCWiwyREFBMkM7QUFDM0MsNkNBQTJCO0FBQzNCLDhDQUE0QjtBQUM1Qiw0Q0FBMEI7QUFDMUIsOENBQTRCO0FBQzVCLDJDQUF5QjtBQUN6QixnREFBOEI7QUFDOUIseUNBQXVCO0FBQ3ZCLCtDQUE2QjtBQUM3QixpREFBK0I7QUFDL0IsMkNBQXlCO0FBQ3pCLHVEQUFxQztBQUNyQyw2Q0FBMkI7QUFDM0IsNkNBQTJCO0FBQzNCLDJEQUEyQztBQUMzQywyQ0FBeUI7QUFDekIsb0RBQWtDO0FBQ2xDLG1DQUF3QztBQUEvQixzR0FBQSxZQUFZLE9BQUE7QUFDckIsNkNBQTJCO0FBQzNCLDRDQUEwQjtBQUMxQiw0Q0FBMEI7QUFDMUIsd0NBQXNCO0FBQ3RCLDZCQUEyQztBQUFsQyx5R0FBQSxrQkFBa0IsT0FBQTtBQUMzQiwwQ0FBd0I7QUFDeEIsMENBQXdCO0FBQ3hCLDJDQUF5QjtBQUN6Qiw0Q0FBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBiaXRjb2luVXRpbCBmcm9tICcuL2JpdGNvaW4nO1xuaW1wb3J0ICogYXMgdHNzIGZyb20gJy4vdHNzJztcblxuZXhwb3J0ICogYXMgd2FsbGV0VXRpbCBmcm9tICcuL3dhbGxldFV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9iYXNlQ29pbic7XG5leHBvcnQgKiBmcm9tICcuL2JpcDMydXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2JpdGNvaW4nO1xuZXhwb3J0ICogZnJvbSAnLi9iaXRnb0Jhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9jb2luRmFjdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL2VjZGgnO1xuZXhwb3J0ICogZnJvbSAnLi9lbnRlcnByaXNlJztcbmV4cG9ydCAqIGZyb20gJy4vZW52aXJvbm1lbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vZXJyb3JzJztcbmV4cG9ydCAqIGZyb20gJy4vaW5zY3JpcHRpb25CdWlsZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJuYWwnO1xuZXhwb3J0ICogZnJvbSAnLi9rZXljaGFpbic7XG5leHBvcnQgKiBhcyBiaXRjb2luIGZyb20gJy4vbGVnYWN5Qml0Y29pbic7XG5leHBvcnQgKiBmcm9tICcuL21hcmtldCc7XG5leHBvcnQgKiBmcm9tICcuL3BlbmRpbmdBcHByb3ZhbCc7XG5leHBvcnQgeyBXYWxsZXRQcm9vZnMgfSBmcm9tICcuL3Byb29mcyc7XG5leHBvcnQgKiBmcm9tICcuL3JlY292ZXJ5JztcbmV4cG9ydCAqIGZyb20gJy4vc3Rha2luZyc7XG5leHBvcnQgKiBmcm9tICcuL3RyYWRpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi90c3MnO1xuZXhwb3J0IHsgc2VuZFNpZ25hdHVyZVNoYXJlIH0gZnJvbSAnLi90c3MnO1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vd2FsbGV0JztcbmV4cG9ydCAqIGZyb20gJy4vd2ViaG9vayc7XG5leHBvcnQgeyBiaXRjb2luVXRpbCB9O1xuZXhwb3J0IHsgdHNzIH07XG4iXX0=
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYml0Z28vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsdURBQXlDO0FBK0JoQyxrQ0FBVztBQTlCcEIsMkNBQTZCO0FBK0JwQixrQkFBRztBQTdCWiwyREFBMkM7QUFDM0MsNkNBQTJCO0FBQzNCLDhDQUE0QjtBQUM1Qiw0Q0FBMEI7QUFDMUIsOENBQTRCO0FBQzVCLDJDQUF5QjtBQUN6QixnREFBOEI7QUFDOUIseUNBQXVCO0FBQ3ZCLHlDQUF1QjtBQUN2QiwrQ0FBNkI7QUFDN0IsaURBQStCO0FBQy9CLDJDQUF5QjtBQUN6Qix1REFBcUM7QUFDckMsNkNBQTJCO0FBQzNCLDZDQUEyQjtBQUMzQiwyREFBMkM7QUFDM0MsMkNBQXlCO0FBQ3pCLG9EQUFrQztBQUNsQyxtQ0FBd0M7QUFBL0Isc0dBQUEsWUFBWSxPQUFBO0FBQ3JCLDZDQUEyQjtBQUMzQiw0Q0FBMEI7QUFDMUIsNENBQTBCO0FBQzFCLHdDQUFzQjtBQUN0Qiw2QkFBMkM7QUFBbEMseUdBQUEsa0JBQWtCLE9BQUE7QUFDM0IsMENBQXdCO0FBQ3hCLDBDQUF3QjtBQUN4QiwyQ0FBeUI7QUFDekIsNENBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgYml0Y29pblV0aWwgZnJvbSAnLi9iaXRjb2luJztcbmltcG9ydCAqIGFzIHRzcyBmcm9tICcuL3Rzcyc7XG5cbmV4cG9ydCAqIGFzIHdhbGxldFV0aWwgZnJvbSAnLi93YWxsZXRVdGlsJztcbmV4cG9ydCAqIGZyb20gJy4vYmFzZUNvaW4nO1xuZXhwb3J0ICogZnJvbSAnLi9iaXAzMnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9iaXRjb2luJztcbmV4cG9ydCAqIGZyb20gJy4vYml0Z29CYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vY29pbkZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9kZWZpJztcbmV4cG9ydCAqIGZyb20gJy4vZWNkaCc7XG5leHBvcnQgKiBmcm9tICcuL2VudGVycHJpc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9lbnZpcm9ubWVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9lcnJvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnNjcmlwdGlvbkJ1aWxkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcm5hbCc7XG5leHBvcnQgKiBmcm9tICcuL2tleWNoYWluJztcbmV4cG9ydCAqIGFzIGJpdGNvaW4gZnJvbSAnLi9sZWdhY3lCaXRjb2luJztcbmV4cG9ydCAqIGZyb20gJy4vbWFya2V0JztcbmV4cG9ydCAqIGZyb20gJy4vcGVuZGluZ0FwcHJvdmFsJztcbmV4cG9ydCB7IFdhbGxldFByb29mcyB9IGZyb20gJy4vcHJvb2ZzJztcbmV4cG9ydCAqIGZyb20gJy4vcmVjb3ZlcnknO1xuZXhwb3J0ICogZnJvbSAnLi9zdGFraW5nJztcbmV4cG9ydCAqIGZyb20gJy4vdHJhZGluZyc7XG5leHBvcnQgKiBmcm9tICcuL3Rzcyc7XG5leHBvcnQgeyBzZW5kU2lnbmF0dXJlU2hhcmUgfSBmcm9tICcuL3Rzcyc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi93YWxsZXQnO1xuZXhwb3J0ICogZnJvbSAnLi93ZWJob29rJztcbmV4cG9ydCB7IGJpdGNvaW5VdGlsIH07XG5leHBvcnQgeyB0c3MgfTtcbiJdfQ==
@@ -2,7 +2,7 @@
2
2
  * @hidden
3
3
  */
4
4
  import { Keychain } from '../keychain';
5
- import { EncryptFn, EncryptFnAsync } from '../../api';
5
+ import { EncryptFn, EncryptFnAsync, EncryptionVersion } from '../../api';
6
6
  interface GetKeyDataOptions {
7
7
  encrypt: EncryptFn;
8
8
  userKeychain: Keychain;
@@ -26,6 +26,7 @@ interface DrawKeycardOptions extends GetKeyDataOptions, DrawKeycardLayoutOptions
26
26
  }
27
27
  export type DrawKeycardAsyncOptions = Omit<DrawKeycardOptions, 'encrypt'> & {
28
28
  encrypt: EncryptFnAsync;
29
+ encryptionVersion?: EncryptionVersion;
29
30
  };
30
31
  /**
31
32
  * TODO: Deprecate this function in favor of drawKeycardAsync once v2 encryption is default.