@bitgo-beta/sdk-coin-sui 1.4.1-alpha.30 → 1.4.1-alpha.31

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 (107) hide show
  1. package/.eslintignore +1 -0
  2. package/dist/src/lib/constants.d.ts +2 -6
  3. package/dist/src/lib/constants.d.ts.map +1 -1
  4. package/dist/src/lib/constants.js +4 -12
  5. package/dist/src/lib/iface.d.ts +35 -177
  6. package/dist/src/lib/iface.d.ts.map +1 -1
  7. package/dist/src/lib/iface.js +14 -35
  8. package/dist/src/lib/keyPair.d.ts +4 -0
  9. package/dist/src/lib/keyPair.d.ts.map +1 -1
  10. package/dist/src/lib/keyPair.js +13 -6
  11. package/dist/src/lib/mystenlab/builder/Commands.d.ts +992 -0
  12. package/dist/src/lib/mystenlab/builder/Commands.d.ts.map +1 -0
  13. package/dist/src/lib/mystenlab/builder/Commands.js +119 -0
  14. package/dist/src/lib/mystenlab/builder/Inputs.d.ts +66 -0
  15. package/dist/src/lib/mystenlab/builder/Inputs.d.ts.map +1 -0
  16. package/dist/src/lib/mystenlab/builder/Inputs.js +56 -0
  17. package/dist/src/lib/mystenlab/builder/Transaction.d.ts +609 -0
  18. package/dist/src/lib/mystenlab/builder/Transaction.d.ts.map +1 -0
  19. package/dist/src/lib/mystenlab/builder/Transaction.js +254 -0
  20. package/dist/src/lib/mystenlab/builder/TransactionData.d.ts +566 -0
  21. package/dist/src/lib/mystenlab/builder/TransactionData.d.ts.map +1 -0
  22. package/dist/src/lib/mystenlab/builder/TransactionData.js +171 -0
  23. package/dist/src/lib/mystenlab/builder/bcs.d.ts +25 -0
  24. package/dist/src/lib/mystenlab/builder/bcs.d.ts.map +1 -0
  25. package/dist/src/lib/mystenlab/builder/bcs.js +141 -0
  26. package/dist/src/lib/mystenlab/builder/index.d.ts +5 -0
  27. package/dist/src/lib/mystenlab/builder/index.d.ts.map +1 -0
  28. package/dist/src/lib/mystenlab/builder/index.js +17 -0
  29. package/dist/src/lib/mystenlab/builder/serializer.d.ts +4 -0
  30. package/dist/src/lib/mystenlab/builder/serializer.d.ts.map +1 -0
  31. package/dist/src/lib/mystenlab/builder/serializer.js +104 -0
  32. package/dist/src/lib/mystenlab/builder/type-tag-serializer.d.ts +7 -0
  33. package/dist/src/lib/mystenlab/builder/type-tag-serializer.d.ts.map +1 -0
  34. package/dist/src/lib/mystenlab/builder/type-tag-serializer.js +119 -0
  35. package/dist/src/lib/mystenlab/builder/utils.d.ts +13 -0
  36. package/dist/src/lib/mystenlab/builder/utils.d.ts.map +1 -0
  37. package/dist/src/lib/mystenlab/builder/utils.js +10 -0
  38. package/dist/src/lib/mystenlab/cryptography/hash.d.ts +8 -0
  39. package/dist/src/lib/mystenlab/cryptography/hash.d.ts.map +1 -0
  40. package/dist/src/lib/mystenlab/cryptography/hash.js +22 -0
  41. package/dist/src/lib/mystenlab/framework/framework.d.ts +92 -0
  42. package/dist/src/lib/mystenlab/framework/framework.d.ts.map +1 -0
  43. package/dist/src/lib/mystenlab/framework/framework.js +139 -0
  44. package/dist/src/lib/mystenlab/framework/index.d.ts +3 -0
  45. package/dist/src/lib/mystenlab/framework/index.d.ts.map +1 -0
  46. package/dist/src/lib/mystenlab/framework/index.js +17 -0
  47. package/dist/src/lib/mystenlab/framework/sui-system-state.d.ts +33 -0
  48. package/dist/src/lib/mystenlab/framework/sui-system-state.d.ts.map +1 -0
  49. package/dist/src/lib/mystenlab/framework/sui-system-state.js +51 -0
  50. package/dist/src/lib/mystenlab/types/coin.d.ts +89 -0
  51. package/dist/src/lib/mystenlab/types/coin.d.ts.map +1 -0
  52. package/dist/src/lib/mystenlab/types/coin.js +32 -0
  53. package/dist/src/lib/mystenlab/types/common.d.ts +45 -0
  54. package/dist/src/lib/mystenlab/types/common.d.ts.map +1 -0
  55. package/dist/src/lib/mystenlab/types/common.js +84 -0
  56. package/dist/src/lib/mystenlab/types/events.d.ts +198 -0
  57. package/dist/src/lib/mystenlab/types/events.d.ts.map +1 -0
  58. package/dist/src/lib/mystenlab/types/events.js +46 -0
  59. package/dist/src/lib/mystenlab/types/index.d.ts +9 -0
  60. package/dist/src/lib/mystenlab/types/index.d.ts.map +1 -0
  61. package/dist/src/lib/mystenlab/types/index.js +24 -0
  62. package/dist/src/lib/mystenlab/types/normalized.d.ts +254 -0
  63. package/dist/src/lib/mystenlab/types/normalized.d.ts.map +1 -0
  64. package/dist/src/lib/mystenlab/types/normalized.js +112 -0
  65. package/dist/src/lib/mystenlab/types/objects.d.ts +789 -0
  66. package/dist/src/lib/mystenlab/types/objects.d.ts.map +1 -0
  67. package/dist/src/lib/mystenlab/types/objects.js +298 -0
  68. package/dist/src/lib/mystenlab/types/option.d.ts +8 -0
  69. package/dist/src/lib/mystenlab/types/option.d.ts.map +1 -0
  70. package/dist/src/lib/mystenlab/types/option.js +14 -0
  71. package/dist/src/lib/mystenlab/types/sui-bcs.d.ts +110 -0
  72. package/dist/src/lib/mystenlab/types/sui-bcs.d.ts.map +1 -0
  73. package/dist/src/lib/mystenlab/types/sui-bcs.js +107 -0
  74. package/dist/src/lib/mystenlab/types/transactions.d.ts +4487 -0
  75. package/dist/src/lib/mystenlab/types/transactions.d.ts.map +1 -0
  76. package/dist/src/lib/mystenlab/types/transactions.js +367 -0
  77. package/dist/src/lib/stakingBuilder.d.ts +18 -29
  78. package/dist/src/lib/stakingBuilder.d.ts.map +1 -1
  79. package/dist/src/lib/stakingBuilder.js +37 -122
  80. package/dist/src/lib/stakingTransaction.d.ts +4 -12
  81. package/dist/src/lib/stakingTransaction.d.ts.map +1 -1
  82. package/dist/src/lib/stakingTransaction.js +15 -211
  83. package/dist/src/lib/transaction.d.ts +3 -4
  84. package/dist/src/lib/transaction.d.ts.map +1 -1
  85. package/dist/src/lib/transaction.js +35 -115
  86. package/dist/src/lib/transactionBuilder.d.ts +6 -4
  87. package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
  88. package/dist/src/lib/transactionBuilder.js +15 -9
  89. package/dist/src/lib/transactionBuilderFactory.d.ts +5 -5
  90. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
  91. package/dist/src/lib/transactionBuilderFactory.js +8 -11
  92. package/dist/src/lib/transferBuilder.d.ts +13 -10
  93. package/dist/src/lib/transferBuilder.d.ts.map +1 -1
  94. package/dist/src/lib/transferBuilder.js +26 -97
  95. package/dist/src/lib/transferTransaction.d.ts +5 -4
  96. package/dist/src/lib/transferTransaction.d.ts.map +1 -1
  97. package/dist/src/lib/transferTransaction.js +42 -90
  98. package/dist/src/lib/utils.d.ts +10 -95
  99. package/dist/src/lib/utils.d.ts.map +1 -1
  100. package/dist/src/lib/utils.js +61 -183
  101. package/package.json +8 -7
  102. package/dist/src/lib/bcs.d.ts +0 -3
  103. package/dist/src/lib/bcs.d.ts.map +0 -1
  104. package/dist/src/lib/bcs.js +0 -125
  105. package/dist/src/lib/txnSchema.d.ts +0 -7
  106. package/dist/src/lib/txnSchema.d.ts.map +0 -1
  107. package/dist/src/lib/txnSchema.js +0 -86
package/.eslintignore CHANGED
@@ -2,4 +2,5 @@ node_modules
2
2
  .idea
3
3
  public
4
4
  dist
5
+ src/lib/mystenlab/
5
6
 
@@ -1,13 +1,9 @@
1
1
  /// <reference types="node" />
2
- import { SharedObjectRef } from './iface';
3
2
  export declare const UNAVAILABLE_TEXT = "UNAVAILABLE";
4
3
  export declare const TRANSFER_AMOUNT_UNKNOWN_TEXT = "TRANSFER_AMOUNT_UNKNOWN";
5
- export declare const DUMMY_SUI_GAS_PRICE = 1;
6
- export declare const SUI_ADDRESS_LENGTH = 20;
4
+ export declare const DUMMY_SUI_GAS_PRICE = 1000;
5
+ export declare const SUI_ADDRESS_LENGTH = 32;
7
6
  export declare const SER_BUFFER_SIZE = 8192;
8
7
  export declare const SUI_INTENT_BYTES: Buffer;
9
8
  export declare const SIGNATURE_SCHEME_BYTES: number[];
