@bitgo/sdk-coin-sui 5.19.2 → 5.19.3

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 (65) hide show
  1. package/dist/test/integration/index.d.ts +1 -0
  2. package/dist/test/integration/index.d.ts.map +1 -0
  3. package/dist/test/integration/index.js +1 -0
  4. package/dist/test/local_fullnode/RpcClient.d.ts +60 -0
  5. package/dist/test/local_fullnode/RpcClient.d.ts.map +1 -0
  6. package/dist/test/local_fullnode/RpcClient.js +111 -0
  7. package/dist/test/local_fullnode/faucet.d.ts +6 -0
  8. package/dist/test/local_fullnode/faucet.d.ts.map +1 -0
  9. package/dist/test/local_fullnode/faucet.js +17 -0
  10. package/dist/test/local_fullnode/transactions.d.ts +2 -0
  11. package/dist/test/local_fullnode/transactions.d.ts.map +1 -0
  12. package/dist/test/local_fullnode/transactions.js +190 -0
  13. package/dist/test/resources/sui.d.ts +463 -0
  14. package/dist/test/resources/sui.d.ts.map +1 -0
  15. package/dist/test/resources/sui.js +632 -0
  16. package/dist/test/unit/compareTransactionBlocks.d.ts +2 -0
  17. package/dist/test/unit/compareTransactionBlocks.d.ts.map +1 -0
  18. package/dist/test/unit/compareTransactionBlocks.js +64 -0
  19. package/dist/test/unit/getBuilderFactory.d.ts +3 -0
  20. package/dist/test/unit/getBuilderFactory.d.ts.map +1 -0
  21. package/dist/test/unit/getBuilderFactory.js +10 -0
  22. package/dist/test/unit/keyPair.d.ts +2 -0
  23. package/dist/test/unit/keyPair.d.ts.map +1 -0
  24. package/dist/test/unit/keyPair.js +72 -0
  25. package/dist/test/unit/sui.d.ts +2 -0
  26. package/dist/test/unit/sui.d.ts.map +1 -0
  27. package/dist/test/unit/sui.js +2399 -0
  28. package/dist/test/unit/suiToken.d.ts +2 -0
  29. package/dist/test/unit/suiToken.d.ts.map +1 -0
  30. package/dist/test/unit/suiToken.js +39 -0
  31. package/dist/test/unit/transactionBuilder/customTransactionBuilder.d.ts +2 -0
  32. package/dist/test/unit/transactionBuilder/customTransactionBuilder.d.ts.map +1 -0
  33. package/dist/test/unit/transactionBuilder/customTransactionBuilder.js +106 -0
  34. package/dist/test/unit/transactionBuilder/stakingBuilder.d.ts +2 -0
  35. package/dist/test/unit/transactionBuilder/stakingBuilder.d.ts.map +1 -0
  36. package/dist/test/unit/transactionBuilder/stakingBuilder.js +152 -0
  37. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.d.ts +2 -0
  38. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.d.ts.map +1 -0
  39. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.js +149 -0
  40. package/dist/test/unit/transactionBuilder/transactionBuilder.d.ts +2 -0
  41. package/dist/test/unit/transactionBuilder/transactionBuilder.d.ts.map +1 -0
  42. package/dist/test/unit/transactionBuilder/transactionBuilder.js +639 -0
  43. package/dist/test/unit/transactionBuilder/transferBuilder.d.ts +2 -0
  44. package/dist/test/unit/transactionBuilder/transferBuilder.d.ts.map +1 -0
  45. package/dist/test/unit/transactionBuilder/transferBuilder.js +192 -0
  46. package/dist/test/unit/transactionBuilder/unstakingBuilder.d.ts +2 -0
  47. package/dist/test/unit/transactionBuilder/unstakingBuilder.d.ts.map +1 -0
  48. package/dist/test/unit/transactionBuilder/unstakingBuilder.js +115 -0
  49. package/dist/test/unit/transactionBuilder/walrusStakingBuilder.d.ts +2 -0
  50. package/dist/test/unit/transactionBuilder/walrusStakingBuilder.d.ts.map +1 -0
  51. package/dist/test/unit/transactionBuilder/walrusStakingBuilder.js +162 -0
  52. package/dist/test/unit/transactionBuilder/walrusWithdrawBuilder.d.ts +2 -0
  53. package/dist/test/unit/transactionBuilder/walrusWithdrawBuilder.d.ts.map +1 -0
  54. package/dist/test/unit/transactionBuilder/walrusWithdrawBuilder.js +181 -0
  55. package/dist/test/unit/transferTransaction.d.ts +2 -0
  56. package/dist/test/unit/transferTransaction.d.ts.map +1 -0
  57. package/dist/test/unit/transferTransaction.js +94 -0
  58. package/dist/test/unit/utils.d.ts +2 -0
  59. package/dist/test/unit/utils.d.ts.map +1 -0
  60. package/dist/test/unit/utils.js +81 -0
  61. package/dist/tsconfig.tsbuildinfo +1 -0
  62. package/package.json +10 -7
  63. package/.eslintignore +0 -6
  64. package/.mocharc.yml +0 -7
  65. package/CHANGELOG.md +0 -1166
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=compareTransactionBlocks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compareTransactionBlocks.d.ts","sourceRoot":"","sources":["../../../test/unit/compareTransactionBlocks.ts"],"names":[],"mappings":""}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const assert_1 = __importDefault(require("assert"));
40
+ const compareTransactionBlocks_1 = require("../../src/lib/compareTransactionBlocks");
41
+ const src_1 = require("../../src");
42
+ const testData = __importStar(require("../resources/sui"));
43
+ describe('compareTransactionBlocks', function () {
44
+ function runTest(tag, objRef, amount, expectedError) {
45
+ it(`compares two transaction blocks: ${tag}`, function () {
46
+ const f = () => {
47
+ (0, compareTransactionBlocks_1.assertEqualTransactionBlocks)(src_1.UnstakingBuilder.getTransactionBlockData(testData.requestWithdrawStakedSui.stakedSui, BigInt(100)), src_1.UnstakingBuilder.getTransactionBlockData(objRef, amount));
48
+ };
49
+ if (expectedError === null) {
50
+ f();
51
+ }
52
+ else {
53
+ assert_1.default.throws(f, new RegExp(expectedError));
54
+ }
55
+ });
56
+ }
57
+ runTest('equal', testData.requestWithdrawStakedSui.stakedSui, BigInt(100), null);
58
+ runTest('different amount', testData.requestWithdrawStakedSui.stakedSui, BigInt(101), 'Different inputs');
59
+ runTest('different objRef', {
60
+ ...testData.requestWithdrawStakedSui.stakedSui,
61
+ objectId: '0x' + Buffer.alloc(32, 0xff).toString('hex'),
62
+ }, BigInt(101), 'Different inputs');
63
+ });
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyZVRyYW5zYWN0aW9uQmxvY2tzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdC91bml0L2NvbXBhcmVUcmFuc2FjdGlvbkJsb2Nrcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG9EQUE0QjtBQUM1QixxRkFBc0Y7QUFDdEYsbUNBQTZDO0FBQzdDLDJEQUE2QztBQUc3QyxRQUFRLENBQUMsMEJBQTBCLEVBQUU7SUFDbkMsU0FBUyxPQUFPLENBQUMsR0FBVyxFQUFFLE1BQW9CLEVBQUUsTUFBYyxFQUFFLGFBQTRCO1FBQzlGLEVBQUUsQ0FBQyxvQ0FBb0MsR0FBRyxFQUFFLEVBQUU7WUFDNUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxFQUFFO2dCQUNiLElBQUEsdURBQTRCLEVBQzFCLHNCQUFnQixDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQ2xHLHNCQUFnQixDQUFDLHVCQUF1QixDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FDekQsQ0FBQztZQUNKLENBQUMsQ0FBQztZQUVGLElBQUksYUFBYSxLQUFLLElBQUksRUFBRSxDQUFDO2dCQUMzQixDQUFDLEVBQUUsQ0FBQztZQUNOLENBQUM7aUJBQU0sQ0FBQztnQkFDTixnQkFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsSUFBSSxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztZQUM5QyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsd0JBQXdCLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNqRixPQUFPLENBQUMsa0JBQWtCLEVBQUUsUUFBUSxDQUFDLHdCQUF3QixDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztJQUMxRyxPQUFPLENBQ0wsa0JBQWtCLEVBQ2xCO1FBQ0UsR0FBRyxRQUFRLENBQUMsd0JBQXdCLENBQUMsU0FBUztRQUM5QyxRQUFRLEVBQUUsSUFBSSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7S0FDeEQsRUFDRCxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQ1gsa0JBQWtCLENBQ25CLENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCB7IGFzc2VydEVxdWFsVHJhbnNhY3Rpb25CbG9ja3MgfSBmcm9tICcuLi8uLi9zcmMvbGliL2NvbXBhcmVUcmFuc2FjdGlvbkJsb2Nrcyc7XG5pbXBvcnQgeyBVbnN0YWtpbmdCdWlsZGVyIH0gZnJvbSAnLi4vLi4vc3JjJztcbmltcG9ydCAqIGFzIHRlc3REYXRhIGZyb20gJy4uL3Jlc291cmNlcy9zdWknO1xuaW1wb3J0IHsgU3VpT2JqZWN0UmVmIH0gZnJvbSAnLi4vLi4vc3JjL2xpYi9teXN0ZW5sYWIvdHlwZXMnO1xuXG5kZXNjcmliZSgnY29tcGFyZVRyYW5zYWN0aW9uQmxvY2tzJywgZnVuY3Rpb24gKCkge1xuICBmdW5jdGlvbiBydW5UZXN0KHRhZzogc3RyaW5nLCBvYmpSZWY6IFN1aU9iamVjdFJlZiwgYW1vdW50OiBiaWdpbnQsIGV4cGVjdGVkRXJyb3I6IHN0cmluZyB8IG51bGwpIHtcbiAgICBpdChgY29tcGFyZXMgdHdvIHRyYW5zYWN0aW9uIGJsb2NrczogJHt0YWd9YCwgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgZiA9ICgpID0+IHtcbiAgICAgICAgYXNzZXJ0RXF1YWxUcmFuc2FjdGlvbkJsb2NrcyhcbiAgICAgICAgICBVbnN0YWtpbmdCdWlsZGVyLmdldFRyYW5zYWN0aW9uQmxvY2tEYXRhKHRlc3REYXRhLnJlcXVlc3RXaXRoZHJhd1N0YWtlZFN1aS5zdGFrZWRTdWksIEJpZ0ludCgxMDApKSxcbiAgICAgICAgICBVbnN0YWtpbmdCdWlsZGVyLmdldFRyYW5zYWN0aW9uQmxvY2tEYXRhKG9ialJlZiwgYW1vdW50KVxuICAgICAgICApO1xuICAgICAgfTtcblxuICAgICAgaWYgKGV4cGVjdGVkRXJyb3IgPT09IG51bGwpIHtcbiAgICAgICAgZigpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYXNzZXJ0LnRocm93cyhmLCBuZXcgUmVnRXhwKGV4cGVjdGVkRXJyb3IpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHJ1blRlc3QoJ2VxdWFsJywgdGVzdERhdGEucmVxdWVzdFdpdGhkcmF3U3Rha2VkU3VpLnN0YWtlZFN1aSwgQmlnSW50KDEwMCksIG51bGwpO1xuICBydW5UZXN0KCdkaWZmZXJlbnQgYW1vdW50JywgdGVzdERhdGEucmVxdWVzdFdpdGhkcmF3U3Rha2VkU3VpLnN0YWtlZFN1aSwgQmlnSW50KDEwMSksICdEaWZmZXJlbnQgaW5wdXRzJyk7XG4gIHJ1blRlc3QoXG4gICAgJ2RpZmZlcmVudCBvYmpSZWYnLFxuICAgIHtcbiAgICAgIC4uLnRlc3REYXRhLnJlcXVlc3RXaXRoZHJhd1N0YWtlZFN1aS5zdGFrZWRTdWksXG4gICAgICBvYmplY3RJZDogJzB4JyArIEJ1ZmZlci5hbGxvYygzMiwgMHhmZikudG9TdHJpbmcoJ2hleCcpLFxuICAgIH0sXG4gICAgQmlnSW50KDEwMSksXG4gICAgJ0RpZmZlcmVudCBpbnB1dHMnXG4gICk7XG59KTtcbiJdfQ==
@@ -0,0 +1,3 @@
1
+ import { TransactionBuilderFactory } from '../../src';
2
+ export declare const getBuilderFactory: (coin: string) => TransactionBuilderFactory;
3
+ //# sourceMappingURL=getBuilderFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getBuilderFactory.d.ts","sourceRoot":"","sources":["../../../test/unit/getBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAGtD,eAAO,MAAM,iBAAiB,SAAU,MAAM,KAAG,yBAEhD,CAAC"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getBuilderFactory = void 0;
4
+ const src_1 = require("../../src");
5
+ const statics_1 = require("@bitgo/statics");
6
+ const getBuilderFactory = (coin) => {
7
+ return new src_1.TransactionBuilderFactory(statics_1.coins.get(coin));
8
+ };
9
+ exports.getBuilderFactory = getBuilderFactory;
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0QnVpbGRlckZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3VuaXQvZ2V0QnVpbGRlckZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQXNEO0FBQ3RELDRDQUF1QztBQUVoQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsSUFBWSxFQUE2QixFQUFFO0lBQzNFLE9BQU8sSUFBSSwrQkFBeUIsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDeEQsQ0FBQyxDQUFDO0FBRlcsUUFBQSxpQkFBaUIscUJBRTVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB9IGZyb20gJy4uLy4uL3NyYyc7XG5pbXBvcnQgeyBjb2lucyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcblxuZXhwb3J0IGNvbnN0IGdldEJ1aWxkZXJGYWN0b3J5ID0gKGNvaW46IHN0cmluZyk6IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgPT4ge1xuICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkoY29pbnMuZ2V0KGNvaW4pKTtcbn07XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=keyPair.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyPair.d.ts","sourceRoot":"","sources":["../../../test/unit/keyPair.ts"],"names":[],"mappings":""}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const assert_1 = __importDefault(require("assert"));
7
+ const src_1 = require("../../src");
8
+ const utils_1 = __importDefault(require("../../src/lib/utils"));
9
+ const should_1 = __importDefault(require("should"));
10
+ const sdk_core_1 = require("@bitgo/sdk-core");
11
+ const bs58_1 = __importDefault(require("bs58"));
12
+ const sdk_lib_mpc_1 = require("@bitgo/sdk-lib-mpc");
13
+ describe('SUI KeyPair', function () {
14
+ let rootKeychain;
15
+ let rootPublicKey;
16
+ let MPC;
17
+ let hdTree;
18
+ before(async () => {
19
+ hdTree = await sdk_lib_mpc_1.Ed25519Bip32HdTree.initialize();
20
+ MPC = await sdk_core_1.Eddsa.initialize(hdTree);
21
+ const A = MPC.keyShare(1, 2, 3);
22
+ const B = MPC.keyShare(2, 2, 3);
23
+ const C = MPC.keyShare(3, 2, 3);
24
+ const A_combine = MPC.keyCombine(A.uShare, [B.yShares[1], C.yShares[1]]);
25
+ const commonKeychain = A_combine.pShare.y + A_combine.pShare.chaincode;
26
+ rootKeychain = MPC.deriveUnhardened(commonKeychain, 'm/0');
27
+ rootPublicKey = Buffer.from(rootKeychain, 'hex').slice(0, 32).toString('hex');
28
+ });
29
+ describe('should create a valid KeyPair', () => {
30
+ it('from an empty value', () => {
31
+ const keyPair = new src_1.KeyPair();
32
+ should_1.default.exists(keyPair.getKeys().prv);
33
+ should_1.default.exists(keyPair.getKeys().pub);
34
+ });
35
+ });
36
+ describe('Keypair from derived Public Key', () => {
37
+ it('should create keypair with just derived public key', () => {
38
+ const keyPair = new src_1.KeyPair({ pub: rootPublicKey });
39
+ keyPair.getKeys().pub.should.equal(rootPublicKey);
40
+ });
41
+ it('should create keypair with base58 public key', () => {
42
+ // common pub in wallet platform when adding signature is passed as base58 public key
43
+ const base58PubKey = '8Arrfe4vAh5fAEJgUBwL42EZa5P22zJJUnn569hxWfJU';
44
+ const keyPair = new src_1.KeyPair({ pub: base58PubKey });
45
+ const decodedbs58Buffer = bs58_1.default.decode(base58PubKey);
46
+ const publicKeyHexString = decodedbs58Buffer.toString('hex');
47
+ should_1.default.equal(keyPair.getKeys().pub, publicKeyHexString);
48
+ });
49
+ it('should derived ed25519 public key should be valid', () => {
50
+ utils_1.default.isValidPublicKey(rootPublicKey).should.be.true();
51
+ });
52
+ it('should return sui address from derived public key', () => {
53
+ const keyPair = new src_1.KeyPair({ pub: rootPublicKey });
54
+ const address = keyPair.getAddress();
55
+ utils_1.default.isValidAddress(address).should.be.true();
56
+ });
57
+ it('should return noramlize address from derived public key', () => {
58
+ const keyPair = new src_1.KeyPair({ pub: rootPublicKey });
59
+ const address = keyPair.getAddress();
60
+ address.should.startWith('0x');
61
+ });
62
+ });
63
+ describe('should fail to create a KeyPair', function () {
64
+ it('from an invalid public key', () => {
65
+ const source = {
66
+ pub: '01D63D',
67
+ };
68
+ assert_1.default.throws(() => new src_1.KeyPair(source));
69
+ });
70
+ });
71
+ });
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvdW5pdC9rZXlQYWlyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0RBQTRCO0FBQzVCLG1DQUFvQztBQUNwQyxnRUFBd0M7QUFDeEMsb0RBQTRCO0FBQzVCLDhDQUF3QztBQUN4QyxnREFBd0I7QUFDeEIsb0RBQWdFO0FBRWhFLFFBQVEsQ0FBQyxhQUFhLEVBQUU7SUFDdEIsSUFBSSxZQUFZLENBQUM7SUFDakIsSUFBSSxhQUFhLENBQUM7SUFDbEIsSUFBSSxHQUFVLENBQUM7SUFDZixJQUFJLE1BQWMsQ0FBQztJQUVuQixNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUU7UUFDaEIsTUFBTSxHQUFHLE1BQU0sZ0NBQWtCLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDL0MsR0FBRyxHQUFHLE1BQU0sZ0JBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckMsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2hDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNoQyxNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFaEMsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV6RSxNQUFNLGNBQWMsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFD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QUE0QixFQUFFLEdBQUcsRUFBRTtZQUNwQyxNQUFNLE1BQU0sR0FBRztnQkFDYixHQUFHLEVBQUUsUUFBUTthQUNkLENBQUM7WUFFRixnQkFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLGFBQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCB7IEtleVBhaXIgfSBmcm9tICcuLi8uLi9zcmMnO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4uLy4uL3NyYy9saWIvdXRpbHMnO1xuaW1wb3J0IHNob3VsZCBmcm9tICdzaG91bGQnO1xuaW1wb3J0IHsgRWRkc2EgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IGJzNTggZnJvbSAnYnM1OCc7XG5pbXBvcnQgeyBFZDI1NTE5QmlwMzJIZFRyZWUsIEhEVHJlZSB9IGZyb20gJ0BiaXRnby9zZGstbGliLW1wYyc7XG5cbmRlc2NyaWJlKCdTVUkgS2V5UGFpcicsIGZ1bmN0aW9uICgpIHtcbiAgbGV0IHJvb3RLZXljaGFpbjtcbiAgbGV0IHJvb3RQdWJsaWNLZXk7XG4gIGxldCBNUEM6IEVkZHNhO1xuICBsZXQgaGRUcmVlOiBIRFRyZWU7XG5cbiAgYmVmb3JlKGFzeW5jICgpID0+IHtcbiAgICBoZFRyZWUgPSBhd2FpdCBFZDI1NTE5QmlwMzJIZFRyZWUuaW5pdGlhbGl6ZSgpO1xuICAgIE1QQyA9IGF3YWl0IEVkZHNhLmluaXRpYWxpemUoaGRUcmVlKTtcbiAgICBjb25zdCBBID0gTVBDLmtleVNoYXJlKDEsIDIsIDMpO1xuICAgIGNvbnN0IEIgPSBNUEMua2V5U2hhcmUoMiwgMiwgMyk7XG4gICAgY29uc3QgQyA9IE1QQy5rZXlTaGFyZSgzLCAyLCAzKTtcblxuICAgIGNvbnN0IEFfY29tYmluZSA9IE1QQy5rZXlDb21iaW5lKEEudVNoYXJlLCBbQi55U2hhcmVzWzFdLCBDLnlTaGFyZXNbMV1dKTtcblxuICAgIGNvbnN0IGNvbW1vbktleWNoYWluID0gQV9jb21iaW5lLnBTaGFyZS55ICsgQV9jb21iaW5lLnBTaGFyZS5jaGFpbmNvZGU7XG4gICAgcm9vdEtleWNoYWluID0gTVBDLmRlcml2ZVVuaGFyZGVuZWQoY29tbW9uS2V5Y2hhaW4sICdtLzAnKTtcbiAgICByb290UHVibGljS2V5ID0gQnVmZmVyLmZyb20ocm9vdEtleWNoYWluLCAnaGV4Jykuc2xpY2UoMCwgMzIpLnRvU3RyaW5nKCdoZXgnKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3Nob3VsZCBjcmVhdGUgYSB2YWxpZCBLZXlQYWlyJywgKCkgPT4ge1xuICAgIGl0KCdmcm9tIGFuIGVtcHR5IHZhbHVlJywgKCkgPT4ge1xuICAgICAgY29uc3Qga2V5UGFpciA9IG5ldyBLZXlQYWlyKCk7XG4gICAgICBzaG91bGQuZXhpc3RzKGtleVBhaXIuZ2V0S2V5cygpLnBydik7XG4gICAgICBzaG91bGQuZXhpc3RzKGtleVBhaXIuZ2V0S2V5cygpLnB1Yik7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdLZXlwYWlyIGZyb20gZGVyaXZlZCBQdWJsaWMgS2V5JywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgY3JlYXRlIGtleXBhaXIgd2l0aCBqdXN0IGRlcml2ZWQgcHVibGljIGtleScsICgpID0+IHtcbiAgICAgIGNvbnN0IGtleVBhaXIgPSBuZXcgS2V5UGFpcih7IHB1Yjogcm9vdFB1YmxpY0tleSB9KTtcbiAgICAgIGtleVBhaXIuZ2V0S2V5cygpLnB1Yi5zaG91bGQuZXF1YWwocm9vdFB1YmxpY0tleSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGNyZWF0ZSBrZXlwYWlyIHdpdGggYmFzZTU4IHB1YmxpYyBrZXknLCAoKSA9PiB7XG4gICAgICAvLyBjb21tb24gcHViIGluIHdhbGxldCBwbGF0Zm9ybSB3aGVuIGFkZGluZyBzaWduYXR1cmUgaXMgcGFzc2VkIGFzIGJhc2U1OCBwdWJsaWMga2V5XG4gICAgICBjb25zdCBiYXNlNThQdWJLZXkgPSAnOEFycmZlNHZBaDVmQUVKZ1VCd0w0MkVaYTVQMjJ6SkpVbm41NjloeFdmSlUnO1xuICAgICAgY29uc3Qga2V5UGFpciA9IG5ldyBLZXlQYWlyKHsgcHViOiBiYXNlNThQdWJLZXkgfSk7XG5cbiAgICAgIGNvbnN0IGRlY29kZWRiczU4QnVmZmVyOiBCdWZmZXIgPSBiczU4LmRlY29kZShiYXNlNThQdWJLZXkpO1xuICAgICAgY29uc3QgcHVibGljS2V5SGV4U3RyaW5nID0gZGVjb2RlZGJzNThCdWZmZXIudG9TdHJpbmcoJ2hleCcpO1xuXG4gICAgICBzaG91bGQuZXF1YWwoa2V5UGFpci5nZXRLZXlzKCkucHViLCBwdWJsaWNLZXlIZXhTdHJpbmcpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBkZXJpdmVkIGVkMjU1MTkgcHVibGljIGtleSBzaG91bGQgYmUgdmFsaWQnLCAoKSA9PiB7XG4gICAgICB1dGlscy5pc1ZhbGlkUHVibGljS2V5KHJvb3RQdWJsaWNLZXkpLnNob3VsZC5iZS50cnVlKCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJldHVybiBzdWkgYWRkcmVzcyBmcm9tIGRlcml2ZWQgcHVibGljIGtleScsICgpID0+IHtcbiAgICAgIGNvbnN0IGtleVBhaXIgPSBuZXcgS2V5UGFpcih7IHB1Yjogcm9vdFB1YmxpY0tleSB9KTtcbiAgICAgIGNvbnN0IGFkZHJlc3MgPSBrZXlQYWlyLmdldEFkZHJlc3MoKTtcbiAgICAgIHV0aWxzLmlzVmFsaWRBZGRyZXNzKGFkZHJlc3MpLnNob3VsZC5iZS50cnVlKCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJldHVybiBub3JhbWxpemUgYWRkcmVzcyBmcm9tIGRlcml2ZWQgcHVibGljIGtleScsICgpID0+IHtcbiAgICAgIGNvbnN0IGtleVBhaXIgPSBuZXcgS2V5UGFpcih7IHB1Yjogcm9vdFB1YmxpY0tleSB9KTtcbiAgICAgIGNvbnN0IGFkZHJlc3MgPSBrZXlQYWlyLmdldEFkZHJlc3MoKTtcbiAgICAgIGFkZHJlc3Muc2hvdWxkLnN0YXJ0V2l0aCgnMHgnKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3Nob3VsZCBmYWlsIHRvIGNyZWF0ZSBhIEtleVBhaXInLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ2Zyb20gYW4gaW52YWxpZCBwdWJsaWMga2V5JywgKCkgPT4ge1xuICAgICAgY29uc3Qgc291cmNlID0ge1xuICAgICAgICBwdWI6ICcwMUQ2M0QnLFxuICAgICAgfTtcblxuICAgICAgYXNzZXJ0LnRocm93cygoKSA9PiBuZXcgS2V5UGFpcihzb3VyY2UpKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sui.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sui.d.ts","sourceRoot":"","sources":["../../../test/unit/sui.ts"],"names":[],"mappings":""}