@bitgo/account-lib 2.18.0-rc.1 → 2.18.0-rc.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/DEVELOPER.md +1 -1
  2. package/dist/browser/bitgo-account-lib.min.js +1 -1
  3. package/dist/package.json +6 -4
  4. package/dist/src/coin/baseCoin/ed25519KeyPair.d.ts +9 -1
  5. package/dist/src/coin/baseCoin/ed25519KeyPair.d.ts.map +1 -1
  6. package/dist/src/coin/baseCoin/ed25519KeyPair.js +21 -3
  7. package/dist/src/coin/baseCoin/iface.d.ts +26 -0
  8. package/dist/src/coin/baseCoin/iface.d.ts.map +1 -1
  9. package/dist/src/coin/baseCoin/iface.js +1 -1
  10. package/dist/src/coin/dot/addressInitializationBuilder.d.ts +21 -1
  11. package/dist/src/coin/dot/addressInitializationBuilder.d.ts.map +1 -1
  12. package/dist/src/coin/dot/addressInitializationBuilder.js +80 -19
  13. package/dist/src/coin/dot/iface.d.ts +12 -20
  14. package/dist/src/coin/dot/iface.d.ts.map +1 -1
  15. package/dist/src/coin/dot/iface.js +2 -1
  16. package/dist/src/coin/dot/transaction.d.ts.map +1 -1
  17. package/dist/src/coin/dot/transaction.js +14 -6
  18. package/dist/src/coin/dot/transactionBuilder.d.ts +3 -3
  19. package/dist/src/coin/dot/transactionBuilder.d.ts.map +1 -1
  20. package/dist/src/coin/dot/transactionBuilder.js +1 -1
  21. package/dist/src/coin/dot/txnSchema.d.ts +1 -0
  22. package/dist/src/coin/dot/txnSchema.d.ts.map +1 -1
  23. package/dist/src/coin/dot/txnSchema.js +12 -5
  24. package/dist/src/coin/sol/index.d.ts +3 -0
  25. package/dist/src/coin/sol/index.d.ts.map +1 -1
  26. package/dist/src/coin/sol/index.js +8 -2
  27. package/dist/src/coin/sol/keyPair.d.ts +4 -22
  28. package/dist/src/coin/sol/keyPair.d.ts.map +1 -1
  29. package/dist/src/coin/sol/keyPair.js +42 -89
  30. package/dist/src/coin/sol/transactionBuilder.d.ts.map +1 -1
  31. package/dist/src/coin/sol/transactionBuilder.js +8 -2
  32. package/dist/src/coin/sol/utils.d.ts.map +1 -1
  33. package/dist/src/coin/sol/utils.js +23 -1
  34. package/dist/src/coin/stx/sendmanyBuilder.d.ts.map +1 -1
  35. package/dist/src/coin/stx/sendmanyBuilder.js +5 -2
  36. package/dist/src/index.d.ts +2 -0
  37. package/dist/src/index.d.ts.map +1 -1
  38. package/dist/src/index.js +4 -2
  39. package/dist/src/mpc/curves.d.ts +14 -0
  40. package/dist/src/mpc/curves.d.ts.map +1 -0
  41. package/dist/src/mpc/curves.js +99 -0
  42. package/dist/src/mpc/shamir.d.ts +7 -0
  43. package/dist/src/mpc/shamir.d.ts.map +1 -0
  44. package/dist/src/mpc/shamir.js +91 -0
  45. package/dist/src/mpc/tss.d.ts +69 -0
  46. package/dist/src/mpc/tss.d.ts.map +1 -0
  47. package/dist/src/mpc/tss.js +255 -0
  48. package/dist/src/utils/ed25519KeyDeriver.d.ts +49 -0
  49. package/dist/src/utils/ed25519KeyDeriver.d.ts.map +1 -0
  50. package/dist/src/utils/ed25519KeyDeriver.js +92 -0
  51. package/package.json +6 -4
package/dist/src/index.js CHANGED
@@ -19,11 +19,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
19
19
  return result;
20
20
  };
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.register = exports.getBuilder = exports.supportedCoins = exports.Dot = exports.Sol = exports.Algo = exports.Stx = exports.Xrp = exports.Cspr = exports.Hbar = exports.Celo = exports.Rbtc = exports.AvaxC = exports.Etc = exports.Eth2 = exports.Eth = exports.Xtz = exports.Trx = exports.BaseCoin = exports.crypto = void 0;
22
+ exports.register = exports.getBuilder = exports.supportedCoins = exports.Dot = exports.Sol = exports.Algo = exports.Stx = exports.Xrp = exports.Cspr = exports.Hbar = exports.Celo = exports.Rbtc = exports.AvaxC = exports.Etc = exports.Eth2 = exports.Eth = exports.Xtz = exports.Trx = exports.BaseCoin = exports.Ed25519KeyDeriver = exports.crypto = void 0;
23
23
  var statics_1 = require("@bitgo/statics");
24
24
  var errors_1 = require("./coin/baseCoin/errors");
25
25
  var crypto = __importStar(require("./utils/crypto"));
26
26
  exports.crypto = crypto;
27
+ var ed25519KeyDeriver_1 = require("./utils/ed25519KeyDeriver");
28
+ Object.defineProperty(exports, "Ed25519KeyDeriver", { enumerable: true, get: function () { return ed25519KeyDeriver_1.Ed25519KeyDeriver; } });
27
29
  // coins
28
30
  var BaseCoin = __importStar(require("./coin/baseCoin"));
29
31
  exports.BaseCoin = BaseCoin;
@@ -121,4 +123,4 @@ function register(coinName, builderFactory) {
121
123
  return factory;
122
124
  }