10
- export declare const SUI_PACKAGE_FRAMEWORK_ADDRESS = "0000000000000000000000000000000000000002";
11
- export declare const SUI_SYSTEM_STATE_OBJECT_ID = "0000000000000000000000000000000000000005";
12
- export declare const SUI_SYSTEM_STATE_OBJECT: SharedObjectRef;
13
9
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;AAC9C,eAAO,MAAM,4BAA4B,4BAA4B,CAAC;AAItE,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC,eAAO,MAAM,gBAAgB,QAAyB,CAAC;AAEvD,eAAO,MAAM,sBAAsB,UAAS,CAAC;AAG7C,eAAO,MAAM,6BAA6B,6CAA6C,CAAC;AACxF,eAAO,MAAM,0BAA0B,6CAA6C,CAAC;AAErF,eAAO,MAAM,uBAAuB,iBAIhB,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":";AAAA,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;AAC9C,eAAO,MAAM,4BAA4B,4BAA4B,CAAC;AAItE,eAAO,MAAM,mBAAmB,OAAO,CAAC;AACxC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC,eAAO,MAAM,gBAAgB,QAAyB,CAAC;AAEvD,eAAO,MAAM,sBAAsB,UAAS,CAAC"}
@@ -1,21 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SUI_SYSTEM_STATE_OBJECT = exports.SUI_SYSTEM_STATE_OBJECT_ID = exports.SUI_PACKAGE_FRAMEWORK_ADDRESS = exports.SIGNATURE_SCHEME_BYTES = exports.SUI_INTENT_BYTES = exports.SER_BUFFER_SIZE = exports.SUI_ADDRESS_LENGTH = exports.DUMMY_SUI_GAS_PRICE = exports.TRANSFER_AMOUNT_UNKNOWN_TEXT = exports.UNAVAILABLE_TEXT = void 0;
3
+ exports.SIGNATURE_SCHEME_BYTES = exports.SUI_INTENT_BYTES = exports.SER_BUFFER_SIZE = exports.SUI_ADDRESS_LENGTH = exports.DUMMY_SUI_GAS_PRICE = exports.TRANSFER_AMOUNT_UNKNOWN_TEXT = exports.UNAVAILABLE_TEXT = void 0;
4
4
  exports.UNAVAILABLE_TEXT = 'UNAVAILABLE';
5
5
  exports.TRANSFER_AMOUNT_UNKNOWN_TEXT = 'TRANSFER_AMOUNT_UNKNOWN';
6
6
  // Refer to
7
7
  // https://github.com/MystenLabs/sui/blob/main/crates/sui-types/src/messages.rs#L50
8
- exports.DUMMY_SUI_GAS_PRICE = 1;
9
- exports.SUI_ADDRESS_LENGTH = 20;
8
+ exports.DUMMY_SUI_GAS_PRICE = 1000;
9
+ exports.SUI_ADDRESS_LENGTH = 32;
10
10
  exports.SER_BUFFER_SIZE = 8192;
11
11
  exports.SUI_INTENT_BYTES = Buffer.from([0, 0, 0]);
12
12
  exports.SIGNATURE_SCHEME_BYTES = [0x00];
13
- // SUI staking related constants
14
- exports.SUI_PACKAGE_FRAMEWORK_ADDRESS = '0000000000000000000000000000000000000002';
15
- exports.SUI_SYSTEM_STATE_OBJECT_ID = '0000000000000000000000000000000000000005';
16
- exports.SUI_SYSTEM_STATE_OBJECT = {
17
- objectId: exports.SUI_SYSTEM_STATE_OBJECT_ID,
18
- initialSharedVersion: 1,
19
- mutable: true,
20
- };
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRWEsUUFBQSxnQkFBZ0IsR0FBRyxhQUFhLENBQUM7QUFDakMsUUFBQSw0QkFBNEIsR0FBRyx5QkFBeUIsQ0FBQztBQUV0RSxXQUFXO0FBQ1gsbUZBQW1GO0FBQ3RFLFFBQUEsbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO0FBQ3hCLFFBQUEsa0JBQWtCLEdBQUcsRUFBRSxDQUFDO0FBQ3hCLFFBQUEsZUFBZSxHQUFHLElBQUksQ0FBQztBQUV2QixRQUFBLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFFMUMsUUFBQSxzQkFBc0IsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBRTdDLGdDQUFnQztBQUNuQixRQUFBLDZCQUE2QixHQUFHLDBDQUEwQyxDQUFDO0FBQzNFLFFBQUEsMEJBQTBCLEdBQUcsMENBQTBDLENBQUM7QUFFeEUsUUFBQSx1QkFBdUIsR0FBRztJQUNyQyxRQUFRLEVBQUUsa0NBQTBCO0lBQ3BDLG9CQUFvQixFQUFFLENBQUM7SUFDdkIsT0FBTyxFQUFFLElBQUk7Q0FDSyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2hhcmVkT2JqZWN0UmVmIH0gZnJvbSAnLi9pZmFjZSc7XG5cbmV4cG9ydCBjb25zdCBVTkFWQUlMQUJMRV9URVhUID0gJ1VOQVZBSUxBQkxFJztcbmV4cG9ydCBjb25zdCBUUkFOU0ZFUl9BTU9VTlRfVU5LTk9XTl9URVhUID0gJ1RSQU5TRkVSX0FNT1VOVF9VTktOT1dOJztcblxuLy8gUmVmZXIgdG9cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9NeXN0ZW5MYWJzL3N1aS9ibG9iL21haW4vY3JhdGVzL3N1aS10eXBlcy9zcmMvbWVzc2FnZXMucnMjTDUwXG5leHBvcnQgY29uc3QgRFVNTVlfU1VJX0dBU19QUklDRSA9IDE7XG5leHBvcnQgY29uc3QgU1VJX0FERFJFU1NfTEVOR1RIID0gMjA7XG5leHBvcnQgY29uc3QgU0VSX0JVRkZFUl9TSVpFID0gODE5MjtcblxuZXhwb3J0IGNvbnN0IFNVSV9JTlRFTlRfQllURVMgPSBCdWZmZXIuZnJvbShbMCwgMCwgMF0pO1xuXG5leHBvcnQgY29uc3QgU0lHTkFUVVJFX1NDSEVNRV9CWVRFUyA9IFsweDAwXTtcblxuLy8gU1VJIHN0YWtpbmcgcmVsYXRlZCBjb25zdGFudHNcbmV4cG9ydCBjb25zdCBTVUlfUEFDS0FHRV9GUkFNRVdPUktfQUREUkVTUyA9ICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyJztcbmV4cG9ydCBjb25zdCBTVUlfU1lTVEVNX1NUQVRFX09CSkVDVF9JRCA9ICcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1JztcblxuZXhwb3J0IGNvbnN0IFNVSV9TWVNURU1fU1RBVEVfT0JKRUNUID0ge1xuICBvYmplY3RJZDogU1VJX1NZU1RFTV9TVEFURV9PQkpFQ1RfSUQsXG4gIGluaXRpYWxTaGFyZWRWZXJzaW9uOiAxLFxuICBtdXRhYmxlOiB0cnVlLFxufSBhcyBTaGFyZWRPYmplY3RSZWY7XG4iXX0=
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxnQkFBZ0IsR0FBRyxhQUFhLENBQUM7QUFDakMsUUFBQSw0QkFBNEIsR0FBRyx5QkFBeUIsQ0FBQztBQUV0RSxXQUFXO0FBQ1gsbUZBQW1GO0FBQ3RFLFFBQUEsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO0FBQzNCLFFBQUEsa0JBQWtCLEdBQUcsRUFBRSxDQUFDO0FBQ3hCLFFBQUEsZUFBZSxHQUFHLElBQUksQ0FBQztBQUV2QixRQUFBLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFFMUMsUUFBQSxzQkFBc0IsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFVOQVZBSUxBQkxFX1RFWFQgPSAnVU5BVkFJTEFCTEUnO1xuZXhwb3J0IGNvbnN0IFRSQU5TRkVSX0FNT1VOVF9VTktOT1dOX1RFWFQgPSAnVFJBTlNGRVJfQU1PVU5UX1VOS05PV04nO1xuXG4vLyBSZWZlciB0b1xuLy8gaHR0cHM6Ly9naXRodWIuY29tL015c3RlbkxhYnMvc3VpL2Jsb2IvbWFpbi9jcmF0ZXMvc3VpLXR5cGVzL3NyYy9tZXNzYWdlcy5ycyNMNTBcbmV4cG9ydCBjb25zdCBEVU1NWV9TVUlfR0FTX1BSSUNFID0gMTAwMDtcbmV4cG9ydCBjb25zdCBTVUlfQUREUkVTU19MRU5HVEggPSAzMjtcbmV4cG9ydCBjb25zdCBTRVJfQlVGRkVSX1NJWkUgPSA4MTkyO1xuXG5leHBvcnQgY29uc3QgU1VJX0lOVEVOVF9CWVRFUyA9IEJ1ZmZlci5mcm9tKFswLCAwLCAwXSk7XG5cbmV4cG9ydCBjb25zdCBTSUdOQVRVUkVfU0NIRU1FX0JZVEVTID0gWzB4MDBdO1xuIl19
@@ -1,174 +1,49 @@
1
- import { TransactionExplanation as BaseTransactionExplanation, TransactionType } from '@bitgo-beta/sdk-core';
1
+ import { Recipient, TransactionExplanation as BaseTransactionExplanation, TransactionType } from '@bitgo-beta/sdk-core';
2
+ import { GasData, ProgrammableTransaction, SuiAddress, SuiObjectRef, TransactionExpiration } from './mystenlab/types';
3
+ import { TransactionCommand, TransactionInput } from './mystenlab/builder';
2
4
  export declare enum SuiTransactionType {
3
- Pay = "Pay",
4
- PaySui = "PaySui",
5
- PayAllSui = "PayAllSui",
6
- AddDelegation = "AddDelegation",
7
- WithdrawDelegation = "WithdrawDelegation",
8
- SwitchDelegation = "SwitchDelegation"
5
+ Transfer = "Transfer",
6
+ AddStake = "AddStake",
7
+ WithdrawStake = "WithdrawStake"
9
8
  }
