@bitgo/sdk-core 26.9.0 → 26.11.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.
- package/CHANGELOG.md +31 -0
- package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts +7 -13
- package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/ecdsa/types.js +1 -1
- package/dist/src/bitgo/baseCoin/baseCoin.d.ts +7 -0
- package/dist/src/bitgo/baseCoin/baseCoin.d.ts.map +1 -1
- package/dist/src/bitgo/baseCoin/baseCoin.js +8 -1
- package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +4 -3
- package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
- package/dist/src/bitgo/baseCoin/iBaseCoin.js +1 -1
- package/dist/src/bitgo/keychain/iKeychains.d.ts +1 -0
- package/dist/src/bitgo/keychain/iKeychains.d.ts.map +1 -1
- package/dist/src/bitgo/keychain/iKeychains.js +1 -1
- package/dist/src/bitgo/keychain/keychains.d.ts.map +1 -1
- package/dist/src/bitgo/keychain/keychains.js +8 -3
- package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts.map +1 -1
- package/dist/src/bitgo/pendingApproval/pendingApproval.js +8 -2
- package/dist/src/bitgo/trading/index.d.ts +1 -0
- package/dist/src/bitgo/trading/index.d.ts.map +1 -1
- package/dist/src/bitgo/trading/index.js +2 -1
- package/dist/src/bitgo/trading/network/decrypt-aes-gcm.d.ts +9 -0
- package/dist/src/bitgo/trading/network/decrypt-aes-gcm.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/decrypt-aes-gcm.js +32 -0
- package/dist/src/bitgo/trading/network/decrypt-rsa.d.ts +8 -0
- package/dist/src/bitgo/trading/network/decrypt-rsa.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/decrypt-rsa.js +24 -0
- package/dist/src/bitgo/trading/network/decrypt.d.ts +14 -0
- package/dist/src/bitgo/trading/network/decrypt.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/decrypt.js +24 -0
- package/dist/src/bitgo/trading/network/encrypt-aes-gcm.d.ts +9 -0
- package/dist/src/bitgo/trading/network/encrypt-aes-gcm.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/encrypt-aes-gcm.js +26 -0
- package/dist/src/bitgo/trading/network/encrypt-rsa-browser.d.ts +8 -0
- package/dist/src/bitgo/trading/network/encrypt-rsa-browser.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/encrypt-rsa-browser.js +66 -0
- package/dist/src/bitgo/trading/network/encrypt-rsa.d.ts +8 -0
- package/dist/src/bitgo/trading/network/encrypt-rsa.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/encrypt-rsa.js +24 -0
- package/dist/src/bitgo/trading/network/encrypt.d.ts +37 -0
- package/dist/src/bitgo/trading/network/encrypt.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/encrypt.js +59 -0
- package/dist/src/bitgo/trading/network/index.d.ts +2 -0
- package/dist/src/bitgo/trading/network/index.d.ts.map +1 -1
- package/dist/src/bitgo/trading/network/index.js +3 -1
- package/dist/src/bitgo/trading/network/network.d.ts +2 -1
- package/dist/src/bitgo/trading/network/network.d.ts.map +1 -1
- package/dist/src/bitgo/trading/network/network.js +5 -1
- package/dist/src/bitgo/trading/network/types.d.ts +33 -4
- package/dist/src/bitgo/trading/network/types.d.ts.map +1 -1
- package/dist/src/bitgo/trading/network/types.js +1 -1
- package/dist/src/bitgo/trading/network/utils.d.ts +21 -0
- package/dist/src/bitgo/trading/network/utils.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/utils.js +55 -0
- package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.d.ts +15 -0
- package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
- package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.js +153 -0
- package/dist/src/bitgo/tss/ecdsa/index.d.ts +1 -0
- package/dist/src/bitgo/tss/ecdsa/index.d.ts.map +1 -1
- package/dist/src/bitgo/tss/ecdsa/index.js +3 -2
- package/dist/src/bitgo/tss/index.d.ts +2 -2
- package/dist/src/bitgo/tss/index.d.ts.map +1 -1
- package/dist/src/bitgo/tss/index.js +3 -2
- package/dist/src/bitgo/utils/mpcUtils.js +2 -2
- package/dist/src/bitgo/utils/opengpgUtils.d.ts +4 -1
- package/dist/src/bitgo/utils/opengpgUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/opengpgUtils.js +5 -2
- package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts +2 -1
- package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/baseTSSUtils.js +4 -3
- package/dist/src/bitgo/utils/tss/baseTypes.d.ts +1 -0
- package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/baseTypes.js +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/base.d.ts +35 -0
- package/dist/src/bitgo/utils/tss/ecdsa/base.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/base.js +65 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts +6 -29
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.js +5 -57
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +35 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +388 -0
- package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts +2 -0
- package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/index.js +3 -1
- package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts +106 -0
- package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.js +45 -0
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +4 -4
- package/dist/src/bitgo/wallet/iWallet.d.ts +3 -0
- package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/iWallet.js +1 -1
- package/dist/src/bitgo/wallet/wallet.d.ts +1 -0
- package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/wallet.js +15 -3
- package/dist/src/bitgo/wallet/wallets.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/wallets.js +16 -5
- package/dist/test/unit/bitgo/trading/network/encrypt.d.ts +2 -0
- package/dist/test/unit/bitgo/trading/network/encrypt.d.ts.map +1 -0
- package/dist/test/unit/bitgo/trading/network/encrypt.js +71 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -6
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vdHJhZGluZy9uZXR3b3JrL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIElUcmFkaW5nTmV0d29yayB7XG4gIGdldEJhbGFuY2VzOiAocGFyYW1zPzogR2V0TmV0d29ya0JhbGFuY2VzUGFyYW1zKSA9PiBQcm9taXNlPEdldE5ldHdvcmtCYWxhbmNlc1Jlc3BvbnNlPjtcbiAgZ2V0U3VwcG9ydGVkQ3VycmVuY2llczogKFxuICAgIHBhcmFtczogR2V0TmV0d29ya1N1cHBvcnRlZEN1cnJlbmNpZXNQYXJhbXNcbiAgKSA9PiBQcm9taXNlPEdldE5ldHdvcmtTdXBwb3J0ZWRDdXJyZW5jaWVzUmVzcG9uc2U+O1xuICBnZXRDb25uZWN0aW9uczogKHBhcmFtcz86IEdldE5ldHdvcmtDb25uZWN0aW9uc1BhcmFtcykgPT4gUHJvbWlzZTxHZXROZXR3b3JrQ29ubmVjdGlvbnNSZXNwb25zZT47XG4gIGdldENvbm5lY3Rpb25CeUlkOiAocGFyYW1zOiBHZXROZXR3b3JrQ29ubmVjdGlvbkJ5SWRQYXJhbXMpID0+IFByb21pc2U8R2V0TmV0d29ya0Nvbm5lY3Rpb25CeUlkUmVzcG9uc2U+O1xuICBjcmVhdGVDb25uZWN0aW9uOiAocGFyYW1zOiBDcmVhdGVOZXR3b3JrQ29ubmVjdGlvblBhcmFtcykgPT4gUHJvbWlzZTxDcmVhdGVOZXR3b3JrQ29ubmVjdGlvblJlc3BvbnNlPjtcbiAgdXBkYXRlQ29ubmVjdGlvbjogKHBhcmFtczogVXBkYXRlTmV0d29ya0Nvbm5lY3Rpb25QYXJhbXMpID0+IFByb21pc2U8VXBkYXRlTmV0d29ya0Nvbm5lY3Rpb25SZXNwb25zZT47XG4gIGdldEFsbG9jYXRpb25zOiAocGFyYW1zPzogR2V0TmV0d29ya0FsbG9jYXRpb25zUGFyYW1zKSA9PiBQcm9taXNlPEdldE5ldHdvcmtBbGxvY2F0aW9uc1Jlc3BvbnNlPjtcbiAgZ2V0QWxsb2NhdGlvbkJ5SWQ6IChwYXJhbXM6IEdldE5ldHdvcmtBbGxvY2F0aW9uQnlJZFBhcmFtcykgPT4gUHJvbWlzZTxHZXROZXR3b3JrQWxsb2NhdGlvbkJ5SWRSZXNwb25zZT47XG4gIGNyZWF0ZUFsbG9jYXRpb246IChwYXJhbXM6IENyZWF0ZU5ldHdvcmtBbGxvY2F0aW9uUGFyYW1zKSA9PiBQcm9taXNlPENyZWF0ZU5ldHdvcmtBbGxvY2F0aW9uUmVzcG9uc2U+O1xuICBjcmVhdGVEZWFsbG9jYXRpb246IChwYXJhbXM6IENyZWF0ZU5ldHdvcmtEZWFsbG9jYXRpb25QYXJhbXMpID0+IFByb21pc2U8Q3JlYXRlTmV0d29ya0RlYWxsb2NhdGlvblJlc3BvbnNlPjtcbiAgZ2V0U2V0dGxlbWVudHM6IChwYXJhbXM/OiBHZXROZXR3b3JrU2V0dGxlbWVudHNQYXJhbXMpID0+IFByb21pc2U8R2V0TmV0d29ya1NldHRsZW1lbnRzUmVzcG9uc2U+O1xuICBnZXRTZXR0bGVtZW50QnlJZDogKHBhcmFtczogR2V0TmV0d29ya1NldHRsZW1lbnRCeUlkUGFyYW1zKSA9PiBQcm9taXNlPEdldE5ldHdvcmtTZXR0bGVtZW50QnlJZFJlc3BvbnNlPjtcbiAgZ2V0U2V0dGxlbWVudFRyYW5zZmVyczogKFxuICAgIHBhcmFtcz86IEdldE5ldHdvcmtTZXR0bGVtZW50VHJhbnNmZXJzUGFyYW1zXG4gICkgPT4gUHJvbWlzZTxHZXROZXR3b3JrU2V0dGxlbWVudFRyYW5zZmVyc1Jlc3BvbnNlPjtcbn1cblxuLy8gTUVUSE9EIFRZUEVTXG5cbmV4cG9ydCB0eXBlIEdldE5ldHdvcmtCYWxhbmNlc1BhcmFtcyA9IE5ldHdvcmtQYWdpbmF0aW9uUGFyYW1zICYge1xuICBjb25uZWN0aW9uSWRzPzogc3RyaW5nW107XG4gIHBhcnRuZXJJZHM/OiBzdHJpbmdbXTtcbn07XG5cbmV4cG9ydCB0eXBlIEdldE5ldHdvcmtCYWxhbmNlc1Jlc3BvbnNlID0ge1xuICBjbGllbnRJZDogc3RyaW5nO1xuICAvLyBvZmMgY29pblxuICBiYWxhbmNlczogUmVjb3JkPHN0cmluZywgTmV0d29ya0FjY291bnRCYWxhbmNlUmVjb3JkPjtcbiAgLy8gY29ubmVjdGlvbklkXG4gIG5ldHdvcmtCYWxhbmNlczogUmVjb3JkPHN0cmluZywgTmV0d29ya0JhbGFuY2U+O1xufTtcblxuZXhwb3J0IHR5cGUgR2V0TmV0d29ya1N1cHBvcnRlZEN1cnJlbmNpZXNQYXJhbXMgPSB7XG4gIHBhcnRuZXJJZHM6IHN0cmluZ1tdO1xufTtcblxuZXhwb3J0IHR5cGUgR2V0TmV0d29ya1N1cHBvcnRlZEN1cnJlbmNpZXNSZXNwb25zZSA9IHtcbiAgc3VwcG9ydGVkQ3VycmVuY2llczogUmVjb3JkPHN0cmluZywgVjFTdXBwb3J0ZWRDdXJyZW5jeVtdPjtcbiAgZG9tYWluOiBzdHJpbmc7XG59O1xuXG4vKiogQ29ubmVjdGlvbnMgKi9cblxuZXhwb3J0IHR5cGUgR2V0TmV0d29ya0Nvbm5lY3Rpb25zUGFyYW1zID0gTmV0d29ya1BhZ2luYXRpb25QYXJhbXMgJiB7XG4gIGFjdGl2ZT86IHN0cmluZztcbiAgY29ubmVjdGlvbklkcz86IHN0cmluZztcbiAgcGFydG5lcklkcz86IHN0cmluZztcbiAgbmFtZXM/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBHZXROZXR3b3JrQ29ubmVjdGlvbnNSZXNwb25zZSA9IHtcbiAgY29ubmVjdGlvbnM6IE5ldHdvcmtDb25uZWN0aW9uW107XG59O1xuXG5leHBvcnQgdHlwZSBHZXROZXR3b3JrQ29ubmVjdGlvbkJ5SWRQYXJhbXMgPSB7XG4gIGNvbm5lY3Rpb25JZDogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgR2V0TmV0d29ya0Nvbm5lY3Rpb25CeUlkUmVzcG9uc2UgPSB7XG4gIGNvbm5lY3Rpb246IE5ldHdvcmtDb25uZWN0aW9uO1xufTtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlTmV0d29ya0Nvbm5lY3Rpb25QYXJhbXMgPSB7XG4gIHBheWxvYWQ6IHN0cmluZztcbiAgc2lnbmF0dXJlOiBzdHJpbmc7XG4gIHBhcnRuZXJJZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGNvbm5lY3Rpb25LZXk6IE5ldHdvcmtDb25uZWN0aW9uS2V5O1xuICBub25jZTogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlTmV0d29ya0Nvbm5lY3Rpb25SZXNwb25zZSA9IHtcbiAgY29ubmVjdGlvbjogTmV0d29ya0Nvbm5lY3Rpb247XG59O1xuXG5leHBvcnQgdHlwZSBVcGRhdGVOZXR3b3JrQ29ubmVjdGlvblBhcmFtcyA9IHtcbiAgY29ubmVjdGlvbklkOiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGFjdGl2ZT86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBVcGRhdGVOZXR3b3JrQ29ubmVjdGlvblJlc3BvbnNlID0ge1xuICBjb25uZWN0aW9uOiBOZXR3b3JrQ29ubmVjdGlvbjtcbn07XG5cbi8qKiBBbGxvY2F0aW9ucyAqL1xuXG5leHBvcnQgdHlwZSBHZXROZXR3b3JrQWxsb2NhdGlvbnNQYXJhbXMgPSBOZXR3b3JrUGFnaW5hdGlvblBhcmFtcyAmIHtcbiAgc29ydEZpZWxkPzogJ2lkJyB8ICd1cGRhdGVkQXQnIHwgJ3F1YW50aXR5JyB8ICdjdXJyZW5jeSc7XG4gIHNvcnREaXJlY3Rpb24/OiBOZXR3b3JrU29ydERpcmVjdGlvbjtcbiAgYWxsb2NhdGlvbklkcz86IHN0cmluZ1tdO1xuICB0eXBlcz86IE5ldHdvcmtBbGxvY2F0aW9uVHlwZVtdO1xuICBzdGF0dXNlcz86IE5ldHdvcmtBbGxvY2F0aW9uU3RhdHVzW107XG4gIGN1cnJlbmNpZXM/OiBzdHJpbmdbXTtcbiAgY29ubmVjdGlvbklkcz86IHN0cmluZ1tdO1xuICBwYXJ0bmVySWRzPzogc3RyaW5nW107XG59O1xuXG5leHBvcnQgdHlwZSBHZXROZXR3b3JrQWxsb2NhdGlvbnNSZXNwb25zZSA9IHtcbiAgYWxsb2NhdGlvbnM6IE5ldHdvcmtBbGxvY2F0aW9uW107XG59O1xuXG5leHBvcnQgdHlwZSBHZXROZXR3b3JrQWxsb2NhdGlvbkJ5SWRQYXJhbXMgPSB7XG4gIGFsbG9jYXRpb25JZDogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgR2V0TmV0d29ya0FsbG9jYXRpb25CeUlkUmVzcG9uc2UgPSB7XG4gIGFsbG9jYXRpb246IE5ldHdvcmtBbGxvY2F0aW9uO1xufTtcblxuZXhwb3J0IHR5cGUgUHJlcGFyZU5ldHdvcmtBbGxvY2F0aW9uUGFyYW1zID0gT21pdDxDcmVhdGVOZXR3b3JrQWxsb2NhdGlvblBhcmFtcywgJ3BheWxvYWQnIHwgJ3NpZ25hdHVyZSc+ICYge1xuICB3YWxsZXRQYXNzcGhyYXNlOiBzdHJpbmc7XG4gIGNsaWVudEV4dGVybmFsSWQ/OiBzdHJpbmc7XG4gIG5vbmNlPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlTmV0d29ya0FsbG9jYXRpb25QYXJhbXMgPSB7XG4gIGNvbm5lY3Rpb25JZDogc3RyaW5nO1xuICBwYXlsb2FkOiBzdHJpbmc7XG4gIHNpZ25hdHVyZTogc3RyaW5nO1xuICBhbW91bnQ6IE5ldHdvcmtBbGxvY2F0aW9uQW1vdW50O1xuICBjbGllbnRFeHRlcm5hbElkOiBzdHJpbmc7XG4gIG5vbmNlOiBzdHJpbmc7XG4gIG5vdGVzPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlTmV0d29ya0FsbG9jYXRpb25SZXNwb25zZSA9IHtcbiAgYWxsb2NhdGlvbjogTmV0d29ya0FsbG9jYXRpb247XG59O1xuXG4vKiogRGVhbGxvY2F0aW9ucyAqL1xuXG5leHBvcnQgdHlwZSBDcmVhdGVOZXR3b3JrRGVhbGxvY2F0aW9uUGFyYW1zID0ge1xuICBjb25uZWN0aW9uSWQ6IHN0cmluZztcbiAgcGF5bG9hZDogc3RyaW5nO1xuICBzaWduYXR1cmU6IHN0cmluZztcbiAgYW1vdW50OiBOZXR3b3JrQWxsb2NhdGlvbkFtb3VudDtcbiAgY2xpZW50RXh0ZXJuYWxJZDogc3RyaW5nO1xuICBub25jZTogc3RyaW5nO1xuICBub3Rlcz86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIENyZWF0ZU5ldHdvcmtEZWFsbG9jYXRpb25SZXNwb25zZSA9IHtcbiAgYWxsb2NhdGlvbjogTmV0d29ya0FsbG9jYXRpb247XG59O1xuXG5leHBvcnQgdHlwZSBHZXROZXR3b3JrU2V0dGxlbWVudHNQYXJhbXMgPSBOZXR3b3JrUGFnaW5hdGlvblBhcmFtcyAmIHtcbiAgc2V0dGxlbWVudElkcz86IHN0cmluZ1tdO1xuICBwYXJ0bmVySWRzPzogc3RyaW5nW107XG4gIHBhcnR5Q29ubmVjdGlvbklkcz86IHN0cmluZ1tdO1xuICBjb3VudGVycGFydHlDb25uZWN0aW9uSWRzPzogc3RyaW5nW107XG59O1xuXG5leHBvcnQgdHlwZSBHZXROZXR3b3JrU2V0dGxlbWVudHNSZXNwb25zZSA9IHtcbiAgc2V0dGxlbWVudHM6IE5ldHdvcmtTZXR0bGVtZW50W107XG59O1xuXG5leHBvcnQgdHlwZSBHZXROZXR3b3JrU2V0dGxlbWVudEJ5SWRQYXJhbXMgPSBOZXR3b3JrUGFnaW5hdGlvblBhcmFtcyAmIHtcbiAgc2V0dGxlbWVudElkOiBzdHJpbmc7XG4gIGN1cnJlbmNpZXM/OiBzdHJpbmdbXTtcbn07XG5cbmV4cG9ydCB0eXBlIEdldE5ldHdvcmtTZXR0bGVtZW50QnlJZFJlc3BvbnNlID0ge1xuICBzZXR0bGVtZW50OiBOZXR3b3JrU2V0dGxlbWVudDtcbiAgc2V0dGxlbWVudFRyYW5zZmVyczogTmV0d29ya1NldHRsZW1lbnRUcmFuc2ZlcltdO1xufTtcblxuZXhwb3J0IHR5cGUgR2V0TmV0d29ya1NldHRsZW1lbnRUcmFuc2ZlcnNQYXJhbXMgPSBOZXR3b3JrUGFnaW5hdGlvblBhcmFtcyAmIHtcbiAgY3VycmVuY2llcz86IHN0cmluZ1tdO1xuICBpbml0aWF0ZWRCeT86IHN0cmluZ1tdO1xuICBwYXJ0bmVySWRzPzogc3RyaW5nW107XG4gIHNldHRsZW1lbnRJZHM/OiBzdHJpbmdbXTtcbiAgc2V0dGxlbWVudFN0YXR1c2VzPzogTmV0d29ya1NldHRsZW1lbnRTdGF0dXNbXTtcbiAgc2V0dGxlbWVudFVwZGF0ZWRCZWZvcmU/OiBzdHJpbmc7XG4gIHNldHRsZW1lbnRVcGRhdGVkT25PckFmdGVyPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgR2V0TmV0d29ya1NldHRsZW1lbnRUcmFuc2ZlcnNSZXNwb25zZSA9IHtcbiAgc2V0dGxlbWVudFRyYW5zZmVyczogTmV0d29ya1NldHRsZW1lbnRUcmFuc2ZlcltdO1xufTtcblxuLy8gTUVUSE9EIEFSVElGQUNUU1xuXG50eXBlIE5ldHdvcmtQYWdpbmF0aW9uUGFyYW1zID0ge1xuICBwYWdlTnVtYmVyPzogc3RyaW5nIHwgbnVtYmVyO1xuICBwYWdlU2l6ZT86IHN0cmluZyB8IG51bWJlcjtcbn07XG5cbnR5cGUgTmV0d29ya1NvcnREaXJlY3Rpb24gPSAnQVNDJyB8ICdERVNDJztcblxuZXhwb3J0IHR5cGUgTmV0d29ya0FjY291bnRCYWxhbmNlUmVjb3JkID0ge1xuICBhdmFpbGFibGU6IHN0cmluZztcbiAgaGVsZDogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgTmV0d29ya0JhbGFuY2UgPSB7XG4gIGJhbGFuY2VzOiBSZWNvcmQ8c3RyaW5nLCBOZXR3b3JrQWNjb3VudEJhbGFuY2VSZWNvcmQ+O1xuICBuYW1lOiBzdHJpbmc7XG4gIHBhcnRuZXJJZDogc3RyaW5nO1xuICBwYXJ0bmVySW5zdGl0dXRpb25JZGVudGlmaWVyOiBzdHJpbmc7XG4gIHBhcnRuZXJzQ29ubmVjdGlvbklkOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBWMVN1cHBvcnRlZEN1cnJlbmN5ID0ge1xuICBvZmNDdXJyZW5jeTogc3RyaW5nO1xuICBiYWNraW5nQ3VycmVuY3k6IHN0cmluZztcbiAgcGFydG5lck5hbWVzOiBzdHJpbmdbXTtcbn07XG5cbmV4cG9ydCB0eXBlIE5ldHdvcmtDb25uZWN0aW9uID0ge1xuICBhY3RpdmU6IGJvb2xlYW47XG4gIGNsaWVudElkOiBzdHJpbmc7XG4gIGluaXRpYWxpemVkOiBib29sZWFuO1xuICBuYW1lOiBzdHJpbmc7XG4gIHBhcnRuZXJzQ29ubmVjdGlvbklkOiBzdHJpbmc7XG4gIHBhcnRuZXJzQ2xpZW50SWQ6IHN0cmluZztcbiAgcGFydG5lcklkOiBzdHJpbmc7XG4gIG5ldHdvcmtBY2NvdW50SWQ6IHN0cmluZztcbiAgcHJvb2Y6IHN0cmluZztcbiAgbm9uY2U6IHN0cmluZztcbiAgaWQ6IHN0cmluZztcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gIHVwZGF0ZWRBdDogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgTmV0d29ya0Nvbm5lY3Rpb25LZXkgPVxuICB8IHtcbiAgICAgIHNjaGVtYTogJ3Rva2VuJztcbiAgICAgIGNvbm5lY3Rpb25Ub2tlbjogc3RyaW5nO1xuICAgIH1cbiAgfCB7XG4gICAgICBzY2hlbWE6ICd0b2tlbkFuZFNpZ25hdHVyZSc7XG4gICAgICBjb25uZWN0aW9uVG9rZW46IHN0cmluZztcbiAgICAgIHNpZ25hdHVyZTogc3RyaW5nO1xuICAgIH07XG5cbmV4cG9ydCB0eXBlIE5ldHdvcmtBbGxvY2F0aW9uVHlwZSA9ICdhbGxvY2F0aW9uJyB8ICdkZWFsbG9jYXRpb24nO1xuZXhwb3J0IHR5cGUgTmV0d29ya0FsbG9jYXRpb25TdGF0dXMgPSAnY2xlYXJlZCcgfCAncmVsZWFzZWQnIHwgJ3Jlc2VydmVkJztcblxuZXhwb3J0IHR5cGUgTmV0d29ya0FsbG9jYXRpb24gPSB7XG4gIHJlYXNvbjogc3RyaW5nO1xuICBzdGF0dXM6IE5ldHdvcmtBbGxvY2F0aW9uU3RhdHVzO1xuICB0eXBlOiBOZXR3b3JrQWxsb2NhdGlvblR5cGU7XG4gIGlkOiBzdHJpbmc7XG4gIGFtb3VudDogTmV0d29ya0FsbG9jYXRpb25BbW91bnQ7XG4gIGNvbm5lY3Rpb25JZDogc3RyaW5nO1xuICBjbGllbnRFeHRlcm5hbElkOiBzdHJpbmc7XG4gIHBhcnRuZXJFeHRlcm5hbElkPzogc3RyaW5nO1xuICBpbml0aWF0ZWRCeTogc3RyaW5nO1xuICBub3Rlcz86IHN0cmluZztcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gIHVwZGF0ZWRBdDogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgTmV0d29ya0FsbG9jYXRpb25BbW91bnQgPSB7XG4gIGN1cnJlbmN5OiBzdHJpbmc7XG4gIHF1YW50aXR5Pzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgTmV0d29ya0RlYWxsb2NhdGlvbiA9IE5ldHdvcmtBbGxvY2F0aW9uO1xuXG5leHBvcnQgdHlwZSBOZXR3b3JrU2V0dGxlbWVudCA9IHtcbiAgc3RhdHVzOiBOZXR3b3JrU2V0dGxlbWVudFN0YXR1cztcbiAgcmVhc29uPzogc3RyaW5nO1xuICBpZDogc3RyaW5nO1xuICBwYXJ0bmVySWQ6IHN0cmluZztcbiAgZXh0ZXJuYWxJZDogc3RyaW5nO1xuICByZWNvbmNpbGVkOiBib29sZWFuO1xuICBpbml0aWF0ZWRCeTogc3RyaW5nO1xuICBub3Rlcz86IHN0cmluZztcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gIHVwZGF0ZWRBdDogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgTmV0d29ya1NldHRsZW1lbnRUcmFuc2ZlciA9IHtcbiAgaWQ6IHN0cmluZztcbiAgY3VycmVuY3k6IHN0cmluZztcbiAgc2V0dGxlbWVudElkOiBzdHJpbmc7XG4gIHF1YW50aXR5OiBzdHJpbmc7XG4gIHR4SWRzOiBzdHJpbmdbXTtcbiAgc2V0dGxlbWVudFN0YXR1czogTmV0d29ya1NldHRsZW1lbnRTdGF0dXM7XG4gIHNldHRsZW1lbnROb3Rlcz86IHN0cmluZztcbiAgc291cmNlVHJhZGluZ0FjY291bnRJZD86IHN0cmluZztcbiAgc291cmNlQ2xpZW50TmFtZT86IHN0cmluZztcbiAgZGVzdGluYXRpb25UcmFkaW5nQWNjb3VudElkPzogc3RyaW5nO1xuICBkZXN0aW5hdGlvbkNsaWVudE5hbWU/OiBzdHJpbmc7XG4gIHNvdXJjZU5ldHdvcmtBY2NvdW50SWQ/OiBzdHJpbmc7XG4gIHNvdXJjZUNvbm5lY3Rpb25OYW1lPzogc3RyaW5nO1xuICBkZXN0aW5hdGlvbk5ldHdvcmtBY2NvdW50SWQ/OiBzdHJpbmc7XG4gIGRlc3RpbmF0aW9uQ29ubmVjdGlvbk5hbWU/OiBzdHJpbmc7XG4gIGNyZWF0ZWRBdDogc3RyaW5nO1xuICB1cGRhdGVkQXQ6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIE5ldHdvcmtTZXR0bGVtZW50U3RhdHVzID0gJ2ZhaWxlZCcgfCAnY29tcGxldGVkJyB8ICdwZW5kaW5nJztcbiJdfQ==
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vdHJhZGluZy9uZXR3b3JrL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIElUcmFkaW5nTmV0d29yayB7XG4gIGdldEJhbGFuY2VzOiAocGFyYW1zPzogR2V0TmV0d29ya0JhbGFuY2VzUGFyYW1zKSA9PiBQcm9taXNlPEdldE5ldHdvcmtCYWxhbmNlc1Jlc3BvbnNlPjtcbiAgZ2V0UGFydG5lcnM6IChwYXJhbXM/OiBHZXROZXR3b3JrUGFydG5lcnNQYXJhbXMpID0+IFByb21pc2U8R2V0TmV0d29ya1BhcnRuZXJzUmVzcG9uc2U+O1xuICBnZXRTdXBwb3J0ZWRDdXJyZW5jaWVzOiAoXG4gICAgcGFyYW1zOiBHZXROZXR3b3JrU3VwcG9ydGVkQ3VycmVuY2llc1BhcmFtc1xuICApID0+IFByb21pc2U8R2V0TmV0d29ya1N1cHBvcnRlZEN1cnJlbmNpZXNSZXNwb25zZT47XG4gIGdldENvbm5lY3Rpb25zOiAocGFyYW1zPzogR2V0TmV0d29ya0Nvbm5lY3Rpb25zUGFyYW1zKSA9PiBQcm9taXNlPEdldE5ldHdvcmtDb25uZWN0aW9uc1Jlc3BvbnNlPjtcbiAgZ2V0Q29ubmVjdGlvbkJ5SWQ6IChwYXJhbXM6IEdldE5ldHdvcmtDb25uZWN0aW9uQnlJZFBhcmFtcykgPT4gUHJvbWlzZTxHZXROZXR3b3JrQ29ubmVjdGlvbkJ5SWRSZXNwb25zZT47XG4gIGNyZWF0ZUNvbm5lY3Rpb246IChwYXJhbXM6IENyZWF0ZU5ldHdvcmtDb25uZWN0aW9uUGFyYW1zKSA9PiBQcm9taXNlPENyZWF0ZU5ldHdvcmtDb25uZWN0aW9uUmVzcG9uc2U+O1xuICB1cGRhdGVDb25uZWN0aW9uOiAocGFyYW1zOiBVcGRhdGVOZXR3b3JrQ29ubmVjdGlvblBhcmFtcykgPT4gUHJvbWlzZTxVcGRhdGVOZXR3b3JrQ29ubmVjdGlvblJlc3BvbnNlPjtcbiAgZ2V0QWxsb2NhdGlvbnM6IChwYXJhbXM/OiBHZXROZXR3b3JrQWxsb2NhdGlvbnNQYXJhbXMpID0+IFByb21pc2U8R2V0TmV0d29ya0FsbG9jYXRpb25zUmVzcG9uc2U+O1xuICBnZXRBbGxvY2F0aW9uQnlJZDogKHBhcmFtczogR2V0TmV0d29ya0FsbG9jYXRpb25CeUlkUGFyYW1zKSA9PiBQcm9taXNlPEdldE5ldHdvcmtBbGxvY2F0aW9uQnlJZFJlc3BvbnNlPjtcbiAgY3JlYXRlQWxsb2NhdGlvbjogKHBhcmFtczogQ3JlYXRlTmV0d29ya0FsbG9jYXRpb25QYXJhbXMpID0+IFByb21pc2U8Q3JlYXRlTmV0d29ya0FsbG9jYXRpb25SZXNwb25zZT47XG4gIGNyZWF0ZURlYWxsb2NhdGlvbjogKHBhcmFtczogQ3JlYXRlTmV0d29ya0RlYWxsb2NhdGlvblBhcmFtcykgPT4gUHJvbWlzZTxDcmVhdGVOZXR3b3JrRGVhbGxvY2F0aW9uUmVzcG9uc2U+O1xuICBnZXRTZXR0bGVtZW50czogKHBhcmFtcz86IEdldE5ldHdvcmtTZXR0bGVtZW50c1BhcmFtcykgPT4gUHJvbWlzZTxHZXROZXR3b3JrU2V0dGxlbWVudHNSZXNwb25zZT47XG4gIGdldFNldHRsZW1lbnRCeUlkOiAocGFyYW1zOiBHZXROZXR3b3JrU2V0dGxlbWVudEJ5SWRQYXJhbXMpID0+IFByb21pc2U8R2V0TmV0d29ya1NldHRsZW1lbnRCeUlkUmVzcG9uc2U+O1xuICBnZXRTZXR0bGVtZW50VHJhbnNmZXJzOiAoXG4gICAgcGFyYW1zPzogR2V0TmV0d29ya1NldHRsZW1lbnRUcmFuc2ZlcnNQYXJhbXNcbiAgKSA9PiBQcm9taXNlPEdldE5ldHdvcmtTZXR0bGVtZW50VHJhbnNmZXJzUmVzcG9uc2U+O1xufVxuXG4vLyBNRVRIT0QgVFlQRVNcblxuZXhwb3J0IHR5cGUgR2V0TmV0d29ya0JhbGFuY2VzUGFyYW1zID0gTmV0d29ya1BhZ2luYXRpb25QYXJhbXMgJiB7XG4gIGNvbm5lY3Rpb25JZHM/OiBzdHJpbmdbXTtcbiAgcGFydG5lcklkcz86IHN0cmluZ1tdO1xufTtcblxuZXhwb3J0IHR5cGUgR2V0TmV0d29ya0JhbGFuY2VzUmVzcG9uc2UgPSB7XG4gIGNsaWVudElkOiBzdHJpbmc7XG4gIC8vIG9mYyBjb2luXG4gIGJhbGFuY2VzOiBSZWNvcmQ8c3RyaW5nLCBOZXR3b3JrQWNjb3VudEJhbGFuY2VSZWNvcmQ+O1xuICAvLyBjb25uZWN0aW9uSWRcbiAgbmV0d29ya0JhbGFuY2VzOiBSZWNvcmQ8c3RyaW5nLCBOZXR3b3JrQmFsYW5jZT47XG59O1xuXG5leHBvcnQgdHlwZSBHZXROZXR3b3JrUGFydG5lcnNQYXJhbXMgPSBOZXR3b3JrUGFnaW5hdGlvblBhcmFtcyAmIHtcbiAgaWRzPzogc3RyaW5nW107XG4gIG5hbWVzPzogc3RyaW5nW107XG4gIGluc3RpdHV0aW9uSWRzPzogc3RyaW5nW107XG4gIGluc3RpdHV0aW9uSWRlbnRpZmllcnM/OiBzdHJpbmdbXTtcbiAgYWN0aXZlPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIEdldE5ldHdvcmtQYXJ0bmVyc1Jlc3BvbnNlID0ge1xuICBwYXJ0bmVyczogTmV0d29ya1BhcnRuZXJbXTtcbn07XG5cbmV4cG9ydCB0eXBlIEdldE5ldHdvcmtTdXBwb3J0ZWRDdXJyZW5jaWVzUGFyYW1zID0ge1xuICBwYXJ0bmVySWRzOiBzdHJpbmdbXTtcbn07XG5cbmV4cG9ydCB0eXBlIEdldE5ldHdvcmtTdXBwb3J0ZWRDdXJyZW5jaWVzUmVzcG9uc2UgPSB7XG4gIHN1cHBvcnRlZEN1cnJlbmNpZXM6IFJlY29yZDxzdHJpbmcsIFYxU3VwcG9ydGVkQ3VycmVuY3lbXT47XG4gIGRvbWFpbjogc3RyaW5nO1xufTtcblxuLyoqIENvbm5lY3Rpb25zICovXG5cbmV4cG9ydCB0eXBlIEdldE5ldHdvcmtDb25uZWN0aW9uc1BhcmFtcyA9IE5ldHdvcmtQYWdpbmF0aW9uUGFyYW1zICYge1xuICBhY3RpdmU/OiBzdHJpbmc7XG4gIGNvbm5lY3Rpb25JZHM/OiBzdHJpbmc7XG4gIHBhcnRuZXJJZHM/OiBzdHJpbmc7XG4gIG5hbWVzPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgR2V0TmV0d29ya0Nvbm5lY3Rpb25zUmVzcG9uc2UgPSB7XG4gIGNvbm5lY3Rpb25zOiBOZXR3b3JrQ29ubmVjdGlvbltdO1xufTtcblxuZXhwb3J0IHR5cGUgR2V0TmV0d29ya0Nvbm5lY3Rpb25CeUlkUGFyYW1zID0ge1xuICBjb25uZWN0aW9uSWQ6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEdldE5ldHdvcmtDb25uZWN0aW9uQnlJZFJlc3BvbnNlID0ge1xuICBjb25uZWN0aW9uOiBOZXR3b3JrQ29ubmVjdGlvbjtcbn07XG5cbmV4cG9ydCB0eXBlIENyZWF0ZU5ldHdvcmtDb25uZWN0aW9uUGFyYW1zID0ge1xuICBwYXJ0bmVySWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBjb25uZWN0aW9uS2V5OiBOZXR3b3JrQ29ubmVjdGlvbktleTtcbiAgbm9uY2U6IHN0cmluZztcbiAgcGF5bG9hZDogc3RyaW5nO1xuICBzaWduYXR1cmU6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIENyZWF0ZU5ldHdvcmtDb25uZWN0aW9uUmVzcG9uc2UgPSB7XG4gIGNvbm5lY3Rpb246IE5ldHdvcmtDb25uZWN0aW9uO1xufTtcblxuZXhwb3J0IHR5cGUgVXBkYXRlTmV0d29ya0Nvbm5lY3Rpb25QYXJhbXMgPSB7XG4gIGNvbm5lY3Rpb25JZDogc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xuICBhY3RpdmU/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgVXBkYXRlTmV0d29ya0Nvbm5lY3Rpb25SZXNwb25zZSA9IHtcbiAgY29ubmVjdGlvbjogTmV0d29ya0Nvbm5lY3Rpb247XG59O1xuXG4vKiogQWxsb2NhdGlvbnMgKi9cblxuZXhwb3J0IHR5cGUgR2V0TmV0d29ya0FsbG9jYXRpb25zUGFyYW1zID0gTmV0d29ya1BhZ2luYXRpb25QYXJhbXMgJiB7XG4gIHNvcnRGaWVsZD86ICdpZCcgfCAndXBkYXRlZEF0JyB8ICdxdWFudGl0eScgfCAnY3VycmVuY3knO1xuICBzb3J0RGlyZWN0aW9uPzogTmV0d29ya1NvcnREaXJlY3Rpb247XG4gIGFsbG9jYXRpb25JZHM/OiBzdHJpbmdbXTtcbiAgdHlwZXM/OiBOZXR3b3JrQWxsb2NhdGlvblR5cGVbXTtcbiAgc3RhdHVzZXM/OiBOZXR3b3JrQWxsb2NhdGlvblN0YXR1c1tdO1xuICBjdXJyZW5jaWVzPzogc3RyaW5nW107XG4gIGNvbm5lY3Rpb25JZHM/OiBzdHJpbmdbXTtcbiAgcGFydG5lcklkcz86IHN0cmluZ1tdO1xufTtcblxuZXhwb3J0IHR5cGUgR2V0TmV0d29ya0FsbG9jYXRpb25zUmVzcG9uc2UgPSB7XG4gIGFsbG9jYXRpb25zOiBOZXR3b3JrQWxsb2NhdGlvbltdO1xufTtcblxuZXhwb3J0IHR5cGUgR2V0TmV0d29ya0FsbG9jYXRpb25CeUlkUGFyYW1zID0ge1xuICBhbGxvY2F0aW9uSWQ6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEdldE5ldHdvcmtBbGxvY2F0aW9uQnlJZFJlc3BvbnNlID0ge1xuICBhbGxvY2F0aW9uOiBOZXR3b3JrQWxsb2NhdGlvbjtcbn07XG5cbmV4cG9ydCB0eXBlIFByZXBhcmVOZXR3b3JrQWxsb2NhdGlvblBhcmFtcyA9IE9taXQ8Q3JlYXRlTmV0d29ya0FsbG9jYXRpb25QYXJhbXMsICdwYXlsb2FkJyB8ICdzaWduYXR1cmUnPiAmIHtcbiAgd2FsbGV0UGFzc3BocmFzZTogc3RyaW5nO1xuICBjbGllbnRFeHRlcm5hbElkPzogc3RyaW5nO1xuICBub25jZT86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIENyZWF0ZU5ldHdvcmtBbGxvY2F0aW9uUGFyYW1zID0ge1xuICBjb25uZWN0aW9uSWQ6IHN0cmluZztcbiAgcGF5bG9hZDogc3RyaW5nO1xuICBzaWduYXR1cmU6IHN0cmluZztcbiAgYW1vdW50OiBOZXR3b3JrQWxsb2NhdGlvbkFtb3VudDtcbiAgY2xpZW50RXh0ZXJuYWxJZDogc3RyaW5nO1xuICBub25jZTogc3RyaW5nO1xuICBub3Rlcz86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIENyZWF0ZU5ldHdvcmtBbGxvY2F0aW9uUmVzcG9uc2UgPSB7XG4gIGFsbG9jYXRpb246IE5ldHdvcmtBbGxvY2F0aW9uO1xufTtcblxuLyoqIERlYWxsb2NhdGlvbnMgKi9cblxuZXhwb3J0IHR5cGUgQ3JlYXRlTmV0d29ya0RlYWxsb2NhdGlvblBhcmFtcyA9IHtcbiAgY29ubmVjdGlvbklkOiBzdHJpbmc7XG4gIHBheWxvYWQ6IHN0cmluZztcbiAgc2lnbmF0dXJlOiBzdHJpbmc7XG4gIGFtb3VudDogTmV0d29ya0FsbG9jYXRpb25BbW91bnQ7XG4gIGNsaWVudEV4dGVybmFsSWQ6IHN0cmluZztcbiAgbm9uY2U6IHN0cmluZztcbiAgbm90ZXM/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBDcmVhdGVOZXR3b3JrRGVhbGxvY2F0aW9uUmVzcG9uc2UgPSB7XG4gIGFsbG9jYXRpb246IE5ldHdvcmtBbGxvY2F0aW9uO1xufTtcblxuZXhwb3J0IHR5cGUgR2V0TmV0d29ya1NldHRsZW1lbnRzUGFyYW1zID0gTmV0d29ya1BhZ2luYXRpb25QYXJhbXMgJiB7XG4gIHNldHRsZW1lbnRJZHM/OiBzdHJpbmdbXTtcbiAgcGFydG5lcklkcz86IHN0cmluZ1tdO1xuICBwYXJ0eUNvbm5lY3Rpb25JZHM/OiBzdHJpbmdbXTtcbiAgY291bnRlcnBhcnR5Q29ubmVjdGlvbklkcz86IHN0cmluZ1tdO1xufTtcblxuZXhwb3J0IHR5cGUgR2V0TmV0d29ya1NldHRsZW1lbnRzUmVzcG9uc2UgPSB7XG4gIHNldHRsZW1lbnRzOiBOZXR3b3JrU2V0dGxlbWVudFtdO1xufTtcblxuZXhwb3J0IHR5cGUgR2V0TmV0d29ya1NldHRsZW1lbnRCeUlkUGFyYW1zID0gTmV0d29ya1BhZ2luYXRpb25QYXJhbXMgJiB7XG4gIHNldHRsZW1lbnRJZDogc3RyaW5nO1xuICBjdXJyZW5jaWVzPzogc3RyaW5nW107XG59O1xuXG5leHBvcnQgdHlwZSBHZXROZXR3b3JrU2V0dGxlbWVudEJ5SWRSZXNwb25zZSA9IHtcbiAgc2V0dGxlbWVudDogTmV0d29ya1NldHRsZW1lbnQ7XG4gIHNldHRsZW1lbnRUcmFuc2ZlcnM6IE5ldHdvcmtTZXR0bGVtZW50VHJhbnNmZXJbXTtcbn07XG5cbmV4cG9ydCB0eXBlIEdldE5ldHdvcmtTZXR0bGVtZW50VHJhbnNmZXJzUGFyYW1zID0gTmV0d29ya1BhZ2luYXRpb25QYXJhbXMgJiB7XG4gIGN1cnJlbmNpZXM/OiBzdHJpbmdbXTtcbiAgaW5pdGlhdGVkQnk/OiBzdHJpbmdbXTtcbiAgcGFydG5lcklkcz86IHN0cmluZ1tdO1xuICBzZXR0bGVtZW50SWRzPzogc3RyaW5nW107XG4gIHNldHRsZW1lbnRTdGF0dXNlcz86IE5ldHdvcmtTZXR0bGVtZW50U3RhdHVzW107XG4gIHNldHRsZW1lbnRVcGRhdGVkQmVmb3JlPzogc3RyaW5nO1xuICBzZXR0bGVtZW50VXBkYXRlZE9uT3JBZnRlcj86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEdldE5ldHdvcmtTZXR0bGVtZW50VHJhbnNmZXJzUmVzcG9uc2UgPSB7XG4gIHNldHRsZW1lbnRUcmFuc2ZlcnM6IE5ldHdvcmtTZXR0bGVtZW50VHJhbnNmZXJbXTtcbn07XG5cbi8vIE1FVEhPRCBBUlRJRkFDVFNcblxudHlwZSBOZXR3b3JrUGFnaW5hdGlvblBhcmFtcyA9IHtcbiAgcGFnZU51bWJlcj86IHN0cmluZyB8IG51bWJlcjtcbiAgcGFnZVNpemU/OiBzdHJpbmcgfCBudW1iZXI7XG59O1xuXG50eXBlIE5ldHdvcmtTb3J0RGlyZWN0aW9uID0gJ0FTQycgfCAnREVTQyc7XG5cbmV4cG9ydCB0eXBlIE5ldHdvcmtBY2NvdW50QmFsYW5jZVJlY29yZCA9IHtcbiAgYXZhaWxhYmxlOiBzdHJpbmc7XG4gIGhlbGQ6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIE5ldHdvcmtCYWxhbmNlID0ge1xuICBiYWxhbmNlczogUmVjb3JkPHN0cmluZywgTmV0d29ya0FjY291bnRCYWxhbmNlUmVjb3JkPjtcbiAgbmFtZTogc3RyaW5nO1xuICBwYXJ0bmVySWQ6IHN0cmluZztcbiAgcGFydG5lckluc3RpdHV0aW9uSWRlbnRpZmllcjogc3RyaW5nO1xuICBwYXJ0bmVyc0Nvbm5lY3Rpb25JZDogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgVjFTdXBwb3J0ZWRDdXJyZW5jeSA9IHtcbiAgb2ZjQ3VycmVuY3k6IHN0cmluZztcbiAgYmFja2luZ0N1cnJlbmN5OiBzdHJpbmc7XG4gIHBhcnRuZXJOYW1lczogc3RyaW5nW107XG59O1xuXG5leHBvcnQgdHlwZSBOZXR3b3JrQ29ubmVjdGlvbiA9IHtcbiAgYWN0aXZlOiBib29sZWFuO1xuICBjbGllbnRJZDogc3RyaW5nO1xuICBpbml0aWFsaXplZDogYm9vbGVhbjtcbiAgbmFtZTogc3RyaW5nO1xuICBwYXJ0bmVyc0Nvbm5lY3Rpb25JZDogc3RyaW5nO1xuICBwYXJ0bmVyc0NsaWVudElkOiBzdHJpbmc7XG4gIHBhcnRuZXJJZDogc3RyaW5nO1xuICBuZXR3b3JrQWNjb3VudElkOiBzdHJpbmc7XG4gIHByb29mOiBzdHJpbmc7XG4gIG5vbmNlOiBzdHJpbmc7XG4gIGlkOiBzdHJpbmc7XG4gIGNyZWF0ZWRBdDogc3RyaW5nO1xuICB1cGRhdGVkQXQ6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIE5ldHdvcmtDb25uZWN0aW9uS2V5ID1cbiAgfCBOZXR3b3JrQ29ubmVjdGlvbktleVRva2VuXG4gIHwgTmV0d29ya0Nvbm5lY3Rpb25LZXlUb2tlbkFuZFNpZ25hdHVyZVxuICB8IE5ldHdvcmtDb25uZWN0aW9uS2V5QXBpS2V5QW5kU2VjcmV0O1xuXG5leHBvcnQgdHlwZSBOZXR3b3JrQ29ubmVjdGlvbktleVRva2VuID0ge1xuICBzY2hlbWE6ICd0b2tlbic7XG4gIGNvbm5lY3Rpb25Ub2tlbjogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgTmV0d29ya0Nvbm5lY3Rpb25LZXlUb2tlbkFuZFNpZ25hdHVyZSA9IHtcbiAgc2NoZW1hOiAndG9rZW5BbmRTaWduYXR1cmUnO1xuICBjb25uZWN0aW9uVG9rZW46IHN0cmluZztcbiAgc2lnbmF0dXJlOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBOZXR3b3JrQ29ubmVjdGlvbktleUFwaUtleUFuZFNlY3JldCA9IHtcbiAgc2NoZW1hOiAnYXBpS2V5QW5kU2VjcmV0JztcbiAgYXBpS2V5OiBzdHJpbmc7XG4gIGFwaVNlY3JldDogc3RyaW5nO1xuICBjbGllbnRBY2NvdW50SWQ6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIE5ldHdvcmtBbGxvY2F0aW9uVHlwZSA9ICdhbGxvY2F0aW9uJyB8ICdkZWFsbG9jYXRpb24nO1xuZXhwb3J0IHR5cGUgTmV0d29ya0FsbG9jYXRpb25TdGF0dXMgPSAnY2xlYXJlZCcgfCAncmVsZWFzZWQnIHwgJ3Jlc2VydmVkJztcblxuZXhwb3J0IHR5cGUgTmV0d29ya0FsbG9jYXRpb24gPSB7XG4gIHJlYXNvbjogc3RyaW5nO1xuICBzdGF0dXM6IE5ldHdvcmtBbGxvY2F0aW9uU3RhdHVzO1xuICB0eXBlOiBOZXR3b3JrQWxsb2NhdGlvblR5cGU7XG4gIGlkOiBzdHJpbmc7XG4gIGFtb3VudDogTmV0d29ya0FsbG9jYXRpb25BbW91bnQ7XG4gIGNvbm5lY3Rpb25JZDogc3RyaW5nO1xuICBjbGllbnRFeHRlcm5hbElkOiBzdHJpbmc7XG4gIHBhcnRuZXJFeHRlcm5hbElkPzogc3RyaW5nO1xuICBpbml0aWF0ZWRCeTogc3RyaW5nO1xuICBub3Rlcz86IHN0cmluZztcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gIHVwZGF0ZWRBdDogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgTmV0d29ya0FsbG9jYXRpb25BbW91bnQgPSB7XG4gIGN1cnJlbmN5OiBzdHJpbmc7XG4gIHF1YW50aXR5Pzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgTmV0d29ya0RlYWxsb2NhdGlvbiA9IE5ldHdvcmtBbGxvY2F0aW9uO1xuXG5leHBvcnQgdHlwZSBOZXR3b3JrU2V0dGxlbWVudCA9IHtcbiAgc3RhdHVzOiBOZXR3b3JrU2V0dGxlbWVudFN0YXR1cztcbiAgcmVhc29uPzogc3RyaW5nO1xuICBpZDogc3RyaW5nO1xuICBwYXJ0bmVySWQ6IHN0cmluZztcbiAgZXh0ZXJuYWxJZDogc3RyaW5nO1xuICByZWNvbmNpbGVkOiBib29sZWFuO1xuICBpbml0aWF0ZWRCeTogc3RyaW5nO1xuICBub3Rlcz86IHN0cmluZztcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gIHVwZGF0ZWRBdDogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgTmV0d29ya1NldHRsZW1lbnRUcmFuc2ZlciA9IHtcbiAgaWQ6IHN0cmluZztcbiAgY3VycmVuY3k6IHN0cmluZztcbiAgc2V0dGxlbWVudElkOiBzdHJpbmc7XG4gIHF1YW50aXR5OiBzdHJpbmc7XG4gIHR4SWRzOiBzdHJpbmdbXTtcbiAgc2V0dGxlbWVudFN0YXR1czogTmV0d29ya1NldHRsZW1lbnRTdGF0dXM7XG4gIHNldHRsZW1lbnROb3Rlcz86IHN0cmluZztcbiAgc291cmNlVHJhZGluZ0FjY291bnRJZD86IHN0cmluZztcbiAgc291cmNlQ2xpZW50TmFtZT86IHN0cmluZztcbiAgZGVzdGluYXRpb25UcmFkaW5nQWNjb3VudElkPzogc3RyaW5nO1xuICBkZXN0aW5hdGlvbkNsaWVudE5hbWU/OiBzdHJpbmc7XG4gIHNvdXJjZU5ldHdvcmtBY2NvdW50SWQ/OiBzdHJpbmc7XG4gIHNvdXJjZUNvbm5lY3Rpb25OYW1lPzogc3RyaW5nO1xuICBkZXN0aW5hdGlvbk5ldHdvcmtBY2NvdW50SWQ/OiBzdHJpbmc7XG4gIGRlc3RpbmF0aW9uQ29ubmVjdGlvbk5hbWU/OiBzdHJpbmc7XG4gIGNyZWF0ZWRBdDogc3RyaW5nO1xuICB1cGRhdGVkQXQ6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIE5ldHdvcmtTZXR0bGVtZW50U3RhdHVzID0gJ2ZhaWxlZCcgfCAnY29tcGxldGVkJyB8ICdwZW5kaW5nJztcblxuZXhwb3J0IHR5cGUgQ29ubmVjdGlvbktleVNjaGVtYSA9ICd0b2tlbicgfCAndG9rZW5BbmRTaWduYXR1cmUnIHwgJ2FwaUtleUFuZFNlY3JldCc7XG5cbmV4cG9ydCB0eXBlIE5ldHdvcmtQYXJ0bmVyID0ge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGluc3RpdHV0aW9uSWQ6IHN0cmluZztcbiAgaW5zdGl0dXRpb25JZGVudGlmaWVyOiBzdHJpbmc7XG4gIGNvbm5lY3Rpb25LZXlTY2hlbWE6IENvbm5lY3Rpb25LZXlTY2hlbWE7XG4gIGFjdGl2ZTogYm9vbGVhbjtcbiAgcHVibGljS2V5Pzogc3RyaW5nO1xufTtcbiJdfQ==
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/**
|
|
3
|
+
* str2ab - Convert a string to an ArrayBuffer
|
|
4
|
+
* @param {string} str The string to convert
|
|
5
|
+
* @returns {ArrayBuffer} The ArrayBuffer
|
|
6
|
+
*/
|
|
7
|
+
export declare function str2ab(str: string): ArrayBuffer;
|
|
8
|
+
/**
|
|
9
|
+
* ab2str - Convert a buffer to a string
|
|
10
|
+
* @param {ArrayBuffer} buf The buffer to convert
|
|
11
|
+
* @returns {string} The string
|
|
12
|
+
*/
|
|
13
|
+
export declare function ab2str(buf: ArrayBuffer): string;
|
|
14
|
+
/**
|
|
15
|
+
* computeKey - Compute a key from a password and salt
|
|
16
|
+
* @param {string | Buffer} pass The password to use
|
|
17
|
+
* @param {Buffer} salt The salt to use
|
|
18
|
+
* @returns {Promise<Buffer>} The computed key
|
|
19
|
+
*/
|
|
20
|
+
export declare function computeKey(pass: string | Buffer, salt: Buffer): Promise<Buffer>;
|
|
21
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/trading/network/utils.ts"],"names":[],"mappings":";AAEA;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAO/C;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAE/C;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkBrF"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.computeKey = exports.ab2str = exports.str2ab = void 0;
|
|
7
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
8
|
+
/**
|
|
9
|
+
* str2ab - Convert a string to an ArrayBuffer
|
|
10
|
+
* @param {string} str The string to convert
|
|
11
|
+
* @returns {ArrayBuffer} The ArrayBuffer
|
|
12
|
+
*/
|
|
13
|
+
function str2ab(str) {
|
|
14
|
+
const buf = new ArrayBuffer(str.length);
|
|
15
|
+
const bufView = new Uint8Array(buf);
|
|
16
|
+
for (let i = 0, strLen = str.length; i < strLen; i++) {
|
|
17
|
+
bufView[i] = str.charCodeAt(i);
|
|
18
|
+
}
|
|
19
|
+
return buf;
|
|
20
|
+
}
|
|
21
|
+
exports.str2ab = str2ab;
|
|
22
|
+
/**
|
|
23
|
+
* ab2str - Convert a buffer to a string
|
|
24
|
+
* @param {ArrayBuffer} buf The buffer to convert
|
|
25
|
+
* @returns {string} The string
|
|
26
|
+
*/
|
|
27
|
+
function ab2str(buf) {
|
|
28
|
+
return String.fromCharCode.apply(null, Array.from(new Uint8Array(buf)));
|
|
29
|
+
}
|
|
30
|
+
exports.ab2str = ab2str;
|
|
31
|
+
/**
|
|
32
|
+
* computeKey - Compute a key from a password and salt
|
|
33
|
+
* @param {string | Buffer} pass The password to use
|
|
34
|
+
* @param {Buffer} salt The salt to use
|
|
35
|
+
* @returns {Promise<Buffer>} The computed key
|
|
36
|
+
*/
|
|
37
|
+
async function computeKey(pass, salt) {
|
|
38
|
+
let resolvePromise;
|
|
39
|
+
let rejectPromise;
|
|
40
|
+
const promise = new Promise((resolve, reject) => {
|
|
41
|
+
resolvePromise = resolve;
|
|
42
|
+
rejectPromise = reject;
|
|
43
|
+
});
|
|
44
|
+
crypto_1.default.pbkdf2(pass, salt, 200000, 32, 'sha256', (err, derivedKey) => {
|
|
45
|
+
if (err !== null) {
|
|
46
|
+
rejectPromise(err);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
resolvePromise(derivedKey);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
return promise;
|
|
53
|
+
}
|
|
54
|
+
exports.computeKey = computeKey;
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vdHJhZGluZy9uZXR3b3JrL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG9EQUE0QjtBQUU1Qjs7OztHQUlHO0FBQ0gsU0FBZ0IsTUFBTSxDQUFDLEdBQVc7SUFDaEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxXQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sT0FBTyxHQUFHLElBQUksVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3BDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDcEQsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDaEM7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFQRCx3QkFPQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixNQUFNLENBQUMsR0FBZ0I7SUFDckMsT0FBTyxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUUsQ0FBQztBQUZELHdCQUVDO0FBRUQ7Ozs7O0dBS0c7QUFDSSxLQUFLLFVBQVUsVUFBVSxDQUFDLElBQXFCLEVBQUUsSUFBWTtJQUNsRSxJQUFJLGNBQXdDLENBQUM7SUFDN0MsSUFBSSxhQUF3QyxDQUFDO0lBRTdDLE1BQU0sT0FBTyxHQUFvQixJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtRQUMvRCxjQUFjLEdBQUcsT0FBTyxDQUFDO1FBQ3pCLGFBQWEsR0FBRyxNQUFNLENBQUM7SUFDekIsQ0FBQyxDQUFDLENBQUM7SUFFSCxnQkFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxFQUFFO1FBQ2xFLElBQUksR0FBRyxLQUFLLElBQUksRUFBRTtZQUNoQixhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDcEI7YUFBTTtZQUNMLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUM1QjtJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQWxCRCxnQ0FrQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY3J5cHRvIGZyb20gJ2NyeXB0byc7XG5cbi8qKlxuICogc3RyMmFiIC0gQ29udmVydCBhIHN0cmluZyB0byBhbiBBcnJheUJ1ZmZlclxuICogQHBhcmFtIHtzdHJpbmd9IHN0ciBUaGUgc3RyaW5nIHRvIGNvbnZlcnRcbiAqIEByZXR1cm5zIHtBcnJheUJ1ZmZlcn0gVGhlIEFycmF5QnVmZmVyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdHIyYWIoc3RyOiBzdHJpbmcpOiBBcnJheUJ1ZmZlciB7XG4gIGNvbnN0IGJ1ZiA9IG5ldyBBcnJheUJ1ZmZlcihzdHIubGVuZ3RoKTtcbiAgY29uc3QgYnVmVmlldyA9IG5ldyBVaW50OEFycmF5KGJ1Zik7XG4gIGZvciAobGV0IGkgPSAwLCBzdHJMZW4gPSBzdHIubGVuZ3RoOyBpIDwgc3RyTGVuOyBpKyspIHtcbiAgICBidWZWaWV3W2ldID0gc3RyLmNoYXJDb2RlQXQoaSk7XG4gIH1cbiAgcmV0dXJuIGJ1Zjtcbn1cblxuLyoqXG4gKiBhYjJzdHIgLSBDb252ZXJ0IGEgYnVmZmVyIHRvIGEgc3RyaW5nXG4gKiBAcGFyYW0ge0FycmF5QnVmZmVyfSBidWYgVGhlIGJ1ZmZlciB0byBjb252ZXJ0XG4gKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgc3RyaW5nXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhYjJzdHIoYnVmOiBBcnJheUJ1ZmZlcik6IHN0cmluZyB7XG4gIHJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsIEFycmF5LmZyb20obmV3IFVpbnQ4QXJyYXkoYnVmKSkpO1xufVxuXG4vKipcbiAqIGNvbXB1dGVLZXkgLSBDb21wdXRlIGEga2V5IGZyb20gYSBwYXNzd29yZCBhbmQgc2FsdFxuICogQHBhcmFtIHtzdHJpbmcgfCBCdWZmZXJ9IHBhc3MgVGhlIHBhc3N3b3JkIHRvIHVzZVxuICogQHBhcmFtIHtCdWZmZXJ9IHNhbHQgVGhlIHNhbHQgdG8gdXNlXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxCdWZmZXI+fSBUaGUgY29tcHV0ZWQga2V5XG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjb21wdXRlS2V5KHBhc3M6IHN0cmluZyB8IEJ1ZmZlciwgc2FsdDogQnVmZmVyKTogUHJvbWlzZTxCdWZmZXI+IHtcbiAgbGV0IHJlc29sdmVQcm9taXNlOiAocmVzdWx0OiBCdWZmZXIpID0+IHZvaWQ7XG4gIGxldCByZWplY3RQcm9taXNlOiAocmVqZWN0OiB1bmtub3duKSA9PiB2b2lkO1xuXG4gIGNvbnN0IHByb21pc2U6IFByb21pc2U8QnVmZmVyPiA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICByZXNvbHZlUHJvbWlzZSA9IHJlc29sdmU7XG4gICAgcmVqZWN0UHJvbWlzZSA9IHJlamVjdDtcbiAgfSk7XG5cbiAgY3J5cHRvLnBia2RmMihwYXNzLCBzYWx0LCAyMDAwMDAsIDMyLCAnc2hhMjU2JywgKGVyciwgZGVyaXZlZEtleSkgPT4ge1xuICAgIGlmIChlcnIgIT09IG51bGwpIHtcbiAgICAgIHJlamVjdFByb21pc2UoZXJyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzb2x2ZVByb21pc2UoZGVyaXZlZEtleSk7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gcHJvbWlzZTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { SignatureShareRecord } from '../../utils';
|
|
2
|
+
import openpgp from 'openpgp';
|
|
3
|
+
import { DklsTypes } from '@bitgo/sdk-lib-mpc';
|
|
4
|
+
import { MPCv2SignatureShareRound1Output, MPCv2SignatureShareRound2Output } from '@bitgo/public-types';
|
|
5
|
+
/**
|
|
6
|
+
Helpers in this take care of all interaction with WP API's
|
|
7
|
+
**/
|
|
8
|
+
export declare function getSignatureShareRoundOne(round1Message: DklsTypes.DeserializedBroadcastMessage, userGpgKey: openpgp.SerializedKeyPair<string>): Promise<SignatureShareRecord>;
|
|
9
|
+
export declare function getSignatureShareRoundTwo(userToBitGoMessages2: DklsTypes.DeserializedMessages, userToBitGoMessages3: DklsTypes.DeserializedMessages, userGpgKey: openpgp.SerializedKeyPair<string>, bitgoGpgKey: openpgp.Key): Promise<SignatureShareRecord>;
|
|
10
|
+
export declare function getSignatureShareRoundThree(userToBitGoMessages4: DklsTypes.DeserializedMessages, userGpgKey: openpgp.SerializedKeyPair<string>, bitgoGpgKey: openpgp.Key): Promise<SignatureShareRecord>;
|
|
11
|
+
export declare function verifyBitGoMessagesAndSignaturesRoundOne(parsedSignatureShare: MPCv2SignatureShareRound1Output, userGpgKey: openpgp.SerializedKeyPair<string>, bitgoGpgKey: openpgp.Key): Promise<DklsTypes.SerializedMessages>;
|
|
12
|
+
export declare function verifyBitGoMessagesAndSignaturesRoundTwo(parsedSignatureShare: MPCv2SignatureShareRound2Output, userGpgKey: openpgp.SerializedKeyPair<string>, bitgoGpgKey: openpgp.Key): Promise<DklsTypes.SerializedMessages>;
|
|
13
|
+
export declare function getBitGoPartyGpgKey(key: openpgp.Key): DklsTypes.PartyGpgKey;
|
|
14
|
+
export declare function getUserPartyGpgKey(key: openpgp.SerializedKeyPair<string>): DklsTypes.PartyGpgKey;
|
|
15
|
+
//# sourceMappingURL=ecdsaMPCv2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ecdsaMPCv2.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/tss/ecdsa/ecdsaMPCv2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAsB,MAAM,aAAa,CAAC;AACvE,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAa,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAEL,+BAA+B,EAE/B,+BAA+B,EAGhC,MAAM,qBAAqB,CAAC;AAG7B;;GAEG;AAEH,wBAAsB,yBAAyB,CAC7C,aAAa,EAAE,SAAS,CAAC,4BAA4B,EACrD,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAC5C,OAAO,CAAC,oBAAoB,CAAC,CA8B/B;AAED,wBAAsB,yBAAyB,CAC7C,oBAAoB,EAAE,SAAS,CAAC,oBAAoB,EACpD,oBAAoB,EAAE,SAAS,CAAC,oBAAoB,EACpD,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAC7C,WAAW,EAAE,OAAO,CAAC,GAAG,GACvB,OAAO,CAAC,oBAAoB,CAAC,CAwC/B;AAED,wBAAsB,2BAA2B,CAC/C,oBAAoB,EAAE,SAAS,CAAC,oBAAoB,EACpD,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAC7C,WAAW,EAAE,OAAO,CAAC,GAAG,GACvB,OAAO,CAAC,oBAAoB,CAAC,CA0B/B;AAED,wBAAsB,wCAAwC,CAC5D,oBAAoB,EAAE,+BAA+B,EACrD,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAC7C,WAAW,EAAE,OAAO,CAAC,GAAG,GACvB,OAAO,CAAC,SAAS,CAAC,kBAAkB,CAAC,CA0BvC;AAED,wBAAsB,wCAAwC,CAC5D,oBAAoB,EAAE,+BAA+B,EACrD,UAAU,EAAE,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAC7C,WAAW,EAAE,OAAO,CAAC,GAAG,GACvB,OAAO,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAkBvC;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC,WAAW,CAK3E;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,WAAW,CAKhG"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getUserPartyGpgKey = exports.getBitGoPartyGpgKey = exports.verifyBitGoMessagesAndSignaturesRoundTwo = exports.verifyBitGoMessagesAndSignaturesRoundOne = exports.getSignatureShareRoundThree = exports.getSignatureShareRoundTwo = exports.getSignatureShareRoundOne = void 0;
|
|
7
|
+
const utils_1 = require("../../utils");
|
|
8
|
+
const sdk_lib_mpc_1 = require("@bitgo/sdk-lib-mpc");
|
|
9
|
+
const public_types_1 = require("@bitgo/public-types");
|
|
10
|
+
const assert_1 = __importDefault(require("assert"));
|
|
11
|
+
/**
|
|
12
|
+
Helpers in this take care of all interaction with WP API's
|
|
13
|
+
**/
|
|
14
|
+
async function getSignatureShareRoundOne(round1Message, userGpgKey) {
|
|
15
|
+
const serializedMessages = sdk_lib_mpc_1.DklsTypes.serializeMessages({
|
|
16
|
+
broadcastMessages: [round1Message],
|
|
17
|
+
p2pMessages: [],
|
|
18
|
+
});
|
|
19
|
+
const authEncBroadcastMessage = (await sdk_lib_mpc_1.DklsComms.encryptAndAuthOutgoingMessages(serializedMessages, [], // Broadcast message so doesn't need to encrypt to BitGo's GPG key
|
|
20
|
+
[getUserPartyGpgKey(userGpgKey)])).broadcastMessages[0];
|
|
21
|
+
// Share type expected by Wallet Platform's API
|
|
22
|
+
(0, assert_1.default)(public_types_1.MPCv2PartyFromStringOrNumber.is(authEncBroadcastMessage.from));
|
|
23
|
+
const share = {
|
|
24
|
+
type: 'round1Input',
|
|
25
|
+
data: {
|
|
26
|
+
msg1: {
|
|
27
|
+
from: authEncBroadcastMessage.from,
|
|
28
|
+
message: authEncBroadcastMessage.payload.message,
|
|
29
|
+
signature: authEncBroadcastMessage.payload.signature,
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
const serializedShare = JSON.stringify(share);
|
|
34
|
+
return {
|
|
35
|
+
from: utils_1.SignatureShareType.USER,
|
|
36
|
+
to: utils_1.SignatureShareType.BITGO,
|
|
37
|
+
share: serializedShare,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
exports.getSignatureShareRoundOne = getSignatureShareRoundOne;
|
|
41
|
+
async function getSignatureShareRoundTwo(userToBitGoMessages2, userToBitGoMessages3, userGpgKey, bitgoGpgKey) {
|
|
42
|
+
const userToBitGoEncryptedMsg2 = await sdk_lib_mpc_1.DklsComms.encryptAndAuthOutgoingMessages(sdk_lib_mpc_1.DklsTypes.serializeMessages(userToBitGoMessages2), [getBitGoPartyGpgKey(bitgoGpgKey)], [getUserPartyGpgKey(userGpgKey)]);
|
|
43
|
+
const userToBitGoEncryptedMsg3 = await sdk_lib_mpc_1.DklsComms.encryptAndAuthOutgoingMessages(sdk_lib_mpc_1.DklsTypes.serializeMessages(userToBitGoMessages3), [getBitGoPartyGpgKey(bitgoGpgKey)], [getUserPartyGpgKey(userGpgKey)]);
|
|
44
|
+
(0, assert_1.default)(userToBitGoEncryptedMsg2.p2pMessages.length, 'User to BitGo messages 2 not present.');
|
|
45
|
+
(0, assert_1.default)(userToBitGoEncryptedMsg3.p2pMessages.length, 'User to BitGo messages 3 not present.');
|
|
46
|
+
(0, assert_1.default)(public_types_1.MPCv2PartyFromStringOrNumber.is(userToBitGoEncryptedMsg2.p2pMessages[0].from));
|
|
47
|
+
(0, assert_1.default)(public_types_1.MPCv2PartyFromStringOrNumber.is(userToBitGoEncryptedMsg2.p2pMessages[0].to));
|
|
48
|
+
(0, assert_1.default)(public_types_1.MPCv2PartyFromStringOrNumber.is(userToBitGoEncryptedMsg3.p2pMessages[0].from));
|
|
49
|
+
(0, assert_1.default)(public_types_1.MPCv2PartyFromStringOrNumber.is(userToBitGoEncryptedMsg3.p2pMessages[0].to));
|
|
50
|
+
const share = {
|
|
51
|
+
type: 'round2Input',
|
|
52
|
+
data: {
|
|
53
|
+
msg2: {
|
|
54
|
+
from: userToBitGoEncryptedMsg2.p2pMessages[0].from,
|
|
55
|
+
to: userToBitGoEncryptedMsg2.p2pMessages[0].to,
|
|
56
|
+
encryptedMessage: userToBitGoEncryptedMsg2.p2pMessages[0].payload.encryptedMessage,
|
|
57
|
+
signature: userToBitGoEncryptedMsg2.p2pMessages[0].payload.signature,
|
|
58
|
+
},
|
|
59
|
+
msg3: {
|
|
60
|
+
from: userToBitGoEncryptedMsg3.p2pMessages[0].from,
|
|
61
|
+
to: userToBitGoEncryptedMsg3.p2pMessages[0].to,
|
|
62
|
+
encryptedMessage: userToBitGoEncryptedMsg3.p2pMessages[0].payload.encryptedMessage,
|
|
63
|
+
signature: userToBitGoEncryptedMsg3.p2pMessages[0].payload.signature,
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
};
|
|
67
|
+
return {
|
|
68
|
+
from: utils_1.SignatureShareType.USER,
|
|
69
|
+
to: utils_1.SignatureShareType.BITGO,
|
|
70
|
+
share: JSON.stringify(share),
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
exports.getSignatureShareRoundTwo = getSignatureShareRoundTwo;
|
|
74
|
+
async function getSignatureShareRoundThree(userToBitGoMessages4, userGpgKey, bitgoGpgKey) {
|
|
75
|
+
var _a;
|
|
76
|
+
const userToBitGoEncryptedMsg4 = await sdk_lib_mpc_1.DklsComms.encryptAndAuthOutgoingMessages(sdk_lib_mpc_1.DklsTypes.serializeMessages(userToBitGoMessages4), [getBitGoPartyGpgKey(bitgoGpgKey)], [getUserPartyGpgKey(userGpgKey)]);
|
|
77
|
+
(0, assert_1.default)(public_types_1.MPCv2PartyFromStringOrNumber.is(userToBitGoEncryptedMsg4.broadcastMessages[0].from));
|
|
78
|
+
if (!((_a = userToBitGoEncryptedMsg4.broadcastMessages[0].signatureR) === null || _a === void 0 ? void 0 : _a.message)) {
|
|
79
|
+
throw Error('signatureR should be defined');
|
|
80
|
+
}
|
|
81
|
+
const share = {
|
|
82
|
+
type: 'round3Input',
|
|
83
|
+
data: {
|
|
84
|
+
msg4: {
|
|
85
|
+
from: userToBitGoEncryptedMsg4.broadcastMessages[0].from,
|
|
86
|
+
message: userToBitGoEncryptedMsg4.broadcastMessages[0].payload.message,
|
|
87
|
+
signature: userToBitGoEncryptedMsg4.broadcastMessages[0].payload.signature,
|
|
88
|
+
signatureR: userToBitGoEncryptedMsg4.broadcastMessages[0].signatureR.message,
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
};
|
|
92
|
+
return {
|
|
93
|
+
from: utils_1.SignatureShareType.USER,
|
|
94
|
+
to: utils_1.SignatureShareType.BITGO,
|
|
95
|
+
share: JSON.stringify(share),
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
exports.getSignatureShareRoundThree = getSignatureShareRoundThree;
|
|
99
|
+
async function verifyBitGoMessagesAndSignaturesRoundOne(parsedSignatureShare, userGpgKey, bitgoGpgKey) {
|
|
100
|
+
return await sdk_lib_mpc_1.DklsComms.decryptAndVerifyIncomingMessages({
|
|
101
|
+
p2pMessages: [
|
|
102
|
+
{
|
|
103
|
+
from: parsedSignatureShare.data.msg2.from,
|
|
104
|
+
to: parsedSignatureShare.data.msg2.to,
|
|
105
|
+
payload: {
|
|
106
|
+
encryptedMessage: parsedSignatureShare.data.msg2.encryptedMessage,
|
|
107
|
+
signature: parsedSignatureShare.data.msg2.signature,
|
|
108
|
+
},
|
|
109
|
+
},
|
|
110
|
+
],
|
|
111
|
+
broadcastMessages: [
|
|
112
|
+
{
|
|
113
|
+
from: parsedSignatureShare.data.msg1.from,
|
|
114
|
+
payload: {
|
|
115
|
+
message: parsedSignatureShare.data.msg1.message,
|
|
116
|
+
signature: parsedSignatureShare.data.msg1.signature,
|
|
117
|
+
},
|
|
118
|
+
},
|
|
119
|
+
],
|
|
120
|
+
}, [getBitGoPartyGpgKey(bitgoGpgKey)], [getUserPartyGpgKey(userGpgKey)]);
|
|
121
|
+
}
|
|
122
|
+
exports.verifyBitGoMessagesAndSignaturesRoundOne = verifyBitGoMessagesAndSignaturesRoundOne;
|
|
123
|
+
async function verifyBitGoMessagesAndSignaturesRoundTwo(parsedSignatureShare, userGpgKey, bitgoGpgKey) {
|
|
124
|
+
return await sdk_lib_mpc_1.DklsComms.decryptAndVerifyIncomingMessages({
|
|
125
|
+
p2pMessages: [
|
|
126
|
+
{
|
|
127
|
+
from: parsedSignatureShare.data.msg3.from,
|
|
128
|
+
to: parsedSignatureShare.data.msg3.to,
|
|
129
|
+
payload: {
|
|
130
|
+
encryptedMessage: parsedSignatureShare.data.msg3.encryptedMessage,
|
|
131
|
+
signature: parsedSignatureShare.data.msg3.signature,
|
|
132
|
+
},
|
|
133
|
+
},
|
|
134
|
+
],
|
|
135
|
+
broadcastMessages: [],
|
|
136
|
+
}, [getBitGoPartyGpgKey(bitgoGpgKey)], [getUserPartyGpgKey(userGpgKey)]);
|
|
137
|
+
}
|
|
138
|
+
exports.verifyBitGoMessagesAndSignaturesRoundTwo = verifyBitGoMessagesAndSignaturesRoundTwo;
|
|
139
|
+
function getBitGoPartyGpgKey(key) {
|
|
140
|
+
return {
|
|
141
|
+
partyId: 2,
|
|
142
|
+
gpgKey: key.armor(),
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
exports.getBitGoPartyGpgKey = getBitGoPartyGpgKey;
|
|
146
|
+
function getUserPartyGpgKey(key) {
|
|
147
|
+
return {
|
|
148
|
+
partyId: 0,
|
|
149
|
+
gpgKey: key.privateKey,
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
exports.getUserPartyGpgKey = getUserPartyGpgKey;
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNkc2FNUEN2Mi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iaXRnby90c3MvZWNkc2EvZWNkc2FNUEN2Mi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSx1Q0FBdUU7QUFFdkUsb0RBQTBEO0FBQzFELHNEQU82QjtBQUM3QixvREFBNEI7QUFFNUI7O0dBRUc7QUFFSSxLQUFLLFVBQVUseUJBQXlCLENBQzdDLGFBQXFELEVBQ3JELFVBQTZDO0lBRTdDLE1BQU0sa0JBQWtCLEdBQUcsdUJBQVMsQ0FBQyxpQkFBaUIsQ0FBQztRQUNyRCxpQkFBaUIsRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUNsQyxXQUFXLEVBQUUsRUFBRTtLQUNoQixDQUFDLENBQUM7SUFDSCxNQUFNLHVCQUF1QixHQUFHLENBQzlCLE1BQU0sdUJBQVMsQ0FBQyw4QkFBOEIsQ0FDNUMsa0JBQWtCLEVBQ2xCLEVBQUUsRUFBRSxrRUFBa0U7SUFDdEUsQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUNqQyxDQUNGLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkIsK0NBQStDO0lBQy9DLElBQUEsZ0JBQU0sRUFBQywyQ0FBNEIsQ0FBQyxFQUFFLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN0RSxNQUFNLEtBQUssR0FBbUM7UUFDNUMsSUFBSSxFQUFFLGFBQWE7UUFDbkIsSUFBSSxFQUFFO1lBQ0osSUFBSSxFQUFFO2dCQUNKLElBQUksRUFBRSx1QkFBdUIsQ0FBQyxJQUFJO2dCQUNsQyxPQUFPLEVBQUUsdUJBQXVCLENBQUMsT0FBTyxDQUFDLE9BQU87Z0JBQ2hELFNBQVMsRUFBRSx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsU0FBUzthQUNyRDtTQUNGO0tBQ0YsQ0FBQztJQUNGLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFD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QzVELG9CQUFxRCxFQUNyRCxVQUE2QyxFQUM3QyxXQUF3QjtJQUV4QixPQUFPLE1BQU0sdUJBQVMsQ0FBQyxnQ0FBZ0MsQ0FDckQ7UUFDRSxXQUFXLEVBQUU7WUFDWDtnQkFDRSxJQUFJLEVBQUUsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO2dCQUN6QyxFQUFFLEVBQUUsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNyQyxPQUFPLEVBQUU7b0JBQ1AsZ0JBQWdCLEVBQUUsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0I7b0JBQ2pFLFNBQVMsRUFBRSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVM7aUJBQ3BEO2FBQ0Y7U0FDRjtRQUNELGlCQUFpQixFQUFFLEVBQUU7S0FDdEIsRUFDRCxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQ2xDLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FDakMsQ0FBQztBQUNKLENBQUM7QUF0QkQsNEZBc0JDO0FBRUQsU0FBZ0IsbUJBQW1CLENBQUMsR0FBZ0I7SUFDbEQsT0FBTztRQUNMLE9BQU8sRUFBRSxDQUFDO1FBQ1YsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEVBQUU7S0FDcEIsQ0FBQztBQUNKLENBQUM7QUFMRCxrREFLQztBQUVELFNBQWdCLGtCQUFrQixDQUFDLEdBQXNDO0lBQ3ZFLE9BQU87UUFDTCxPQUFPLEVBQUUsQ0FBQztRQUNWLE1BQU0sRUFBRSxHQUFHLENBQUMsVUFBVTtLQUN2QixDQUFDO0FBQ0osQ0FBQztBQUxELGdEQUtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2lnbmF0dXJlU2hhcmVSZWNvcmQsIFNpZ25hdHVyZVNoYXJlVHlwZSB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCBvcGVucGdwIGZyb20gJ29wZW5wZ3AnO1xuaW1wb3J0IHsgRGtsc0NvbW1zLCBEa2xzVHlwZXMgfSBmcm9tICdAYml0Z28vc2RrLWxpYi1tcGMnO1xuaW1wb3J0IHtcbiAgTVBDdjJTaWduYXR1cmVTaGFyZVJvdW5kMUlucHV0LFxuICBNUEN2MlNpZ25hdHVyZVNoYXJlUm91bmQxT3V0cHV0LFxuICBNUEN2MlNpZ25hdHVyZVNoYXJlUm91bmQySW5wdXQsXG4gIE1QQ3YyU2lnbmF0dXJlU2hhcmVSb3VuZDJPdXRwdXQsXG4gIE1QQ3YyU2lnbmF0dXJlU2hhcmVSb3VuZDNJbnB1dCxcbiAgTVBDdjJQYXJ0eUZyb21TdHJpbmdPck51bWJlcixcbn0gZnJvbSAnQGJpdGdvL3B1YmxpYy10eXBlcyc7XG5pbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5cbi8qKlxuIEhlbHBlcnMgaW4gdGhpcyB0YWtlIGNhcmUgb2YgYWxsIGludGVyYWN0aW9uIHdpdGggV1AgQVBJJ3NcbioqL1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0U2lnbmF0dXJlU2hhcmVSb3VuZE9uZShcbiAgcm91bmQxTWVzc2FnZTogRGtsc1R5cGVzLkRlc2VyaWFsaXplZEJyb2FkY2FzdE1lc3NhZ2UsXG4gIHVzZXJHcGdLZXk6IG9wZW5wZ3AuU2VyaWFsaXplZEtleVBhaXI8c3RyaW5nPlxuKTogUHJvbWlzZTxTaWduYXR1cmVTaGFyZVJlY29yZD4ge1xuICBjb25zdCBzZXJpYWxpemVkTWVzc2FnZXMgPSBEa2xzVHlwZXMuc2VyaWFsaXplTWVzc2FnZXMoe1xuICAgIGJyb2FkY2FzdE1lc3NhZ2VzOiBbcm91bmQxTWVzc2FnZV0sXG4gICAgcDJwTWVzc2FnZXM6IFtdLFxuICB9KTtcbiAgY29uc3QgYXV0aEVuY0Jyb2FkY2FzdE1lc3NhZ2UgPSAoXG4gICAgYXdhaXQgRGtsc0NvbW1zLmVuY3J5cHRBbmRBdXRoT3V0Z29pbmdNZXNzYWdlcyhcbiAgICAgIHNlcmlhbGl6ZWRNZXNzYWdlcyxcbiAgICAgIFtdLCAvLyBCcm9hZGNhc3QgbWVzc2FnZSBzbyBkb2Vzbid0IG5lZWQgdG8gZW5jcnlwdCB0byBCaXRHbydzIEdQRyBrZXlcbiAgICAgIFtnZXRVc2VyUGFydHlHcGdLZXkodXNlckdwZ0tleSldXG4gICAgKVxuICApLmJyb2FkY2FzdE1lc3NhZ2VzWzBdO1xuICAvLyBTaGFyZSB0eXBlIGV4cGVjdGVkIGJ5IFdhbGxldCBQbGF0Zm9ybSdzIEFQSVxuICBhc3NlcnQoTVBDdjJQYXJ0eUZyb21TdHJpbmdPck51bWJlci5pcyhhdXRoRW5jQnJvYWRjYXN0TWVzc2FnZS5mcm9tKSk7XG4gIGNvbnN0IHNoYXJlOiBNUEN2MlNpZ25hdHVyZVNoYXJlUm91bmQxSW5wdXQgPSB7XG4gICAgdHlwZTogJ3JvdW5kMUlucHV0JyxcbiAgICBkYXRhOiB7XG4gICAgICBtc2cxOiB7XG4gICAgICAgIGZyb206IGF1dGhFbmNCcm9hZGNhc3RNZXNzYWdlLmZyb20sXG4gICAgICAgIG1lc3NhZ2U6IGF1dGhFbmNCcm9hZGNhc3RNZXNzYWdlLnBheWxvYWQubWVzc2FnZSxcbiAgICAgICAgc2lnbmF0dXJlOiBhdXRoRW5jQnJvYWRjYXN0TWVzc2FnZS5wYXlsb2FkLnNpZ25hdHVyZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcbiAgY29uc3Qgc2VyaWFsaXplZFNoYXJlID0gSlNPTi5zdHJpbmdpZnkoc2hhcmUpO1xuICByZXR1cm4ge1xuICAgIGZyb206IFNpZ25hdHVyZVNoYXJlVHlwZS5VU0VSLFxuICAgIHRvOiBTaWduYXR1cmVTaGFyZVR5cGUuQklUR08sXG4gICAgc2hhcmU6IHNlcmlhbGl6ZWRTaGFyZSxcbiAgfTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFNpZ25hdHVyZVNoYXJlUm91bmRUd28oXG4gIHVzZXJUb0JpdEdvTWVzc2FnZXMyOiBEa2xzVHlwZXMuRGVzZXJpYWxpemVkTWVzc2FnZXMsXG4gIHVzZXJUb0JpdEdvTWVzc2FnZXMzOiBEa2xzVHlwZXMuRGVzZXJpYWxpemVkTWVzc2FnZXMsXG4gIHVzZXJHcGdLZXk6IG9wZW5wZ3AuU2VyaWFsaXplZEtleVBhaXI8c3RyaW5nPixcbiAgYml0Z29HcGdLZXk6IG9wZW5wZ3AuS2V5XG4pOiBQcm9taXNlPFNpZ25hdHVyZVNoYXJlUmVjb3JkPiB7XG4gIGNvbnN0IHVzZXJUb0JpdEdvRW5jcnlwdGVkTXNnMiA9IGF3YWl0IERrbHNDb21tcy5lbmNyeXB0QW5kQXV0aE91dGdvaW5nTWVzc2FnZXMoXG4gICAgRGtsc1R5cGVzLnNlcmlhbGl6ZU1lc3NhZ2VzKHVzZXJUb0JpdEdvTWVzc2FnZXMyKSxcbiAgICBbZ2V0Qml0R29QYXJ0eUdwZ0tleShiaXRnb0dwZ0tleSldLFxuICAgIFtnZXRVc2VyUGFydHlHcGdLZXkodXNlckdwZ0tleSldXG4gICk7XG5cbiAgY29uc3QgdXNlclRvQml0R29FbmNyeXB0ZWRNc2czID0gYXdhaXQgRGtsc0NvbW1zLmVuY3J5cHRBbmRBdXRoT3V0Z29pbmdNZXNzYWdlcyhcbiAgICBEa2xzVHlwZXMuc2VyaWFsaXplTWVzc2FnZXModXNlclRvQml0R29NZXNzYWdlczMpLFxuICAgIFtnZXRCaXRHb1BhcnR5R3BnS2V5KGJpdGdvR3BnS2V5KV0sXG4gICAgW2dldFVzZXJQYXJ0eUdwZ0tleSh1c2VyR3BnS2V5KV1cbiAgKTtcbiAgYXNzZXJ0KHVzZXJUb0JpdEdvRW5jcnlwdGVkTXNnMi5wMnBNZXNzYWdlcy5sZW5ndGgsICdVc2VyIHRvIEJpdEdvIG1lc3NhZ2VzIDIgbm90IHByZXNlbnQuJyk7XG4gIGFzc2VydCh1c2VyVG9CaXRHb0VuY3J5cHRlZE1zZzMucDJwTWVzc2FnZXMubGVuZ3RoLCAnVXNlciB0byBCaXRHbyBtZXNzYWdlcyAzIG5vdCBwcmVzZW50LicpO1xuICBhc3NlcnQoTVBDdjJQYXJ0eUZyb21TdHJpbmdPck51bWJlci5pcyh1c2VyVG9CaXRHb0VuY3J5cHRlZE1zZzIucDJwTWVzc2FnZXNbMF0uZnJvbSkpO1xuICBhc3NlcnQoTVBDdjJQYXJ0eUZyb21TdHJpbmdPck51bWJlci5pcyh1c2VyVG9CaXRHb0VuY3J5cHRlZE1zZzIucDJwTWVzc2FnZXNbMF0udG8pKTtcbiAgYXNzZXJ0KE1QQ3YyUGFydHlGcm9tU3RyaW5nT3JOdW1iZXIuaXModXNlclRvQml0R29FbmNyeXB0ZWRNc2czLnAycE1lc3NhZ2VzWzBdLmZyb20pKTtcbiAgYXNzZXJ0KE1QQ3YyUGFydHlGcm9tU3RyaW5nT3JOdW1iZXIuaXModXNlclRvQml0R29FbmNyeXB0ZWRNc2czLnAycE1lc3NhZ2VzWzBdLnRvKSk7XG4gIGNvbnN0IHNoYXJlOiBNUEN2MlNpZ25hdHVyZVNoYXJlUm91bmQySW5wdXQgPSB7XG4gICAgdHlwZTogJ3JvdW5kMklucHV0JyxcbiAgICBkYXRhOiB7XG4gICAgICBtc2cyOiB7XG4gICAgICAgIGZyb206IHVzZXJUb0JpdEdvRW5jcnlwdGVkTXNnMi5wMnBNZXNzYWdlc1swXS5mcm9tLFxuICAgICAgICB0bzogdXNlclRvQml0R29FbmNyeXB0ZWRNc2cyLnAycE1lc3NhZ2VzWzBdLnRvLFxuICAgICAgICBlbmNyeXB0ZWRNZXNzYWdlOiB1c2VyVG9CaXRHb0VuY3J5cHRlZE1zZzIucDJwTWVzc2FnZXNbMF0ucGF5bG9hZC5lbmNyeXB0ZWRNZXNzYWdlLFxuICAgICAgICBzaWduYXR1cmU6IHVzZXJUb0JpdEdvRW5jcnlwdGVkTXNnMi5wMnBNZXNzYWdlc1swXS5wYXlsb2FkLnNpZ25hdHVyZSxcbiAgICAgIH0sXG4gICAgICBtc2czOiB7XG4gICAgICAgIGZyb206IHVzZXJUb0JpdEdvRW5jcnlwdGVkTXNnMy5wMnBNZXNzYWdlc1swXS5mcm9tLFxuICAgICAgICB0bzogdXNlclRvQml0R29FbmNyeXB0ZWRNc2czLnAycE1lc3NhZ2VzWzBdLnRvLFxuICAgICAgICBlbmNyeXB0ZWRNZXNzYWdlOiB1c2VyVG9CaXRHb0VuY3J5cHRlZE1zZzMucDJwTWVzc2FnZXNbMF0ucGF5bG9hZC5lbmNyeXB0ZWRNZXNzYWdlLFxuICAgICAgICBzaWduYXR1cmU6IHVzZXJUb0JpdEdvRW5jcnlwdGVkTXNnMy5wMnBNZXNzYWdlc1swXS5wYXlsb2FkLnNpZ25hdHVyZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcbiAgcmV0dXJuIHtcbiAgICBmcm9tOiBTaWduYXR1cmVTaGFyZVR5cGUuVVNFUixcbiAgICB0bzogU2lnbmF0dXJlU2hhcmVUeXBlLkJJVEdPLFxuICAgIHNoYXJlOiBKU09OLnN0cmluZ2lmeShzaGFyZSksXG4gIH07XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRTaWduYXR1cmVTaGFyZVJvdW5kVGhyZWUoXG4gIHVzZXJUb0JpdEdvTWVzc2FnZXM0OiBEa2xzVHlwZXMuRGVzZXJpYWxpemVkTWVzc2FnZXMsXG4gIHVzZXJHcGdLZXk6IG9wZW5wZ3AuU2VyaWFsaXplZEtleVBhaXI8c3RyaW5nPixcbiAgYml0Z29HcGdLZXk6IG9wZW5wZ3AuS2V5XG4pOiBQcm9taXNlPFNpZ25hdHVyZVNoYXJlUmVjb3JkPiB7XG4gIGNvbnN0IHVzZXJUb0JpdEdvRW5jcnlwdGVkTXNnNCA9IGF3YWl0IERrbHNDb21tcy5lbmNyeXB0QW5kQXV0aE91dGdvaW5nTWVzc2FnZXMoXG4gICAgRGtsc1R5cGVzLnNlcmlhbGl6ZU1lc3NhZ2VzKHVzZXJUb0JpdEdvTWVzc2FnZXM0KSxcbiAgICBbZ2V0Qml0R29QYXJ0eUdwZ0tleShiaXRnb0dwZ0tleSldLFxuICAgIFtnZXRVc2VyUGFydHlHcGdLZXkodXNlckdwZ0tleSldXG4gICk7XG4gIGFzc2VydChNUEN2MlBhcnR5RnJvbVN0cmluZ09yTnVtYmVyLmlzKHVzZXJUb0JpdEdvRW5jcnlwdGVkTXNnNC5icm9hZGNhc3RNZXNzYWdlc1swXS5mcm9tKSk7XG4gIGlmICghdXNlclRvQml0R29FbmNyeXB0ZWRNc2c0LmJyb2FkY2FzdE1lc3NhZ2VzWzBdLnNpZ25hdHVyZVI/Lm1lc3NhZ2UpIHtcbiAgICB0aHJvdyBFcnJvcignc2lnbmF0dXJlUiBzaG91bGQgYmUgZGVmaW5lZCcpO1xuICB9XG4gIGNvbnN0IHNoYXJlOiBNUEN2MlNpZ25hdHVyZVNoYXJlUm91bmQzSW5wdXQgPSB7XG4gICAgdHlwZTogJ3JvdW5kM0lucHV0JyxcbiAgICBkYXRhOiB7XG4gICAgICBtc2c0OiB7XG4gICAgICAgIGZyb206IHVzZXJUb0JpdEdvRW5jcnlwdGVkTXNnNC5icm9hZGNhc3RNZXNzYWdlc1swXS5mcm9tLFxuICAgICAgICBtZXNzYWdlOiB1c2VyVG9CaXRHb0VuY3J5cHRlZE1zZzQuYnJvYWRjYXN0TWVzc2FnZXNbMF0ucGF5bG9hZC5tZXNzYWdlLFxuICAgICAgICBzaWduYXR1cmU6IHVzZXJUb0JpdEdvRW5jcnlwdGVkTXNnNC5icm9hZGNhc3RNZXNzYWdlc1swXS5wYXlsb2FkLnNpZ25hdHVyZSxcbiAgICAgICAgc2lnbmF0dXJlUjogdXNlclRvQml0R29FbmNyeXB0ZWRNc2c0LmJyb2FkY2FzdE1lc3NhZ2VzWzBdLnNpZ25hdHVyZVIubWVzc2FnZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcbiAgcmV0dXJuIHtcbiAgICBmcm9tOiBTaWduYXR1cmVTaGFyZVR5cGUuVVNFUixcbiAgICB0bzogU2lnbmF0dXJlU2hhcmVUeXBlLkJJVEdPLFxuICAgIHNoYXJlOiBKU09OLnN0cmluZ2lmeShzaGFyZSksXG4gIH07XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB2ZXJpZnlCaXRHb01lc3NhZ2VzQW5kU2lnbmF0dXJlc1JvdW5kT25lKFxuICBwYXJzZWRTaWduYXR1cmVTaGFyZTogTVBDdjJTaWduYXR1cmVTaGFyZVJvdW5kMU91dHB1dCxcbiAgdXNlckdwZ0tleTogb3BlbnBncC5TZXJpYWxpemVkS2V5UGFpcjxzdHJpbmc+LFxuICBiaXRnb0dwZ0tleTogb3BlbnBncC5LZXlcbik6IFByb21pc2U8RGtsc1R5cGVzLlNlcmlhbGl6ZWRNZXNzYWdlcz4ge1xuICByZXR1cm4gYXdhaXQgRGtsc0NvbW1zLmRlY3J5cHRBbmRWZXJpZnlJbmNvbWluZ01lc3NhZ2VzKFxuICAgIHtcbiAgICAgIHAycE1lc3NhZ2VzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBmcm9tOiBwYXJzZWRTaWduYXR1cmVTaGFyZS5kYXRhLm1zZzIuZnJvbSxcbiAgICAgICAgICB0bzogcGFyc2VkU2lnbmF0dXJlU2hhcmUuZGF0YS5tc2cyLnRvLFxuICAgICAgICAgIHBheWxvYWQ6IHtcbiAgICAgICAgICAgIGVuY3J5cHRlZE1lc3NhZ2U6IHBhcnNlZFNpZ25hdHVyZVNoYXJlLmRhdGEubXNnMi5lbmNyeXB0ZWRNZXNzYWdlLFxuICAgICAgICAgICAgc2lnbmF0dXJlOiBwYXJzZWRTaWduYXR1cmVTaGFyZS5kYXRhLm1zZzIuc2lnbmF0dXJlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgYnJvYWRjYXN0TWVzc2FnZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGZyb206IHBhcnNlZFNpZ25hdHVyZVNoYXJlLmRhdGEubXNnMS5mcm9tLFxuICAgICAgICAgIHBheWxvYWQ6IHtcbiAgICAgICAgICAgIG1lc3NhZ2U6IHBhcnNlZFNpZ25hdHVyZVNoYXJlLmRhdGEubXNnMS5tZXNzYWdlLFxuICAgICAgICAgICAgc2lnbmF0dXJlOiBwYXJzZWRTaWduYXR1cmVTaGFyZS5kYXRhLm1zZzEuc2lnbmF0dXJlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAgW2dldEJpdEdvUGFydHlHcGdLZXkoYml0Z29HcGdLZXkpXSxcbiAgICBbZ2V0VXNlclBhcnR5R3BnS2V5KHVzZXJHcGdLZXkpXVxuICApO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdmVyaWZ5Qml0R29NZXNzYWdlc0FuZFNpZ25hdHVyZXNSb3VuZFR3byhcbiAgcGFyc2VkU2lnbmF0dXJlU2hhcmU6IE1QQ3YyU2lnbmF0dXJlU2hhcmVSb3VuZDJPdXRwdXQsXG4gIHVzZXJHcGdLZXk6IG9wZW5wZ3AuU2VyaWFsaXplZEtleVBhaXI8c3RyaW5nPixcbiAgYml0Z29HcGdLZXk6IG9wZW5wZ3AuS2V5XG4pOiBQcm9taXNlPERrbHNUeXBlcy5TZXJpYWxpemVkTWVzc2FnZXM+IHtcbiAgcmV0dXJuIGF3YWl0IERrbHNDb21tcy5kZWNyeXB0QW5kVmVyaWZ5SW5jb21pbmdNZXNzYWdlcyhcbiAgICB7XG4gICAgICBwMnBNZXNzYWdlczogW1xuICAgICAgICB7XG4gICAgICAgICAgZnJvbTogcGFyc2VkU2lnbmF0dXJlU2hhcmUuZGF0YS5tc2czLmZyb20sXG4gICAgICAgICAgdG86IHBhcnNlZFNpZ25hdHVyZVNoYXJlLmRhdGEubXNnMy50byxcbiAgICAgICAgICBwYXlsb2FkOiB7XG4gICAgICAgICAgICBlbmNyeXB0ZWRNZXNzYWdlOiBwYXJzZWRTaWduYXR1cmVTaGFyZS5kYXRhLm1zZzMuZW5jcnlwdGVkTWVzc2FnZSxcbiAgICAgICAgICAgIHNpZ25hdHVyZTogcGFyc2VkU2lnbmF0dXJlU2hhcmUuZGF0YS5tc2czLnNpZ25hdHVyZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIGJyb2FkY2FzdE1lc3NhZ2VzOiBbXSxcbiAgICB9LFxuICAgIFtnZXRCaXRHb1BhcnR5R3BnS2V5KGJpdGdvR3BnS2V5KV0sXG4gICAgW2dldFVzZXJQYXJ0eUdwZ0tleSh1c2VyR3BnS2V5KV1cbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEJpdEdvUGFydHlHcGdLZXkoa2V5OiBvcGVucGdwLktleSk6IERrbHNUeXBlcy5QYXJ0eUdwZ0tleSB7XG4gIHJldHVybiB7XG4gICAgcGFydHlJZDogMixcbiAgICBncGdLZXk6IGtleS5hcm1vcigpLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VXNlclBhcnR5R3BnS2V5KGtleTogb3BlbnBncC5TZXJpYWxpemVkS2V5UGFpcjxzdHJpbmc+KTogRGtsc1R5cGVzLlBhcnR5R3BnS2V5IHtcbiAgcmV0dXJuIHtcbiAgICBwYXJ0eUlkOiAwLFxuICAgIGdwZ0tleToga2V5LnByaXZhdGVLZXksXG4gIH07XG59XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/tss/ecdsa/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/tss/ecdsa/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,SAAS,CAAC;AACxC,OAAO,KAAK,WAAW,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,gBAAgB,MAAM,SAAS,CAAC;AAC5C,eAAe,YAAY,CAAC"}
|
|
@@ -23,8 +23,9 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.ECDSAMethodTypes = void 0;
|
|
26
|
+
exports.ECDSAMethodTypes = exports.DKLSMethods = void 0;
|
|
27
27
|
const ECDSAMethods = __importStar(require("./ecdsa"));
|
|
28
|
+
exports.DKLSMethods = __importStar(require("./ecdsaMPCv2"));
|
|
28
29
|
exports.ECDSAMethodTypes = __importStar(require("./types"));
|
|
29
30
|
exports.default = ECDSAMethods;
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vdHNzL2VjZHNhL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsc0RBQXdDO0FBQ3hDLDREQUE0QztBQUM1Qyw0REFBNEM7QUFDNUMsa0JBQWUsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgRUNEU0FNZXRob2RzIGZyb20gJy4vZWNkc2EnO1xuZXhwb3J0ICogYXMgREtMU01ldGhvZHMgZnJvbSAnLi9lY2RzYU1QQ3YyJztcbmV4cG9ydCAqIGFzIEVDRFNBTWV0aG9kVHlwZXMgZnJvbSAnLi90eXBlcyc7XG5leHBvcnQgZGVmYXVsdCBFQ0RTQU1ldGhvZHM7XG4iXX0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import EDDSAMethods, { EDDSAMethodTypes } from './eddsa';
|
|
2
|
-
import ECDSAMethods, { ECDSAMethodTypes } from './ecdsa';
|
|
3
|
-
export { EDDSAMethods, EDDSAMethodTypes, ECDSAMethods, ECDSAMethodTypes };
|
|
2
|
+
import ECDSAMethods, { ECDSAMethodTypes, DKLSMethods } from './ecdsa';
|
|
3
|
+
export { EDDSAMethods, EDDSAMethodTypes, ECDSAMethods, ECDSAMethodTypes, DKLSMethods };
|
|
4
4
|
export { ShareKeyPosition } from './types';
|
|
5
5
|
/** @deprecated Use EDDSAMethods */
|
|
6
6
|
export { createCombinedKey, createUserSignShare, createUserToBitGoGShare, offerUserToBitgoRShare, getBitgoToUserRShare, sendUserToBitgoGShare, getTxRequest, sendSignatureShare, encryptYShare, EncryptedYShare, DecryptableYShare, CombinedKey, SigningMaterial, } from './eddsa';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/tss/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,EAAE,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,YAAY,EAAE,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/tss/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,EAAE,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,YAAY,EAAE,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAG3C,mCAAmC;AACnC,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,eAAe,GAChB,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,gBAAgB,MAAM,UAAU,CAAC"}
|
|
@@ -23,13 +23,14 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.commonTssMethods = exports.encryptYShare = exports.sendSignatureShare = exports.getTxRequest = exports.sendUserToBitgoGShare = exports.getBitgoToUserRShare = exports.offerUserToBitgoRShare = exports.createUserToBitGoGShare = exports.createUserSignShare = exports.createCombinedKey = exports.ShareKeyPosition = exports.ECDSAMethodTypes = exports.ECDSAMethods = exports.EDDSAMethodTypes = exports.EDDSAMethods = void 0;
|
|
26
|
+
exports.commonTssMethods = exports.encryptYShare = exports.sendSignatureShare = exports.getTxRequest = exports.sendUserToBitgoGShare = exports.getBitgoToUserRShare = exports.offerUserToBitgoRShare = exports.createUserToBitGoGShare = exports.createUserSignShare = exports.createCombinedKey = exports.ShareKeyPosition = exports.DKLSMethods = exports.ECDSAMethodTypes = exports.ECDSAMethods = exports.EDDSAMethodTypes = exports.EDDSAMethods = void 0;
|
|
27
27
|
const eddsa_1 = __importStar(require("./eddsa"));
|
|
28
28
|
exports.EDDSAMethods = eddsa_1.default;
|
|
29
29
|
Object.defineProperty(exports, "EDDSAMethodTypes", { enumerable: true, get: function () { return eddsa_1.EDDSAMethodTypes; } });
|
|
30
30
|
const ecdsa_1 = __importStar(require("./ecdsa"));
|
|
31
31
|
exports.ECDSAMethods = ecdsa_1.default;
|
|
32
32
|
Object.defineProperty(exports, "ECDSAMethodTypes", { enumerable: true, get: function () { return ecdsa_1.ECDSAMethodTypes; } });
|
|
33
|
+
Object.defineProperty(exports, "DKLSMethods", { enumerable: true, get: function () { return ecdsa_1.DKLSMethods; } });
|
|
33
34
|
var types_1 = require("./types");
|
|
34
35
|
Object.defineProperty(exports, "ShareKeyPosition", { enumerable: true, get: function () { return types_1.ShareKeyPosition; } });
|
|
35
36
|
// exporting this types for backward compatibility.
|
|
@@ -45,4 +46,4 @@ Object.defineProperty(exports, "getTxRequest", { enumerable: true, get: function
|
|
|
45
46
|
Object.defineProperty(exports, "sendSignatureShare", { enumerable: true, get: function () { return eddsa_2.sendSignatureShare; } });
|
|
46
47
|
Object.defineProperty(exports, "encryptYShare", { enumerable: true, get: function () { return eddsa_2.encryptYShare; } });
|
|
47
48
|
exports.commonTssMethods = __importStar(require("./common"));
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vdHNzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaURBQXlEO0FBR2hELHVCQUhGLGVBQVksQ0FHRTtBQUFFLGlHQUhBLHdCQUFnQixPQUdBO0FBRnZDLGlEQUFzRTtBQUU3Qix1QkFGbEMsZUFBWSxDQUVrQztBQUFFLGlHQUZoQyx3QkFBZ0IsT0FFZ0M7QUFBRSw0RkFGaEMsbUJBQVcsT0FFZ0M7QUFDcEYsaUNBQTJDO0FBQWxDLHlHQUFBLGdCQUFnQixPQUFBO0FBRXpCLG1EQUFtRDtBQUNuRCxtQ0FBbUM7QUFDbkMsaUNBY2lCO0FBYmYsMEdBQUEsaUJBQWlCLE9BQUE7QUFDakIsNEdBQUEsbUJBQW1CLE9BQUE7QUFDbkIsZ0hBQUEsdUJBQXVCLE9BQUE7QUFDdkIsK0dBQUEsc0JBQXNCLE9BQUE7QUFDdEIsNkdBQUEsb0JBQW9CLE9BQUE7QUFDcEIsOEdBQUEscUJBQXFCLE9BQUE7QUFDckIscUdBQUEsWUFBWSxPQUFBO0FBQ1osMkdBQUEsa0JBQWtCLE9BQUE7QUFDbEIsc0dBQUEsYUFBYSxPQUFBO0FBT2YsNkRBQTZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEVERFNBTWV0aG9kcywgeyBFRERTQU1ldGhvZFR5cGVzIH0gZnJvbSAnLi9lZGRzYSc7XG5pbXBvcnQgRUNEU0FNZXRob2RzLCB7IEVDRFNBTWV0aG9kVHlwZXMsIERLTFNNZXRob2RzIH0gZnJvbSAnLi9lY2RzYSc7XG5cbmV4cG9ydCB7IEVERFNBTWV0aG9kcywgRUREU0FNZXRob2RUeXBlcywgRUNEU0FNZXRob2RzLCBFQ0RTQU1ldGhvZFR5cGVzLCBES0xTTWV0aG9kcyB9O1xuZXhwb3J0IHsgU2hhcmVLZXlQb3NpdGlvbiB9IGZyb20gJy4vdHlwZXMnO1xuXG4vLyBleHBvcnRpbmcgdGhpcyB0eXBlcyBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eS5cbi8qKiBAZGVwcmVjYXRlZCBVc2UgRUREU0FNZXRob2RzICovXG5leHBvcnQge1xuICBjcmVhdGVDb21iaW5lZEtleSxcbiAgY3JlYXRlVXNlclNpZ25TaGFyZSxcbiAgY3JlYXRlVXNlclRvQml0R29HU2hhcmUsXG4gIG9mZmVyVXNlclRvQml0Z29SU2hhcmUsXG4gIGdldEJpdGdvVG9Vc2VyUlNoYXJlLFxuICBzZW5kVXNlclRvQml0Z29HU2hhcmUsXG4gIGdldFR4UmVxdWVzdCxcbiAgc2VuZFNpZ25hdHVyZVNoYXJlLFxuICBlbmNyeXB0WVNoYXJlLFxuICBFbmNyeXB0ZWRZU2hhcmUsXG4gIERlY3J5cHRhYmxlWVNoYXJlLFxuICBDb21iaW5lZEtleSxcbiAgU2lnbmluZ01hdGVyaWFsLFxufSBmcm9tICcuL2VkZHNhJztcblxuZXhwb3J0ICogYXMgY29tbW9uVHNzTWV0aG9kcyBmcm9tICcuL2NvbW1vbic7XG4iXX0=
|
|
@@ -28,7 +28,7 @@ class MpcUtils {
|
|
|
28
28
|
return decryptedPrivateShare;
|
|
29
29
|
}
|
|
30
30
|
async createBitgoKeychainInWP(userGpgKey, backupGpgKey, userKeyShare, backupKeyShare, keyType, enterprise) {
|
|
31
|
-
const bitgoKey = await (0, opengpgUtils_1.getBitgoGpgPubKey)(this.bitgo);
|
|
31
|
+
const bitgoKey = (await (0, opengpgUtils_1.getBitgoGpgPubKey)(this.bitgo)).mpcV1;
|
|
32
32
|
const encUserToBitGoMessage = await (0, opengpgUtils_1.encryptText)(userKeyShare.privateShare, bitgoKey);
|
|
33
33
|
const encBackupToBitGoMessage = await (0, opengpgUtils_1.encryptText)(backupKeyShare.privateShare, bitgoKey);
|
|
34
34
|
const createBitGoMPCParams = {
|
|
@@ -140,4 +140,4 @@ class MpcUtils {
|
|
|
140
140
|
}
|
|
141
141
|
}
|
|
142
142
|
exports.MpcUtils = MpcUtils;
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXBjVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vdXRpbHMvbXBjVXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7O0dBRUc7QUFDSCxvREFBNEI7QUFDNUIscUNBQWtGO0FBS2xGLGlEQUFnRTtBQVVoRSxNQUFzQixRQUFRO0lBSTVCLFlBQVksS0FBZ0IsRUFBRSxRQUFtQjtRQUMvQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDO0lBRVMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLFlBQW9CLEVBQUUsVUFBcUM7UUFDN0YsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLElBQUEscUJBQVcsRUFBQztZQUM1QyxjQUFjLEVBQUUsWUFBWTtTQUM3QixDQUFDLENBQUM7UUFDSCxNQUFNLGlCQUFpQixHQUFHLE1BQU0sSUFBQSx3QkFBYyxFQUFDLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBRXRGLE1BQU0scUJBQXFCLEdBQUcsQ0FDNUIsTUFBTSxJQUFBLGlCQUFPLEVBQUM7WUFDWixPQUFPLEVBQUUsbUJBQW1CO1lBQzVCLGNBQWMsRUFBRSxDQUFDLGlCQUFpQixDQUFDO1lBQ25DLE1BQU0sRUFBRSxNQUFNO1NBQ2YsQ0FBQyxDQUNILENBQUMsSUFBSSxDQUFDO1FBRVAsT0FBTyxxQkFBcUIsQ0FBQztJQUMvQixDQUFDO0lBRVMsS0FBSyxDQUFDLHVCQUF1QixDQUNyQyxVQUFxQyxFQUNyQyxZQUF1QyxFQUN2QyxZQUF5QixFQUN6QixjQUEyQixFQUMzQixPQUFnQixFQUNoQixVQUFtQjtRQUVuQixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUEsZ0NBQWlCLEVBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JELE1BQU0scUJBQXFCLEdBQUcsTUFBTSxJQUFBLDBCQUFXLEVBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNyRixNQUFNLHVCQUF1QixHQUFHLE1BQU0sSUFBQSwwQkFBVyxFQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFekYsTUFBTSxvQkFBb0IsR0FBdUI7WUFDL0MsT0FBTztZQUNQLE1BQU0sRUFBRSxPQUFPO1lBQ2YsU0FBUyxFQUFFO2dCQUNUO29CQUNFLElBQUksRUFBRSxNQUFNO29CQUNaLEVBQUUsRUFBRSxPQUFPO29CQUNYLFdBQVcsRUFBRSxZQUFZLENBQUMsV0FBVztvQkFDckMsWUFBWSxFQUFFLHFCQUFxQjtvQkFDbkMsaUJBQWlCLEVBQUUsWUFBWSxDQUFDLGlCQUFpQjtvQkFDakQsUUFBUSxFQUFFLFlBQVksQ0FBQyxRQUFRO2lCQUNoQztnQkFDRDtvQkFDRSxJQUFJLEVBQUUsUUFBUTtvQkFDZCxFQUFFLEVBQUUsT0FBTztvQkFDWCxXQUFXLEVBQUUsY0FBYyxDQUFDLFdBQVc7b0JBQ3ZDLFlBQVksRUFBRSx1QkFBdUI7b0JBQ3JDLGlCQUFpQixFQUFFLGNBQWMsQ0FBQyxpQkFBaUI7b0JBQ25ELFFBQVEsRUFBRSxjQUFjLENBQUMsUUFBUTtpQkFDbEM7YUFDRjtZQUNELGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxTQUFTO1lBQ3RDLGtCQUFrQixFQUFFLFlBQVksQ0FBQyxTQUFTO1lBQzFDLFVBQVUsRUFBRSxVQUFVO1NBQ3ZCLENBQUM7UUFFRixPQUFPLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBZ0JEOzs7Ozs7T0FNRztJQUNILGNBQWMsQ0FBQyxRQUFtQixFQUFFLE1BQTRDOztRQUM5RSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRXZDLElBQUksQ0FBQyxDQUFDLGNBQWMsRUFBRSxXQUFXLEVBQUUsZUFBZSxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUMvRSxJQUFBLGdCQUFNLEVBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSw0Q0FBNEMsTUFBTSxDQUFDLFVBQVUsU0FBUyxDQUFDLENBQUM7U0FDbkc7UUFDRCxNQUFNLGdCQUFnQixHQUFHLE1BQUEsTUFBTSxDQUFDLFVBQVUsMENBQUUsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDNUQsTUFBTSxrQkFBa0IsR0FBb0I7Z0JBQzFDLE9BQU8sRUFBRSxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUMsT0FBTyxFQUFFO2dCQUN2QyxNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRTthQUNwRyxDQUFDO1lBRUYsSUFBSSxTQUFTLENBQUMsSUFBSSxFQUFFO2dCQUNsQixrQkFBa0IsQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQzthQUMxQztZQUVELE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxTQUFTLENBQUM7WUFDaEMsSUFBSSxTQUFTLElBQUksQ0FBQyxTQUFTLENBQUMsb0JBQW9CLElBQUksU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUN4RSxvREFBb0Q7Z0JBQ3BELElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLElBQUksU0FBUyxDQUFDLGFBQWEsQ0FBQyxFQUFFO29CQUNyRCxNQUFNLElBQUksS0FBSyxDQUNiLDhGQUE4RixDQUMvRixDQUFDO2lCQUNIO2dCQUNELGtCQUFrQixDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7YUFDMUM7WUFDRCxPQUFPLGtCQUFrQixDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxVQUFVLEdBQUc7WUFDakIsVUFBVSxFQUFFLE1BQU0sQ0FBQyxVQUFVO1lBQzdCLFVBQVUsRUFBRSxNQUFNLENBQUMsVUFBVTtZQUM3QixPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU87WUFDdkIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLO1lBQ25CLFVBQVUsRUFBRSxnQkFBZ0I7U0FDN0IsQ0FBQztRQUVGLElBQUksUUFBUSxDQUFDLFNBQVMsRUFBRSxLQUFLLEtBQUssSUFBSSxRQUFRLENBQUMsU0FBUyxFQUFFLEtBQUssU0FBUyxJQUFJLFFBQVEsQ0FBQyxTQUFTLEVBQUUsS0FBSyxLQUFLLEVBQUU7WUFDMUcsUUFBUSxNQUFNLENBQUMsVUFBVSxFQUFFO2dCQUN6QixLQUFLLFNBQVMsQ0FBQztnQkFDZixLQUFLLGVBQWUsQ0FBQztnQkFDckIsS0FBSyxXQUFXO29CQUNkLE9BQU87d0JBQ0wsR0FBRyxVQUFVO3dCQUNiLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUTt3QkFDekIsVUFBVSxFQUFFLE1BQU0sQ0FBQyxVQUFVO3dCQUM3QixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7d0JBQzNCLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSzt3QkFDbkIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLO3dCQUNuQixzQkFBc0IsRUFBRSxNQUFNLENBQUMsc0JBQXNCO3dCQUNyRCxjQUFjLEVBQUUsTUFBTSxDQUFDLGNBQWM7cUJBQ3RDLENBQUM7Z0JBQ0osS0FBSyxjQUFjO29CQUNqQixPQUFPO3dCQUNMLEdBQUcsVUFBVTt3QkFDYixJQUFJLEVBQUUsTUFBTSxDQUFDLFVBQVU7d0JBQ3ZCLGNBQWMsRUFBRSxNQUFNLENBQUMsY0FBYzt3QkFDckMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxVQUFVO3FCQUM5QixDQUFDO2dCQUNKO29CQUNFLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO2FBQ25FO1NBQ0Y7UUFFRCxJQUFJLE1BQU0sQ0FBQyxVQUFVLEtBQUssU0FBUyxFQUFFO1lBQ25DLE9BQU87Z0JBQ0wsR0FBRyxVQUFVO2dCQUNiLElBQUksRUFBRSxNQUFBLE1BQU0sQ0FBQyxJQUFJLDBDQUFFLEtBQUs7Z0JBQ3hCLEtBQUssRUFBRSxNQUFNLENBQUMsU0FBUztnQkFDdkIsWUFBWSxFQUFFLE1BQU0sQ0FBQyxZQUFZO2dCQUNqQyxVQUFVLEVBQUUsTUFBTSxDQUFDLFVBQVU7YUFDOUIsQ0FBQztTQUNIO1FBRUQsT0FBTztZQUNMLEdBQUcsVUFBVTtZQUNiLElBQUksRUFBRSxNQUFBLE1BQU0sQ0FBQyxJQUFJLDBDQUFFLEtBQUs7WUFDeEIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxTQUFTO1lBQ3ZCLFlBQVksRUFBRSxNQUFNLENBQUMsWUFBWTtTQUNsQyxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBektELDRCQXlLQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHByZXR0aWVyXG4gKi9cbmltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCB7IGRlY3J5cHQsIHJlYWRNZXNzYWdlLCByZWFkUHJpdmF0ZUtleSwgU2VyaWFsaXplZEtleVBhaXIgfSBmcm9tICdvcGVucGdwJztcbmltcG9ydCB7IElCYXNlQ29pbiwgS2V5Y2hhaW5zVHJpcGxldCB9IGZyb20gJy4uL2Jhc2VDb2luJztcbmltcG9ydCB7IEJpdEdvQmFzZSB9IGZyb20gJy4uL2JpdGdvQmFzZSc7XG5pbXBvcnQgeyBBZGRLZXljaGFpbk9wdGlvbnMsIEtleWNoYWluLCBLZXlUeXBlIH0gZnJvbSAnLi4va2V5Y2hhaW4nO1xuaW1wb3J0IHsgQmFja3VwUHJvdmlkZXIgfSBmcm9tICcuLi93YWxsZXQnO1xuaW1wb3J0IHsgZW5jcnlwdFRleHQsIGdldEJpdGdvR3BnUHViS2V5IH0gZnJvbSAnLi9vcGVuZ3BnVXRpbHMnO1xuaW1wb3J0IHsgSW50ZW50UmVjaXBpZW50LCBQb3B1bGF0ZWRJbnRlbnQsIFByZWJ1aWxkVHJhbnNhY3Rpb25XaXRoSW50ZW50T3B0aW9ucyB9IGZyb20gJy4vdHNzL2Jhc2VUeXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTXBjS2V5U2hhcmUge1xuICBwdWJsaWNTaGFyZTogc3RyaW5nO1xuICBwcml2YXRlU2hhcmU6IHN0cmluZztcbiAgcHJpdmF0ZVNoYXJlUHJvb2Y/OiBzdHJpbmc7XG4gIHZzc1Byb29mPzogc3RyaW5nO1xufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTXBjVXRpbHMge1xuICBwcm90ZWN0ZWQgYml0Z286IEJpdEdvQmFzZTtcbiAgcHJvdGVjdGVkIGJhc2VDb2luOiBJQmFzZUNvaW47XG5cbiAgY29uc3RydWN0b3IoYml0Z286IEJpdEdvQmFzZSwgYmFzZUNvaW46IElCYXNlQ29pbikge1xuICAgIHRoaXMuYml0Z28gPSBiaXRnbztcbiAgICB0aGlzLmJhc2VDb2luID0gYmFzZUNvaW47XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgZGVjcnlwdFByaXZhdGVTaGFyZShwcml2YXRlU2hhcmU6IHN0cmluZywgdXNlckdwZ0tleTogU2VyaWFsaXplZEtleVBhaXI8c3RyaW5nPik6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgcHJpdmF0ZVNoYXJlTWVzc2FnZSA9IGF3YWl0IHJlYWRNZXNzYWdlKHtcbiAgICAgIGFybW9yZWRNZXNzYWdlOiBwcml2YXRlU2hhcmUsXG4gICAgfSk7XG4gICAgY29uc3QgdXNlckdwZ1ByaXZhdGVLZXkgPSBhd2FpdCByZWFkUHJpdmF0ZUtleSh7IGFybW9yZWRLZXk6IHVzZXJHcGdLZXkucHJpdmF0ZUtleSB9KTtcblxuICAgIGNvbnN0IGRlY3J5cHRlZFByaXZhdGVTaGFyZSA9IChcbiAgICAgIGF3YWl0IGRlY3J5cHQoe1xuICAgICAgICBtZXNzYWdlOiBwcml2YXRlU2hhcmVNZXNzYWdlLFxuICAgICAgICBkZWNyeXB0aW9uS2V5czogW3VzZXJHcGdQcml2YXRlS2V5XSxcbiAgICAgICAgZm9ybWF0OiAndXRmOCcsXG4gICAgICB9KVxuICAgICkuZGF0YTtcblxuICAgIHJldHVybiBkZWNyeXB0ZWRQcml2YXRlU2hhcmU7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgY3JlYXRlQml0Z29LZXljaGFpbkluV1AoXG4gICAgdXNlckdwZ0tleTogU2VyaWFsaXplZEtleVBhaXI8c3RyaW5nPixcbiAgICBiYWNrdXBHcGdLZXk6IFNlcmlhbGl6ZWRLZXlQYWlyPHN0cmluZz4sXG4gICAgdXNlcktleVNoYXJlOiBNcGNLZXlTaGFyZSxcbiAgICBiYWNrdXBLZXlTaGFyZTogTXBjS2V5U2hhcmUsXG4gICAga2V5VHlwZTogS2V5VHlwZSxcbiAgICBlbnRlcnByaXNlPzogc3RyaW5nXG4gICk6IFByb21pc2U8S2V5Y2hhaW4+IHtcbiAgICBjb25zdCBiaXRnb0tleSA9IGF3YWl0IGdldEJpdGdvR3BnUHViS2V5KHRoaXMuYml0Z28pO1xuICAgIGNvbnN0IGVuY1VzZXJUb0JpdEdvTWVzc2FnZSA9IGF3YWl0IGVuY3J5cHRUZXh0KHVzZXJLZXlTaGFyZS5wcml2YXRlU2hhcmUsIGJpdGdvS2V5KTtcbiAgICBjb25zdCBlbmNCYWNrdXBUb0JpdEdvTWVzc2FnZSA9IGF3YWl0IGVuY3J5cHRUZXh0KGJhY2t1cEtleVNoYXJlLnByaXZhdGVTaGFyZSwgYml0Z29LZXkpO1xuXG4gICAgY29uc3QgY3JlYXRlQml0R29NUENQYXJhbXM6IEFkZEtleWNoYWluT3B0aW9ucyA9IHtcbiAgICAgIGtleVR5cGUsXG4gICAgICBzb3VyY2U6ICdiaXRnbycsXG4gICAgICBrZXlTaGFyZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGZyb206ICd1c2VyJyxcbiAgICAgICAgICB0bzogJ2JpdGdvJyxcbiAgICAgICAgICBwdWJsaWNTaGFyZTogdXNlcktleVNoYXJlLnB1YmxpY1NoYXJlLFxuICAgICAgICAgIHByaXZhdGVTaGFyZTogZW5jVXNlclRvQml0R29NZXNzYWdlLFxuICAgICAgICAgIHByaXZhdGVTaGFyZVByb29mOiB1c2VyS2V5U2hhcmUucHJpdmF0ZVNoYXJlUHJvb2YsXG4gICAgICAgICAgdnNzUHJvb2Y6IHVzZXJLZXlTaGFyZS52c3NQcm9vZixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGZyb206ICdiYWNrdXAnLFxuICAgICAgICAgIHRvOiAnYml0Z28nLFxuICAgICAgICAgIHB1YmxpY1NoYXJlOiBiYWNrdXBLZXlTaGFyZS5wdWJsaWNTaGFyZSxcbiAgICAgICAgICBwcml2YXRlU2hhcmU6IGVuY0JhY2t1cFRvQml0R29NZXNzYWdlLFxuICAgICAgICAgIHByaXZhdGVTaGFyZVByb29mOiBiYWNrdXBLZXlTaGFyZS5wcml2YXRlU2hhcmVQcm9vZixcbiAgICAgICAgICB2c3NQcm9vZjogYmFja3VwS2V5U2hhcmUudnNzUHJvb2YsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgdXNlckdQR1B1YmxpY0tleTogdXNlckdwZ0tleS5wdWJsaWNLZXksXG4gICAgICBiYWNrdXBHUEdQdWJsaWNLZXk6IGJhY2t1cEdwZ0tleS5wdWJsaWNLZXksXG4gICAgICBlbnRlcnByaXNlOiBlbnRlcnByaXNlLFxuICAgIH07XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5iYXNlQ29pbi5rZXljaGFpbnMoKS5hZGQoY3JlYXRlQml0R29NUENQYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgVXNlciwgQmFja3VwLCBhbmQgQml0R28gTVBDIEtleWNoYWlucy5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcy5wYXNzcGhyYXNlIC0gcGFzc3BocmFzZSB1c2VkIHRvIGVuY3J5cHQgc2lnbmluZyBtYXRlcmlhbHMgY3JlYXRlZCBmb3IgVXNlciBhbmQgQmFja3VwXG4gICAqIEBwYXJhbSBwYXJhbXMuZW50ZXJwcmlzZSAtIG9wdGlvbmFsIGVudGVycHJpc2UgaWQgdGhhdCB3aWxsIGJlIGF0dGFjaGVkIHRvIHRoZSBCaXRHbyBLZXljaGFpblxuICAgKiBAcGFyYW0gcGFyYW1zLm9yaWdpbmFsUGFzc2NvZGVFbmNyeXB0aW9uQ29kZSAtIG9wdGlvbmFsIGVuY3J5cHRpb24gY29kZSB1c2VkIHRvIHJlc2V0IHRoZSB1c2VyJ3MgcGFzc3dvcmQsIGlmIGFic2VudCwgcGFzc3dvcmQgcmVjb3Zlcnkgd2lsbCBub3Qgd29ya1xuICAgKi9cbiAgYWJzdHJhY3QgY3JlYXRlS2V5Y2hhaW5zKHBhcmFtczoge1xuICAgIHBhc3NwaHJhc2U6IHN0cmluZztcbiAgICBlbnRlcnByaXNlPzogc3RyaW5nO1xuICAgIG9yaWdpbmFsUGFzc2NvZGVFbmNyeXB0aW9uQ29kZT86IHN0cmluZztcbiAgICBiYWNrdXBQcm92aWRlcj86IEJhY2t1cFByb3ZpZGVyO1xuICB9KTogUHJvbWlzZTxLZXljaGFpbnNUcmlwbGV0PjtcblxuICAvKipcbiAgICogVGhpcyBmdW5jdGlvbiB3b3VsZCBiZSByZXNwb25zaWJsZSBmb3IgcG9wdWxhdGluZyBpbnRlbnRzXG4gICAqIGJhc2VkIG9uIHRoZSB0eXBlIG9mIGNvaW4gLyBzaWcgc2NoZW1lIHRoZSBjb2luIHVzZXNcbiAgICogQHBhcmFtIHtJQmFzZUNvaW59IGJhc2VDb2luXG4gICAqIEBwYXJhbSB7UHJlYnVpbGRUcmFuc2FjdGlvbldpdGhJbnRlbnRPcHRpb25zfSBwYXJhbXNcbiAgICogQHJldHVybnMge1JlY29yZDxzdHJpbmcsIHVua25vd24+fVxuICAgKi9cbiAgcG9wdWxhdGVJbnRlbnQoYmFzZUNvaW46IElCYXNlQ29pbiwgcGFyYW1zOiBQcmVidWlsZFRyYW5zYWN0aW9uV2l0aEludGVudE9wdGlvbnMpOiBQb3B1bGF0ZWRJbnRlbnQge1xuICAgIGNvbnN0IGNoYWluID0gdGhpcy5iYXNlQ29pbi5nZXRDaGFpbigpO1xuXG4gICAgaWYgKCFbJ2FjY2VsZXJhdGlvbicsICdmaWxsTm9uY2UnLCAndHJhbnNmZXJUb2tlbiddLmluY2x1ZGVzKHBhcmFtcy5pbnRlbnRUeXBlKSkge1xuICAgICAgYXNzZXJ0KHBhcmFtcy5yZWNpcGllbnRzLCBgJ3JlY2lwaWVudHMnIGlzIGEgcmVxdWlyZWQgcGFyYW1ldGVyIGZvciAke3BhcmFtcy5pbnRlbnRUeXBlfSBpbnRlbnRgKTtcbiAgICB9XG4gICAgY29uc3QgaW50ZW50UmVjaXBpZW50cyA9IHBhcmFtcy5yZWNpcGllbnRzPy5tYXAoKHJlY2lwaWVudCkgPT4ge1xuICAgICAgY29uc3QgZm9ybWF0dGVkUmVjaXBpZW50OiBJbnRlbnRSZWNpcGllbnQgPSB7XG4gICAgICAgIGFkZHJlc3M6IHsgYWRkcmVzczogcmVjaXBpZW50LmFkZHJlc3MgfSxcbiAgICAgICAgYW1vdW50OiB7IHZhbHVlOiBgJHtyZWNpcGllbnQuYW1vdW50fWAsIHN5bWJvbDogcmVjaXBpZW50LnRva2VuTmFtZSA/IHJlY2lwaWVudC50b2tlbk5hbWUgOiBjaGFpbiB9LFxuICAgICAgfTtcblxuICAgICAgaWYgKHJlY2lwaWVudC5kYXRhKSB7XG4gICAgICAgIGZvcm1hdHRlZFJlY2lwaWVudC5kYXRhID0gcmVjaXBpZW50LmRhdGE7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHsgdG9rZW5EYXRhIH0gPSByZWNpcGllbnQ7XG4gICAgICBpZiAodG9rZW5EYXRhICYmICh0b2tlbkRhdGEudG9rZW5Db250cmFjdEFkZHJlc3MgfHwgdG9rZW5EYXRhLnRva2VuTmFtZSkpIHtcbiAgICAgICAgLy8gdG9rZW4gcmVsYXRlZCByZWNpcGllbnQgZGF0YSBnZXRzIHZhbGlkYXRlZCBpbiBXUFxuICAgICAgICBpZiAoISh0b2tlbkRhdGEudG9rZW5UeXBlICYmIHRva2VuRGF0YS50b2tlblF1YW50aXR5KSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICd0b2tlbiB0eXBlIGFuZCBxdWFudGl0eSBpcyByZXF1aXJlZCB0byByZXF1ZXN0IGEgdHJhbnNhY3Rpb24gd2l0aCBpbnRlbnQgdG8gdHJhbnNmZXIgYSB0b2tlbidcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGZvcm1hdHRlZFJlY2lwaWVudC50b2tlbkRhdGEgPSB0b2tlbkRhdGE7XG4gICAgICB9XG4gICAgICByZXR1cm4gZm9ybWF0dGVkUmVjaXBpZW50O1xuICAgIH0pO1xuXG4gICAgY29uc3QgYmFzZUludGVudCA9IHtcbiAgICAgIGludGVudFR5cGU6IHBhcmFtcy5pbnRlbnRUeXBlLFxuICAgICAgc2VxdWVuY2VJZDogcGFyYW1zLnNlcXVlbmNlSWQsXG4gICAgICBjb21tZW50OiBwYXJhbXMuY29tbWVudCxcbiAgICAgIG5vbmNlOiBwYXJhbXMubm9uY2UsXG4gICAgICByZWNpcGllbnRzOiBpbnRlbnRSZWNpcGllbnRzLFxuICAgIH07XG5cbiAgICBpZiAoYmFzZUNvaW4uZ2V0RmFtaWx5KCkgPT09ICdldGgnIHx8IGJhc2VDb2luLmdldEZhbWlseSgpID09PSAncG9seWdvbicgfHwgYmFzZUNvaW4uZ2V0RmFtaWx5KCkgPT09ICdic2MnKSB7XG4gICAgICBzd2l0Y2ggKHBhcmFtcy5pbnRlbnRUeXBlKSB7XG4gICAgICAgIGNhc2UgJ3BheW1lbnQnOlxuICAgICAgICBjYXNlICd0cmFuc2ZlclRva2VuJzpcbiAgICAgICAgY2FzZSAnZmlsbE5vbmNlJzpcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uYmFzZUludGVudCxcbiAgICAgICAgICAgIHNlbGZTZW5kOiBwYXJhbXMuc2VsZlNlbmQsXG4gICAgICAgICAgICBmZWVPcHRpb25zOiBwYXJhbXMuZmVlT3B0aW9ucyxcbiAgICAgICAgICAgIGhvcFBhcmFtczogcGFyYW1zLmhvcFBhcmFtcyxcbiAgICAgICAgICAgIGlzVHNzOiBwYXJhbXMuaXNUc3MsXG4gICAgICAgICAgICBub25jZTogcGFyYW1zLm5vbmNlLFxuICAgICAgICAgICAgY3VzdG9kaWFuVHJhbnNhY3Rpb25JZDogcGFyYW1zLmN1c3RvZGlhblRyYW5zYWN0aW9uSWQsXG4gICAgICAgICAgICByZWNlaXZlQWRkcmVzczogcGFyYW1zLnJlY2VpdmVBZGRyZXNzLFxuICAgICAgICAgIH07XG4gICAgICAgIGNhc2UgJ2FjY2VsZXJhdGlvbic6XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmJhc2VJbnRlbnQsXG4gICAgICAgICAgICB0eGlkOiBwYXJhbXMubG93RmVlVHhpZCxcbiAgICAgICAgICAgIHJlY2VpdmVBZGRyZXNzOiBwYXJhbXMucmVjZWl2ZUFkZHJlc3MsXG4gICAgICAgICAgICBmZWVPcHRpb25zOiBwYXJhbXMuZmVlT3B0aW9ucyxcbiAgICAgICAgICB9O1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgaW50ZW50IHR5cGUgJHtwYXJhbXMuaW50ZW50VHlwZX1gKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocGFyYW1zLmZlZU9wdGlvbnMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uYmFzZUludGVudCxcbiAgICAgICAgbWVtbzogcGFyYW1zLm1lbW8/LnZhbHVlLFxuICAgICAgICB0b2tlbjogcGFyYW1zLnRva2VuTmFtZSxcbiAgICAgICAgZW5hYmxlVG9rZW5zOiBwYXJhbXMuZW5hYmxlVG9rZW5zLFxuICAgICAgICBmZWVPcHRpb25zOiBwYXJhbXMuZmVlT3B0aW9ucyxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmJhc2VJbnRlbnQsXG4gICAgICBtZW1vOiBwYXJhbXMubWVtbz8udmFsdWUsXG4gICAgICB0b2tlbjogcGFyYW1zLnRva2VuTmFtZSxcbiAgICAgIGVuYWJsZVRva2VuczogcGFyYW1zLmVuYWJsZVRva2VucyxcbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXBjVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vdXRpbHMvbXBjVXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7O0dBRUc7QUFDSCxvREFBNEI7QUFDNUIscUNBQWtGO0FBS2xGLGlEQUFnRTtBQVVoRSxNQUFzQixRQUFRO0lBSTVCLFlBQVksS0FBZ0IsRUFBRSxRQUFtQjtRQUMvQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDO0lBRVMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLFlBQW9CLEVBQUUsVUFBcUM7UUFDN0YsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLElBQUEscUJBQVcsRUFBQztZQUM1QyxjQUFjLEVBQUUsWUFBWTtTQUM3QixDQUFDLENBQUM7UUFDSCxNQUFNLGlCQUFpQixHQUFHLE1BQU0sSUFBQSx3QkFBYyxFQUFDLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBRXRGLE1BQU0scUJBQXFCLEdBQUcsQ0FDNUIsTUFBTSxJQUFBLGlCQUFPLEVBQUM7WUFDWixPQUFPLEVBQUUsbUJBQW1CO1lBQzVCLGNBQWMsRUFBRSxDQUFDLGlCQUFpQixDQUFDO1lBQ25DLE1BQU0sRUFBRSxNQUFNO1NBQ2YsQ0FBQyxDQUNILENBQUMsSUFBSSxDQUFDO1FBRVAsT0FBTyxxQkFBcUIsQ0FBQztJQUMvQixDQUFDO0lBRVMsS0FBSyxDQUFDLHVCQUF1QixDQUNyQyxVQUFxQyxFQUNyQyxZQUF1QyxFQUN2QyxZQUF5QixFQUN6QixjQUEyQixFQUMzQixPQUFnQixFQUNoQixVQUFtQjtRQUVuQixNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQU0sSUFBQSxnQ0FBaUIsRUFBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDN0Qs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T0FBTztnQkFDTCxHQUFHLFVBQVU7Z0JBQ2IsSUFBSSxFQUFFLE1BQUEsTUFBTSxDQUFDLElBQUksMENBQUUsS0FBSztnQkFDeEIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxTQUFTO2dCQUN2QixZQUFZLEVBQUUsTUFBTSxDQUFDLFlBQVk7Z0JBQ2pDLFVBQVUsRUFBRSxNQUFNLENBQUMsVUFBVTthQUM5QixDQUFDO1NBQ0g7UUFFRCxPQUFPO1lBQ0wsR0FBRyxVQUFVO1lBQ2IsSUFBSSxFQUFFLE1BQUEsTUFBTSxDQUFDLElBQUksMENBQUUsS0FBSztZQUN4QixLQUFLLEVBQUUsTUFBTSxDQUFDLFNBQVM7WUFDdkIsWUFBWSxFQUFFLE1BQU0sQ0FBQyxZQUFZO1NBQ2xDLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUF6S0QsNEJBeUtDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IHsgZGVjcnlwdCwgcmVhZE1lc3NhZ2UsIHJlYWRQcml2YXRlS2V5LCBTZXJpYWxpemVkS2V5UGFpciB9IGZyb20gJ29wZW5wZ3AnO1xuaW1wb3J0IHsgSUJhc2VDb2luLCBLZXljaGFpbnNUcmlwbGV0IH0gZnJvbSAnLi4vYmFzZUNvaW4nO1xuaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnLi4vYml0Z29CYXNlJztcbmltcG9ydCB7IEFkZEtleWNoYWluT3B0aW9ucywgS2V5Y2hhaW4sIEtleVR5cGUgfSBmcm9tICcuLi9rZXljaGFpbic7XG5pbXBvcnQgeyBCYWNrdXBQcm92aWRlciB9IGZyb20gJy4uL3dhbGxldCc7XG5pbXBvcnQgeyBlbmNyeXB0VGV4dCwgZ2V0Qml0Z29HcGdQdWJLZXkgfSBmcm9tICcuL29wZW5ncGdVdGlscyc7XG5pbXBvcnQgeyBJbnRlbnRSZWNpcGllbnQsIFBvcHVsYXRlZEludGVudCwgUHJlYnVpbGRUcmFuc2FjdGlvbldpdGhJbnRlbnRPcHRpb25zIH0gZnJvbSAnLi90c3MvYmFzZVR5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBNcGNLZXlTaGFyZSB7XG4gIHB1YmxpY1NoYXJlOiBzdHJpbmc7XG4gIHByaXZhdGVTaGFyZTogc3RyaW5nO1xuICBwcml2YXRlU2hhcmVQcm9vZj86IHN0cmluZztcbiAgdnNzUHJvb2Y/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBNcGNVdGlscyB7XG4gIHByb3RlY3RlZCBiaXRnbzogQml0R29CYXNlO1xuICBwcm90ZWN0ZWQgYmFzZUNvaW46IElCYXNlQ29pbjtcblxuICBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlLCBiYXNlQ29pbjogSUJhc2VDb2luKSB7XG4gICAgdGhpcy5iaXRnbyA9IGJpdGdvO1xuICAgIHRoaXMuYmFzZUNvaW4gPSBiYXNlQ29pbjtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBkZWNyeXB0UHJpdmF0ZVNoYXJlKHByaXZhdGVTaGFyZTogc3RyaW5nLCB1c2VyR3BnS2V5OiBTZXJpYWxpemVkS2V5UGFpcjxzdHJpbmc+KTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBwcml2YXRlU2hhcmVNZXNzYWdlID0gYXdhaXQgcmVhZE1lc3NhZ2Uoe1xuICAgICAgYXJtb3JlZE1lc3NhZ2U6IHByaXZhdGVTaGFyZSxcbiAgICB9KTtcbiAgICBjb25zdCB1c2VyR3BnUHJpdmF0ZUtleSA9IGF3YWl0IHJlYWRQcml2YXRlS2V5KHsgYXJtb3JlZEtleTogdXNlckdwZ0tleS5wcml2YXRlS2V5IH0pO1xuXG4gICAgY29uc3QgZGVjcnlwdGVkUHJpdmF0ZVNoYXJlID0gKFxuICAgICAgYXdhaXQgZGVjcnlwdCh7XG4gICAgICAgIG1lc3NhZ2U6IHByaXZhdGVTaGFyZU1lc3NhZ2UsXG4gICAgICAgIGRlY3J5cHRpb25LZXlzOiBbdXNlckdwZ1ByaXZhdGVLZXldLFxuICAgICAgICBmb3JtYXQ6ICd1dGY4JyxcbiAgICAgIH0pXG4gICAgKS5kYXRhO1xuXG4gICAgcmV0dXJuIGRlY3J5cHRlZFByaXZhdGVTaGFyZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBjcmVhdGVCaXRnb0tleWNoYWluSW5XUChcbiAgICB1c2VyR3BnS2V5OiBTZXJpYWxpemVkS2V5UGFpcjxzdHJpbmc+LFxuICAgIGJhY2t1cEdwZ0tleTogU2VyaWFsaXplZEtleVBhaXI8c3RyaW5nPixcbiAgICB1c2VyS2V5U2hhcmU6IE1wY0tleVNoYXJlLFxuICAgIGJhY2t1cEtleVNoYXJlOiBNcGNLZXlTaGFyZSxcbiAgICBrZXlUeXBlOiBLZXlUeXBlLFxuICAgIGVudGVycHJpc2U/OiBzdHJpbmdcbiAgKTogUHJvbWlzZTxLZXljaGFpbj4ge1xuICAgIGNvbnN0IGJpdGdvS2V5ID0gKGF3YWl0IGdldEJpdGdvR3BnUHViS2V5KHRoaXMuYml0Z28pKS5tcGNWMTtcbiAgICBjb25zdCBlbmNVc2VyVG9CaXRHb01lc3NhZ2UgPSBhd2FpdCBlbmNyeXB0VGV4dCh1c2VyS2V5U2hhcmUucHJpdmF0ZVNoYXJlLCBiaXRnb0tleSk7XG4gICAgY29uc3QgZW5jQmFja3VwVG9CaXRHb01lc3NhZ2UgPSBhd2FpdCBlbmNyeXB0VGV4dChiYWNrdXBLZXlTaGFyZS5wcml2YXRlU2hhcmUsIGJpdGdvS2V5KTtcblxuICAgIGNvbnN0IGNyZWF0ZUJpdEdvTVBDUGFyYW1zOiBBZGRLZXljaGFpbk9wdGlvbnMgPSB7XG4gICAgICBrZXlUeXBlLFxuICAgICAgc291cmNlOiAnYml0Z28nLFxuICAgICAga2V5U2hhcmVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBmcm9tOiAndXNlcicsXG4gICAgICAgICAgdG86ICdiaXRnbycsXG4gICAgICAgICAgcHVibGljU2hhcmU6IHVzZXJLZXlTaGFyZS5wdWJsaWNTaGFyZSxcbiAgICAgICAgICBwcml2YXRlU2hhcmU6IGVuY1VzZXJUb0JpdEdvTWVzc2FnZSxcbiAgICAgICAgICBwcml2YXRlU2hhcmVQcm9vZjogdXNlcktleVNoYXJlLnByaXZhdGVTaGFyZVByb29mLFxuICAgICAgICAgIHZzc1Byb29mOiB1c2VyS2V5U2hhcmUudnNzUHJvb2YsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBmcm9tOiAnYmFja3VwJyxcbiAgICAgICAgICB0bzogJ2JpdGdvJyxcbiAgICAgICAgICBwdWJsaWNTaGFyZTogYmFja3VwS2V5U2hhcmUucHVibGljU2hhcmUsXG4gICAgICAgICAgcHJpdmF0ZVNoYXJlOiBlbmNCYWNrdXBUb0JpdEdvTWVzc2FnZSxcbiAgICAgICAgICBwcml2YXRlU2hhcmVQcm9vZjogYmFja3VwS2V5U2hhcmUucHJpdmF0ZVNoYXJlUHJvb2YsXG4gICAgICAgICAgdnNzUHJvb2Y6IGJhY2t1cEtleVNoYXJlLnZzc1Byb29mLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHVzZXJHUEdQdWJsaWNLZXk6IHVzZXJHcGdLZXkucHVibGljS2V5LFxuICAgICAgYmFja3VwR1BHUHVibGljS2V5OiBiYWNrdXBHcGdLZXkucHVibGljS2V5LFxuICAgICAgZW50ZXJwcmlzZTogZW50ZXJwcmlzZSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYmFzZUNvaW4ua2V5Y2hhaW5zKCkuYWRkKGNyZWF0ZUJpdEdvTVBDUGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIFVzZXIsIEJhY2t1cCwgYW5kIEJpdEdvIE1QQyBLZXljaGFpbnMuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXMucGFzc3BocmFzZSAtIHBhc3NwaHJhc2UgdXNlZCB0byBlbmNyeXB0IHNpZ25pbmcgbWF0ZXJpYWxzIGNyZWF0ZWQgZm9yIFVzZXIgYW5kIEJhY2t1cFxuICAgKiBAcGFyYW0gcGFyYW1zLmVudGVycHJpc2UgLSBvcHRpb25hbCBlbnRlcnByaXNlIGlkIHRoYXQgd2lsbCBiZSBhdHRhY2hlZCB0byB0aGUgQml0R28gS2V5Y2hhaW5cbiAgICogQHBhcmFtIHBhcmFtcy5vcmlnaW5hbFBhc3Njb2RlRW5jcnlwdGlvbkNvZGUgLSBvcHRpb25hbCBlbmNyeXB0aW9uIGNvZGUgdXNlZCB0byByZXNldCB0aGUgdXNlcidzIHBhc3N3b3JkLCBpZiBhYnNlbnQsIHBhc3N3b3JkIHJlY292ZXJ5IHdpbGwgbm90IHdvcmtcbiAgICovXG4gIGFic3RyYWN0IGNyZWF0ZUtleWNoYWlucyhwYXJhbXM6IHtcbiAgICBwYXNzcGhyYXNlOiBzdHJpbmc7XG4gICAgZW50ZXJwcmlzZT86IHN0cmluZztcbiAgICBvcmlnaW5hbFBhc3Njb2RlRW5jcnlwdGlvbkNvZGU/OiBzdHJpbmc7XG4gICAgYmFja3VwUHJvdmlkZXI/OiBCYWNrdXBQcm92aWRlcjtcbiAgfSk6IFByb21pc2U8S2V5Y2hhaW5zVHJpcGxldD47XG5cbiAgLyoqXG4gICAqIFRoaXMgZnVuY3Rpb24gd291bGQgYmUgcmVzcG9uc2libGUgZm9yIHBvcHVsYXRpbmcgaW50ZW50c1xuICAgKiBiYXNlZCBvbiB0aGUgdHlwZSBvZiBjb2luIC8gc2lnIHNjaGVtZSB0aGUgY29pbiB1c2VzXG4gICAqIEBwYXJhbSB7SUJhc2VDb2lufSBiYXNlQ29pblxuICAgKiBAcGFyYW0ge1ByZWJ1aWxkVHJhbnNhY3Rpb25XaXRoSW50ZW50T3B0aW9uc30gcGFyYW1zXG4gICAqIEByZXR1cm5zIHtSZWNvcmQ8c3RyaW5nLCB1bmtub3duPn1cbiAgICovXG4gIHBvcHVsYXRlSW50ZW50KGJhc2VDb2luOiBJQmFzZUNvaW4sIHBhcmFtczogUHJlYnVpbGRUcmFuc2FjdGlvbldpdGhJbnRlbnRPcHRpb25zKTogUG9wdWxhdGVkSW50ZW50IHtcbiAgICBjb25zdCBjaGFpbiA9IHRoaXMuYmFzZUNvaW4uZ2V0Q2hhaW4oKTtcblxuICAgIGlmICghWydhY2NlbGVyYXRpb24nLCAnZmlsbE5vbmNlJywgJ3RyYW5zZmVyVG9rZW4nXS5pbmNsdWRlcyhwYXJhbXMuaW50ZW50VHlwZSkpIHtcbiAgICAgIGFzc2VydChwYXJhbXMucmVjaXBpZW50cywgYCdyZWNpcGllbnRzJyBpcyBhIHJlcXVpcmVkIHBhcmFtZXRlciBmb3IgJHtwYXJhbXMuaW50ZW50VHlwZX0gaW50ZW50YCk7XG4gICAgfVxuICAgIGNvbnN0IGludGVudFJlY2lwaWVudHMgPSBwYXJhbXMucmVjaXBpZW50cz8ubWFwKChyZWNpcGllbnQpID0+IHtcbiAgICAgIGNvbnN0IGZvcm1hdHRlZFJlY2lwaWVudDogSW50ZW50UmVjaXBpZW50ID0ge1xuICAgICAgICBhZGRyZXNzOiB7IGFkZHJlc3M6IHJlY2lwaWVudC5hZGRyZXNzIH0sXG4gICAgICAgIGFtb3VudDogeyB2YWx1ZTogYCR7cmVjaXBpZW50LmFtb3VudH1gLCBzeW1ib2w6IHJlY2lwaWVudC50b2tlbk5hbWUgPyByZWNpcGllbnQudG9rZW5OYW1lIDogY2hhaW4gfSxcbiAgICAgIH07XG5cbiAgICAgIGlmIChyZWNpcGllbnQuZGF0YSkge1xuICAgICAgICBmb3JtYXR0ZWRSZWNpcGllbnQuZGF0YSA9IHJlY2lwaWVudC5kYXRhO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB7IHRva2VuRGF0YSB9ID0gcmVjaXBpZW50O1xuICAgICAgaWYgKHRva2VuRGF0YSAmJiAodG9rZW5EYXRhLnRva2VuQ29udHJhY3RBZGRyZXNzIHx8IHRva2VuRGF0YS50b2tlbk5hbWUpKSB7XG4gICAgICAgIC8vIHRva2VuIHJlbGF0ZWQgcmVjaXBpZW50IGRhdGEgZ2V0cyB2YWxpZGF0ZWQgaW4gV1BcbiAgICAgICAgaWYgKCEodG9rZW5EYXRhLnRva2VuVHlwZSAmJiB0b2tlbkRhdGEudG9rZW5RdWFudGl0eSkpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAndG9rZW4gdHlwZSBhbmQgcXVhbnRpdHkgaXMgcmVxdWlyZWQgdG8gcmVxdWVzdCBhIHRyYW5zYWN0aW9uIHdpdGggaW50ZW50IHRvIHRyYW5zZmVyIGEgdG9rZW4nXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBmb3JtYXR0ZWRSZWNpcGllbnQudG9rZW5EYXRhID0gdG9rZW5EYXRhO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZvcm1hdHRlZFJlY2lwaWVudDtcbiAgICB9KTtcblxuICAgIGNvbnN0IGJhc2VJbnRlbnQgPSB7XG4gICAgICBpbnRlbnRUeXBlOiBwYXJhbXMuaW50ZW50VHlwZSxcbiAgICAgIHNlcXVlbmNlSWQ6IHBhcmFtcy5zZXF1ZW5jZUlkLFxuICAgICAgY29tbWVudDogcGFyYW1zLmNvbW1lbnQsXG4gICAgICBub25jZTogcGFyYW1zLm5vbmNlLFxuICAgICAgcmVjaXBpZW50czogaW50ZW50UmVjaXBpZW50cyxcbiAgICB9O1xuXG4gICAgaWYgKGJhc2VDb2luLmdldEZhbWlseSgpID09PSAnZXRoJyB8fCBiYXNlQ29pbi5nZXRGYW1pbHkoKSA9PT0gJ3BvbHlnb24nIHx8IGJhc2VDb2luLmdldEZhbWlseSgpID09PSAnYnNjJykge1xuICAgICAgc3dpdGNoIChwYXJhbXMuaW50ZW50VHlwZSkge1xuICAgICAgICBjYXNlICdwYXltZW50JzpcbiAgICAgICAgY2FzZSAndHJhbnNmZXJUb2tlbic6XG4gICAgICAgIGNhc2UgJ2ZpbGxOb25jZSc6XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmJhc2VJbnRlbnQsXG4gICAgICAgICAgICBzZWxmU2VuZDogcGFyYW1zLnNlbGZTZW5kLFxuICAgICAgICAgICAgZmVlT3B0aW9uczogcGFyYW1zLmZlZU9wdGlvbnMsXG4gICAgICAgICAgICBob3BQYXJhbXM6IHBhcmFtcy5ob3BQYXJhbXMsXG4gICAgICAgICAgICBpc1RzczogcGFyYW1zLmlzVHNzLFxuICAgICAgICAgICAgbm9uY2U6IHBhcmFtcy5ub25jZSxcbiAgICAgICAgICAgIGN1c3RvZGlhblRyYW5zYWN0aW9uSWQ6IHBhcmFtcy5jdXN0b2RpYW5UcmFuc2FjdGlvbklkLFxuICAgICAgICAgICAgcmVjZWl2ZUFkZHJlc3M6IHBhcmFtcy5yZWNlaXZlQWRkcmVzcyxcbiAgICAgICAgICB9O1xuICAgICAgICBjYXNlICdhY2NlbGVyYXRpb24nOlxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5iYXNlSW50ZW50LFxuICAgICAgICAgICAgdHhpZDogcGFyYW1zLmxvd0ZlZVR4aWQsXG4gICAgICAgICAgICByZWNlaXZlQWRkcmVzczogcGFyYW1zLnJlY2VpdmVBZGRyZXNzLFxuICAgICAgICAgICAgZmVlT3B0aW9uczogcGFyYW1zLmZlZU9wdGlvbnMsXG4gICAgICAgICAgfTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIGludGVudCB0eXBlICR7cGFyYW1zLmludGVudFR5cGV9YCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHBhcmFtcy5mZWVPcHRpb25zICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmJhc2VJbnRlbnQsXG4gICAgICAgIG1lbW86IHBhcmFtcy5tZW1vPy52YWx1ZSxcbiAgICAgICAgdG9rZW46IHBhcmFtcy50b2tlbk5hbWUsXG4gICAgICAgIGVuYWJsZVRva2VuczogcGFyYW1zLmVuYWJsZVRva2VucyxcbiAgICAgICAgZmVlT3B0aW9uczogcGFyYW1zLmZlZU9wdGlvbnMsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5iYXNlSW50ZW50LFxuICAgICAgbWVtbzogcGFyYW1zLm1lbW8/LnZhbHVlLFxuICAgICAgdG9rZW46IHBhcmFtcy50b2tlbk5hbWUsXG4gICAgICBlbmFibGVUb2tlbnM6IHBhcmFtcy5lbmFibGVUb2tlbnMsXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -14,7 +14,10 @@ export declare type AuthEncMessage = {
|
|
|
14
14
|
* @param {BitGoBase} bitgo BitGo object
|
|
15
15
|
* @return {Key} public gpg key
|
|
16
16
|
*/
|
|
17
|
-
export declare function getBitgoGpgPubKey(bitgo: BitGoBase): Promise<
|
|
17
|
+
export declare function getBitgoGpgPubKey(bitgo: BitGoBase): Promise<{
|
|
18
|
+
mpcV1: Key;
|
|
19
|
+
mpcV2: Key | undefined;
|
|
20
|
+
}>;
|
|
18
21
|
/**
|
|
19
22
|
* Verifies the primary user on a GPG key using a reference key representing the user to be checked.
|
|
20
23
|
* Allows a verification without a date check by wrapping verifyPrimaryUser of openpgp.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opengpgUtils.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/utils/opengpgUtils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,GAAG,MAAM,SAAS,CAAC;AAC/B,OAAO,EAIL,GAAG,EAOJ,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAKzC,oBAAY,eAAe,GAAG;IAC5B,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC;IACjB,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;CACvB,EAAE,CAAC;AAEJ,oBAAY,cAAc,GAAG;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"opengpgUtils.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/utils/opengpgUtils.ts"],"names":[],"mappings":"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"}
|