123
125
  exports.register = register;
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDBDQUErRDtBQUMvRCxpREFBK0Q7QUFFL0QscURBQXlDO0FBQ2hDLHdCQUFNO0FBRWYsUUFBUTtBQUNSLHdEQUE0QztBQUNuQyw0QkFBUTtBQUVqQiw4Q0FBa0M7QUFDekIsa0JBQUc7QUFFWiw4Q0FBa0M7QUFDekIsa0JBQUc7QUFFWiw4Q0FBa0M7QUFDekIsa0JBQUc7QUFFWixnREFBb0M7QUFDM0Isb0JBQUk7QUFFYiw4Q0FBa0M7QUFDekIsa0JBQUc7QUFFWixrREFBc0M7QUFDN0Isc0JBQUs7QUFFZCxnREFBb0M7QUFDM0Isb0JBQUk7QUFFYixnREFBb0M7QUFDM0Isb0JBQUk7QUFFYixnREFBb0M7QUFDM0Isb0JBQUk7QUFFYixnREFBb0M7QUFDM0Isb0JBQUk7QUFFYiw4Q0FBa0M7QUFDekIsa0JBQUc7QUFFWiw4Q0FBa0M7QUFDekIsa0JBQUc7QUFFWixnREFBb0M7QUFDM0Isb0JBQUk7QUFFYiw4Q0FBa0M7QUFDekIsa0JBQUc7QUFDWiw4Q0FBa0M7QUFDekIsa0JBQUc7QUFFWixJQUFNLGNBQWMsR0FBRztJQUNyQixHQUFHLEVBQUUsR0FBRyxDQUFDLGNBQWM7SUFDdkIsSUFBSSxFQUFFLEdBQUcsQ0FBQyxjQUFjO0lBQ3hCLEdBQUcsRUFBRSxHQUFHLENBQUMsa0JBQWtCO0lBQzNCLElBQUksRUFBRSxHQUFHLENBQUMsa0JBQWtCO0lBQzVCLEdBQUcsRUFBRSxHQUFHLENBQUMsa0JBQWtCO0lBQzNCLElBQUksRUFBRSxHQUFHLENBQUMsa0JBQWtCO0lBQzVCLEdBQUcsRUFBRSxHQUFHLENBQUMsa0JBQWtCO0lBQzNCLElBQUksRUFBRSxHQUFHLENBQUMsa0JBQWtCO0lBQzVCLEtBQUssRUFBRSxHQUFHLENBQUMsa0JBQWtCO0lBQzdCLElBQUksRUFBRSxJQUFJLENBQUMsa0JBQWtCO0lBQzdCLEtBQUssRUFBRSxJQUFJLENBQUMsa0JBQWtCO0lBQzlCLElBQUksRUFBRSxJQUFJLENBQUMsa0JBQWtCO0lBQzdCLEtBQUssRUFBRSxJQUFJLENBQUMsa0JBQWtCO0lBQzlCLEtBQUssRUFBRSxLQUFLLENBQUMsa0JBQWtCO0lBQy9CLE1BQU0sRUFBRSxLQUFLLENBQUMsa0JBQWtCO0lBQ2hDLElBQUksRUFBRSxJQUFJLENBQUMseUJBQXlCO0lBQ3BDLEtBQUssRUFBRSxJQUFJLENBQUMseUJBQXlCO0lBQ3JDLElBQUksRUFBRSxJQUFJLENBQUMseUJBQXlCO0lBQ3BDLEtBQUssRUFBRSxJQUFJLENBQUMseUJBQXlCO0lBQ3JDLEdBQUcsRUFBRSxHQUFHLENBQUMseUJBQXlCO0lBQ2xDLElBQUksRUFBRSxHQUFHLENBQUMseUJBQXlCO0lBQ25DLEdBQUcsRUFBRSxHQUFHLENBQUMseUJBQXlCO0lBQ2xDLElBQUksRUFBRSxHQUFHLENBQUMseUJBQXlCO0lBQ25DLElBQUksRUFBRSxJQUFJLENBQUMseUJBQXlCO0lBQ3BDLEtBQUssRUFBRSxJQUFJLENBQUMseUJBQXlCO0lBQ3JDLEdBQUcsRUFBRSxHQUFHLENBQUMseUJBQXlCO0lBQ2xDLElBQUksRUFBRSxHQUFHLENBQUMseUJBQXlCO0lBQ25DLEdBQUcsRUFBRSxHQUFHLENBQUMseUJBQXlCO0lBQ2xDLElBQUksRUFBRSxHQUFHLENBQUMseUJBQXlCO0NBQ3BDLENBQUM7QUFFRjs7R0FFRztBQUNVLFFBQUEsY0FBYyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7QUFFMUQ7Ozs7O0dBS0c7QUFDSCxTQUFnQixVQUFVLENBQUMsUUFBZ0I7SUFDekMsSUFBTSxZQUFZLEdBQUcsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlDLElBQUksQ0FBQyxZQUFZLEVBQUU7UUFDakIsTUFBTSxJQUFJLDhCQUFxQixDQUFDLFVBQVEsUUFBUSxtQkFBZ0IsQ0FBQyxDQUFDO0tBQ25FO0lBRUQsT0FBTyxJQUFJLFlBQVksQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFDL0MsQ0FBQztBQVBELGdDQU9DO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IsUUFBUSxDQUN0QixRQUFnQixFQUNoQixjQUE4RDtJQUU5RCxJQUFNLFVBQVUsR0FBRyxlQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZDLElBQU0sT0FBTyxHQUFHLElBQUksY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQy9DLHNDQUFzQztJQUN0QyxjQUFjLENBQUMsUUFBUSxDQUFDLEdBQUcsY0FBYyxDQUFDLENBQUMsZ0ZBQWdGO0lBQzNILE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUM7QUFURCw0QkFTQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvaW5zLCBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgQnVpbGRUcmFuc2FjdGlvbkVycm9yIH0gZnJvbSAnLi9jb2luL2Jhc2VDb2luL2Vycm9ycyc7XG5cbmltcG9ydCAqIGFzIGNyeXB0byBmcm9tICcuL3V0aWxzL2NyeXB0byc7XG5leHBvcnQgeyBjcnlwdG8gfTtcblxuLy8gY29pbnNcbmltcG9ydCAqIGFzIEJhc2VDb2luIGZyb20gJy4vY29pbi9iYXNlQ29pbic7XG5leHBvcnQgeyBCYXNlQ29pbiB9O1xuXG5pbXBvcnQgKiBhcyBUcnggZnJvbSAnLi9jb2luL3RyeCc7XG5leHBvcnQgeyBUcnggfTtcblxuaW1wb3J0ICogYXMgWHR6IGZyb20gJy4vY29pbi94dHonO1xuZXhwb3J0IHsgWHR6IH07XG5cbmltcG9ydCAqIGFzIEV0aCBmcm9tICcuL2NvaW4vZXRoJztcbmV4cG9ydCB7IEV0aCB9O1xuXG5pbXBvcnQgKiBhcyBFdGgyIGZyb20gJy4vY29pbi9ldGgyJztcbmV4cG9ydCB7IEV0aDIgfTtcblxuaW1wb3J0ICogYXMgRXRjIGZyb20gJy4vY29pbi9ldGMnO1xuZXhwb3J0IHsgRXRjIH07XG5cbmltcG9ydCAqIGFzIEF2YXhDIGZyb20gJy4vY29pbi9hdmF4Yyc7XG5leHBvcnQgeyBBdmF4QyB9O1xuXG5pbXBvcnQgKiBhcyBSYnRjIGZyb20gJy4vY29pbi9yYnRjJztcbmV4cG9ydCB7IFJidGMgfTtcblxuaW1wb3J0ICogYXMgQ2VsbyBmcm9tICcuL2NvaW4vY2Vsbyc7XG5leHBvcnQgeyBDZWxvIH07XG5cbmltcG9ydCAqIGFzIEhiYXIgZnJvbSAnLi9jb2luL2hiYXInO1xuZXhwb3J0IHsgSGJhciB9O1xuXG5pbXBvcnQgKiBhcyBDc3ByIGZyb20gJy4vY29pbi9jc3ByJztcbmV4cG9ydCB7IENzcHIgfTtcblxuaW1wb3J0ICogYXMgWHJwIGZyb20gJy4vY29pbi94cnAnO1xuZXhwb3J0IHsgWHJwIH07XG5cbmltcG9ydCAqIGFzIFN0eCBmcm9tICcuL2NvaW4vc3R4JztcbmV4cG9ydCB7IFN0eCB9O1xuXG5pbXBvcnQgKiBhcyBBbGdvIGZyb20gJy4vY29pbi9hbGdvJztcbmV4cG9ydCB7IEFsZ28gfTtcblxuaW1wb3J0ICogYXMgU29sIGZyb20gJy4vY29pbi9zb2wnO1xuZXhwb3J0IHsgU29sIH07XG5pbXBvcnQgKiBhcyBEb3QgZnJvbSAnLi9jb2luL2RvdCc7XG5leHBvcnQgeyBEb3QgfTtcblxuY29uc3QgY29pbkJ1aWxkZXJNYXAgPSB7XG4gIHRyeDogVHJ4LldyYXBwZWRCdWlsZGVyLFxuICB0dHJ4OiBUcnguV3JhcHBlZEJ1aWxkZXIsXG4gIHh0ejogWHR6LlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdHh0ejogWHR6LlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgZXRjOiBFdGMuVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0ZXRjOiBFdGMuVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBldGg6IEV0aC5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRldGg6IEV0aC5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIGd0ZXRoOiBFdGguVHJhbnNhY3Rpb25CdWlsZGVyLFxuICByYnRjOiBSYnRjLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdHJidGM6IFJidGMuVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBjZWxvOiBDZWxvLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdGNlbG86IENlbG8uVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBhdmF4YzogQXZheEMuVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0YXZheGM6IEF2YXhDLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgaGJhcjogSGJhci5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0aGJhcjogSGJhci5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBjc3ByOiBDc3ByLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRjc3ByOiBDc3ByLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHhycDogWHJwLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHR4cnA6IFhycC5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBzdHg6IFN0eC5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0c3R4OiBTdHguVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgYWxnbzogQWxnby5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0YWxnbzogQWxnby5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBzb2w6IFNvbC5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0c29sOiBTb2wuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgZG90OiBEb3QuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgdGRvdDogRG90LlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG59O1xuXG4vKipcbiAqIEdldCB0aGUgbGlzdCBvZiBjb2luIHRpY2tlcnMgc3VwcG9ydGVkIGJ5IHRoaXMgbGlicmFyeS5cbiAqL1xuZXhwb3J0IGNvbnN0IHN1cHBvcnRlZENvaW5zID0gT2JqZWN0LmtleXMoY29pbkJ1aWxkZXJNYXApO1xuXG4vKipcbiAqIEdldCBhIHRyYW5zYWN0aW9uIGJ1aWxkZXIgZm9yIHRoZSBnaXZlbiBjb2luLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBjb2luTmFtZSBPbmUgb2YgdGhlIHtAY29kZSBzdXBwb3J0ZWRDb2luc31cbiAqIEByZXR1cm5zIHthbnl9IEFuIGluc3RhbmNlIG9mIGEge0Bjb2RlIFRyYW5zYWN0aW9uQnVpbGRlcn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEJ1aWxkZXIoY29pbk5hbWU6IHN0cmluZyk6IEJhc2VDb2luLkludGVyZmFjZS5CYXNlQnVpbGRlciB7XG4gIGNvbnN0IGJ1aWxkZXJDbGFzcyA9IGNvaW5CdWlsZGVyTWFwW2NvaW5OYW1lXTtcbiAgaWYgKCFidWlsZGVyQ2xhc3MpIHtcbiAgICB0aHJvdyBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKGBDb2luICR7Y29pbk5hbWV9IG5vdCBzdXBwb3J0ZWRgKTtcbiAgfVxuXG4gIHJldHVybiBuZXcgYnVpbGRlckNsYXNzKGNvaW5zLmdldChjb2luTmFtZSkpO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVyIGEgbmV3IGNvaW4gaW5zdGFuY2Ugd2l0aCBpdHMgYnVpbGRlciBmYWN0b3J5XG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGNvaW5OYW1lIGNvaW4gbmFtZSBhcyBpdCB3YXMgcmVnaXN0ZXJlZCBpbiBAYml0Z28vc3RhdGljc1xuICogQHBhcmFtIHthbnl9IGJ1aWxkZXJGYWN0b3J5IHRoZSBidWlsZGVyIGZhY3RvcnkgY2xhc3MgZm9yIHRoYXQgY29pblxuICogQHJldHVybnMge2FueX0gdGhlIGZhY3RvcnkgaW5zdGFuY2UgZm9yIHRoZSByZWdpc3RlcmVkIGNvaW5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyPFQgZXh0ZW5kcyBCYXNlQ29pbi5CYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeT4oXG4gIGNvaW5OYW1lOiBzdHJpbmcsXG4gIGJ1aWxkZXJGYWN0b3J5OiB7IG5ldyAoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KTogVCB9LFxuKTogVCB7XG4gIGNvbnN0IGNvaW5Db25maWcgPSBjb2lucy5nZXQoY29pbk5hbWUpO1xuICBjb25zdCBmYWN0b3J5ID0gbmV3IGJ1aWxkZXJGYWN0b3J5KGNvaW5Db25maWcpO1xuICAvLyBjb2luQnVpbGRlck1hcFtjb2luTmFtZV0gPSBmYWN0b3J5O1xuICBjb2luQnVpbGRlck1hcFtjb2luTmFtZV0gPSBidWlsZGVyRmFjdG9yeTsgLy8gRm9yIG5vdyByZWdpc3RlciB0aGUgY29uc3RydWN0b3IgZnVuY3Rpb24gdW50aWwgcmVpbXBsZW1lbnQgZ2V0QnVpbGRlciBtZXRob2RcbiAgcmV0dXJuIGZhY3Rvcnk7XG59XG4iXX0=
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDBDQUErRDtBQUMvRCxpREFBK0Q7QUFFL0QscURBQXlDO0FBQ2hDLHdCQUFNO0FBRWYsK0RBQThEO0FBQ3JELGtHQURBLHFDQUFpQixPQUNBO0FBRTFCLFFBQVE7QUFDUix3REFBNEM7QUFDbkMsNEJBQVE7QUFFakIsOENBQWtDO0FBQ3pCLGtCQUFHO0FBRVosOENBQWtDO0FBQ3pCLGtCQUFHO0FBRVosOENBQWtDO0FBQ3pCLGtCQUFHO0FBRVosZ0RBQW9DO0FBQzNCLG9CQUFJO0FBRWIsOENBQWtDO0FBQ3pCLGtCQUFHO0FBRVosa0RBQXNDO0FBQzdCLHNCQUFLO0FBRWQsZ0RBQW9DO0FBQzNCLG9CQUFJO0FBRWIsZ0RBQW9DO0FBQzNCLG9CQUFJO0FBRWIsZ0RBQW9DO0FBQzNCLG9CQUFJO0FBRWIsZ0RBQW9DO0FBQzNCLG9CQUFJO0FBRWIsOENBQWtDO0FBQ3pCLGtCQUFHO0FBRVosOENBQWtDO0FBQ3pCLGtCQUFHO0FBRVosZ0RBQW9DO0FBQzNCLG9CQUFJO0FBRWIsOENBQWtDO0FBQ3pCLGtCQUFHO0FBQ1osOENBQWtDO0FBQ3pCLGtCQUFHO0FBRVosSUFBTSxjQUFjLEdBQUc7SUFDckIsR0FBRyxFQUFFLEdBQUcsQ0FBQyxjQUFjO0lBQ3ZCLElBQUksRUFBRSxHQUFHLENBQUMsY0FBYztJQUN4QixHQUFHLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUMzQixJQUFJLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUM1QixHQUFHLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUMzQixJQUFJLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUM1QixHQUFHLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUMzQixJQUFJLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUM1QixLQUFLLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtJQUM3QixJQUFJLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtJQUM3QixLQUFLLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtJQUM5QixJQUFJLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtJQUM3QixLQUFLLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtJQUM5QixLQUFLLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtJQUMvQixNQUFNLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtJQUNoQyxJQUFJLEVBQUUsSUFBSSxDQUFDLHlCQUF5QjtJQUNwQyxLQUFLLEVBQUUsSUFBSSxDQUFDLHlCQUF5QjtJQUNyQyxJQUFJLEVBQUUsSUFBSSxDQUFDLHlCQUF5QjtJQUNwQyxLQUFLLEVBQUUsSUFBSSxDQUFDLHlCQUF5QjtJQUNyQyxHQUFHLEVBQUUsR0FBRyxDQUFDLHlCQUF5QjtJQUNsQyxJQUFJLEVBQUUsR0FBRyxDQUFDLHlCQUF5QjtJQUNuQyxHQUFHLEVBQUUsR0FBRyxDQUFDLHlCQUF5QjtJQUNsQyxJQUFJLEVBQUUsR0FBRyxDQUFDLHlCQUF5QjtJQUNuQyxJQUFJLEVBQUUsSUFBSSxDQUFDLHlCQUF5QjtJQUNwQyxLQUFLLEVBQUUsSUFBSSxDQUFDLHlCQUF5QjtJQUNyQyxHQUFHLEVBQUUsR0FBRyxDQUFDLHlCQUF5QjtJQUNsQyxJQUFJLEVBQUUsR0FBRyxDQUFDLHlCQUF5QjtJQUNuQyxHQUFHLEVBQUUsR0FBRyxDQUFDLHlCQUF5QjtJQUNsQyxJQUFJLEVBQUUsR0FBRyxDQUFDLHlCQUF5QjtDQUNwQyxDQUFDO0FBRUY7O0dBRUc7QUFDVSxRQUFBLGNBQWMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBRTFEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsVUFBVSxDQUFDLFFBQWdCO0lBQ3pDLElBQU0sWUFBWSxHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM5QyxJQUFJLENBQUMsWUFBWSxFQUFFO1FBQ2pCLE1BQU0sSUFBSSw4QkFBcUIsQ0FBQyxVQUFRLFFBQVEsbUJBQWdCLENBQUMsQ0FBQztLQUNuRTtJQUVELE9BQU8sSUFBSSxZQUFZLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0FBQy9DLENBQUM7QUFQRCxnQ0FPQztBQUVEOzs7Ozs7R0FNRztBQUNILFNBQWdCLFFBQVEsQ0FDdEIsUUFBZ0IsRUFDaEIsY0FBOEQ7SUFFOUQsSUFBTSxVQUFVLEdBQUcsZUFBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2QyxJQUFNLE9BQU8sR0FBRyxJQUFJLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMvQyxzQ0FBc0M7SUFDdEMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxHQUFHLGNBQWMsQ0FBQyxDQUFDLGdGQUFnRjtJQUMzSCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDO0FBVEQsNEJBU0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2lucywgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7IEJ1aWxkVHJhbnNhY3Rpb25FcnJvciB9IGZyb20gJy4vY29pbi9iYXNlQ29pbi9lcnJvcnMnO1xuXG5pbXBvcnQgKiBhcyBjcnlwdG8gZnJvbSAnLi91dGlscy9jcnlwdG8nO1xuZXhwb3J0IHsgY3J5cHRvIH07XG5cbmltcG9ydCB7IEVkMjU1MTlLZXlEZXJpdmVyIH0gZnJvbSAnLi91dGlscy9lZDI1NTE5S2V5RGVyaXZlcic7XG5leHBvcnQgeyBFZDI1NTE5S2V5RGVyaXZlciB9O1xuXG4vLyBjb2luc1xuaW1wb3J0ICogYXMgQmFzZUNvaW4gZnJvbSAnLi9jb2luL2Jhc2VDb2luJztcbmV4cG9ydCB7IEJhc2VDb2luIH07XG5cbmltcG9ydCAqIGFzIFRyeCBmcm9tICcuL2NvaW4vdHJ4JztcbmV4cG9ydCB7IFRyeCB9O1xuXG5pbXBvcnQgKiBhcyBYdHogZnJvbSAnLi9jb2luL3h0eic7XG5leHBvcnQgeyBYdHogfTtcblxuaW1wb3J0ICogYXMgRXRoIGZyb20gJy4vY29pbi9ldGgnO1xuZXhwb3J0IHsgRXRoIH07XG5cbmltcG9ydCAqIGFzIEV0aDIgZnJvbSAnLi9jb2luL2V0aDInO1xuZXhwb3J0IHsgRXRoMiB9O1xuXG5pbXBvcnQgKiBhcyBFdGMgZnJvbSAnLi9jb2luL2V0Yyc7XG5leHBvcnQgeyBFdGMgfTtcblxuaW1wb3J0ICogYXMgQXZheEMgZnJvbSAnLi9jb2luL2F2YXhjJztcbmV4cG9ydCB7IEF2YXhDIH07XG5cbmltcG9ydCAqIGFzIFJidGMgZnJvbSAnLi9jb2luL3JidGMnO1xuZXhwb3J0IHsgUmJ0YyB9O1xuXG5pbXBvcnQgKiBhcyBDZWxvIGZyb20gJy4vY29pbi9jZWxvJztcbmV4cG9ydCB7IENlbG8gfTtcblxuaW1wb3J0ICogYXMgSGJhciBmcm9tICcuL2NvaW4vaGJhcic7XG5leHBvcnQgeyBIYmFyIH07XG5cbmltcG9ydCAqIGFzIENzcHIgZnJvbSAnLi9jb2luL2NzcHInO1xuZXhwb3J0IHsgQ3NwciB9O1xuXG5pbXBvcnQgKiBhcyBYcnAgZnJvbSAnLi9jb2luL3hycCc7XG5leHBvcnQgeyBYcnAgfTtcblxuaW1wb3J0ICogYXMgU3R4IGZyb20gJy4vY29pbi9zdHgnO1xuZXhwb3J0IHsgU3R4IH07XG5cbmltcG9ydCAqIGFzIEFsZ28gZnJvbSAnLi9jb2luL2FsZ28nO1xuZXhwb3J0IHsgQWxnbyB9O1xuXG5pbXBvcnQgKiBhcyBTb2wgZnJvbSAnLi9jb2luL3NvbCc7XG5leHBvcnQgeyBTb2wgfTtcbmltcG9ydCAqIGFzIERvdCBmcm9tICcuL2NvaW4vZG90JztcbmV4cG9ydCB7IERvdCB9O1xuXG5jb25zdCBjb2luQnVpbGRlck1hcCA9IHtcbiAgdHJ4OiBUcnguV3JhcHBlZEJ1aWxkZXIsXG4gIHR0cng6IFRyeC5XcmFwcGVkQnVpbGRlcixcbiAgeHR6OiBYdHouVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0eHR6OiBYdHouVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBldGM6IEV0Yy5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRldGM6IEV0Yy5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIGV0aDogRXRoLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdGV0aDogRXRoLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgZ3RldGg6IEV0aC5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHJidGM6IFJidGMuVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0cmJ0YzogUmJ0Yy5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIGNlbG86IENlbG8uVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0Y2VsbzogQ2Vsby5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIGF2YXhjOiBBdmF4Qy5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRhdmF4YzogQXZheEMuVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBoYmFyOiBIYmFyLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRoYmFyOiBIYmFyLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIGNzcHI6IENzcHIuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgdGNzcHI6IENzcHIuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgeHJwOiBYcnAuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgdHhycDogWHJwLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHN0eDogU3R4LlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRzdHg6IFN0eC5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBhbGdvOiBBbGdvLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRhbGdvOiBBbGdvLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHNvbDogU29sLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRzb2w6IFNvbC5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBkb3Q6IERvdC5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0ZG90OiBEb3QuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbn07XG5cbi8qKlxuICogR2V0IHRoZSBsaXN0IG9mIGNvaW4gdGlja2VycyBzdXBwb3J0ZWQgYnkgdGhpcyBsaWJyYXJ5LlxuICovXG5leHBvcnQgY29uc3Qgc3VwcG9ydGVkQ29pbnMgPSBPYmplY3Qua2V5cyhjb2luQnVpbGRlck1hcCk7XG5cbi8qKlxuICogR2V0IGEgdHJhbnNhY3Rpb24gYnVpbGRlciBmb3IgdGhlIGdpdmVuIGNvaW4uXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGNvaW5OYW1lIE9uZSBvZiB0aGUge0Bjb2RlIHN1cHBvcnRlZENvaW5zfVxuICogQHJldHVybnMge2FueX0gQW4gaW5zdGFuY2Ugb2YgYSB7QGNvZGUgVHJhbnNhY3Rpb25CdWlsZGVyfVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QnVpbGRlcihjb2luTmFtZTogc3RyaW5nKTogQmFzZUNvaW4uSW50ZXJmYWNlLkJhc2VCdWlsZGVyIHtcbiAgY29uc3QgYnVpbGRlckNsYXNzID0gY29pbkJ1aWxkZXJNYXBbY29pbk5hbWVdO1xuICBpZiAoIWJ1aWxkZXJDbGFzcykge1xuICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoYENvaW4gJHtjb2luTmFtZX0gbm90IHN1cHBvcnRlZGApO1xuICB9XG5cbiAgcmV0dXJuIG5ldyBidWlsZGVyQ2xhc3MoY29pbnMuZ2V0KGNvaW5OYW1lKSk7XG59XG5cbi8qKlxuICogUmVnaXN0ZXIgYSBuZXcgY29pbiBpbnN0YW5jZSB3aXRoIGl0cyBidWlsZGVyIGZhY3RvcnlcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gY29pbk5hbWUgY29pbiBuYW1lIGFzIGl0IHdhcyByZWdpc3RlcmVkIGluIEBiaXRnby9zdGF0aWNzXG4gKiBAcGFyYW0ge2FueX0gYnVpbGRlckZhY3RvcnkgdGhlIGJ1aWxkZXIgZmFjdG9yeSBjbGFzcyBmb3IgdGhhdCBjb2luXG4gKiBAcmV0dXJucyB7YW55fSB0aGUgZmFjdG9yeSBpbnN0YW5jZSBmb3IgdGhlIHJlZ2lzdGVyZWQgY29pblxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXI8VCBleHRlbmRzIEJhc2VDb2luLkJhc2VUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5PihcbiAgY29pbk5hbWU6IHN0cmluZyxcbiAgYnVpbGRlckZhY3Rvcnk6IHsgbmV3IChfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pOiBUIH0sXG4pOiBUIHtcbiAgY29uc3QgY29pbkNvbmZpZyA9IGNvaW5zLmdldChjb2luTmFtZSk7XG4gIGNvbnN0IGZhY3RvcnkgPSBuZXcgYnVpbGRlckZhY3RvcnkoY29pbkNvbmZpZyk7XG4gIC8vIGNvaW5CdWlsZGVyTWFwW2NvaW5OYW1lXSA9IGZhY3Rvcnk7XG4gIGNvaW5CdWlsZGVyTWFwW2NvaW5OYW1lXSA9IGJ1aWxkZXJGYWN0b3J5OyAvLyBGb3Igbm93IHJlZ2lzdGVyIHRoZSBjb25zdHJ1Y3RvciBmdW5jdGlvbiB1bnRpbCByZWltcGxlbWVudCBnZXRCdWlsZGVyIG1ldGhvZFxuICByZXR1cm4gZmFjdG9yeTtcbn1cbiJdfQ==
@@ -0,0 +1,14 @@
1
+ declare const Ed25519Curve: () => Promise<{
2
+ scalarRandom: () => Uint8Array;
3
+ scalarReduce: (s: Uint8Array) => Uint8Array;
4
+ scalarNegate: (s: Uint8Array) => Uint8Array;
5
+ scalarInvert: (s: Uint8Array) => Uint8Array;
6
+ scalarAdd: (x: Uint8Array, y: Uint8Array) => Uint8Array;
7
+ scalarSub: (x: Uint8Array, y: Uint8Array) => Uint8Array;
8
+ scalarMult: (x: Uint8Array, y: Uint8Array) => Uint8Array;
9
+ basePointMult: (n: Uint8Array) => Uint8Array;
10
+ pointAdd: (p: Uint8Array, q: Uint8Array) => Uint8Array;
11
+ verify: (y: Uint8Array, signedMessage: Uint8Array) => Uint8Array;
12
+ }>;
13
+ export default Ed25519Curve;
14
+ //# sourceMappingURL=curves.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"curves.d.ts","sourceRoot":"","sources":["../../../src/mpc/curves.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,YAAY;wBAIS,UAAU;sBAKV,UAAU,KAAG,UAAU;sBAIvB,UAAU,KAAG,UAAU;sBAIvB,UAAU,KAAG,UAAU;mBAI1B,UAAU,KAAK,UAAU,KAAG,UAAU;mBAItC,UAAU,KAAK,UAAU,KAAG,UAAU;oBAIrC,UAAU,KAAK,UAAU,KAAG,UAAU;uBAInC,UAAU,KAAG,UAAU;kBAI5B,UAAU,KAAK,UAAU,KAAG,UAAU;gBAIxC,UAAU,iBAAiB,UAAU,KAAG,UAAU;EAgBtE,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ var sodium = require('libsodium-wrappers-sumo');
40
+ var crypto_1 = require("crypto");
41
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
42
+ var Ed25519Curve = function () { return __awaiter(void 0, void 0, void 0, function () {
43
+ var scalarRandom, scalarReduce, scalarNegate, scalarInvert, scalarAdd, scalarSub, scalarMult, basePointMult, pointAdd, verify;
44
+ return __generator(this, function (_a) {
45
+ switch (_a.label) {
46
+ case 0:
47
+ // sodium requires await for ready within block scope
48
+ return [4 /*yield*/, sodium.ready];
49
+ case 1:
50
+ // sodium requires await for ready within block scope
51
+ _a.sent();
52
+ scalarRandom = function () {
53
+ var random_buffer = crypto_1.randomBytes(64);
54
+ return sodium.crypto_core_ed25519_scalar_reduce(random_buffer);
55
+ };
56
+ scalarReduce = function (s) {
57
+ return sodium.crypto_core_ed25519_scalar_reduce(s);
58
+ };
59
+ scalarNegate = function (s) {
60
+ return sodium.crypto_core_ed25519_scalar_negate(s);
61
+ };
62
+ scalarInvert = function (s) {
63
+ return sodium.crypto_core_ed25519_scalar_invert(s);
64
+ };
65
+ scalarAdd = function (x, y) {
66
+ return sodium.crypto_core_ed25519_scalar_add(x, y);
67
+ };
68
+ scalarSub = function (x, y) {
69
+ return sodium.crypto_core_ed25519_scalar_sub(x, y);
70
+ };
71
+ scalarMult = function (x, y) {
72
+ return sodium.crypto_core_ed25519_scalar_mul(x, y);
73
+ };
74
+ basePointMult = function (n) {
75
+ return sodium.crypto_scalarmult_ed25519_base_noclamp(n);
76
+ };
77
+ pointAdd = function (p, q) {
78
+ return sodium.crypto_core_ed25519_add(p, q);
79
+ };
80
+ verify = function (y, signedMessage) {
81
+ return sodium.crypto_sign_open(signedMessage, y);
82
+ };
83
+ return [2 /*return*/, {
84
+ scalarRandom: scalarRandom,
85
+ scalarReduce: scalarReduce,
86
+ scalarNegate: scalarNegate,
87
+ scalarInvert: scalarInvert,
88
+ scalarAdd: scalarAdd,
89
+ scalarSub: scalarSub,
90
+ scalarMult: scalarMult,
91
+ basePointMult: basePointMult,
92
+ pointAdd: pointAdd,
93
+ verify: verify,
94
+ }];
95
+ }
96
+ });
97
+ }); };
98
+ exports.default = Ed25519Curve;
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VydmVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21wYy9jdXJ2ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQUNsRCxpQ0FBMEQ7QUFFMUQsNkVBQTZFO0FBQzdFLElBQU0sWUFBWSxHQUFHOzs7OztZQUNuQixxREFBcUQ7WUFDckQscUJBQU0sTUFBTSxDQUFDLEtBQUssRUFBQTs7Z0JBRGxCLHFEQUFxRDtnQkFDckQsU0FBa0IsQ0FBQztnQkFFYixZQUFZLEdBQUc7b0JBQ25CLElBQU0sYUFBYSxHQUFHLG9CQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUM1QyxPQUFPLE1BQU0sQ0FBQyxpQ0FBaUMsQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFDakUsQ0FBQyxDQUFDO2dCQUVJLFlBQVksR0FBRyxVQUFDLENBQWE7b0JBQ2pDLE9BQU8sTUFBTSxDQUFDLGlDQUFpQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNyRCxDQUFDLENBQUM7Z0JBRUksWUFBWSxHQUFHLFVBQUMsQ0FBYTtvQkFDakMsT0FBTyxNQUFNLENBQUMsaUNBQWlDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JELENBQUMsQ0FBQztnQkFFSSxZQUFZLEdBQUcsVUFBQyxDQUFhO29CQUNqQyxPQUFPLE1BQU0sQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDckQsQ0FBQyxDQUFDO2dCQUVJLFNBQVMsR0FBRyxVQUFDLENBQWEsRUFBRSxDQUFhO29CQUM3QyxPQUFPLE1BQU0sQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JELENBQUMsQ0FBQztnQkFFSSxTQUFTLEdBQUcsVUFBQyxDQUFhLEVBQUUsQ0FBYTtvQkFDN0MsT0FBTyxNQUFNLENBQUMsOEJBQThCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNyRCxDQUFDLENBQUM7Z0JBRUksVUFBVSxHQUFHLFVBQUMsQ0FBYSxFQUFFLENBQWE7b0JBQzlDLE9BQU8sTUFBTSxDQUFDLDhCQUE4QixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDckQsQ0FBQyxDQUFDO2dCQUVJLGFBQWEsR0FBRyxVQUFDLENBQWE7b0JBQ2xDLE9BQU8sTUFBTSxDQUFDLHNDQUFzQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMxRCxDQUFDLENBQUM7Z0JBRUksUUFBUSxHQUFHLFVBQUMsQ0FBYSxFQUFFLENBQWE7b0JBQzVDLE9BQU8sTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDOUMsQ0FBQyxDQUFDO2dCQUVJLE1BQU0sR0FBRyxVQUFDLENBQWEsRUFBRSxhQUF5QjtvQkFDdEQsT0FBTyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNuRCxDQUFDLENBQUM7Z0JBRUYsc0JBQU87d0JBQ0wsWUFBWSxjQUFBO3dCQUNaLFlBQVksY0FBQTt3QkFDWixZQUFZLGNBQUE7d0JBQ1osWUFBWSxjQUFBO3dCQUNaLFNBQVMsV0FBQTt3QkFDVCxTQUFTLFdBQUE7d0JBQ1QsVUFBVSxZQUFBO3dCQUNWLGFBQWEsZUFBQTt3QkFDYixRQUFRLFVBQUE7d0JBQ1IsTUFBTSxRQUFBO3FCQUNQLEVBQUM7OztLQUNILENBQUM7QUFFRixrQkFBZSxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBzb2RpdW0gPSByZXF1aXJlKCdsaWJzb2RpdW0td3JhcHBlcnMtc3VtbycpO1xuaW1wb3J0IHsgcmFuZG9tQnl0ZXMgYXMgY3J5cHRvUmFuZG9tQnl0ZXMgfSBmcm9tICdjcnlwdG8nO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2V4cGxpY2l0LW1vZHVsZS1ib3VuZGFyeS10eXBlc1xuY29uc3QgRWQyNTUxOUN1cnZlID0gYXN5bmMgKCkgPT4ge1xuICAvLyBzb2RpdW0gcmVxdWlyZXMgYXdhaXQgZm9yIHJlYWR5IHdpdGhpbiBibG9jayBzY29wZVxuICBhd2FpdCBzb2RpdW0ucmVhZHk7XG5cbiAgY29uc3Qgc2NhbGFyUmFuZG9tID0gKCk6IFVpbnQ4QXJyYXkgPT4ge1xuICAgIGNvbnN0IHJhbmRvbV9idWZmZXIgPSBjcnlwdG9SYW5kb21CeXRlcyg2NCk7XG4gICAgcmV0dXJuIHNvZGl1bS5jcnlwdG9fY29yZV9lZDI1NTE5X3NjYWxhcl9yZWR1Y2UocmFuZG9tX2J1ZmZlcik7XG4gIH07XG5cbiAgY29uc3Qgc2NhbGFyUmVkdWNlID0gKHM6IFVpbnQ4QXJyYXkpOiBVaW50OEFycmF5ID0+IHtcbiAgICByZXR1cm4gc29kaXVtLmNyeXB0b19jb3JlX2VkMjU1MTlfc2NhbGFyX3JlZHVjZShzKTtcbiAgfTtcblxuICBjb25zdCBzY2FsYXJOZWdhdGUgPSAoczogVWludDhBcnJheSk6IFVpbnQ4QXJyYXkgPT4ge1xuICAgIHJldHVybiBzb2RpdW0uY3J5cHRvX2NvcmVfZWQyNTUxOV9zY2FsYXJfbmVnYXRlKHMpO1xuICB9O1xuXG4gIGNvbnN0IHNjYWxhckludmVydCA9IChzOiBVaW50OEFycmF5KTogVWludDhBcnJheSA9PiB7XG4gICAgcmV0dXJuIHNvZGl1bS5jcnlwdG9fY29yZV9lZDI1NTE5X3NjYWxhcl9pbnZlcnQocyk7XG4gIH07XG5cbiAgY29uc3Qgc2NhbGFyQWRkID0gKHg6IFVpbnQ4QXJyYXksIHk6IFVpbnQ4QXJyYXkpOiBVaW50OEFycmF5ID0+IHtcbiAgICByZXR1cm4gc29kaXVtLmNyeXB0b19jb3JlX2VkMjU1MTlfc2NhbGFyX2FkZCh4LCB5KTtcbiAgfTtcblxuICBjb25zdCBzY2FsYXJTdWIgPSAoeDogVWludDhBcnJheSwgeTogVWludDhBcnJheSk6IFVpbnQ4QXJyYXkgPT4ge1xuICAgIHJldHVybiBzb2RpdW0uY3J5cHRvX2NvcmVfZWQyNTUxOV9zY2FsYXJfc3ViKHgsIHkpO1xuICB9O1xuXG4gIGNvbnN0IHNjYWxhck11bHQgPSAoeDogVWludDhBcnJheSwgeTogVWludDhBcnJheSk6IFVpbnQ4QXJyYXkgPT4ge1xuICAgIHJldHVybiBzb2RpdW0uY3J5cHRvX2NvcmVfZWQyNTUxOV9zY2FsYXJfbXVsKHgsIHkpO1xuICB9O1xuXG4gIGNvbnN0IGJhc2VQb2ludE11bHQgPSAobjogVWludDhBcnJheSk6IFVpbnQ4QXJyYXkgPT4ge1xuICAgIHJldHVybiBzb2RpdW0uY3J5cHRvX3NjYWxhcm11bHRfZWQyNTUxOV9iYXNlX25vY2xhbXAobik7XG4gIH07XG5cbiAgY29uc3QgcG9pbnRBZGQgPSAocDogVWludDhBcnJheSwgcTogVWludDhBcnJheSk6IFVpbnQ4QXJyYXkgPT4ge1xuICAgIHJldHVybiBzb2RpdW0uY3J5cHRvX2NvcmVfZWQyNTUxOV9hZGQocCwgcSk7XG4gIH07XG5cbiAgY29uc3QgdmVyaWZ5ID0gKHk6IFVpbnQ4QXJyYXksIHNpZ25lZE1lc3NhZ2U6IFVpbnQ4QXJyYXkpOiBVaW50OEFycmF5ID0+IHtcbiAgICByZXR1cm4gc29kaXVtLmNyeXB0b19zaWduX29wZW4oc2lnbmVkTWVzc2FnZSwgeSk7XG4gIH07XG5cbiAgcmV0dXJuIHtcbiAgICBzY2FsYXJSYW5kb20sXG4gICAgc2NhbGFyUmVkdWNlLFxuICAgIHNjYWxhck5lZ2F0ZSxcbiAgICBzY2FsYXJJbnZlcnQsXG4gICAgc2NhbGFyQWRkLFxuICAgIHNjYWxhclN1YixcbiAgICBzY2FsYXJNdWx0LFxuICAgIGJhc2VQb2ludE11bHQsXG4gICAgcG9pbnRBZGQsXG4gICAgdmVyaWZ5LFxuICB9O1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRWQyNTUxOUN1cnZlO1xuIl19
@@ -0,0 +1,7 @@
1
+ /// <reference types="node" />
2
+ declare const Shamir: (curve: any) => {
3
+ split: (secret: Buffer, threshold: number, numShares: number, indices?: number[] | undefined) => Record<number, Buffer>;
4
+ combine: (shares: Record<number, Buffer>) => Buffer;
5
+ };
6
+ export default Shamir;
7
+ //# sourceMappingURL=shamir.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shamir.d.ts","sourceRoot":"","sources":["../../../src/mpc/shamir.ts"],"names":[],"mappings":";AAEA,QAAA,MAAM,MAAM,UAAW,GAAG;oBAad,MAAM,aACH,MAAM,aACN,MAAM,qCAEhB,OAAO,MAAM,EAAE,MAAM,CAAC;sBAsCA,OAAO,MAAM,EAAE,MAAM,CAAC,KAAG,MAAM;CAuCzD,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var assert = require('assert');
4
+ var Shamir = function (curve) {
5
+ /**
6
+ * Perform Shamir sharing on the secret `secret` to the degree `threshold - 1` split `numShares`
7
+ * ways. The split secret requires `threshold` shares to be reconstructed.
8
+ *
9
+ * @param secret secret to split
10
+ * @param threshold share threshold required to reconstruct secret
11
+ * @param numShares total number of shares to split to split secret into
12
+ * @param indices
13
+ * @returns Dictionary of shares. Each key is an int in the range 1<=x<=numShares
14
+ * representing that share's free term.
15
+ */
16
+ var split = function (secret, threshold, numShares, indices) {
17
+ if (indices === undefined) {
18
+ // make range(1, n + 1)
19
+ indices = Array.from({ length: numShares }, function (_, i) { return i + 1; });
20
+ }
21
+ assert(threshold > 1);
22
+ assert(threshold <= numShares);
23
+ var coefs = [];
24
+ for (var ind = 0; ind < threshold - 1; ind++) {
25
+ var random_value = curve.scalarRandom();
26
+ coefs.push(random_value);
27
+ }
28
+ coefs.push(secret);
29
+ var shares = {};
30
+ for (var ind = 0; ind < indices.length; ind++) {
31
+ var x = indices[ind];
32
+ var x_buffer = Buffer.alloc(32);
33
+ // TODO BG-40908 : converting internal representation to buffers
34
+ x_buffer.writeUInt32LE(x, 0);
35
+ var partial = coefs[0];
36
+ for (var other = 1; other < coefs.length; other++) {
37
+ var scalarMult = curve.scalarMult(partial, x_buffer);
38
+ var newAdd = curve.scalarAdd(coefs[other], scalarMult);
39
+ partial = newAdd;
40
+ }
41
+ shares[x] = Buffer.from(partial);
42
+ }
43
+ return shares;
44
+ };
45
+ /**
46
+ * Reconstitute a secret from a dictionary of shares. The number of shares must
47
+ * be equal to `t` to reconstitute the original secret.
48
+ *
49
+ * @param shares dictionary of shares. each key is the free term of the share
50
+ * @returns secret
51
+ */
52
+ var combine = function (shares) {
53
+ var s = Buffer.alloc(32);
54
+ for (var xi in shares) {
55
+ var yi = shares[xi];
56
+ var xi_buffer = Buffer.alloc(32);
57
+ var num_buffer = Buffer.alloc(32);
58
+ var denum_buffer = Buffer.alloc(32);
59
+ xi_buffer.writeUInt32LE(parseInt(xi, 10), 0);
60
+ num_buffer.writeUInt32LE(1, 0);
61
+ denum_buffer.writeUInt32LE(1, 0);
62
+ for (var xj in shares) {
63
+ var xj_buffer = Buffer.alloc(32);
64
+ xj_buffer.writeUInt32LE(parseInt(xj, 10), 0);
65
+ if (xi !== xj) {
66
+ num_buffer = curve.scalarMult(num_buffer, xj_buffer);
67
+ }
68
+ }
69
+ num_buffer = Buffer.from(num_buffer);
70
+ for (var xj in shares) {
71
+ var xj_buffer = Buffer.alloc(32);
72
+ xj_buffer.writeUInt32LE(parseInt(xj, 10), 0);
73
+ if (xi !== xj) {
74
+ denum_buffer = curve.scalarMult(denum_buffer, curve.scalarSub(xj_buffer, xi_buffer));
75
+ }
76
+ }
77
+ denum_buffer = Buffer.from(denum_buffer);
78
+ var inverted = curve.scalarInvert(denum_buffer);
79
+ var innerMultiplied = curve.scalarMult(num_buffer, inverted);
80
+ var multiplied = curve.scalarMult(innerMultiplied, yi);
81
+ s = curve.scalarAdd(multiplied, s);
82
+ }
83
+ return s;
84
+ };
85
+ return {
86
+ split: split,
87
+ combine: combine,
88
+ };
89
+ };
90
+ exports.default = Shamir;
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhbWlyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21wYy9zaGFtaXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxJQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7QUFFakMsSUFBTSxNQUFNLEdBQUcsVUFBQyxLQUFVO0lBQ3hCOzs7Ozs7Ozs7O09BVUc7SUFDSCxJQUFNLEtBQUssR0FBRyxVQUNaLE1BQWMsRUFDZCxTQUFpQixFQUNqQixTQUFpQixFQUNqQixPQUF1QjtRQUV2QixJQUFJLE9BQU8sS0FBSyxTQUFTLEVBQUU7WUFDekIsdUJBQXVCO1lBQ3ZCLE9BQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxFQUFFLFVBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSyxPQUFBLENBQUMsR0FBRyxDQUFDLEVBQUwsQ0FBSyxDQUFDLENBQUM7U0FDOUQ7UUFDRCxNQUFNLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLE1BQU0sQ0FBQyxTQUFTLElBQUksU0FBUyxDQUFDLENBQUM7UUFDL0IsSUFBTSxLQUFLLEdBQWEsRUFBRSxDQUFDO1FBQzNCLEtBQUssSUFBSSxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxTQUFTLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQzVDLElBQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUMxQyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQzFCO1FBQ0QsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVuQixJQUFNLE1BQU0sR0FBMkIsRUFBRSxDQUFDO1FBQzFDLEtBQUssSUFBSSxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQzdD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QU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDbEQsSUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDL0QsSUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDekQsQ0FBQyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3BDO1FBQ0QsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDLENBQUM7SUFFRixPQUFPO1FBQ0wsS0FBSyxPQUFBO1FBQ0wsT0FBTyxTQUFBO0tBQ1IsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLGtCQUFlLE1BQU0sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGFzc2VydCA9IHJlcXVpcmUoJ2Fzc2VydCcpO1xuXG5jb25zdCBTaGFtaXIgPSAoY3VydmU6IGFueSkgPT4ge1xuICAvKipcbiAgICogUGVyZm9ybSBTaGFtaXIgc2hhcmluZyBvbiB0aGUgc2VjcmV0IGBzZWNyZXRgIHRvIHRoZSBkZWdyZWUgYHRocmVzaG9sZCAtIDFgIHNwbGl0IGBudW1TaGFyZXNgXG4gICAqIHdheXMuIFRoZSBzcGxpdCBzZWNyZXQgcmVxdWlyZXMgYHRocmVzaG9sZGAgc2hhcmVzIHRvIGJlIHJlY29uc3RydWN0ZWQuXG4gICAqXG4gICAqIEBwYXJhbSBzZWNyZXQgc2VjcmV0IHRvIHNwbGl0XG4gICAqIEBwYXJhbSB0aHJlc2hvbGQgc2hhcmUgdGhyZXNob2xkIHJlcXVpcmVkIHRvIHJlY29uc3RydWN0IHNlY3JldFxuICAgKiBAcGFyYW0gbnVtU2hhcmVzIHRvdGFsIG51bWJlciBvZiBzaGFyZXMgdG8gc3BsaXQgdG8gc3BsaXQgc2VjcmV0IGludG9cbiAgICogQHBhcmFtIGluZGljZXNcbiAgICogQHJldHVybnMgRGljdGlvbmFyeSBvZiBzaGFyZXMuIEVhY2gga2V5IGlzIGFuIGludCBpbiB0aGUgcmFuZ2UgMTw9eDw9bnVtU2hhcmVzXG4gICAqIHJlcHJlc2VudGluZyB0aGF0IHNoYXJlJ3MgZnJlZSB0ZXJtLlxuICAgKi9cbiAgY29uc3Qgc3BsaXQgPSAoXG4gICAgc2VjcmV0OiBCdWZmZXIsXG4gICAgdGhyZXNob2xkOiBudW1iZXIsXG4gICAgbnVtU2hhcmVzOiBudW1iZXIsXG4gICAgaW5kaWNlcz86IEFycmF5PG51bWJlcj4sXG4gICk6IFJlY29yZDxudW1iZXIsIEJ1ZmZlcj4gPT4ge1xuICAgIGlmIChpbmRpY2VzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIG1ha2UgcmFuZ2UoMSwgbiArIDEpXG4gICAgICBpbmRpY2VzID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogbnVtU2hhcmVzIH0sIChfLCBpKSA9PiBpICsgMSk7XG4gICAgfVxuICAgIGFzc2VydCh0aHJlc2hvbGQgPiAxKTtcbiAgICBhc3NlcnQodGhyZXNob2xkIDw9IG51bVNoYXJlcyk7XG4gICAgY29uc3QgY29lZnM6IEJ1ZmZlcltdID0gW107XG4gICAgZm9yIChsZXQgaW5kID0gMDsgaW5kIDwgdGhyZXNob2xkIC0gMTsgaW5kKyspIHtcbiAgICAgIGNvbnN0IHJhbmRvbV92YWx1ZSA9IGN1cnZlLnNjYWxhclJhbmRvbSgpO1xuICAgICAgY29lZnMucHVzaChyYW5kb21fdmFsdWUpO1xuICAgIH1cbiAgICBjb2Vmcy5wdXNoKHNlY3JldCk7XG5cbiAgICBjb25zdCBzaGFyZXM6IFJlY29yZDxudW1iZXIsIEJ1ZmZlcj4gPSB7fTtcbiAgICBmb3IgKGxldCBpbmQgPSAwOyBpbmQgPCBpbmRpY2VzLmxlbmd0aDsgaW5kKyspIHtcbiAgICAgIGNvbnN0IHggPSBpbmRpY2VzW2luZF07XG4gICAgICBjb25zdCB4X2J1ZmZlciA9IEJ1ZmZlci5hbGxvYygzMik7XG4gICAgICAvLyBUT0RPIEJHLTQwOTA4IDogY29udmVydGluZyBpbnRlcm5hbCByZXByZXNlbnRhdGlvbiB0byBidWZmZXJzXG4gICAgICB4X2J1ZmZlci53cml0ZVVJbnQzMkxFKHgsIDApO1xuICAgICAgbGV0IHBhcnRpYWwgPSBjb2Vmc1swXTtcbiAgICAgIGZvciAobGV0IG90aGVyID0gMTsgb3RoZXIgPCBjb2Vmcy5sZW5ndGg7IG90aGVyKyspIHtcbiAgICAgICAgY29uc3Qgc2NhbGFyTXVsdCA9IGN1cnZlLnNjYWxhck11bHQocGFydGlhbCwgeF9idWZmZXIpO1xuICAgICAgICBjb25zdCBuZXdBZGQgPSBjdXJ2ZS5zY2FsYXJBZGQoY29lZnNbb3RoZXJdLCBzY2FsYXJNdWx0KTtcbiAgICAgICAgcGFydGlhbCA9IG5ld0FkZDtcbiAgICAgIH1cbiAgICAgIHNoYXJlc1t4XSA9IEJ1ZmZlci5mcm9tKHBhcnRpYWwpO1xuICAgIH1cbiAgICByZXR1cm4gc2hhcmVzO1xuICB9O1xuXG4gIC8qKlxuICAgKiBSZWNvbnN0aXR1dGUgYSBzZWNyZXQgZnJvbSBhIGRpY3Rpb25hcnkgb2Ygc2hhcmVzLiBUaGUgbnVtYmVyIG9mIHNoYXJlcyBtdXN0XG4gICAqIGJlIGVxdWFsIHRvIGB0YCB0byByZWNvbnN0aXR1dGUgdGhlIG9yaWdpbmFsIHNlY3JldC5cbiAgICpcbiAgICogQHBhcmFtIHNoYXJlcyBkaWN0aW9uYXJ5IG9mIHNoYXJlcy4gZWFjaCBrZXkgaXMgdGhlIGZyZWUgdGVybSBvZiB0aGUgc2hhcmVcbiAgICogQHJldHVybnMgc2VjcmV0XG4gICAqL1xuICBjb25zdCBjb21iaW5lID0gKHNoYXJlczogUmVjb3JkPG51bWJlciwgQnVmZmVyPik6IEJ1ZmZlciA9PiB7XG4gICAgbGV0IHMgPSBCdWZmZXIuYWxsb2MoMzIpO1xuICAgIGZvciAoY29uc3QgeGkgaW4gc2hhcmVzKSB7XG4gICAgICBjb25zdCB5aSA9IHNoYXJlc1t4aV07XG4gICAgICBjb25zdCB4aV9idWZmZXIgPSBCdWZmZXIuYWxsb2MoMzIpO1xuICAgICAgbGV0IG51bV9idWZmZXIgPSBCdWZmZXIuYWxsb2MoMzIpO1xuICAgICAgbGV0IGRlbnVtX2J1ZmZlciA9IEJ1ZmZlci5hbGxvYygzMik7XG4gICAgICB4aV9idWZmZXIud3JpdGVVSW50MzJMRShwYXJzZUludCh4aSwgMTApLCAwKTtcbiAgICAgIG51bV9idWZmZXIud3JpdGVVSW50MzJMRSgxLCAwKTtcbiAgICAgIGRlbnVtX2J1ZmZlci53cml0ZVVJbnQzMkxFKDEsIDApO1xuXG4gICAgICBmb3IgKGNvbnN0IHhqIGluIHNoYXJlcykge1xuICAgICAgICBjb25zdCB4al9idWZmZXIgPSBCdWZmZXIuYWxsb2MoMzIpO1xuICAgICAgICB4al9idWZmZXIud3JpdGVVSW50MzJMRShwYXJzZUludCh4aiwgMTApLCAwKTtcbiAgICAgICAgaWYgKHhpICE9PSB4aikge1xuICAgICAgICAgIG51bV9idWZmZXIgPSBjdXJ2ZS5zY2FsYXJNdWx0KG51bV9idWZmZXIsIHhqX2J1ZmZlcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIG51bV9idWZmZXIgPSBCdWZmZXIuZnJvbShudW1fYnVmZmVyKTtcbiAgICAgIGZvciAoY29uc3QgeGogaW4gc2hhcmVzKSB7XG4gICAgICAgIGNvbnN0IHhqX2J1ZmZlciA9IEJ1ZmZlci5hbGxvYygzMik7XG4gICAgICAgIHhqX2J1ZmZlci53cml0ZVVJbnQzMkxFKHBhcnNlSW50KHhqLCAxMCksIDApO1xuICAgICAgICBpZiAoeGkgIT09IHhqKSB7XG4gICAgICAgICAgZGVudW1fYnVmZmVyID0gY3VydmUuc2NhbGFyTXVsdChkZW51bV9idWZmZXIsIGN1cnZlLnNjYWxhclN1Yih4al9idWZmZXIsIHhpX2J1ZmZlcikpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBkZW51bV9idWZmZXIgPSBCdWZmZXIuZnJvbShkZW51bV9idWZmZXIpO1xuICAgICAgY29uc3QgaW52ZXJ0ZWQgPSBjdXJ2ZS5zY2FsYXJJbnZlcnQoZGVudW1fYnVmZmVyKTtcbiAgICAgIGNvbnN0IGlubmVyTXVsdGlwbGllZCA9IGN1cnZlLnNjYWxhck11bHQobnVtX2J1ZmZlciwgaW52ZXJ0ZWQpO1xuICAgICAgY29uc3QgbXVsdGlwbGllZCA9IGN1cnZlLnNjYWxhck11bHQoaW5uZXJNdWx0aXBsaWVkLCB5aSk7XG4gICAgICBzID0gY3VydmUuc2NhbGFyQWRkKG11bHRpcGxpZWQsIHMpO1xuICAgIH1cbiAgICByZXR1cm4gcztcbiAgfTtcblxuICByZXR1cm4ge1xuICAgIHNwbGl0LFxuICAgIGNvbWJpbmUsXG4gIH07XG59O1xuXG5leHBvcnQgZGVmYXVsdCBTaGFtaXI7XG4iXX0=
@@ -0,0 +1,69 @@
1
+ /// <reference types="node" />
2
+ interface UShare {
3
+ i: string;
4
+ y: string;
5
+ u: string;
6
+ prefix: string;
7
+ }
8
+ interface YShare {
9
+ i: string;
10
+ j: string;
11
+ y: string;
12
+ u: string;
13
+ }
14
+ interface KeyShare {
15
+ uShare: UShare;
16
+ yShares: Record<string, YShare>;
17
+ }
18
+ interface PShare {
19
+ i: string;
20
+ x: string;
21
+ y: string;
22
+ prefix: string;
23
+ }
24
+ interface JShare {
25
+ i: string;
26
+ j: string;
27
+ }
28
+ interface KeyCombine {
29
+ pShare: PShare;
30
+ jShares: Record<string, JShare>;
31
+ }
32
+ interface XShare {
33
+ i: string;
34
+ y: string;
35
+ x: string;
36
+ r: string;
37
+ R: string;
38
+ }
39
+ interface RShare {
40
+ i: string;
41
+ j: string;
42
+ r: string;
43
+ R: string;
44
+ }
45
+ interface SignShare {
46
+ xShare: XShare;
47
+ rShares: Record<string, RShare>;
48
+ }
49
+ interface GShare {
50
+ i: string;
51
+ y: string;
52
+ gamma: string;
53
+ R: string;
54
+ }
55
+ interface Signature {
56
+ y: string;
57
+ R: string;
58
+ sigma: string;
59
+ }
60
+ declare const Eddsa: () => Promise<{
61
+ keyShare: (index: number, threshold: number, numShares: number) => KeyShare;
62
+ keyCombine: (uShare: UShare, distributedShares: YShare[]) => KeyCombine;
63
+ signShare: (message: Buffer, pShare: PShare, jShares: JShare[]) => SignShare;
64
+ sign: (message: Buffer, playerShare: XShare, distributedShares: RShare[]) => GShare;
65
+ signCombine: (shares: GShare[]) => Signature;
66
+ verify: (message: Buffer, signature: Signature) => Buffer;
67
+ }>;
68
+ export default Eddsa;
69
+ //# sourceMappingURL=tss.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tss.d.ts","sourceRoot":"","sources":["../../../src/mpc/tss.ts"],"names":[],"mappings":";AA6CA,UAAU,MAAM;IACd,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,MAAM;IACd,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,UAAU,QAAQ;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,UAAU,MAAM;IACd,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,MAAM;IACd,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,UAAU,UAAU;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,UAAU,MAAM;IACd,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,UAAU,MAAM;IACd,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,UAAU,SAAS;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,UAAU,MAAM;IACd,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,EAAE,MAAM,CAAC;CACX;AAED,UAAU,SAAS;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;CACf;AAED,QAAA,MAAM,KAAK;sBAIgB,MAAM,aAAa,MAAM,aAAa,MAAM,KAAG,QAAQ;yBA8CpD,MAAM,qBAAqB,MAAM,EAAE,KAAG,UAAU;yBA6BhD,MAAM,UAAU,MAAM,WAAW,MAAM,EAAE,KAAG,SAAS;oBA4C1D,MAAM,eAAe,MAAM,qBAAqB,MAAM,EAAE,KAAG,MAAM;0BAyB3D,MAAM,EAAE,KAAG,SAAS;sBAqBxB,MAAM,aAAa,SAAS,KAAG,MAAM;EAW/D,CAAC;AAEF,eAAe,KAAK,CAAC"}