10
9
  export interface TransactionExplanation extends BaseTransactionExplanation {
11
10
  type: TransactionType;
12
11
  }
13
- export declare type SuiObjectRef = {
14
- /** Hex code as string representing the object id */
15
- objectId: string;
16
- /** Object version */
17
- version: number;
18
- /** Base64 string representing the object digest */
19
- digest: string;
20
- };
21
- export declare type ObjectId = string;
22
- export declare type SuiAddress = string;
23
- export declare type SuiJsonValue = boolean | number | string | SuiObjectRef | SharedObjectRef | CallArg | Array<unknown>;
24
- /**
25
- * Kind of a TypeTag which is represented by a Move type identifier.
26
- */
27
- export declare type StructTag = {
28
- address: string;
29
- module: string;
30
- name: string;
31
- typeParams: TypeTag[];
32
- };
33
- /**
34
- * Sui TypeTag object. A decoupled `0x...::module::Type<???>` parameter.
35
- */
36
- export declare type TypeTag = {
37
- bool: null;
38
- } | {
39
- u8: null;
40
- } | {
41
- u64: null;
42
- } | {
43
- u128: null;
44
- } | {
45
- address: null;
46
- } | {
47
- signer: null;
48
- } | {
49
- vector: TypeTag;
50
- } | {
51
- struct: StructTag;
52
- } | {
53
- u16: null;
54
- } | {
55
- u32: null;
56
- } | {
57
- u256: null;
58
- };
59
- /**
60
- * A reference to a shared object.
61
- */
62
- export declare type SharedObjectRef = {
63
- /** Hex code as string representing the object id */
64
- objectId: string;
65
- /** The version the object was shared at */
66
- initialSharedVersion: number;
67
- /** Whether reference is mutable */
68
- mutable: boolean;
69
- };
70
- export declare type ImmOrOwnedArg = {
71
- ImmOrOwned: SuiObjectRef;
72
- };
73
- export declare type SharedArg = {
74
- Shared: SharedObjectRef;
75
- };
76
- export declare type ObjectArg = ImmOrOwnedArg | SharedArg;
77
- export declare type ObjVecArg = {
78
- ObjVec: ArrayLike<ObjectArg>;
79
- };
80
- /**
81
- * An object argument.
82
- */
83
- export declare type CallArg = {
84
- Pure: ArrayLike<number>;
85
- } | {
86
- Object: ObjectArg;
87
- } | ObjVecArg;
88
- export declare type TxDetails = PayTxDetails | PaySuiTxDetails | PayAllSuiTxDetails | MoveCallTxDetails;
89
- export interface PayTxDetails {
90
- Pay: {
91
- coins: SuiObjectRef[];
92
- recipients: string[];
93
- amounts: number[];
94
- };
95
- }
96
- export interface PaySuiTxDetails {
97
- PaySui: {
98
- coins: SuiObjectRef[];
99
- recipients: string[];
100
- amounts: number[];
101
- };
102
- }
103
- export interface PayAllSuiTxDetails {
104
- PayAllSui: {
105
- coins: SuiObjectRef[];
106
- recipient: string;
107
- };
108
- }
109
- /**
110
- * Transaction type used for calling Move modules' functions.
111
- * Should be crafted carefully, because the order of type parameters and
112
- * arguments matters.
113
- */
114
- export interface MoveCallTxDetails {
115
- Call: {
116
- package: SuiAddress;
117
- module: string;
118
- function: string;
119
- typeArguments: TypeTag[];
120
- arguments: SuiJsonValue[];
121
- };
122
- }
123
- export interface GasData {
124
- owner: string;
125
- price: number;
126
- budget: number;
127
- payment?: SuiObjectRef;
128
- }
129
- /**
130
- * The transaction data returned from the toJson() function of a transaction
131
- */
132
12
  export interface TxData {
133
13
  id?: string;
14
+ sender: SuiAddress;
15
+ expiration: TransactionExpiration;
16
+ gasData: GasData;
134
17
  kind: {
135
- Single: TxDetails;
18
+ ProgrammableTransaction: TransferProgrammableTransaction | StakingProgrammableTransaction;
136
19
  };
137
- sender: string;
138
- gasData: GasData;
139
- }
140
- export interface PayTx {
141
- coins: SuiObjectRef[];
142
- recipients: string[];
143
- amounts: number[];
144
20
  }
145
- export interface MoveCallTx {
146
- package: SuiAddress;
147
- module: string;
148
- function: string;
149
- typeArguments: TypeTag[];
150
- arguments: SuiJsonValue[];
151
- }
152
- export interface SuiTransaction<T = PayTx | MoveCallTx> {
21
+ export declare type TransferProgrammableTransaction = ProgrammableTransaction | {
22
+ inputs: TransactionInput[];
23
+ commands: TransactionCommand[];
24
+ };
25
+ export declare type StakingProgrammableTransaction = ProgrammableTransaction | {
26
+ inputs: TransactionInput[];
27
+ commands: TransactionCommand[];
28
+ };
29
+ export interface SuiTransaction<T = TransferProgrammableTransaction | StakingProgrammableTransaction> {
30
+ id?: string;
153
31
  type: SuiTransactionType;
154
32
  sender: string;
155
33
  tx: T;
156
34
  gasData: GasData;
157
35
  }
158
- export interface RequestAddDelegation {
36
+ export interface TransferTx {
159
37
  coins: SuiObjectRef[];
160
- amount: number;
161
- validatorAddress: SuiAddress;
38
+ recipients: Recipient[];
162
39
  }
163
- export interface RequestWithdrawDelegation {
164
- delegationObjectId: SuiObjectRef;
165
- stakedSuiObjectId: SuiObjectRef;
40
+ export interface RequestAddStake {
41
+ coins: SuiObjectRef[];
166
42
  amount: number;
43
+ validatorAddress: SuiAddress;
167
44
  }
168
- export interface RequestSwitchDelegation {
169
- delegationObjectId: SuiObjectRef;
45
+ export interface RequestWithdrawStake {
170
46
  stakedSuiObjectId: SuiObjectRef;
171
- newValidatorAddress: SuiAddress;
172
47
  amount: number;
173
48
  }
174
49
  /**
@@ -176,39 +51,22 @@ export interface RequestSwitchDelegation {
176
51
  */
177
52
  export declare enum MethodNames {
178
53
  /**
179
- * Add delegated stake to a validator's staking pool.
180
- *
181
- * @see https://github.com/MystenLabs/sui/blob/main/crates/sui-framework/docs/sui_system.md#function-request_add_delegation
182
- */
183
- RequestAddDelegation = "request_add_delegation",
184
- /**
185
- * Add delegated stake to a validator's staking pool using multiple coins.
54
+ * Add stake to a validator's staking pool.
186
55
  *
187
- * @see https://github.com/MystenLabs/sui/blob/main/crates/sui-framework/docs/sui_system.md#0x2_sui_system_request_add_delegation_mul_coin
56
+ * @see https://github.com/MystenLabs/sui/blob/main/crates/sui-framework/docs/sui_system.md#function-request_add_stake
188
57
  */
189
- RequestAddDelegationMulCoin = "request_add_delegation_mul_coin",
58
+ RequestAddStake = "request_add_stake",
190
59
  /**
191
- * Switch delegation from the current validator to a new one..
60
+ * Add stake to a validator's staking pool using multiple coins..
192
61
  *
193
- * @see https://github.com/MystenLabs/sui/blob/main/crates/sui-framework/docs/sui_system.md#0x2_sui_system_request_switch_delegation
62
+ * @see https://github.com/MystenLabs/sui/blob/main/crates/sui-framework/docs/sui_system.md#function-request_add_stake_mul_coin
194
63
  */
195
- RequestSwitchDelegation = "request_switch_delegation",
196
- /**
197
- * Withdraw some portion of a delegation from a validator's staking pool..
198
- *
199
- * @see https://github.com/MystenLabs/sui/blob/main/crates/sui-framework/docs/sui_system.md#function-request_withdraw_delegation
200
- */
201
- RequestWithdrawDelegation = "request_withdraw_delegation"
202
- }
203
- /**
204
- * Sui modules
205
- */
206
- export declare enum ModulesNames {
64
+ RequestAddStakeMulCoin = "request_add_stake_mul_coin",
207
65
  /**
208
- * Module 0x2::sui_system
66
+ * Withdraw some portion of a stake from a validator's staking pool.
209
67
  *
210
- * @see https://github.com/MystenLabs/sui/blob/main/crates/sui-framework/docs/sui_system.md
68
+ * @see https://github.com/MystenLabs/sui/blob/main/crates/sui-framework/docs/sui_system.md#function-request_withdraw_stake
211
69
  */
212
- SuiSystem = "sui_system"
70
+ RequestWithdrawStake = "request_withdraw_stake"
213
71
  }
214
72
  //# sourceMappingURL=iface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,sBAAsB,IAAI,0BAA0B,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACxH,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACtH,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE3E,oBAAY,kBAAkB;IAC5B,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,aAAa,kBAAkB;CAChC;AAED,MAAM,WAAW,sBAAuB,SAAQ,0BAA0B;IACxE,IAAI,EAAE,eAAe,CAAC;CACvB;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE,qBAAqB,CAAC;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE;QAAE,uBAAuB,EAAE,+BAA+B,GAAG,8BAA8B,CAAA;KAAE,CAAC;CACrG;AAED,oBAAY,+BAA+B,GACvC,uBAAuB,GACvB;IACE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,QAAQ,EAAE,kBAAkB,EAAE,CAAC;CAChC,CAAC;AAEN,oBAAY,8BAA8B,GACtC,uBAAuB,GACvB;IACE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,QAAQ,EAAE,kBAAkB,EAAE,CAAC;CAChC,CAAC;AAEN,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,+BAA+B,GAAG,8BAA8B;IAClG,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,kBAAkB,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,CAAC,CAAC;IACN,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,UAAU,CAAC;CAC9B;AAED,MAAM,WAAW,oBAAoB;IACnC,iBAAiB,EAAE,YAAY,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,oBAAY,WAAW;IACrB;;;;OAIG;IACH,eAAe,sBAAsB;IACrC;;;;OAIG;IACH,sBAAsB,+BAA+B;IACrD;;;;OAIG;IACH,oBAAoB,2BAA2B;CAChD"}
@@ -1,14 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ModulesNames = exports.MethodNames = exports.SuiTransactionType = void 0;
3
+ exports.MethodNames = exports.SuiTransactionType = void 0;
4
4
  var SuiTransactionType;
5
5
  (function (SuiTransactionType) {
6
- SuiTransactionType["Pay"] = "Pay";
7
- SuiTransactionType["PaySui"] = "PaySui";
8
- SuiTransactionType["PayAllSui"] = "PayAllSui";
9
- SuiTransactionType["AddDelegation"] = "AddDelegation";
10
- SuiTransactionType["WithdrawDelegation"] = "WithdrawDelegation";
11
- SuiTransactionType["SwitchDelegation"] = "SwitchDelegation";
6
+ SuiTransactionType["Transfer"] = "Transfer";
7
+ SuiTransactionType["AddStake"] = "AddStake";
8
+ SuiTransactionType["WithdrawStake"] = "WithdrawStake";
12
9
  })(SuiTransactionType = exports.SuiTransactionType || (exports.SuiTransactionType = {}));
13
10
  /**
14
11
  * Method names for the transaction method. Names change based on the type of transaction e.g 'request_add_delegation_mul_coin' for the staking transaction
@@ -16,40 +13,22 @@ var SuiTransactionType;
16
13
  var MethodNames;
17
14
  (function (MethodNames) {
18
15
  /**
19
- * Add delegated stake to a validator's staking pool.
16
+ * Add stake to a validator's staking pool.
20
17
  *
21
- * @see https://github.com/MystenLabs/sui/blob/main/crates/sui-framework/docs/sui_system.md#function-request_add_delegation
18
+ * @see https://github.com/MystenLabs/sui/blob/main/crates/sui-framework/docs/sui_system.md#function-request_add_stake
22
19
  */
23
- MethodNames["RequestAddDelegation"] = "request_add_delegation";
20
+ MethodNames["RequestAddStake"] = "request_add_stake";
24
21
  /**
25
- * Add delegated stake to a validator's staking pool using multiple coins.
22
+ * Add stake to a validator's staking pool using multiple coins..
26
23
  *
27
- * @see https://github.com/MystenLabs/sui/blob/main/crates/sui-framework/docs/sui_system.md#0x2_sui_system_request_add_delegation_mul_coin
24
+ * @see https://github.com/MystenLabs/sui/blob/main/crates/sui-framework/docs/sui_system.md#function-request_add_stake_mul_coin
28
25
  */
29
- MethodNames["RequestAddDelegationMulCoin"] = "request_add_delegation_mul_coin";
26
+ MethodNames["RequestAddStakeMulCoin"] = "request_add_stake_mul_coin";
30
27
  /**
31
- * Switch delegation from the current validator to a new one..
28
+ * Withdraw some portion of a stake from a validator's staking pool.
32
29
  *
33
- * @see https://github.com/MystenLabs/sui/blob/main/crates/sui-framework/docs/sui_system.md#0x2_sui_system_request_switch_delegation
30
+ * @see https://github.com/MystenLabs/sui/blob/main/crates/sui-framework/docs/sui_system.md#function-request_withdraw_stake
34
31
  */
35
- MethodNames["RequestSwitchDelegation"] = "request_switch_delegation";
36
- /**
37
- * Withdraw some portion of a delegation from a validator's staking pool..
38
- *
39
- * @see https://github.com/MystenLabs/sui/blob/main/crates/sui-framework/docs/sui_system.md#function-request_withdraw_delegation
40
- */
41
- MethodNames["RequestWithdrawDelegation"] = "request_withdraw_delegation";
32
+ MethodNames["RequestWithdrawStake"] = "request_withdraw_stake";
42
33
  })(MethodNames = exports.MethodNames || (exports.MethodNames = {}));
43
- /**
44
- * Sui modules
45
- */
46
- var ModulesNames;
47
- (function (ModulesNames) {
48
- /**
49
- * Module 0x2::sui_system
50
- *
51
- * @see https://github.com/MystenLabs/sui/blob/main/crates/sui-framework/docs/sui_system.md
52
- */
53
- ModulesNames["SuiSystem"] = "sui_system";
54
- })(ModulesNames = exports.ModulesNames || (exports.ModulesNames = {}));
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLElBQVksa0JBT1g7QUFQRCxXQUFZLGtCQUFrQjtJQUM1QixpQ0FBVyxDQUFBO0lBQ1gsdUNBQWlCLENBQUE7SUFDakIsNkNBQXVCLENBQUE7SUFDdkIscURBQStCLENBQUE7SUFDL0IsK0RBQXlDLENBQUE7SUFDekMsMkRBQXFDLENBQUE7QUFDdkMsQ0FBQyxFQVBXLGtCQUFrQixHQUFsQiwwQkFBa0IsS0FBbEIsMEJBQWtCLFFBTzdCO0FBd0tEOztHQUVHO0FBQ0gsSUFBWSxXQXlCWDtBQXpCRCxXQUFZLFdBQVc7SUFDckI7Ozs7T0FJRztJQUNILDhEQUErQyxDQUFBO0lBQy9DOzs7O09BSUc7SUFDSCw4RUFBK0QsQ0FBQTtJQUMvRDs7OztPQUlHO0lBQ0gsb0VBQXFELENBQUE7SUFDckQ7Ozs7T0FJRztJQUNILHdFQUF5RCxDQUFBO0FBQzNELENBQUMsRUF6QlcsV0FBVyxHQUFYLG1CQUFXLEtBQVgsbUJBQVcsUUF5QnRCO0FBRUQ7O0dBRUc7QUFDSCxJQUFZLFlBT1g7QUFQRCxXQUFZLFlBQVk7SUFDdEI7Ozs7T0FJRztJQUNILHdDQUF3QixDQUFBO0FBQzFCLENBQUMsRUFQVyxZQUFZLEdBQVosb0JBQVksS0FBWixvQkFBWSxRQU92QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uRXhwbGFuYXRpb24gYXMgQmFzZVRyYW5zYWN0aW9uRXhwbGFuYXRpb24sIFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcblxuZXhwb3J0IGVudW0gU3VpVHJhbnNhY3Rpb25UeXBlIHtcbiAgUGF5ID0gJ1BheScsXG4gIFBheVN1aSA9ICdQYXlTdWknLFxuICBQYXlBbGxTdWkgPSAnUGF5QWxsU3VpJyxcbiAgQWRkRGVsZWdhdGlvbiA9ICdBZGREZWxlZ2F0aW9uJyxcbiAgV2l0aGRyYXdEZWxlZ2F0aW9uID0gJ1dpdGhkcmF3RGVsZWdhdGlvbicsXG4gIFN3aXRjaERlbGVnYXRpb24gPSAnU3dpdGNoRGVsZWdhdGlvbicsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIHtcbiAgdHlwZTogVHJhbnNhY3Rpb25UeXBlO1xufVxuXG5leHBvcnQgdHlwZSBTdWlPYmplY3RSZWYgPSB7XG4gIC8qKiBIZXggY29kZSBhcyBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBvYmplY3QgaWQgKi9cbiAgb2JqZWN0SWQ6IHN0cmluZztcbiAgLyoqIE9iamVjdCB2ZXJzaW9uICovXG4gIHZlcnNpb246IG51bWJlcjtcbiAgLyoqIEJhc2U2NCBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBvYmplY3QgZGlnZXN0ICovXG4gIGRpZ2VzdDogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgT2JqZWN0SWQgPSBzdHJpbmc7XG5leHBvcnQgdHlwZSBTdWlBZGRyZXNzID0gc3RyaW5nO1xuXG5leHBvcnQgdHlwZSBTdWlKc29uVmFsdWUgPSBib29sZWFuIHwgbnVtYmVyIHwgc3RyaW5nIHwgU3VpT2JqZWN0UmVmIHwgU2hhcmVkT2JqZWN0UmVmIHwgQ2FsbEFyZyB8IEFycmF5PHVua25vd24+O1xuXG4vKipcbiAqIEtpbmQgb2YgYSBUeXBlVGFnIHdoaWNoIGlzIHJlcHJlc2VudGVkIGJ5IGEgTW92ZSB0eXBlIGlkZW50aWZpZXIuXG4gKi9cbmV4cG9ydCB0eXBlIFN0cnVjdFRhZyA9IHtcbiAgYWRkcmVzczogc3RyaW5nO1xuICBtb2R1bGU6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICB0eXBlUGFyYW1zOiBUeXBlVGFnW107XG59O1xuXG4vKipcbiAqIFN1aSBUeXBlVGFnIG9iamVjdC4gQSBkZWNvdXBsZWQgYDB4Li4uOjptb2R1bGU6OlR5cGU8Pz8/PmAgcGFyYW1ldGVyLlxuICovXG5leHBvcnQgdHlwZSBUeXBlVGFnID1cbiAgfCB7IGJvb2w6IG51bGwgfVxuICB8IHsgdTg6IG51bGwgfVxuICB8IHsgdTY0OiBudWxsIH1cbiAgfCB7IHUxMjg6IG51bGwgfVxuICB8IHsgYWRkcmVzczogbnVsbCB9XG4gIHwgeyBzaWduZXI6IG51bGwgfVxuICB8IHsgdmVjdG9yOiBUeXBlVGFnIH1cbiAgfCB7IHN0cnVjdDogU3RydWN0VGFnIH1cbiAgfCB7IHUxNjogbnVsbCB9XG4gIHwgeyB1MzI6IG51bGwgfVxuICB8IHsgdTI1NjogbnVsbCB9O1xuXG4vKipcbiAqIEEgcmVmZXJlbmNlIHRvIGEgc2hhcmVkIG9iamVjdC5cbiAqL1xuZXhwb3J0IHR5cGUgU2hhcmVkT2JqZWN0UmVmID0ge1xuICAvKiogSGV4IGNvZGUgYXMgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgb2JqZWN0IGlkICovXG4gIG9iamVjdElkOiBzdHJpbmc7XG5cbiAgLyoqIFRoZSB2ZXJzaW9uIHRoZSBvYmplY3Qgd2FzIHNoYXJlZCBhdCAqL1xuICBpbml0aWFsU2hhcmVkVmVyc2lvbjogbnVtYmVyO1xuXG4gIC8qKiBXaGV0aGVyIHJlZmVyZW5jZSBpcyBtdXRhYmxlICovXG4gIG11dGFibGU6IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBJbW1Pck93bmVkQXJnID0geyBJbW1Pck93bmVkOiBTdWlPYmplY3RSZWYgfTtcbmV4cG9ydCB0eXBlIFNoYXJlZEFyZyA9IHsgU2hhcmVkOiBTaGFyZWRPYmplY3RSZWYgfTtcbmV4cG9ydCB0eXBlIE9iamVjdEFyZyA9IEltbU9yT3duZWRBcmcgfCBTaGFyZWRBcmc7XG5leHBvcnQgdHlwZSBPYmpWZWNBcmcgPSB7IE9ialZlYzogQXJyYXlMaWtlPE9iamVjdEFyZz4gfTtcbi8qKlxuICogQW4gb2JqZWN0IGFyZ3VtZW50LlxuICovXG5leHBvcnQgdHlwZSBDYWxsQXJnID0geyBQdXJlOiBBcnJheUxpa2U8bnVtYmVyPiB9IHwgeyBPYmplY3Q6IE9iamVjdEFyZyB9IHwgT2JqVmVjQXJnO1xuXG5leHBvcnQgdHlwZSBUeERldGFpbHMgPSBQYXlUeERldGFpbHMgfCBQYXlTdWlUeERldGFpbHMgfCBQYXlBbGxTdWlUeERldGFpbHMgfCBNb3ZlQ2FsbFR4RGV0YWlscztcblxuZXhwb3J0IGludGVyZmFjZSBQYXlUeERldGFpbHMge1xuICBQYXk6IHtcbiAgICBjb2luczogU3VpT2JqZWN0UmVmW107XG4gICAgcmVjaXBpZW50czogc3RyaW5nW107XG4gICAgYW1vdW50czogbnVtYmVyW107XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGF5U3VpVHhEZXRhaWxzIHtcbiAgUGF5U3VpOiB7XG4gICAgY29pbnM6IFN1aU9iamVjdFJlZltdO1xuICAgIHJlY2lwaWVudHM6IHN0cmluZ1tdO1xuICAgIGFtb3VudHM6IG51bWJlcltdO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBheUFsbFN1aVR4RGV0YWlscyB7XG4gIFBheUFsbFN1aToge1xuICAgIGNvaW5zOiBTdWlPYmplY3RSZWZbXTtcbiAgICByZWNpcGllbnQ6IHN0cmluZztcbiAgfTtcbn1cblxuLy8gPT09PT09PT09PSBNb3ZlIENhbGwgVHggPT09PT09PT09PT1cblxuLyoqXG4gKiBUcmFuc2FjdGlvbiB0eXBlIHVzZWQgZm9yIGNhbGxpbmcgTW92ZSBtb2R1bGVzJyBmdW5jdGlvbnMuXG4gKiBTaG91bGQgYmUgY3JhZnRlZCBjYXJlZnVsbHksIGJlY2F1c2UgdGhlIG9yZGVyIG9mIHR5cGUgcGFyYW1ldGVycyBhbmRcbiAqIGFyZ3VtZW50cyBtYXR0ZXJzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1vdmVDYWxsVHhEZXRhaWxzIHtcbiAgQ2FsbDoge1xuICAgIHBhY2thZ2U6IFN1aUFkZHJlc3M7XG4gICAgbW9kdWxlOiBzdHJpbmc7XG4gICAgZnVuY3Rpb246IHN0cmluZztcbiAgICB0eXBlQXJndW1lbnRzOiBUeXBlVGFnW107XG4gICAgYXJndW1lbnRzOiBTdWlKc29uVmFsdWVbXTtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHYXNEYXRhIHtcbiAgb3duZXI6IHN0cmluZzsgLy8gR2FzIE9iamVjdCdzIG93bmVyXG4gIHByaWNlOiBudW1iZXI7XG4gIGJ1ZGdldDogbnVtYmVyO1xuICBwYXltZW50PzogU3VpT2JqZWN0UmVmO1xufVxuXG4vKipcbiAqIFRoZSB0cmFuc2FjdGlvbiBkYXRhIHJldHVybmVkIGZyb20gdGhlIHRvSnNvbigpIGZ1bmN0aW9uIG9mIGEgdHJhbnNhY3Rpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUeERhdGEge1xuICBpZD86IHN0cmluZztcbiAga2luZDogeyBTaW5nbGU6IFR4RGV0YWlscyB9O1xuICBzZW5kZXI6IHN0cmluZztcbiAgZ2FzRGF0YTogR2FzRGF0YTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXlUeCB7XG4gIGNvaW5zOiBTdWlPYmplY3RSZWZbXTtcbiAgcmVjaXBpZW50czogc3RyaW5nW107XG4gIGFtb3VudHM6IG51bWJlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1vdmVDYWxsVHgge1xuICBwYWNrYWdlOiBTdWlBZGRyZXNzO1xuICBtb2R1bGU6IHN0cmluZztcbiAgZnVuY3Rpb246IHN0cmluZztcbiAgdHlwZUFyZ3VtZW50czogVHlwZVRhZ1tdO1xuICBhcmd1bWVudHM6IFN1aUpzb25WYWx1ZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN1aVRyYW5zYWN0aW9uPFQgPSBQYXlUeCB8IE1vdmVDYWxsVHg+IHtcbiAgdHlwZTogU3VpVHJhbnNhY3Rpb25UeXBlO1xuICBzZW5kZXI6IHN0cmluZztcbiAgdHg6IFQ7XG4gIGdhc0RhdGE6IEdhc0RhdGE7XG59XG4vLyBTdGFraW5nIERUT3NcbmV4cG9ydCBpbnRlcmZhY2UgUmVxdWVzdEFkZERlbGVnYXRpb24ge1xuICBjb2luczogU3VpT2JqZWN0UmVmW107XG4gIGFtb3VudDogbnVtYmVyO1xuICB2YWxpZGF0b3JBZGRyZXNzOiBTdWlBZGRyZXNzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVlc3RXaXRoZHJhd0RlbGVnYXRpb24ge1xuICBkZWxlZ2F0aW9uT2JqZWN0SWQ6IFN1aU9iamVjdFJlZjtcbiAgc3Rha2VkU3VpT2JqZWN0SWQ6IFN1aU9iamVjdFJlZjtcbiAgYW1vdW50OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVxdWVzdFN3aXRjaERlbGVnYXRpb24ge1xuICBkZWxlZ2F0aW9uT2JqZWN0SWQ6IFN1aU9iamVjdFJlZjtcbiAgc3Rha2VkU3VpT2JqZWN0SWQ6IFN1aU9iamVjdFJlZjtcbiAgbmV3VmFsaWRhdG9yQWRkcmVzczogU3VpQWRkcmVzcztcbiAgYW1vdW50OiBudW1iZXI7XG59XG5cbi8qKlxuICogTWV0aG9kIG5hbWVzIGZvciB0aGUgdHJhbnNhY3Rpb24gbWV0aG9kLiBOYW1lcyBjaGFuZ2UgYmFzZWQgb24gdGhlIHR5cGUgb2YgdHJhbnNhY3Rpb24gZS5nICdyZXF1ZXN0X2FkZF9kZWxlZ2F0aW9uX211bF9jb2luJyBmb3IgdGhlIHN0YWtpbmcgdHJhbnNhY3Rpb25cbiAqL1xuZXhwb3J0IGVudW0gTWV0aG9kTmFtZXMge1xuICAvKipcbiAgICogQWRkIGRlbGVnYXRlZCBzdGFrZSB0byBhIHZhbGlkYXRvcidzIHN0YWtpbmcgcG9vbC5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vTXlzdGVuTGFicy9zdWkvYmxvYi9tYWluL2NyYXRlcy9zdWktZnJhbWV3b3JrL2RvY3Mvc3VpX3N5c3RlbS5tZCNmdW5jdGlvbi1yZXF1ZXN0X2FkZF9kZWxlZ2F0aW9uXG4gICAqL1xuICBSZXF1ZXN0QWRkRGVsZWdhdGlvbiA9ICdyZXF1ZXN0X2FkZF9kZWxlZ2F0aW9uJyxcbiAgLyoqXG4gICAqIEFkZCBkZWxlZ2F0ZWQgc3Rha2UgdG8gYSB2YWxpZGF0b3IncyBzdGFraW5nIHBvb2wgdXNpbmcgbXVsdGlwbGUgY29pbnMuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL015c3RlbkxhYnMvc3VpL2Jsb2IvbWFpbi9jcmF0ZXMvc3VpLWZyYW1ld29yay9kb2NzL3N1aV9zeXN0ZW0ubWQjMHgyX3N1aV9zeXN0ZW1fcmVxdWVzdF9hZGRfZGVsZWdhdGlvbl9tdWxfY29pblxuICAgKi9cbiAgUmVxdWVzdEFkZERlbGVnYXRpb25NdWxDb2luID0gJ3JlcXVlc3RfYWRkX2RlbGVnYXRpb25fbXVsX2NvaW4nLFxuICAvKipcbiAgICogU3dpdGNoIGRlbGVnYXRpb24gZnJvbSB0aGUgY3VycmVudCB2YWxpZGF0b3IgdG8gYSBuZXcgb25lLi5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vTXlzdGVuTGFicy9zdWkvYmxvYi9tYWluL2NyYXRlcy9zdWktZnJhbWV3b3JrL2RvY3Mvc3VpX3N5c3RlbS5tZCMweDJfc3VpX3N5c3RlbV9yZXF1ZXN0X3N3aXRjaF9kZWxlZ2F0aW9uXG4gICAqL1xuICBSZXF1ZXN0U3dpdGNoRGVsZWdhdGlvbiA9ICdyZXF1ZXN0X3N3aXRjaF9kZWxlZ2F0aW9uJyxcbiAgLyoqXG4gICAqIFdpdGhkcmF3IHNvbWUgcG9ydGlvbiBvZiBhIGRlbGVnYXRpb24gZnJvbSBhIHZhbGlkYXRvcidzIHN0YWtpbmcgcG9vbC4uXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL015c3RlbkxhYnMvc3VpL2Jsb2IvbWFpbi9jcmF0ZXMvc3VpLWZyYW1ld29yay9kb2NzL3N1aV9zeXN0ZW0ubWQjZnVuY3Rpb24tcmVxdWVzdF93aXRoZHJhd19kZWxlZ2F0aW9uXG4gICAqL1xuICBSZXF1ZXN0V2l0aGRyYXdEZWxlZ2F0aW9uID0gJ3JlcXVlc3Rfd2l0aGRyYXdfZGVsZWdhdGlvbicsXG59XG5cbi8qKlxuICogU3VpIG1vZHVsZXNcbiAqL1xuZXhwb3J0IGVudW0gTW9kdWxlc05hbWVzIHtcbiAgLyoqXG4gICAqIE1vZHVsZSAweDI6OnN1aV9zeXN0ZW1cbiAgICpcbiAgICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vTXlzdGVuTGFicy9zdWkvYmxvYi9tYWluL2NyYXRlcy9zdWktZnJhbWV3b3JrL2RvY3Mvc3VpX3N5c3RlbS5tZFxuICAgKi9cbiAgU3VpU3lzdGVtID0gJ3N1aV9zeXN0ZW0nLFxufVxuIl19
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLElBQVksa0JBSVg7QUFKRCxXQUFZLGtCQUFrQjtJQUM1QiwyQ0FBcUIsQ0FBQTtJQUNyQiwyQ0FBcUIsQ0FBQTtJQUNyQixxREFBK0IsQ0FBQTtBQUNqQyxDQUFDLEVBSlcsa0JBQWtCLEdBQWxCLDBCQUFrQixLQUFsQiwwQkFBa0IsUUFJN0I7QUFvREQ7O0dBRUc7QUFDSCxJQUFZLFdBbUJYO0FBbkJELFdBQVksV0FBVztJQUNyQjs7OztPQUlHO0lBQ0gsb0RBQXFDLENBQUE7SUFDckM7Ozs7T0FJRztJQUNILG9FQUFxRCxDQUFBO0lBQ3JEOzs7O09BSUc7SUFDSCw4REFBK0MsQ0FBQTtBQUNqRCxDQUFDLEVBbkJXLFdBQVcsR0FBWCxtQkFBVyxLQUFYLG1CQUFXLFFBbUJ0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlY2lwaWVudCwgVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiBhcyBCYXNlVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgR2FzRGF0YSwgUHJvZ3JhbW1hYmxlVHJhbnNhY3Rpb24sIFN1aUFkZHJlc3MsIFN1aU9iamVjdFJlZiwgVHJhbnNhY3Rpb25FeHBpcmF0aW9uIH0gZnJvbSAnLi9teXN0ZW5sYWIvdHlwZXMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25Db21tYW5kLCBUcmFuc2FjdGlvbklucHV0IH0gZnJvbSAnLi9teXN0ZW5sYWIvYnVpbGRlcic7XG5cbmV4cG9ydCBlbnVtIFN1aVRyYW5zYWN0aW9uVHlwZSB7XG4gIFRyYW5zZmVyID0gJ1RyYW5zZmVyJyxcbiAgQWRkU3Rha2UgPSAnQWRkU3Rha2UnLFxuICBXaXRoZHJhd1N0YWtlID0gJ1dpdGhkcmF3U3Rha2UnLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zYWN0aW9uRXhwbGFuYXRpb24gZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB7XG4gIHR5cGU6IFRyYW5zYWN0aW9uVHlwZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUeERhdGEge1xuICBpZD86IHN0cmluZztcbiAgc2VuZGVyOiBTdWlBZGRyZXNzO1xuICBleHBpcmF0aW9uOiBUcmFuc2FjdGlvbkV4cGlyYXRpb247XG4gIGdhc0RhdGE6IEdhc0RhdGE7XG4gIGtpbmQ6IHsgUHJvZ3JhbW1hYmxlVHJhbnNhY3Rpb246IFRyYW5zZmVyUHJvZ3JhbW1hYmxlVHJhbnNhY3Rpb24gfCBTdGFraW5nUHJvZ3JhbW1hYmxlVHJhbnNhY3Rpb24gfTtcbn1cblxuZXhwb3J0IHR5cGUgVHJhbnNmZXJQcm9ncmFtbWFibGVUcmFuc2FjdGlvbiA9XG4gIHwgUHJvZ3JhbW1hYmxlVHJhbnNhY3Rpb25cbiAgfCB7XG4gICAgICBpbnB1dHM6IFRyYW5zYWN0aW9uSW5wdXRbXTtcbiAgICAgIGNvbW1hbmRzOiBUcmFuc2FjdGlvbkNvbW1hbmRbXTtcbiAgICB9O1xuXG5leHBvcnQgdHlwZSBTdGFraW5nUHJvZ3JhbW1hYmxlVHJhbnNhY3Rpb24gPVxuICB8IFByb2dyYW1tYWJsZVRyYW5zYWN0aW9uXG4gIHwge1xuICAgICAgaW5wdXRzOiBUcmFuc2FjdGlvbklucHV0W107XG4gICAgICBjb21tYW5kczogVHJhbnNhY3Rpb25Db21tYW5kW107XG4gICAgfTtcblxuZXhwb3J0IGludGVyZmFjZSBTdWlUcmFuc2FjdGlvbjxUID0gVHJhbnNmZXJQcm9ncmFtbWFibGVUcmFuc2FjdGlvbiB8IFN0YWtpbmdQcm9ncmFtbWFibGVUcmFuc2FjdGlvbj4ge1xuICBpZD86IHN0cmluZztcbiAgdHlwZTogU3VpVHJhbnNhY3Rpb25UeXBlO1xuICBzZW5kZXI6IHN0cmluZztcbiAgdHg6IFQ7XG4gIGdhc0RhdGE6IEdhc0RhdGE7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNmZXJUeCB7XG4gIGNvaW5zOiBTdWlPYmplY3RSZWZbXTtcbiAgcmVjaXBpZW50czogUmVjaXBpZW50W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVxdWVzdEFkZFN0YWtlIHtcbiAgY29pbnM6IFN1aU9iamVjdFJlZltdO1xuICBhbW91bnQ6IG51bWJlcjtcbiAgdmFsaWRhdG9yQWRkcmVzczogU3VpQWRkcmVzcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0V2l0aGRyYXdTdGFrZSB7XG4gIHN0YWtlZFN1aU9iamVjdElkOiBTdWlPYmplY3RSZWY7XG4gIGFtb3VudDogbnVtYmVyO1xufVxuXG4vKipcbiAqIE1ldGhvZCBuYW1lcyBmb3IgdGhlIHRyYW5zYWN0aW9uIG1ldGhvZC4gTmFtZXMgY2hhbmdlIGJhc2VkIG9uIHRoZSB0eXBlIG9mIHRyYW5zYWN0aW9uIGUuZyAncmVxdWVzdF9hZGRfZGVsZWdhdGlvbl9tdWxfY29pbicgZm9yIHRoZSBzdGFraW5nIHRyYW5zYWN0aW9uXG4gKi9cbmV4cG9ydCBlbnVtIE1ldGhvZE5hbWVzIHtcbiAgLyoqXG4gICAqIEFkZCBzdGFrZSB0byBhIHZhbGlkYXRvcidzIHN0YWtpbmcgcG9vbC5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vTXlzdGVuTGFicy9zdWkvYmxvYi9tYWluL2NyYXRlcy9zdWktZnJhbWV3b3JrL2RvY3Mvc3VpX3N5c3RlbS5tZCNmdW5jdGlvbi1yZXF1ZXN0X2FkZF9zdGFrZVxuICAgKi9cbiAgUmVxdWVzdEFkZFN0YWtlID0gJ3JlcXVlc3RfYWRkX3N0YWtlJyxcbiAgLyoqXG4gICAqIEFkZCBzdGFrZSB0byBhIHZhbGlkYXRvcidzIHN0YWtpbmcgcG9vbCB1c2luZyBtdWx0aXBsZSBjb2lucy4uXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL015c3RlbkxhYnMvc3VpL2Jsb2IvbWFpbi9jcmF0ZXMvc3VpLWZyYW1ld29yay9kb2NzL3N1aV9zeXN0ZW0ubWQjZnVuY3Rpb24tcmVxdWVzdF9hZGRfc3Rha2VfbXVsX2NvaW5cbiAgICovXG4gIFJlcXVlc3RBZGRTdGFrZU11bENvaW4gPSAncmVxdWVzdF9hZGRfc3Rha2VfbXVsX2NvaW4nLFxuICAvKipcbiAgICogV2l0aGRyYXcgc29tZSBwb3J0aW9uIG9mIGEgc3Rha2UgZnJvbSBhIHZhbGlkYXRvcidzIHN0YWtpbmcgcG9vbC5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vTXlzdGVuTGFicy9zdWkvYmxvYi9tYWluL2NyYXRlcy9zdWktZnJhbWV3b3JrL2RvY3Mvc3VpX3N5c3RlbS5tZCNmdW5jdGlvbi1yZXF1ZXN0X3dpdGhkcmF3X3N0YWtlXG4gICAqL1xuICBSZXF1ZXN0V2l0aGRyYXdTdGFrZSA9ICdyZXF1ZXN0X3dpdGhkcmF3X3N0YWtlJyxcbn1cbiJdfQ==
@@ -1,4 +1,8 @@
1
1
  import { DefaultKeys, Ed25519KeyPair, KeyPairOptions } from '@bitgo-beta/sdk-core';
2
+ export declare const SIGNATURE_SCHEME_TO_FLAG: {
3
+ ED25519: number;
4
+ Secp256k1: number;
5
+ };
2
6
  export declare class KeyPair extends Ed25519KeyPair {
3
7
  /**
4
8
  * Public constructor. By default, creates a key pair with a random master seed.
@@ -1 +1 @@
1
- {"version":3,"file":"keyPair.d.ts","sourceRoot":"","sources":["../../../src/lib/keyPair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAgB,MAAM,sBAAsB,CAAC;AAMjG,qBAAa,OAAQ,SAAQ,cAAc;IACzC;;;;OAIG;gBACS,MAAM,CAAC,EAAE,cAAc;IAInC,kBAAkB;IAClB,OAAO,IAAI,WAAW;IAQtB,kBAAkB;IAClB,wCAAwC,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW;IAKlE,kBAAkB;IAClB,uCAAuC,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW;IASjE,kBAAkB;IAClB,UAAU,IAAI,MAAM;IAUpB;;;;;OAKG;IACH,uBAAuB,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU;CAOzD"}
1
+ {"version":3,"file":"keyPair.d.ts","sourceRoot":"","sources":["../../../src/lib/keyPair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAgB,MAAM,sBAAsB,CAAC;AAOjG,eAAO,MAAM,wBAAwB;;;CAGpC,CAAC;AAEF,qBAAa,OAAQ,SAAQ,cAAc;IACzC;;;;OAIG;gBACS,MAAM,CAAC,EAAE,cAAc;IAInC,kBAAkB;IAClB,OAAO,IAAI,WAAW;IAQtB,kBAAkB;IAClB,wCAAwC,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW;IAKlE,kBAAkB;IAClB,uCAAuC,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW;IASjE,kBAAkB;IAClB,UAAU,IAAI,MAAM;IAcpB;;;;;OAKG;IACH,uBAAuB,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU;CAOzD"}
@@ -22,12 +22,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
22
22
  return (mod && mod.__esModule) ? mod : { "default": mod };
23
23
  };
24
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.KeyPair = void 0;
25
+ exports.KeyPair = exports.SIGNATURE_SCHEME_TO_FLAG = void 0;
26
26
  const sdk_core_1 = require("@bitgo-beta/sdk-core");
27
- const sha3 = __importStar(require("js-sha3"));
27
+ const types_1 = require("./mystenlab/types");
28
28
  const utils_1 = __importDefault(require("./utils"));
29
29
  const bs58_1 = __importDefault(require("bs58"));
30
30
  const nacl = __importStar(require("tweetnacl"));
31
+ const blake2b_1 = __importDefault(require("@bitgo-beta/blake2b"));
32
+ exports.SIGNATURE_SCHEME_TO_FLAG = {
33
+ ED25519: 0x00,
34
+ Secp256k1: 0x01,
35
+ };
31
36
  class KeyPair extends sdk_core_1.Ed25519KeyPair {
32
37
  /**
33
38
  * Public constructor. By default, creates a key pair with a random master seed.
@@ -63,10 +68,12 @@ class KeyPair extends sdk_core_1.Ed25519KeyPair {
63
68
  const PUBLIC_KEY_SIZE = 32;
64
69
  const tmp = new Uint8Array(PUBLIC_KEY_SIZE + 1);
65
70
  const pubBuf = Buffer.from(this.keyPair.pub, 'hex');
66
- tmp.set([0x00]);
71
+ tmp.set([exports.SIGNATURE_SCHEME_TO_FLAG['ED25519']]); // ED25519: 0x00,
67
72
  tmp.set(pubBuf, 1);
68
- // prefix with 0x to normalize address
69
- return '0x'.concat(sha3.sha3_256(tmp).slice(0, 40));
73
+ return types_1.normalizeSuiAddress(blake2b_1.default(PUBLIC_KEY_SIZE)
74
+ .update(tmp)
75
+ .digest('hex')
76
+ .slice(0, types_1.SUI_ADDRESS_LENGTH * 2));
70
77
  }
71
78
  /**
72
79
  * Sign the message in Uint8Array
@@ -83,4 +90,4 @@ class KeyPair extends sdk_core_1.Ed25519KeyPair {
83
90
  }
84
91
  }
85
92
  exports.KeyPair = KeyPair;
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIva2V5UGFpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbURBQWlHO0FBQ2pHLDhDQUFnQztBQUNoQyxvREFBNEI7QUFDNUIsZ0RBQXdCO0FBQ3hCLGdEQUFrQztBQUVsQyxNQUFhLE9BQVEsU0FBUSx5QkFBYztJQUN6Qzs7OztPQUlHO0lBQ0gsWUFBWSxNQUF1QjtRQUNqQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixPQUFPO1FBQ0wsTUFBTSxNQUFNLEdBQWdCLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDdEQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRTtZQUNwQixNQUFNLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO1NBQy9CO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELGtCQUFrQjtJQUNsQix3Q0FBd0MsQ0FBQyxHQUFXO1FBQ2xELG9FQUFvRTtRQUNwRSxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELGtCQUFrQjtJQUNsQix1Q0FBdUMsQ0FBQyxHQUFXO1FBQ2pELEdBQUcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksVUFBVSxDQUFDLGNBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsZUFBSyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLEdBQUcsRUFBRSxDQUFDLENBQUM7U0FDOUM7UUFFRCxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixVQUFVO1FBQ1IsTUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFDO1FBQzNCLE1BQU0sR0FBRyxHQUFHLElBQUksVUFBVSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNoRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3BELEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2hCLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ25CLHNDQUFzQztRQUN0QyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsdUJBQXVCLENBQUMsT0FBbUI7UUFDekMsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDN0IsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNSLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztTQUN4QztRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyx1QkFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUYsQ0FBQztDQUNGO0FBM0RELDBCQTJEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlZmF1bHRLZXlzLCBFZDI1NTE5S2V5UGFpciwgS2V5UGFpck9wdGlvbnMsIHRvVWludDhBcnJheSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCAqIGFzIHNoYTMgZnJvbSAnanMtc2hhMyc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgYnM1OCBmcm9tICdiczU4JztcbmltcG9ydCAqIGFzIG5hY2wgZnJvbSAndHdlZXRuYWNsJztcblxuZXhwb3J0IGNsYXNzIEtleVBhaXIgZXh0ZW5kcyBFZDI1NTE5S2V5UGFpciB7XG4gIC8qKlxuICAgKiBQdWJsaWMgY29uc3RydWN0b3IuIEJ5IGRlZmF1bHQsIGNyZWF0ZXMgYSBrZXkgcGFpciB3aXRoIGEgcmFuZG9tIG1hc3RlciBzZWVkLlxuICAgKlxuICAgKiBAcGFyYW0geyBLZXlQYWlyT3B0aW9ucyB9IHNvdXJjZSBFaXRoZXIgYSBtYXN0ZXIgc2VlZCwgYSBwcml2YXRlIGtleSwgb3IgYSBwdWJsaWMga2V5XG4gICAqL1xuICBjb25zdHJ1Y3Rvcihzb3VyY2U/OiBLZXlQYWlyT3B0aW9ucykge1xuICAgIHN1cGVyKHNvdXJjZSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0S2V5cygpOiBEZWZhdWx0S2V5cyB7XG4gICAgY29uc3QgcmVzdWx0OiBEZWZhdWx0S2V5cyA9IHsgcHViOiB0aGlzLmtleVBhaXIucHViIH07XG4gICAgaWYgKHRoaXMua2V5UGFpci5wcnYpIHtcbiAgICAgIHJlc3VsdC5wcnYgPSB0aGlzLmtleVBhaXIucHJ2O1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHJlY29yZEtleXNGcm9tUHJpdmF0ZUtleUluUHJvdG9jb2xGb3JtYXQocHJ2OiBzdHJpbmcpOiBEZWZhdWx0S2V5cyB7XG4gICAgLy8gV2UgZG9uJ3QgdXNlIHByaXZhdGUga2V5cyBmb3IgU1VJIHNpbmNlIGl0J3MgaW1wbGVtZW50ZWQgZm9yIFRTUy5cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcmVjb3JkS2V5c0Zyb21QdWJsaWNLZXlJblByb3RvY29sRm9ybWF0KHB1Yjogc3RyaW5nKTogRGVmYXVsdEtleXMge1xuICAgIHB1YiA9IEJ1ZmZlci5mcm9tKG5ldyBVaW50OEFycmF5KGJzNTguZGVjb2RlKHB1YikpKS50b1N0cmluZygnaGV4Jyk7XG4gICAgaWYgKCF1dGlscy5pc1ZhbGlkUHVibGljS2V5KHB1YikpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBQdWJsaWMgS2V5ICR7cHVifWApO1xuICAgIH1cblxuICAgIHJldHVybiB7IHB1YiB9O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldEFkZHJlc3MoKTogc3RyaW5nIHtcbiAgICBjb25zdCBQVUJMSUNfS0VZX1NJWkUgPSAzMjtcbiAgICBjb25zdCB0bXAgPSBuZXcgVWludDhBcnJheShQVUJMSUNfS0VZX1NJWkUgKyAxKTtcbiAgICBjb25zdCBwdWJCdWYgPSBCdWZmZXIuZnJvbSh0aGlzLmtleVBhaXIucHViLCAnaGV4Jyk7XG4gICAgdG1wLnNldChbMHgwMF0pO1xuICAgIHRtcC5zZXQocHViQnVmLCAxKTtcbiAgICAvLyBwcmVmaXggd2l0aCAweCB0byBub3JtYWxpemUgYWRkcmVzc1xuICAgIHJldHVybiAnMHgnLmNvbmNhdChzaGEzLnNoYTNfMjU2KHRtcCkuc2xpY2UoMCwgNDApKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgU2lnbiB0aGUgbWVzc2FnZSBpbiBVaW50OEFycmF5XG4gICAqXG4gICAqIEBwYXJhbSB7VWludDhBcnJheX0gbWVzc2FnZSB0byBiZSBzaWduZWRcbiAgICogQHJldHVybnMge1VpbnQ4QXJyYXl9IHNpZ25lZCBtZXNzYWdlXG4gICAqL1xuICBzaWduTWVzc2FnZWluVWludDhBcnJheShtZXNzYWdlOiBVaW50OEFycmF5KTogVWludDhBcnJheSB7XG4gICAgY29uc3QgeyBwcnYgfSA9IHRoaXMua2V5UGFpcjtcbiAgICBpZiAoIXBydikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIHByaXZhdGUga2V5Jyk7XG4gICAgfVxuICAgIHJldHVybiBuYWNsLnNpZ24uZGV0YWNoZWQobWVzc2FnZSwgbmFjbC5zaWduLmtleVBhaXIuZnJvbVNlZWQodG9VaW50OEFycmF5KHBydikpLnNlY3JldEtleSk7XG4gIH1cbn1cbiJdfQ==
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIva2V5UGFpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbURBQWlHO0FBQ2pHLDZDQUE0RTtBQUM1RSxvREFBNEI7QUFDNUIsZ0RBQXdCO0FBQ3hCLGdEQUFrQztBQUNsQyxrRUFBMEM7QUFFN0IsUUFBQSx3QkFBd0IsR0FBRztJQUN0QyxPQUFPLEVBQUUsSUFBSTtJQUNiLFNBQVMsRUFBRSxJQUFJO0NBQ2hCLENBQUM7QUFFRixNQUFhLE9BQVEsU0FBUSx5QkFBYztJQUN6Qzs7OztPQUlHO0lBQ0gsWUFBWSxNQUF1QjtRQUNqQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEIsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixPQUFPO1FBQ0wsTUFBTSxNQUFNLEdBQWdCLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDdEQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRTtZQUNwQixNQUFNLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO1NBQy9CO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELGtCQUFrQjtJQUNsQix3Q0FBd0MsQ0FBQyxHQUFXO1FBQ2xELG9FQUFvRTtRQUNwRSxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELGtCQUFrQjtJQUNsQix1Q0FBdUMsQ0FBQyxHQUFXO1FBQ2pELEdBQUcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksVUFBVSxDQUFDLGNBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsZUFBSyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLEdBQUcsRUFBRSxDQUFDLENBQUM7U0FDOUM7UUFFRCxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixVQUFVO1FBQ1IsTUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFDO1FBQzNCLE1BQU0sR0FBRyxHQUFHLElBQUksVUFBVSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNoRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3BELEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxnQ0FBd0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUI7UUFDakUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbkIsT0FBTywyQkFBbUIsQ0FDeEIsaUJBQU8sQ0FBQyxlQUFlLENBQUM7YUFDckIsTUFBTSxDQUFDLEdBQUcsQ0FBQzthQUNYLE1BQU0sQ0FBQyxLQUFLLENBQUM7YUFDYixLQUFLLENBQUMsQ0FBQyxFQUFFLDBCQUFrQixHQUFHLENBQUMsQ0FBQyxDQUNwQyxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsdUJBQXVCLENBQUMsT0FBbUI7UUFDekMsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDN0IsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNSLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztTQUN4QztRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyx1QkFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUYsQ0FBQztDQUNGO0FBL0RELDBCQStEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlZmF1bHRLZXlzLCBFZDI1NTE5S2V5UGFpciwgS2V5UGFpck9wdGlvbnMsIHRvVWludDhBcnJheSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IG5vcm1hbGl6ZVN1aUFkZHJlc3MsIFNVSV9BRERSRVNTX0xFTkdUSCB9IGZyb20gJy4vbXlzdGVubGFiL3R5cGVzJztcbmltcG9ydCB1dGlscyBmcm9tICcuL3V0aWxzJztcbmltcG9ydCBiczU4IGZyb20gJ2JzNTgnO1xuaW1wb3J0ICogYXMgbmFjbCBmcm9tICd0d2VldG5hY2wnO1xuaW1wb3J0IGJsYWtlMmIgZnJvbSAnQGJpdGdvLWJldGEvYmxha2UyYic7XG5cbmV4cG9ydCBjb25zdCBTSUdOQVRVUkVfU0NIRU1FX1RPX0ZMQUcgPSB7XG4gIEVEMjU1MTk6IDB4MDAsXG4gIFNlY3AyNTZrMTogMHgwMSxcbn07XG5cbmV4cG9ydCBjbGFzcyBLZXlQYWlyIGV4dGVuZHMgRWQyNTUxOUtleVBhaXIge1xuICAvKipcbiAgICogUHVibGljIGNvbnN0cnVjdG9yLiBCeSBkZWZhdWx0LCBjcmVhdGVzIGEga2V5IHBhaXIgd2l0aCBhIHJhbmRvbSBtYXN0ZXIgc2VlZC5cbiAgICpcbiAgICogQHBhcmFtIHsgS2V5UGFpck9wdGlvbnMgfSBzb3VyY2UgRWl0aGVyIGEgbWFzdGVyIHNlZWQsIGEgcHJpdmF0ZSBrZXksIG9yIGEgcHVibGljIGtleVxuICAgKi9cbiAgY29uc3RydWN0b3Ioc291cmNlPzogS2V5UGFpck9wdGlvbnMpIHtcbiAgICBzdXBlcihzb3VyY2UpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldEtleXMoKTogRGVmYXVsdEtleXMge1xuICAgIGNvbnN0IHJlc3VsdDogRGVmYXVsdEtleXMgPSB7IHB1YjogdGhpcy5rZXlQYWlyLnB1YiB9O1xuICAgIGlmICh0aGlzLmtleVBhaXIucHJ2KSB7XG4gICAgICByZXN1bHQucHJ2ID0gdGhpcy5rZXlQYWlyLnBydjtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICByZWNvcmRLZXlzRnJvbVByaXZhdGVLZXlJblByb3RvY29sRm9ybWF0KHBydjogc3RyaW5nKTogRGVmYXVsdEtleXMge1xuICAgIC8vIFdlIGRvbid0IHVzZSBwcml2YXRlIGtleXMgZm9yIFNVSSBzaW5jZSBpdCdzIGltcGxlbWVudGVkIGZvciBUU1MuXG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHJlY29yZEtleXNGcm9tUHVibGljS2V5SW5Qcm90b2NvbEZvcm1hdChwdWI6IHN0cmluZyk6IERlZmF1bHRLZXlzIHtcbiAgICBwdWIgPSBCdWZmZXIuZnJvbShuZXcgVWludDhBcnJheShiczU4LmRlY29kZShwdWIpKSkudG9TdHJpbmcoJ2hleCcpO1xuICAgIGlmICghdXRpbHMuaXNWYWxpZFB1YmxpY0tleShwdWIpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgUHVibGljIEtleSAke3B1Yn1gKTtcbiAgICB9XG5cbiAgICByZXR1cm4geyBwdWIgfTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRBZGRyZXNzKCk6IHN0cmluZyB7XG4gICAgY29uc3QgUFVCTElDX0tFWV9TSVpFID0gMzI7XG4gICAgY29uc3QgdG1wID0gbmV3IFVpbnQ4QXJyYXkoUFVCTElDX0tFWV9TSVpFICsgMSk7XG4gICAgY29uc3QgcHViQnVmID0gQnVmZmVyLmZyb20odGhpcy5rZXlQYWlyLnB1YiwgJ2hleCcpO1xuICAgIHRtcC5zZXQoW1NJR05BVFVSRV9TQ0hFTUVfVE9fRkxBR1snRUQyNTUxOSddXSk7IC8vIEVEMjU1MTk6IDB4MDAsXG4gICAgdG1wLnNldChwdWJCdWYsIDEpO1xuICAgIHJldHVybiBub3JtYWxpemVTdWlBZGRyZXNzKFxuICAgICAgYmxha2UyYihQVUJMSUNfS0VZX1NJWkUpXG4gICAgICAgIC51cGRhdGUodG1wKVxuICAgICAgICAuZGlnZXN0KCdoZXgnKVxuICAgICAgICAuc2xpY2UoMCwgU1VJX0FERFJFU1NfTEVOR1RIICogMilcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqICBTaWduIHRoZSBtZXNzYWdlIGluIFVpbnQ4QXJyYXlcbiAgICpcbiAgICogQHBhcmFtIHtVaW50OEFycmF5fSBtZXNzYWdlIHRvIGJlIHNpZ25lZFxuICAgKiBAcmV0dXJucyB7VWludDhBcnJheX0gc2lnbmVkIG1lc3NhZ2VcbiAgICovXG4gIHNpZ25NZXNzYWdlaW5VaW50OEFycmF5KG1lc3NhZ2U6IFVpbnQ4QXJyYXkpOiBVaW50OEFycmF5IHtcbiAgICBjb25zdCB7IHBydiB9ID0gdGhpcy5rZXlQYWlyO1xuICAgIGlmICghcHJ2KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgcHJpdmF0ZSBrZXknKTtcbiAgICB9XG4gICAgcmV0dXJuIG5hY2wuc2lnbi5kZXRhY2hlZChtZXNzYWdlLCBuYWNsLnNpZ24ua2V5UGFpci5mcm9tU2VlZCh0b1VpbnQ4QXJyYXkocHJ2KSkuc2VjcmV0S2V5KTtcbiAgfVxufVxuIl19