@bitgo/sdk-coin-sui 2.0.1 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/.eslintignore +1 -0
  2. package/CHANGELOG.md +33 -0
  3. package/dist/src/lib/constants.d.ts +3 -15
  4. package/dist/src/lib/constants.d.ts.map +1 -1
  5. package/dist/src/lib/constants.js +7 -20
  6. package/dist/src/lib/iface.d.ts +35 -181
  7. package/dist/src/lib/iface.d.ts.map +1 -1
  8. package/dist/src/lib/iface.js +11 -38
  9. package/dist/src/lib/index.d.ts +2 -0
  10. package/dist/src/lib/index.d.ts.map +1 -1
  11. package/dist/src/lib/index.js +6 -2
  12. package/dist/src/lib/keyPair.d.ts +4 -0
  13. package/dist/src/lib/keyPair.d.ts.map +1 -1
  14. package/dist/src/lib/keyPair.js +7 -10
  15. package/dist/src/lib/mystenlab/builder/Inputs.d.ts +66 -0
  16. package/dist/src/lib/mystenlab/builder/Inputs.d.ts.map +1 -0
  17. package/dist/src/lib/mystenlab/builder/Inputs.js +56 -0
  18. package/dist/src/lib/mystenlab/builder/TransactionBlock.d.ts +616 -0
  19. package/dist/src/lib/mystenlab/builder/TransactionBlock.d.ts.map +1 -0
  20. package/dist/src/lib/mystenlab/builder/TransactionBlock.js +260 -0
  21. package/dist/src/lib/mystenlab/builder/TransactionDataBlock.d.ts +566 -0
  22. package/dist/src/lib/mystenlab/builder/TransactionDataBlock.d.ts.map +1 -0
  23. package/dist/src/lib/mystenlab/builder/TransactionDataBlock.js +171 -0
  24. package/dist/src/lib/mystenlab/builder/Transactions.d.ts +992 -0
  25. package/dist/src/lib/mystenlab/builder/Transactions.d.ts.map +1 -0
  26. package/dist/src/lib/mystenlab/builder/Transactions.js +119 -0
  27. package/dist/src/lib/mystenlab/builder/bcs.d.ts +25 -0
  28. package/dist/src/lib/mystenlab/builder/bcs.d.ts.map +1 -0
  29. package/dist/src/lib/mystenlab/builder/bcs.js +141 -0
  30. package/dist/src/lib/mystenlab/builder/index.d.ts +5 -0
  31. package/dist/src/lib/mystenlab/builder/index.d.ts.map +1 -0
  32. package/dist/src/lib/mystenlab/builder/index.js +17 -0
  33. package/dist/src/lib/mystenlab/builder/serializer.d.ts +4 -0
  34. package/dist/src/lib/mystenlab/builder/serializer.d.ts.map +1 -0
  35. package/dist/src/lib/mystenlab/builder/serializer.js +101 -0
  36. package/dist/src/lib/mystenlab/builder/utils.d.ts +10 -0
  37. package/dist/src/lib/mystenlab/builder/utils.d.ts.map +1 -0
  38. package/dist/src/lib/mystenlab/builder/utils.js +10 -0
  39. package/dist/src/lib/mystenlab/cryptography/hash.d.ts +8 -0
  40. package/dist/src/lib/mystenlab/cryptography/hash.d.ts.map +1 -0
  41. package/dist/src/lib/mystenlab/cryptography/hash.js +22 -0
  42. package/dist/src/lib/mystenlab/framework/framework.d.ts +93 -0
  43. package/dist/src/lib/mystenlab/framework/framework.d.ts.map +1 -0
  44. package/dist/src/lib/mystenlab/framework/framework.js +138 -0
  45. package/dist/src/lib/mystenlab/framework/index.d.ts +3 -0
  46. package/dist/src/lib/mystenlab/framework/index.d.ts.map +1 -0
  47. package/dist/src/lib/mystenlab/framework/index.js +15 -0
  48. package/dist/src/lib/mystenlab/framework/sui-system-state.d.ts +12 -0
  49. package/dist/src/lib/mystenlab/framework/sui-system-state.d.ts.map +1 -0
  50. package/dist/src/lib/mystenlab/framework/sui-system-state.js +19 -0
  51. package/dist/src/lib/mystenlab/txn-data-serializers/type-tag-serializer.d.ts +7 -0
  52. package/dist/src/lib/mystenlab/txn-data-serializers/type-tag-serializer.d.ts.map +1 -0
  53. package/dist/src/lib/mystenlab/txn-data-serializers/type-tag-serializer.js +119 -0
  54. package/dist/src/lib/mystenlab/types/coin.d.ts +89 -0
  55. package/dist/src/lib/mystenlab/types/coin.d.ts.map +1 -0
  56. package/dist/src/lib/mystenlab/types/coin.js +32 -0
  57. package/dist/src/lib/mystenlab/types/common.d.ts +45 -0
  58. package/dist/src/lib/mystenlab/types/common.d.ts.map +1 -0
  59. package/dist/src/lib/mystenlab/types/common.js +84 -0
  60. package/dist/src/lib/mystenlab/types/events.d.ts +198 -0
  61. package/dist/src/lib/mystenlab/types/events.d.ts.map +1 -0
  62. package/dist/src/lib/mystenlab/types/events.js +46 -0
  63. package/dist/src/lib/mystenlab/types/index.d.ts +9 -0
  64. package/dist/src/lib/mystenlab/types/index.d.ts.map +1 -0
  65. package/dist/src/lib/mystenlab/types/index.js +21 -0
  66. package/dist/src/lib/mystenlab/types/normalized.d.ts +254 -0
  67. package/dist/src/lib/mystenlab/types/normalized.d.ts.map +1 -0
  68. package/dist/src/lib/mystenlab/types/normalized.js +111 -0
  69. package/dist/src/lib/mystenlab/types/objects.d.ts +806 -0
  70. package/dist/src/lib/mystenlab/types/objects.d.ts.map +1 -0
  71. package/dist/src/lib/mystenlab/types/objects.js +302 -0
  72. package/dist/src/lib/mystenlab/types/option.d.ts +8 -0
  73. package/dist/src/lib/mystenlab/types/option.d.ts.map +1 -0
  74. package/dist/src/lib/mystenlab/types/option.js +14 -0
  75. package/dist/src/lib/mystenlab/types/sui-bcs.d.ts +111 -0
  76. package/dist/src/lib/mystenlab/types/sui-bcs.d.ts.map +1 -0
  77. package/dist/src/lib/mystenlab/types/sui-bcs.js +107 -0
  78. package/dist/src/lib/mystenlab/types/transactions.d.ts +6703 -0
  79. package/dist/src/lib/mystenlab/types/transactions.d.ts.map +1 -0
  80. package/dist/src/lib/mystenlab/types/transactions.js +405 -0
  81. package/dist/src/lib/mystenlab/types/validator.d.ts +641 -0
  82. package/dist/src/lib/mystenlab/types/validator.d.ts.map +1 -0
  83. package/dist/src/lib/mystenlab/types/validator.js +156 -0
  84. package/dist/src/lib/stakingBuilder.d.ts +24 -35
  85. package/dist/src/lib/stakingBuilder.d.ts.map +1 -1
  86. package/dist/src/lib/stakingBuilder.js +93 -129
  87. package/dist/src/lib/stakingTransaction.d.ts +5 -21
  88. package/dist/src/lib/stakingTransaction.d.ts.map +1 -1
  89. package/dist/src/lib/stakingTransaction.js +77 -219
  90. package/dist/src/lib/transaction.d.ts +8 -6
  91. package/dist/src/lib/transaction.d.ts.map +1 -1
  92. package/dist/src/lib/transaction.js +74 -124
  93. package/dist/src/lib/transactionBuilder.d.ts +9 -9
  94. package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
  95. package/dist/src/lib/transactionBuilder.js +27 -16
  96. package/dist/src/lib/transactionBuilderFactory.d.ts +8 -5
  97. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
  98. package/dist/src/lib/transactionBuilderFactory.js +17 -11
  99. package/dist/src/lib/transferBuilder.d.ts +15 -10
  100. package/dist/src/lib/transferBuilder.d.ts.map +1 -1
  101. package/dist/src/lib/transferBuilder.js +38 -101
  102. package/dist/src/lib/transferTransaction.d.ts +5 -4
  103. package/dist/src/lib/transferTransaction.d.ts.map +1 -1
  104. package/dist/src/lib/transferTransaction.js +45 -96
  105. package/dist/src/lib/unstakingBuilder.d.ts +55 -0
  106. package/dist/src/lib/unstakingBuilder.d.ts.map +1 -0
  107. package/dist/src/lib/unstakingBuilder.js +148 -0
  108. package/dist/src/lib/unstakingTransaction.d.ts +51 -0
  109. package/dist/src/lib/unstakingTransaction.d.ts.map +1 -0
  110. package/dist/src/lib/unstakingTransaction.js +206 -0
  111. package/dist/src/lib/utils.d.ts +30 -92
  112. package/dist/src/lib/utils.d.ts.map +1 -1
  113. package/dist/src/lib/utils.js +115 -177
  114. package/dist/src/sui.d.ts.map +1 -1
  115. package/dist/src/sui.js +23 -13
  116. package/package.json +9 -9
  117. package/dist/src/lib/bcs.d.ts +0 -3
  118. package/dist/src/lib/bcs.d.ts.map +0 -1
  119. package/dist/src/lib/bcs.js +0 -109
  120. package/dist/src/lib/txnSchema.d.ts +0 -7
  121. package/dist/src/lib/txnSchema.d.ts.map +0 -1
  122. package/dist/src/lib/txnSchema.js +0 -81
@@ -0,0 +1,93 @@
1
+ import { SuiObjectResponse, SuiMoveObject, SuiObjectInfo, SuiObjectData } from '../types/objects';
2
+ import { ObjectId, SuiAddress } from '../types/common';
3
+ import { Option } from '../types/option';
4
+ import { CoinStruct } from '../types/coin';
5
+ import { StructTag } from '../types/sui-bcs';
6
+ import { Infer } from 'superstruct';
7
+ export declare const SUI_SYSTEM_ADDRESS = "0x3";
8
+ export declare const SUI_FRAMEWORK_ADDRESS = "0x2";
9
+ export declare const MOVE_STDLIB_ADDRESS = "0x1";
10
+ export declare const OBJECT_MODULE_NAME = "object";
11
+ export declare const UID_STRUCT_NAME = "UID";
12
+ export declare const ID_STRUCT_NAME = "ID";
13
+ export declare const SUI_TYPE_ARG: string;
14
+ export declare const VALIDATORS_EVENTS_QUERY = "0x3::validator_set::ValidatorEpochInfoEvent";
15
+ export declare const SUI_CLOCK_OBJECT_ID: string;
16
+ export declare const PAY_MODULE_NAME = "pay";
17
+ export declare const PAY_SPLIT_COIN_VEC_FUNC_NAME = "split_vec";
18
+ export declare const PAY_JOIN_COIN_FUNC_NAME = "join";
19
+ export declare const COIN_TYPE_ARG_REGEX: RegExp;
20
+ declare type ObjectData = ObjectDataFull | SuiObjectInfo;
21
+ declare type ObjectDataFull = SuiObjectResponse | SuiMoveObject;
22
+ export declare function isObjectDataFull(resp: ObjectData | ObjectDataFull): resp is SuiObjectResponse;
23
+ export declare const CoinMetadataStruct: import("superstruct").Struct<{
24
+ symbol: string;
25
+ id: string | null;
26
+ name: string;
27
+ decimals: number;
28
+ description: string;
29
+ iconUrl: string | null;
30
+ }, {
31
+ decimals: import("superstruct").Struct<number, null>;
32
+ name: import("superstruct").Struct<string, null>;
33
+ symbol: import("superstruct").Struct<string, null>;
34
+ description: import("superstruct").Struct<string, null>;
35
+ iconUrl: import("superstruct").Struct<string | null, null>;
36
+ id: import("superstruct").Struct<string | null, null>;
37
+ }>;
38
+ export declare type CoinMetadata = Infer<typeof CoinMetadataStruct>;
39
+ /**
40
+ * Utility class for 0x2::coin
41
+ * as defined in https://github.com/MystenLabs/sui/blob/ca9046fd8b1a9e8634a4b74b0e7dabdc7ea54475/sui_programmability/framework/sources/Coin.move#L4
42
+ */
43
+ export declare class Coin {
44
+ static isCoin(data: ObjectData): boolean;
45
+ static getCoinType(type: string): string | null;
46
+ static getCoinTypeArg(obj: ObjectData): string | null;
47
+ static isSUI(obj: ObjectData): boolean;
48
+ static getCoinSymbol(coinTypeArg: string): string;
49
+ static getCoinStructTag(coinTypeArg: string): StructTag;
50
+ static getID(obj: ObjectData): ObjectId;
51
+ static totalBalance(coins: CoinStruct[]): bigint;
52
+ /**
53
+ * Sort coin by balance in an ascending order
54
+ */
55
+ static sortByBalance(coins: CoinStruct[]): CoinStruct[];
56
+ static getBalanceFromCoinStruct(coin: CoinStruct): bigint;
57
+ static getBalance(data: ObjectDataFull): bigint | undefined;
58
+ private static getType;
59
+ }
60
+ export declare type DelegationData = SuiMoveObject & {
61
+ dataType: 'moveObject';
62
+ type: '0x2::delegation::Delegation';
63
+ fields: {
64
+ active_delegation: Option<number>;
65
+ delegate_amount: number;
66
+ next_reward_unclaimed_epoch: number;
67
+ validator_address: SuiAddress;
68
+ info: {
69
+ id: string;
70
+ version: number;
71
+ };
72
+ coin_locked_until_epoch: Option<SuiMoveObject>;
73
+ ending_epoch: Option<number>;
74
+ };
75
+ };
76
+ export declare type DelegationSuiObject = Omit<SuiObjectData, 'data'> & {
77
+ data: DelegationData;
78
+ };
79
+ export declare class Delegation {
80
+ static readonly SUI_OBJECT_TYPE = "0x2::delegation::Delegation";
81
+ private suiObject;
82
+ static isDelegationSuiObject(obj: SuiObjectData): obj is DelegationSuiObject;
83
+ constructor(obj: DelegationSuiObject);
84
+ nextRewardUnclaimedEpoch(): number;
85
+ activeDelegation(): bigint;
86
+ delegateAmount(): number;
87
+ endingEpoch(): number | undefined;
88
+ validatorAddress(): string;
89
+ isActive(): boolean;
90
+ hasUnclaimedRewards(epoch: number): boolean;
91
+ }
92
+ export {};
93
+ //# sourceMappingURL=framework.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"framework.d.ts","sourceRoot":"","sources":["../../../../../src/lib/mystenlab/framework/framework.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Delegation = exports.Coin = exports.CoinMetadataStruct = exports.isObjectDataFull = exports.COIN_TYPE_ARG_REGEX = exports.PAY_JOIN_COIN_FUNC_NAME = exports.PAY_SPLIT_COIN_VEC_FUNC_NAME = exports.PAY_MODULE_NAME = exports.SUI_CLOCK_OBJECT_ID = exports.VALIDATORS_EVENTS_QUERY = exports.SUI_TYPE_ARG = exports.ID_STRUCT_NAME = exports.UID_STRUCT_NAME = exports.OBJECT_MODULE_NAME = exports.MOVE_STDLIB_ADDRESS = exports.SUI_FRAMEWORK_ADDRESS = exports.SUI_SYSTEM_ADDRESS = void 0;
4
+ const objects_1 = require("../types/objects");
5
+ const common_1 = require("../types/common");
6
+ const option_1 = require("../types/option");
7
+ const superstruct_1 = require("superstruct");
8
+ exports.SUI_SYSTEM_ADDRESS = '0x3';
9
+ exports.SUI_FRAMEWORK_ADDRESS = '0x2';
10
+ exports.MOVE_STDLIB_ADDRESS = '0x1';
11
+ exports.OBJECT_MODULE_NAME = 'object';
12
+ exports.UID_STRUCT_NAME = 'UID';
13
+ exports.ID_STRUCT_NAME = 'ID';
14
+ exports.SUI_TYPE_ARG = `${exports.SUI_FRAMEWORK_ADDRESS}::sui::SUI`;
15
+ exports.VALIDATORS_EVENTS_QUERY = '0x3::validator_set::ValidatorEpochInfoEvent';
16
+ exports.SUI_CLOCK_OBJECT_ID = common_1.normalizeSuiObjectId('0x6');
17
+ // `sui::pay` module is used for Coin management (split, join, join_and_transfer etc);
18
+ exports.PAY_MODULE_NAME = 'pay';
19
+ exports.PAY_SPLIT_COIN_VEC_FUNC_NAME = 'split_vec';
20
+ exports.PAY_JOIN_COIN_FUNC_NAME = 'join';
21
+ exports.COIN_TYPE_ARG_REGEX = /^0x2::coin::Coin<(.+)>$/;
22
+ function isObjectDataFull(resp) {
23
+ return !!resp.data || !!resp.type;
24
+ }
25
+ exports.isObjectDataFull = isObjectDataFull;
26
+ exports.CoinMetadataStruct = superstruct_1.object({
27
+ decimals: superstruct_1.number(),
28
+ name: superstruct_1.string(),
29
+ symbol: superstruct_1.string(),
30
+ description: superstruct_1.string(),
31
+ iconUrl: superstruct_1.union([superstruct_1.string(), superstruct_1.literal(null)]),
32
+ id: superstruct_1.union([common_1.ObjectId, superstruct_1.literal(null)]),
33
+ });
34
+ /**
35
+ * Utility class for 0x2::coin
36
+ * as defined in https://github.com/MystenLabs/sui/blob/ca9046fd8b1a9e8634a4b74b0e7dabdc7ea54475/sui_programmability/framework/sources/Coin.move#L4
37
+ */
38
+ class Coin {
39
+ static isCoin(data) {
40
+ var _a;
41
+ return ((_a = Coin.getType(data)) === null || _a === void 0 ? void 0 : _a.match(exports.COIN_TYPE_ARG_REGEX)) != null;
42
+ }
43
+ static getCoinType(type) {
44
+ var _a;
45
+ const [, res] = (_a = type.match(exports.COIN_TYPE_ARG_REGEX)) !== null && _a !== void 0 ? _a : [];
46
+ return res || null;
47
+ }
48
+ static getCoinTypeArg(obj) {
49
+ const type = Coin.getType(obj);
50
+ return type ? Coin.getCoinType(type) : null;
51
+ }
52
+ static isSUI(obj) {
53
+ const arg = Coin.getCoinTypeArg(obj);
54
+ return arg ? Coin.getCoinSymbol(arg) === 'SUI' : false;
55
+ }
56
+ static getCoinSymbol(coinTypeArg) {
57
+ return coinTypeArg.substring(coinTypeArg.lastIndexOf(':') + 1);
58
+ }
59
+ static getCoinStructTag(coinTypeArg) {
60
+ return {
61
+ address: common_1.normalizeSuiObjectId(coinTypeArg.split('::')[0]),
62
+ module: coinTypeArg.split('::')[1],
63
+ name: coinTypeArg.split('::')[2],
64
+ typeParams: [],
65
+ };
66
+ }
67
+ static getID(obj) {
68
+ if ('fields' in obj) {
69
+ return obj.fields.id.id;
70
+ }
71
+ return objects_1.getObjectId(obj);
72
+ }
73
+ static totalBalance(coins) {
74
+ return coins.reduce((partialSum, c) => partialSum + Coin.getBalanceFromCoinStruct(c), BigInt(0));
75
+ }
76
+ /**
77
+ * Sort coin by balance in an ascending order
78
+ */
79
+ static sortByBalance(coins) {
80
+ return [...coins].sort((a, b) => Coin.getBalanceFromCoinStruct(a) < Coin.getBalanceFromCoinStruct(b)
81
+ ? -1
82
+ : Coin.getBalanceFromCoinStruct(a) > Coin.getBalanceFromCoinStruct(b)
83
+ ? 1
84
+ : 0);
85
+ }
86
+ static getBalanceFromCoinStruct(coin) {
87
+ return BigInt(coin.balance);
88
+ }
89
+ static getBalance(data) {
90
+ var _a;
91
+ if (!Coin.isCoin(data)) {
92
+ return undefined;
93
+ }
94
+ const balance = (_a = objects_1.getObjectFields(data)) === null || _a === void 0 ? void 0 : _a.balance;
95
+ return BigInt(balance);
96
+ }
97
+ static getType(data) {
98
+ if (isObjectDataFull(data)) {
99
+ return objects_1.getObjectType(data);
100
+ }
101
+ return data.type;
102
+ }
103
+ }
104
+ exports.Coin = Coin;
105
+ // Class for delegation.move
106
+ // see https://github.com/MystenLabs/fastnft/blob/161aa27fe7eb8ecf2866ec9eb192e768f25da768/crates/sui-framework/sources/governance/delegation.move
107
+ class Delegation {
108
+ constructor(obj) {
109
+ this.suiObject = obj;
110
+ }
111
+ static isDelegationSuiObject(obj) {
112
+ return 'type' in obj && obj.type === Delegation.SUI_OBJECT_TYPE;
113
+ }
114
+ nextRewardUnclaimedEpoch() {
115
+ return this.suiObject.data.fields.next_reward_unclaimed_epoch;
116
+ }
117
+ activeDelegation() {
118
+ return BigInt(option_1.getOption(this.suiObject.data.fields.active_delegation) || 0);
119
+ }
120
+ delegateAmount() {
121
+ return this.suiObject.data.fields.delegate_amount;
122
+ }
123
+ endingEpoch() {
124
+ return option_1.getOption(this.suiObject.data.fields.ending_epoch);
125
+ }
126
+ validatorAddress() {
127
+ return this.suiObject.data.fields.validator_address;
128
+ }
129
+ isActive() {
130
+ return this.activeDelegation() > 0 && !this.endingEpoch();
131
+ }
132
+ hasUnclaimedRewards(epoch) {
133
+ return this.nextRewardUnclaimedEpoch() <= epoch && (this.isActive() || (this.endingEpoch() || 0) > epoch);
134
+ }
135
+ }
136
+ exports.Delegation = Delegation;
137
+ Delegation.SUI_OBJECT_TYPE = '0x2::delegation::Delegation';
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWV3b3JrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9teXN0ZW5sYWIvZnJhbWV3b3JrL2ZyYW1ld29yay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw4Q0FRMEI7QUFDMUIsNENBQTZFO0FBRTdFLDRDQUFvRDtBQUdwRCw2Q0FBNEU7QUFFL0QsUUFBQSxrQkFBa0IsR0FBRyxLQUFLLENBQUM7QUFDM0IsUUFBQSxxQkFBcUIsR0FBRyxLQUFLLENBQUM7QUFDOUIsUUFBQSxtQkFBbUIsR0FBRyxLQUFLLENBQUM7QUFDNUIsUUFBQSxrQkFBa0IsR0FBRyxRQUFRLENBQUM7QUFDOUIsUUFBQSxlQUFlLEdBQUcsS0FBSyxDQUFDO0FBQ3hCLFFBQUEsY0FBYyxHQUFHLElBQUksQ0FBQztBQUN0QixRQUFBLFlBQVksR0FBRyxHQUFHLDZCQUFxQixZQUFZLENBQUM7QUFDcEQsUUFBQSx1QkFBdUIsR0FBRyw2Q0FBNkMsQ0FBQztBQUV4RSxRQUFBLG1CQUFtQixHQUFHLDZCQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO0FBRS9ELHNGQUFzRjtBQUN6RSxRQUFBLGVBQWUsR0FBRyxLQUFLLENBQUM7QUFDeEIsUUFBQSw0QkFBNEIsR0FBRyxXQUFXLENBQUM7QUFDM0MsUUFBQSx1QkFBdUIsR0FBRyxNQUFNLENBQUM7QUFDakMsUUFBQSxtQkFBbUIsR0FBRyx5QkFBeUIsQ0FBQztBQUs3RCxTQUFnQixnQkFBZ0IsQ0FBQyxJQUFpQztJQUNoRSxPQUFPLENBQUMsQ0FBRSxJQUEwQixDQUFDLElBQUksSUFBSSxDQUFDLENBQUUsSUFBc0IsQ0FBQyxJQUFJLENBQUM7QUFDOUUsQ0FBQztBQUZELDRDQUVDO0FBRVksUUFBQSxrQkFBa0IsR0FBRyxvQkFBTSxDQUFDO0lBQ3ZDLFFBQVEsRUFBRSxvQkFBTSxFQUFFO0lBQ2xCLElBQUksRUFBRSxvQkFBTSxFQUFFO0lBQ2QsTUFBTSxFQUFFLG9CQUFNLEVB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QUFDLGVBQWUsQ0FBQztJQUNsRSxDQUFDO0lBTU0sd0JBQXdCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLDJCQUEyQixDQUFDO0lBQ2hFLENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsT0FBTyxNQUFNLENBQUMsa0JBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRU0sY0FBYztRQUNuQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUM7SUFDcEQsQ0FBQztJQUVNLFdBQVc7UUFDaEIsT0FBTyxrQkFBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRU0sZ0JBQWdCO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDO0lBQ3RELENBQUM7SUFFTSxRQUFRO1FBQ2IsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDNUQsQ0FBQztJQUVNLG1CQUFtQixDQUFDLEtBQWE7UUFDdEMsT0FBTyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7SUFDNUcsQ0FBQzs7QUF0Q0gsZ0NBdUNDO0FBdEN3QiwwQkFBZSxHQUFHLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgZ2V0T2JqZWN0RmllbGRzLFxuICBTdWlPYmplY3RSZXNwb25zZSxcbiAgU3VpTW92ZU9iamVjdCxcbiAgU3VpT2JqZWN0SW5mbyxcbiAgU3VpT2JqZWN0RGF0YSxcbiAgZ2V0T2JqZWN0SWQsXG4gIGdldE9iamVjdFR5cGUsXG59IGZyb20gJy4uL3R5cGVzL29iamVjdHMnO1xuaW1wb3J0IHsgbm9ybWFsaXplU3VpT2JqZWN0SWQsIE9iamVjdElkLCBTdWlBZGRyZXNzIH0gZnJvbSAnLi4vdHlwZXMvY29tbW9uJztcblxuaW1wb3J0IHsgZ2V0T3B0aW9uLCBPcHRpb24gfSBmcm9tICcuLi90eXBlcy9vcHRpb24nO1xuaW1wb3J0IHsgQ29pblN0cnVjdCB9IGZyb20gJy4uL3R5cGVzL2NvaW4nO1xuaW1wb3J0IHsgU3RydWN0VGFnIH0gZnJvbSAnLi4vdHlwZXMvc3VpLWJjcyc7XG5pbXBvcnQgeyBJbmZlciwgbGl0ZXJhbCwgbnVtYmVyLCBvYmplY3QsIHN0cmluZywgdW5pb24gfSBmcm9tICdzdXBlcnN0cnVjdCc7XG5cbmV4cG9ydCBjb25zdCBTVUlfU1lTVEVNX0FERFJFU1MgPSAnMHgzJztcbmV4cG9ydCBjb25zdCBTVUlfRlJBTUVXT1JLX0FERFJFU1MgPSAnMHgyJztcbmV4cG9ydCBjb25zdCBNT1ZFX1NURExJQl9BRERSRVNTID0gJzB4MSc7XG5leHBvcnQgY29uc3QgT0JKRUNUX01PRFVMRV9OQU1FID0gJ29iamVjdCc7XG5leHBvcnQgY29uc3QgVUlEX1NUUlVDVF9OQU1FID0gJ1VJRCc7XG5leHBvcnQgY29uc3QgSURfU1RSVUNUX05BTUUgPSAnSUQnO1xuZXhwb3J0IGNvbnN0IFNVSV9UWVBFX0FSRyA9IGAke1NVSV9GUkFNRVdPUktfQUREUkVTU306OnN1aTo6U1VJYDtcbmV4cG9ydCBjb25zdCBWQUxJREFUT1JTX0VWRU5UU19RVUVSWSA9ICcweDM6OnZhbGlkYXRvcl9zZXQ6OlZhbGlkYXRvckVwb2NoSW5mb0V2ZW50JztcblxuZXhwb3J0IGNvbnN0IFNVSV9DTE9DS19PQkpFQ1RfSUQgPSBub3JtYWxpemVTdWlPYmplY3RJZCgnMHg2Jyk7XG5cbi8vIGBzdWk6OnBheWAgbW9kdWxlIGlzIHVzZWQgZm9yIENvaW4gbWFuYWdlbWVudCAoc3BsaXQsIGpvaW4sIGpvaW5fYW5kX3RyYW5zZmVyIGV0Yyk7XG5leHBvcnQgY29uc3QgUEFZX01PRFVMRV9OQU1FID0gJ3BheSc7XG5leHBvcnQgY29uc3QgUEFZX1NQTElUX0NPSU5fVkVDX0ZVTkNfTkFNRSA9ICdzcGxpdF92ZWMnO1xuZXhwb3J0IGNvbnN0IFBBWV9KT0lOX0NPSU5fRlVOQ19OQU1FID0gJ2pvaW4nO1xuZXhwb3J0IGNvbnN0IENPSU5fVFlQRV9BUkdfUkVHRVggPSAvXjB4Mjo6Y29pbjo6Q29pbjwoLispPiQvO1xuXG50eXBlIE9iamVjdERhdGEgPSBPYmplY3REYXRhRnVsbCB8IFN1aU9iamVjdEluZm87XG50eXBlIE9iamVjdERhdGFGdWxsID0gU3VpT2JqZWN0UmVzcG9uc2UgfCBTdWlNb3ZlT2JqZWN0O1xuXG5leHBvcnQgZnVuY3Rpb24gaXNPYmplY3REYXRhRnVsbChyZXNwOiBPYmplY3REYXRhIHwgT2JqZWN0RGF0YUZ1bGwpOiByZXNwIGlzIFN1aU9iamVjdFJlc3BvbnNlIHtcbiAgcmV0dXJuICEhKHJlc3AgYXMgU3VpT2JqZWN0UmVzcG9uc2UpLmRhdGEgfHwgISEocmVzcCBhcyBTdWlNb3ZlT2JqZWN0KS50eXBlO1xufVxuXG5leHBvcnQgY29uc3QgQ29pbk1ldGFkYXRhU3RydWN0ID0gb2JqZWN0KHtcbiAgZGVjaW1hbHM6IG51bWJlcigpLFxuICBuYW1lOiBzdHJpbmcoKSxcbiAgc3ltYm9sOiBzdHJpbmcoKSxcbiAgZGVzY3JpcHRpb246IHN0cmluZygpLFxuICBpY29uVXJsOiB1bmlvbihbc3RyaW5nKCksIGxpdGVyYWwobnVsbCldKSxcbiAgaWQ6IHVuaW9uKFtPYmplY3RJZCwgbGl0ZXJhbChudWxsKV0pLFxufSk7XG5cbmV4cG9ydCB0eXBlIENvaW5NZXRhZGF0YSA9IEluZmVyPHR5cGVvZiBDb2luTWV0YWRhdGFTdHJ1Y3Q+O1xuXG4vKipcbiAqIFV0aWxpdHkgY2xhc3MgZm9yIDB4Mjo6Y29pblxuICogYXMgZGVmaW5lZCBpbiBodHRwczovL2dpdGh1Yi5jb20vTXlzdGVuTGFicy9zdWkvYmxvYi9jYTkwNDZmZDhiMWE5ZTg2MzRhNGI3NGIwZTdkYWJkYzdlYTU0NDc1L3N1aV9wcm9ncmFtbWFiaWxpdHkvZnJhbWV3b3JrL3NvdXJjZXMvQ29pbi5tb3ZlI0w0XG4gKi9cbmV4cG9ydCBjbGFzcyBDb2luIHtcbiAgc3RhdGljIGlzQ29pbihkYXRhOiBPYmplY3REYXRhKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIENvaW4uZ2V0VHlwZShkYXRhKT8ubWF0Y2goQ09JTl9UWVBFX0FSR19SRUdFWCkgIT0gbnVsbDtcbiAgfVxuXG4gIHN0YXRpYyBnZXRDb2luVHlwZSh0eXBlOiBzdHJpbmcpIHtcbiAgICBjb25zdCBbLCByZXNdID0gdHlwZS5tYXRjaChDT0lOX1RZUEVfQVJHX1JFR0VYKSA/PyBbXTtcbiAgICByZXR1cm4gcmVzIHx8IG51bGw7XG4gIH1cblxuICBzdGF0aWMgZ2V0Q29pblR5cGVBcmcob2JqOiBPYmplY3REYXRhKSB7XG4gICAgY29uc3QgdHlwZSA9IENvaW4uZ2V0VHlwZShvYmopO1xuICAgIHJldHVybiB0eXBlID8gQ29pbi5nZXRDb2luVHlwZSh0eXBlKSA6IG51bGw7XG4gIH1cblxuICBzdGF0aWMgaXNTVUkob2JqOiBPYmplY3REYXRhKSB7XG4gICAgY29uc3QgYXJnID0gQ29pbi5nZXRDb2luVHlwZUFyZyhvYmopO1xuICAgIHJldHVybiBhcmcgPyBDb2luLmdldENvaW5TeW1ib2woYXJnKSA9PT0gJ1NVSScgOiBmYWxzZTtcbiAgfVxuXG4gIHN0YXRpYyBnZXRDb2luU3ltYm9sKGNvaW5UeXBlQXJnOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gY29pblR5cGVBcmcuc3Vic3RyaW5nKGNvaW5UeXBlQXJnLmxhc3RJbmRleE9mKCc6JykgKyAxKTtcbiAgfVxuXG4gIHN0YXRpYyBnZXRDb2luU3RydWN0VGFnKGNvaW5UeXBlQXJnOiBzdHJpbmcpOiBTdHJ1Y3RUYWcge1xuICAgIHJldHVybiB7XG4gICAgICBhZGRyZXNzOiBub3JtYWxpemVTdWlPYmplY3RJZChjb2luVHlwZUFyZy5zcGxpdCgnOjonKVswXSksXG4gICAgICBtb2R1bGU6IGNvaW5UeXBlQXJnLnNwbGl0KCc6OicpWzFdLFxuICAgICAgbmFtZTogY29pblR5cGVBcmcuc3BsaXQoJzo6JylbMl0sXG4gICAgICB0eXBlUGFyYW1zOiBbXSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXRJRChvYmo6IE9iamVjdERhdGEpOiBPYmplY3RJZCB7XG4gICAgaWYgKCdmaWVsZHMnIGluIG9iaikge1xuICAgICAgcmV0dXJuIG9iai5maWVsZHMuaWQuaWQ7XG4gICAgfVxuICAgIHJldHVybiBnZXRPYmplY3RJZChvYmopO1xuICB9XG5cbiAgc3RhdGljIHRvdGFsQmFsYW5jZShjb2luczogQ29pblN0cnVjdFtdKTogYmlnaW50IHtcbiAgICByZXR1cm4gY29pbnMucmVkdWNlKChwYXJ0aWFsU3VtLCBjKSA9PiBwYXJ0aWFsU3VtICsgQ29pbi5nZXRCYWxhbmNlRnJvbUNvaW5TdHJ1Y3QoYyksIEJpZ0ludCgwKSk7XG4gIH1cblxuICAvKipcbiAgICogU29ydCBjb2luIGJ5IGJhbGFuY2UgaW4gYW4gYXNjZW5kaW5nIG9yZGVyXG4gICAqL1xuICBzdGF0aWMgc29ydEJ5QmFsYW5jZShjb2luczogQ29pblN0cnVjdFtdKTogQ29pblN0cnVjdFtdIHtcbiAgICByZXR1cm4gWy4uLmNvaW5zXS5zb3J0KChhLCBiKSA9PlxuICAgICAgQ29pbi5nZXRCYWxhbmNlRnJvbUNvaW5TdHJ1Y3QoYSkgPCBDb2luLmdldEJhbGFuY2VGcm9tQ29pblN0cnVjdChiKVxuICAgICAgICA/IC0xXG4gICAgICAgIDogQ29pbi5nZXRCYWxhbmNlRnJvbUNvaW5TdHJ1Y3QoYSkgPiBDb2luLmdldEJhbGFuY2VGcm9tQ29pblN0cnVjdChiKVxuICAgICAgICA/IDFcbiAgICAgICAgOiAwXG4gICAgKTtcbiAgfVxuXG4gIHN0YXRpYyBnZXRCYWxhbmNlRnJvbUNvaW5TdHJ1Y3QoY29pbjogQ29pblN0cnVjdCk6IGJpZ2ludCB7XG4gICAgcmV0dXJuIEJpZ0ludChjb2luLmJhbGFuY2UpO1xuICB9XG5cbiAgc3RhdGljIGdldEJhbGFuY2UoZGF0YTogT2JqZWN0RGF0YUZ1bGwpOiBiaWdpbnQgfCB1bmRlZmluZWQge1xuICAgIGlmICghQ29pbi5pc0NvaW4oZGF0YSkpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGNvbnN0IGJhbGFuY2UgPSBnZXRPYmplY3RGaWVsZHMoZGF0YSk/LmJhbGFuY2U7XG4gICAgcmV0dXJuIEJpZ0ludChiYWxhbmNlKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdldFR5cGUoZGF0YTogT2JqZWN0RGF0YSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKGlzT2JqZWN0RGF0YUZ1bGwoZGF0YSkpIHtcbiAgICAgIHJldHVybiBnZXRPYmplY3RUeXBlKGRhdGEpO1xuICAgIH1cbiAgICByZXR1cm4gZGF0YS50eXBlO1xuICB9XG59XG5cbmV4cG9ydCB0eXBlIERlbGVnYXRpb25EYXRhID0gU3VpTW92ZU9iamVjdCAmIHtcbiAgZGF0YVR5cGU6ICdtb3ZlT2JqZWN0JztcbiAgdHlwZTogJzB4Mjo6ZGVsZWdhdGlvbjo6RGVsZWdhdGlvbic7XG4gIGZpZWxkczoge1xuICAgIGFjdGl2ZV9kZWxlZ2F0aW9uOiBPcHRpb248bnVtYmVyPjtcbiAgICBkZWxlZ2F0ZV9hbW91bnQ6IG51bWJlcjtcbiAgICBuZXh0X3Jld2FyZF91bmNsYWltZWRfZXBvY2g6IG51bWJlcjtcbiAgICB2YWxpZGF0b3JfYWRkcmVzczogU3VpQWRkcmVzcztcbiAgICBpbmZvOiB7XG4gICAgICBpZDogc3RyaW5nO1xuICAgICAgdmVyc2lvbjogbnVtYmVyO1xuICAgIH07XG4gICAgY29pbl9sb2NrZWRfdW50aWxfZXBvY2g6IE9wdGlvbjxTdWlNb3ZlT2JqZWN0PjtcbiAgICBlbmRpbmdfZXBvY2g6IE9wdGlvbjxudW1iZXI+O1xuICB9O1xufTtcblxuZXhwb3J0IHR5cGUgRGVsZWdhdGlvblN1aU9iamVjdCA9IE9taXQ8U3VpT2JqZWN0RGF0YSwgJ2RhdGEnPiAmIHtcbiAgZGF0YTogRGVsZWdhdGlvbkRhdGE7XG59O1xuXG4vLyBDbGFzcyBmb3IgZGVsZWdhdGlvbi5tb3ZlXG4vLyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL015c3RlbkxhYnMvZmFzdG5mdC9ibG9iLzE2MWFhMjdmZTdlYjhlY2YyODY2ZWM5ZWIxOTJlNzY4ZjI1ZGE3NjgvY3JhdGVzL3N1aS1mcmFtZXdvcmsvc291cmNlcy9nb3Zlcm5hbmNlL2RlbGVnYXRpb24ubW92ZVxuZXhwb3J0IGNsYXNzIERlbGVnYXRpb24ge1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFNVSV9PQkpFQ1RfVFlQRSA9ICcweDI6OmRlbGVnYXRpb246OkRlbGVnYXRpb24nO1xuICBwcml2YXRlIHN1aU9iamVjdDogRGVsZWdhdGlvblN1aU9iamVjdDtcblxuICBwdWJsaWMgc3RhdGljIGlzRGVsZWdhdGlvblN1aU9iamVjdChvYmo6IFN1aU9iamVjdERhdGEpOiBvYmogaXMgRGVsZWdhdGlvblN1aU9iamVjdCB7XG4gICAgcmV0dXJuICd0eXBlJyBpbiBvYmogJiYgb2JqLnR5cGUgPT09IERlbGVnYXRpb24uU1VJX09CSkVDVF9UWVBFO1xuICB9XG5cbiAgY29uc3RydWN0b3Iob2JqOiBEZWxlZ2F0aW9uU3VpT2JqZWN0KSB7XG4gICAgdGhpcy5zdWlPYmplY3QgPSBvYmo7XG4gIH1cblxuICBwdWJsaWMgbmV4dFJld2FyZFVuY2xhaW1lZEVwb2NoKCkge1xuICAgIHJldHVybiB0aGlzLnN1aU9iamVjdC5kYXRhLmZpZWxkcy5uZXh0X3Jld2FyZF91bmNsYWltZWRfZXBvY2g7XG4gIH1cblxuICBwdWJsaWMgYWN0aXZlRGVsZWdhdGlvbigpIHtcbiAgICByZXR1cm4gQmlnSW50KGdldE9wdGlvbih0aGlzLnN1aU9iamVjdC5kYXRhLmZpZWxkcy5hY3RpdmVfZGVsZWdhdGlvbikgfHwgMCk7XG4gIH1cblxuICBwdWJsaWMgZGVsZWdhdGVBbW91bnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3VpT2JqZWN0LmRhdGEuZmllbGRzLmRlbGVnYXRlX2Ftb3VudDtcbiAgfVxuXG4gIHB1YmxpYyBlbmRpbmdFcG9jaCgpIHtcbiAgICByZXR1cm4gZ2V0T3B0aW9uKHRoaXMuc3VpT2JqZWN0LmRhdGEuZmllbGRzLmVuZGluZ19lcG9jaCk7XG4gIH1cblxuICBwdWJsaWMgdmFsaWRhdG9yQWRkcmVzcygpIHtcbiAgICByZXR1cm4gdGhpcy5zdWlPYmplY3QuZGF0YS5maWVsZHMudmFsaWRhdG9yX2FkZHJlc3M7XG4gIH1cblxuICBwdWJsaWMgaXNBY3RpdmUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlRGVsZWdhdGlvbigpID4gMCAmJiAhdGhpcy5lbmRpbmdFcG9jaCgpO1xuICB9XG5cbiAgcHVibGljIGhhc1VuY2xhaW1lZFJld2FyZHMoZXBvY2g6IG51bWJlcikge1xuICAgIHJldHVybiB0aGlzLm5leHRSZXdhcmRVbmNsYWltZWRFcG9jaCgpIDw9IGVwb2NoICYmICh0aGlzLmlzQWN0aXZlKCkgfHwgKHRoaXMuZW5kaW5nRXBvY2goKSB8fCAwKSA+IGVwb2NoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,3 @@
1
+ export * from './framework';
2
+ export * from './sui-system-state';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/mystenlab/framework/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./framework"), exports);
14
+ __exportStar(require("./sui-system-state"), exports);
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL215c3RlbmxhYi9mcmFtZXdvcmsvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsOENBQTRCO0FBQzVCLHFEQUFtQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZnJhbWV3b3JrJztcbmV4cG9ydCAqIGZyb20gJy4vc3VpLXN5c3RlbS1zdGF0ZSc7XG4iXX0=
@@ -0,0 +1,12 @@
1
+ import { SharedObjectRef } from '../types';
2
+ /**
3
+ * Address of the Sui System object.
4
+ * Always the same in every Sui network (local, devnet, testnet).
5
+ */
6
+ export declare const SUI_SYSTEM_STATE_OBJECT_ID: string;
7
+ export declare const SUI_SYSTEM_STATE_OBJECT: SharedObjectRef;
8
+ export declare const SUI_SYSTEM_MODULE_NAME = "sui_system";
9
+ export declare const ADD_STAKE_FUN_NAME = "request_add_stake";
10
+ export declare const ADD_STAKE_LOCKED_COIN_FUN_NAME = "request_add_stake_with_locked_coin";
11
+ export declare const WITHDRAW_STAKE_FUN_NAME = "request_withdraw_stake";
12
+ //# sourceMappingURL=sui-system-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sui-system-state.d.ts","sourceRoot":"","sources":["../../../../../src/lib/mystenlab/framework/sui-system-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,eAAe,EAAE,MAAM,UAAU,CAAC;AAEjE;;;GAGG;AACH,eAAO,MAAM,0BAA0B,EAAE,MAAoC,CAAC;AAE9E,eAAO,MAAM,uBAAuB,EAAE,eAIrC,CAAC;AAEF,eAAO,MAAM,sBAAsB,eAAe,CAAC;AACnD,eAAO,MAAM,kBAAkB,sBAAsB,CAAC;AACtD,eAAO,MAAM,8BAA8B,uCAAuC,CAAC;AACnF,eAAO,MAAM,uBAAuB,2BAA2B,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WITHDRAW_STAKE_FUN_NAME = exports.ADD_STAKE_LOCKED_COIN_FUN_NAME = exports.ADD_STAKE_FUN_NAME = exports.SUI_SYSTEM_MODULE_NAME = exports.SUI_SYSTEM_STATE_OBJECT = exports.SUI_SYSTEM_STATE_OBJECT_ID = void 0;
4
+ const types_1 = require("../types");
5
+ /**
6
+ * Address of the Sui System object.
7
+ * Always the same in every Sui network (local, devnet, testnet).
8
+ */
9
+ exports.SUI_SYSTEM_STATE_OBJECT_ID = types_1.normalizeSuiObjectId('0x5');
10
+ exports.SUI_SYSTEM_STATE_OBJECT = {
11
+ objectId: exports.SUI_SYSTEM_STATE_OBJECT_ID,
12
+ initialSharedVersion: 1,
13
+ mutable: true,
14
+ };
15
+ exports.SUI_SYSTEM_MODULE_NAME = 'sui_system';
16
+ exports.ADD_STAKE_FUN_NAME = 'request_add_stake';
17
+ exports.ADD_STAKE_LOCKED_COIN_FUN_NAME = 'request_add_stake_with_locked_coin';
18
+ exports.WITHDRAW_STAKE_FUN_NAME = 'request_withdraw_stake';
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VpLXN5c3RlbS1zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvbXlzdGVubGFiL2ZyYW1ld29yay9zdWktc3lzdGVtLXN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG9DQUFpRTtBQUVqRTs7O0dBR0c7QUFDVSxRQUFBLDBCQUEwQixHQUFXLDRCQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO0FBRWpFLFFBQUEsdUJBQXVCLEdBQW9CO0lBQ3RELFFBQVEsRUFBRSxrQ0FBMEI7SUFDcEMsb0JBQW9CLEVBQUUsQ0FBQztJQUN2QixPQUFPLEVBQUUsSUFBSTtDQUNkLENBQUM7QUFFVyxRQUFBLHNCQUFzQixHQUFHLFlBQVksQ0FBQztBQUN0QyxRQUFBLGtCQUFrQixHQUFHLG1CQUFtQixDQUFDO0FBQ3pDLFFBQUEsOEJBQThCLEdBQUcsb0NBQW9DLENBQUM7QUFDdEUsUUFBQSx1QkFBdUIsR0FBRyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG5vcm1hbGl6ZVN1aU9iamVjdElkLCBTaGFyZWRPYmplY3RSZWYgfSBmcm9tICcuLi90eXBlcyc7XG5cbi8qKlxuICogQWRkcmVzcyBvZiB0aGUgU3VpIFN5c3RlbSBvYmplY3QuXG4gKiBBbHdheXMgdGhlIHNhbWUgaW4gZXZlcnkgU3VpIG5ldHdvcmsgKGxvY2FsLCBkZXZuZXQsIHRlc3RuZXQpLlxuICovXG5leHBvcnQgY29uc3QgU1VJX1NZU1RFTV9TVEFURV9PQkpFQ1RfSUQ6IHN0cmluZyA9IG5vcm1hbGl6ZVN1aU9iamVjdElkKCcweDUnKTtcblxuZXhwb3J0IGNvbnN0IFNVSV9TWVNURU1fU1RBVEVfT0JKRUNUOiBTaGFyZWRPYmplY3RSZWYgPSB7XG4gIG9iamVjdElkOiBTVUlfU1lTVEVNX1NUQVRFX09CSkVDVF9JRCxcbiAgaW5pdGlhbFNoYXJlZFZlcnNpb246IDEsXG4gIG11dGFibGU6IHRydWUsXG59O1xuXG5leHBvcnQgY29uc3QgU1VJX1NZU1RFTV9NT0RVTEVfTkFNRSA9ICdzdWlfc3lzdGVtJztcbmV4cG9ydCBjb25zdCBBRERfU1RBS0VfRlVOX05BTUUgPSAncmVxdWVzdF9hZGRfc3Rha2UnO1xuZXhwb3J0IGNvbnN0IEFERF9TVEFLRV9MT0NLRURfQ09JTl9GVU5fTkFNRSA9ICdyZXF1ZXN0X2FkZF9zdGFrZV93aXRoX2xvY2tlZF9jb2luJztcbmV4cG9ydCBjb25zdCBXSVRIRFJBV19TVEFLRV9GVU5fTkFNRSA9ICdyZXF1ZXN0X3dpdGhkcmF3X3N0YWtlJztcbiJdfQ==
@@ -0,0 +1,7 @@
1
+ import { TypeTag } from '../types';
2
+ export declare class TypeTagSerializer {
3
+ static parseFromStr(str: string, normalizeAddress?: boolean): TypeTag;
4
+ static parseStructTypeArgs(str: string, normalizeAddress?: boolean): TypeTag[];
5
+ static tagToString(tag: TypeTag): string;
6
+ }
7
+ //# sourceMappingURL=type-tag-serializer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-tag-serializer.d.ts","sourceRoot":"","sources":["../../../../../src/lib/mystenlab/txn-data-serializers/type-tag-serializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,OAAO,EAAE,MAAM,UAAU,CAAC;AAKxD,qBAAa,iBAAiB;IAC5B,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,gBAAgB,UAAQ,GAAG,OAAO;IA4CnE,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,gBAAgB,UAAQ,GAAG,OAAO,EAAE;IA0B5E,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM;CAsCzC"}
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TypeTagSerializer = void 0;
4
+ const types_1 = require("../types");
5
+ const VECTOR_REGEX = /^vector<(.+)>$/;
6
+ const STRUCT_REGEX = /^([^:]+)::([^:]+)::([^<]+)(<(.+)>)?/;
7
+ class TypeTagSerializer {
8
+ static parseFromStr(str, normalizeAddress = false) {
9
+ if (str === 'address') {
10
+ return { address: null };
11
+ }
12
+ else if (str === 'bool') {
13
+ return { bool: null };
14
+ }
15
+ else if (str === 'u8') {
16
+ return { u8: null };
17
+ }
18
+ else if (str === 'u16') {
19
+ return { u16: null };
20
+ }
21
+ else if (str === 'u32') {
22
+ return { u32: null };
23
+ }
24
+ else if (str === 'u64') {
25
+ return { u64: null };
26
+ }
27
+ else if (str === 'u128') {
28
+ return { u128: null };
29
+ }
30
+ else if (str === 'u256') {
31
+ return { u256: null };
32
+ }
33
+ else if (str === 'signer') {
34
+ return { signer: null };
35
+ }
36
+ const vectorMatch = str.match(VECTOR_REGEX);
37
+ if (vectorMatch) {
38
+ return {
39
+ vector: TypeTagSerializer.parseFromStr(vectorMatch[1], normalizeAddress),
40
+ };
41
+ }
42
+ const structMatch = str.match(STRUCT_REGEX);
43
+ if (structMatch) {
44
+ const address = normalizeAddress ? types_1.normalizeSuiAddress(structMatch[1]) : structMatch[1];
45
+ return {
46
+ struct: {
47
+ address,
48
+ module: structMatch[2],
49
+ name: structMatch[3],
50
+ typeParams: structMatch[5] === undefined ? [] : TypeTagSerializer.parseStructTypeArgs(structMatch[5], normalizeAddress),
51
+ },
52
+ };
53
+ }
54
+ throw new Error(`Encountered unexpected token when parsing type args for ${str}`);
55
+ }
56
+ static parseStructTypeArgs(str, normalizeAddress = false) {
57
+ // split `str` by all `,` outside angle brackets
58
+ const tok = [];
59
+ let word = '';
60
+ let nestedAngleBrackets = 0;
61
+ for (let i = 0; i < str.length; i++) {
62
+ const char = str[i];
63
+ if (char === '<') {
64
+ nestedAngleBrackets++;
65
+ }
66
+ if (char === '>') {
67
+ nestedAngleBrackets--;
68
+ }
69
+ if (nestedAngleBrackets === 0 && char === ',') {
70
+ tok.push(word.trim());
71
+ word = '';
72
+ continue;
73
+ }
74
+ word += char;
75
+ }
76
+ tok.push(word.trim());
77
+ return tok.map((tok) => TypeTagSerializer.parseFromStr(tok, normalizeAddress));
78
+ }
79
+ static tagToString(tag) {
80
+ if ('bool' in tag) {
81
+ return 'bool';
82
+ }
83
+ if ('u8' in tag) {
84
+ return 'u8';
85
+ }
86
+ if ('u16' in tag) {
87
+ return 'u16';
88
+ }
89
+ if ('u32' in tag) {
90
+ return 'u32';
91
+ }
92
+ if ('u64' in tag) {
93
+ return 'u64';
94
+ }
95
+ if ('u128' in tag) {
96
+ return 'u128';
97
+ }
98
+ if ('u256' in tag) {
99
+ return 'u256';
100
+ }
101
+ if ('address' in tag) {
102
+ return 'address';
103
+ }
104
+ if ('signer' in tag) {
105
+ return 'signer';
106
+ }
107
+ if ('vector' in tag) {
108
+ return `vector<${TypeTagSerializer.tagToString(tag.vector)}>`;
109
+ }
110
+ if ('struct' in tag) {
111
+ const struct = tag.struct;
112
+ const typeParams = struct.typeParams.map(TypeTagSerializer.tagToString).join(', ');
113
+ return `${struct.address}::${struct.module}::${struct.name}${typeParams ? `<${typeParams}>` : ''}`;
114
+ }
115
+ throw new Error('Invalid TypeTag');
116
+ }
117
+ }
118
+ exports.TypeTagSerializer = TypeTagSerializer;
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS10YWctc2VyaWFsaXplci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvbXlzdGVubGFiL3R4bi1kYXRhLXNlcmlhbGl6ZXJzL3R5cGUtdGFnLXNlcmlhbGl6ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsb0NBQXdEO0FBRXhELE1BQU0sWUFBWSxHQUFHLGdCQUFnQixDQUFDO0FBQ3RDLE1BQU0sWUFBWSxHQUFHLHFDQUFxQyxDQUFDO0FBRTNELE1BQWEsaUJBQWlCO0lBQzVCLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBVyxFQUFFLGdCQUFnQixHQUFHLEtBQUs7UUFDdkQsSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFO1lBQ3JCLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7U0FDMUI7YUFBTSxJQUFJLEdBQUcsS0FBSyxNQUFNLEVBQUU7WUFDekIsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztTQUN2QjthQUFNLElBQUksR0FBRyxLQUFLLElBQUksRUFBRTtZQUN2QixPQUFPLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDO1NBQ3JCO2FBQU0sSUFBSSxHQUFHLEtBQUssS0FBSyxFQUFFO1lBQ3hCLE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUM7U0FDdEI7YUFBTSxJQUFJLEdBQUcsS0FBSyxLQUFLLEVBQUU7WUFDeEIsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQztTQUN0QjthQUFNLElBQUksR0FBRyxLQUFLLEtBQUssRUFBRTtZQUN4QixPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDO1NBQ3RCO2FBQU0sSUFBSSxHQUFHLEtBQUssTUFBTSxFQUFFO1lBQ3pCLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7U0FDdkI7YUFBTSxJQUFJLEdBQUcsS0FBSyxNQUFNLEVBQUU7WUFD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Q0QsSUFBSSxLQUFLLElBQUksR0FBRyxFQUFFO1lBQ2hCLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxJQUFJLEtBQUssSUFBSSxHQUFHLEVBQUU7WUFDaEIsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELElBQUksTUFBTSxJQUFJLEdBQUcsRUFBRTtZQUNqQixPQUFPLE1BQU0sQ0FBQztTQUNmO1FBQ0QsSUFBSSxNQUFNLElBQUksR0FBRyxFQUFFO1lBQ2pCLE9BQU8sTUFBTSxDQUFDO1NBQ2Y7UUFDRCxJQUFJLFNBQVMsSUFBSSxHQUFHLEVBQUU7WUFDcEIsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFDRCxJQUFJLFFBQVEsSUFBSSxHQUFHLEVBQUU7WUFDbkIsT0FBTyxRQUFRLENBQUM7U0FDakI7UUFDRCxJQUFJLFFBQVEsSUFBSSxHQUFHLEVBQUU7WUFDbkIsT0FBTyxVQUFVLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztTQUMvRDtRQUNELElBQUksUUFBUSxJQUFJLEdBQUcsRUFBRTtZQUNuQixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO1lBQzFCLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNuRixPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sS0FBSyxNQUFNLENBQUMsTUFBTSxLQUFLLE1BQU0sQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztTQUNwRztRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNyQyxDQUFDO0NBQ0Y7QUE3R0QsOENBNkdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbm9ybWFsaXplU3VpQWRkcmVzcywgVHlwZVRhZyB9IGZyb20gJy4uL3R5cGVzJztcblxuY29uc3QgVkVDVE9SX1JFR0VYID0gL152ZWN0b3I8KC4rKT4kLztcbmNvbnN0IFNUUlVDVF9SRUdFWCA9IC9eKFteOl0rKTo6KFteOl0rKTo6KFtePF0rKSg8KC4rKT4pPy87XG5cbmV4cG9ydCBjbGFzcyBUeXBlVGFnU2VyaWFsaXplciB7XG4gIHN0YXRpYyBwYXJzZUZyb21TdHIoc3RyOiBzdHJpbmcsIG5vcm1hbGl6ZUFkZHJlc3MgPSBmYWxzZSk6IFR5cGVUYWcge1xuICAgIGlmIChzdHIgPT09ICdhZGRyZXNzJykge1xuICAgICAgcmV0dXJuIHsgYWRkcmVzczogbnVsbCB9O1xuICAgIH0gZWxzZSBpZiAoc3RyID09PSAnYm9vbCcpIHtcbiAgICAgIHJldHVybiB7IGJvb2w6IG51bGwgfTtcbiAgICB9IGVsc2UgaWYgKHN0ciA9PT0gJ3U4Jykge1xuICAgICAgcmV0dXJuIHsgdTg6IG51bGwgfTtcbiAgICB9IGVsc2UgaWYgKHN0ciA9PT0gJ3UxNicpIHtcbiAgICAgIHJldHVybiB7IHUxNjogbnVsbCB9O1xuICAgIH0gZWxzZSBpZiAoc3RyID09PSAndTMyJykge1xuICAgICAgcmV0dXJuIHsgdTMyOiBudWxsIH07XG4gICAgfSBlbHNlIGlmIChzdHIgPT09ICd1NjQnKSB7XG4gICAgICByZXR1cm4geyB1NjQ6IG51bGwgfTtcbiAgICB9IGVsc2UgaWYgKHN0ciA9PT0gJ3UxMjgnKSB7XG4gICAgICByZXR1cm4geyB1MTI4OiBudWxsIH07XG4gICAgfSBlbHNlIGlmIChzdHIgPT09ICd1MjU2Jykge1xuICAgICAgcmV0dXJuIHsgdTI1NjogbnVsbCB9O1xuICAgIH0gZWxzZSBpZiAoc3RyID09PSAnc2lnbmVyJykge1xuICAgICAgcmV0dXJuIHsgc2lnbmVyOiBudWxsIH07XG4gICAgfVxuICAgIGNvbnN0IHZlY3Rvck1hdGNoID0gc3RyLm1hdGNoKFZFQ1RPUl9SRUdFWCk7XG4gICAgaWYgKHZlY3Rvck1hdGNoKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB2ZWN0b3I6IFR5cGVUYWdTZXJpYWxpemVyLnBhcnNlRnJvbVN0cih2ZWN0b3JNYXRjaFsxXSwgbm9ybWFsaXplQWRkcmVzcyksXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNvbnN0IHN0cnVjdE1hdGNoID0gc3RyLm1hdGNoKFNUUlVDVF9SRUdFWCk7XG4gICAgaWYgKHN0cnVjdE1hdGNoKSB7XG4gICAgICBjb25zdCBhZGRyZXNzID0gbm9ybWFsaXplQWRkcmVzcyA/IG5vcm1hbGl6ZVN1aUFkZHJlc3Moc3RydWN0TWF0Y2hbMV0pIDogc3RydWN0TWF0Y2hbMV07XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdHJ1Y3Q6IHtcbiAgICAgICAgICBhZGRyZXNzLFxuICAgICAgICAgIG1vZHVsZTogc3RydWN0TWF0Y2hbMl0sXG4gICAgICAgICAgbmFtZTogc3RydWN0TWF0Y2hbM10sXG4gICAgICAgICAgdHlwZVBhcmFtczpcbiAgICAgICAgICAgIHN0cnVjdE1hdGNoWzVdID09PSB1bmRlZmluZWQgPyBbXSA6IFR5cGVUYWdTZXJpYWxpemVyLnBhcnNlU3RydWN0VHlwZUFyZ3Moc3RydWN0TWF0Y2hbNV0sIG5vcm1hbGl6ZUFkZHJlc3MpLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoYEVuY291bnRlcmVkIHVuZXhwZWN0ZWQgdG9rZW4gd2hlbiBwYXJzaW5nIHR5cGUgYXJncyBmb3IgJHtzdHJ9YCk7XG4gIH1cblxuICBzdGF0aWMgcGFyc2VTdHJ1Y3RUeXBlQXJncyhzdHI6IHN0cmluZywgbm9ybWFsaXplQWRkcmVzcyA9IGZhbHNlKTogVHlwZVRhZ1tdIHtcbiAgICAvLyBzcGxpdCBgc3RyYCBieSBhbGwgYCxgIG91dHNpZGUgYW5nbGUgYnJhY2tldHNcbiAgICBjb25zdCB0b2s6IEFycmF5PHN0cmluZz4gPSBbXTtcbiAgICBsZXQgd29yZCA9ICcnO1xuICAgIGxldCBuZXN0ZWRBbmdsZUJyYWNrZXRzID0gMDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHN0ci5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgY2hhciA9IHN0cltpXTtcbiAgICAgIGlmIChjaGFyID09PSAnPCcpIHtcbiAgICAgICAgbmVzdGVkQW5nbGVCcmFja2V0cysrO1xuICAgICAgfVxuICAgICAgaWYgKGNoYXIgPT09ICc+Jykge1xuICAgICAgICBuZXN0ZWRBbmdsZUJyYWNrZXRzLS07XG4gICAgICB9XG4gICAgICBpZiAobmVzdGVkQW5nbGVCcmFja2V0cyA9PT0gMCAmJiBjaGFyID09PSAnLCcpIHtcbiAgICAgICAgdG9rLnB1c2god29yZC50cmltKCkpO1xuICAgICAgICB3b3JkID0gJyc7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgd29yZCArPSBjaGFyO1xuICAgIH1cblxuICAgIHRvay5wdXNoKHdvcmQudHJpbSgpKTtcblxuICAgIHJldHVybiB0b2subWFwKCh0b2spID0+IFR5cGVUYWdTZXJpYWxpemVyLnBhcnNlRnJvbVN0cih0b2ssIG5vcm1hbGl6ZUFkZHJlc3MpKTtcbiAgfVxuXG4gIHN0YXRpYyB0YWdUb1N0cmluZyh0YWc6IFR5cGVUYWcpOiBzdHJpbmcge1xuICAgIGlmICgnYm9vbCcgaW4gdGFnKSB7XG4gICAgICByZXR1cm4gJ2Jvb2wnO1xuICAgIH1cbiAgICBpZiAoJ3U4JyBpbiB0YWcpIHtcbiAgICAgIHJldHVybiAndTgnO1xuICAgIH1cbiAgICBpZiAoJ3UxNicgaW4gdGFnKSB7XG4gICAgICByZXR1cm4gJ3UxNic7XG4gICAgfVxuICAgIGlmICgndTMyJyBpbiB0YWcpIHtcbiAgICAgIHJldHVybiAndTMyJztcbiAgICB9XG4gICAgaWYgKCd1NjQnIGluIHRhZykge1xuICAgICAgcmV0dXJuICd1NjQnO1xuICAgIH1cbiAgICBpZiAoJ3UxMjgnIGluIHRhZykge1xuICAgICAgcmV0dXJuICd1MTI4JztcbiAgICB9XG4gICAgaWYgKCd1MjU2JyBpbiB0YWcpIHtcbiAgICAgIHJldHVybiAndTI1Nic7XG4gICAgfVxuICAgIGlmICgnYWRkcmVzcycgaW4gdGFnKSB7XG4gICAgICByZXR1cm4gJ2FkZHJlc3MnO1xuICAgIH1cbiAgICBpZiAoJ3NpZ25lcicgaW4gdGFnKSB7XG4gICAgICByZXR1cm4gJ3NpZ25lcic7XG4gICAgfVxuICAgIGlmICgndmVjdG9yJyBpbiB0YWcpIHtcbiAgICAgIHJldHVybiBgdmVjdG9yPCR7VHlwZVRhZ1NlcmlhbGl6ZXIudGFnVG9TdHJpbmcodGFnLnZlY3Rvcil9PmA7XG4gICAgfVxuICAgIGlmICgnc3RydWN0JyBpbiB0YWcpIHtcbiAgICAgIGNvbnN0IHN0cnVjdCA9IHRhZy5zdHJ1Y3Q7XG4gICAgICBjb25zdCB0eXBlUGFyYW1zID0gc3RydWN0LnR5cGVQYXJhbXMubWFwKFR5cGVUYWdTZXJpYWxpemVyLnRhZ1RvU3RyaW5nKS5qb2luKCcsICcpO1xuICAgICAgcmV0dXJuIGAke3N0cnVjdC5hZGRyZXNzfTo6JHtzdHJ1Y3QubW9kdWxlfTo6JHtzdHJ1Y3QubmFtZX0ke3R5cGVQYXJhbXMgPyBgPCR7dHlwZVBhcmFtc30+YCA6ICcnfWA7XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBUeXBlVGFnJyk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,89 @@
1
+ import { Infer } from 'superstruct';
2
+ export declare const CoinStruct: import("superstruct").Struct<{
3
+ version: number;
4
+ digest: string;
5
+ coinType: string;
6
+ previousTransaction: string;
7
+ coinObjectId: string;
8
+ balance: number;
9
+ lockedUntilEpoch: number | null;
10
+ }, {
11
+ coinType: import("superstruct").Struct<string, null>;
12
+ coinObjectId: import("superstruct").Struct<string, null>;
13
+ version: import("superstruct").Struct<number, null>;
14
+ digest: import("superstruct").Struct<string, null>;
15
+ balance: import("superstruct").Struct<number, null>;
16
+ lockedUntilEpoch: import("superstruct").Struct<number | null, null>;
17
+ previousTransaction: import("superstruct").Struct<string, null>;
18
+ }>;
19
+ export declare type CoinStruct = Infer<typeof CoinStruct>;
20
+ export declare const PaginatedCoins: import("superstruct").Struct<{
21
+ data: {
22
+ version: number;
23
+ digest: string;
24
+ coinType: string;
25
+ previousTransaction: string;
26
+ coinObjectId: string;
27
+ balance: number;
28
+ lockedUntilEpoch: number | null;
29
+ }[];
30
+ nextCursor: string | null;
31
+ hasNextPage: boolean;
32
+ }, {
33
+ data: import("superstruct").Struct<{
34
+ version: number;
35
+ digest: string;
36
+ coinType: string;
37
+ previousTransaction: string;
38
+ coinObjectId: string;
39
+ balance: number;
40
+ lockedUntilEpoch: number | null;
41
+ }[], import("superstruct").Struct<{
42
+ version: number;
43
+ digest: string;
44
+ coinType: string;
45
+ previousTransaction: string;
46
+ coinObjectId: string;
47
+ balance: number;
48
+ lockedUntilEpoch: number | null;
49
+ }, {
50
+ coinType: import("superstruct").Struct<string, null>;
51
+ coinObjectId: import("superstruct").Struct<string, null>;
52
+ version: import("superstruct").Struct<number, null>;
53
+ digest: import("superstruct").Struct<string, null>;
54
+ balance: import("superstruct").Struct<number, null>;
55
+ lockedUntilEpoch: import("superstruct").Struct<number | null, null>;
56
+ previousTransaction: import("superstruct").Struct<string, null>;
57
+ }>>;
58
+ nextCursor: import("superstruct").Struct<string | null, null>;
59
+ hasNextPage: import("superstruct").Struct<boolean, null>;
60
+ }>;
61
+ export declare type PaginatedCoins = Infer<typeof PaginatedCoins>;
62
+ export declare const CoinBalance: import("superstruct").Struct<{
63
+ coinType: string;
64
+ coinObjectCount: number;
65
+ totalBalance: number;
66
+ lockedBalance: {
67
+ number?: number | undefined;
68
+ epochId?: number | undefined;
69
+ };
70
+ }, {
71
+ coinType: import("superstruct").Struct<string, null>;
72
+ coinObjectCount: import("superstruct").Struct<number, null>;
73
+ totalBalance: import("superstruct").Struct<number, null>;
74
+ lockedBalance: import("superstruct").Struct<{
75
+ number?: number | undefined;
76
+ epochId?: number | undefined;
77
+ }, {
78
+ epochId: import("superstruct").Struct<number | undefined, null>;
79
+ number: import("superstruct").Struct<number | undefined, null>;
80
+ }>;
81
+ }>;
82
+ export declare type CoinBalance = Infer<typeof CoinBalance>;
83
+ export declare const CoinSupply: import("superstruct").Struct<{
84
+ value: number;
85
+ }, {
86
+ value: import("superstruct").Struct<number, null>;
87
+ }>;
88
+ export declare type CoinSupply = Infer<typeof CoinSupply>;
89
+ //# sourceMappingURL=coin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coin.d.ts","sourceRoot":"","sources":["../../../../../src/lib/mystenlab/types/coin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,EAA8D,MAAM,aAAa,CAAC;AAGhH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;EAQrB,CAAC;AAEH,oBAAY,UAAU,GAAG,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAElD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIzB,CAAC;AAEH,oBAAY,cAAc,GAAG,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE1D,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;EAQtB,CAAC;AAEH,oBAAY,WAAW,GAAG,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEpD,eAAO,MAAM,UAAU;;;;EAErB,CAAC;AAEH,oBAAY,UAAU,GAAG,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CoinSupply = exports.CoinBalance = exports.PaginatedCoins = exports.CoinStruct = void 0;
4
+ const superstruct_1 = require("superstruct");
5
+ const common_1 = require("./common");
6
+ exports.CoinStruct = superstruct_1.object({
7
+ coinType: superstruct_1.string(),
8
+ coinObjectId: common_1.ObjectId,
9
+ version: superstruct_1.number(),
10
+ digest: common_1.TransactionDigest,
11
+ balance: superstruct_1.number(),
12
+ lockedUntilEpoch: superstruct_1.nullable(superstruct_1.number()),
13
+ previousTransaction: common_1.TransactionDigest,
14
+ });
15
+ exports.PaginatedCoins = superstruct_1.object({
16
+ data: superstruct_1.array(exports.CoinStruct),
17
+ nextCursor: superstruct_1.union([common_1.ObjectId, superstruct_1.literal(null)]),
18
+ hasNextPage: superstruct_1.boolean(),
19
+ });
20
+ exports.CoinBalance = superstruct_1.object({
21
+ coinType: superstruct_1.string(),
22
+ coinObjectCount: superstruct_1.number(),
23
+ totalBalance: superstruct_1.number(),
24
+ lockedBalance: superstruct_1.object({
25
+ epochId: superstruct_1.optional(superstruct_1.number()),
26
+ number: superstruct_1.optional(superstruct_1.number()),
27
+ }),
28
+ });
29
+ exports.CoinSupply = superstruct_1.object({
30
+ value: superstruct_1.number(),
31
+ });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29pbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvbXlzdGVubGFiL3R5cGVzL2NvaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQWdIO0FBQ2hILHFDQUF1RDtBQUUxQyxRQUFBLFVBQVUsR0FBRyxvQkFBTSxDQUFDO0lBQy9CLFFBQVEsRUFBRSxvQkFBTSxFQUFFO0lBQ2xCLFlBQVksRUFBRSxpQkFBUTtJQUN0QixPQUFPLEVBQUUsb0JBQU0sRUFBRTtJQUNqQixNQUFNLEVBQUUsMEJBQWlCO0lBQ3pCLE9BQU8sRUFBRSxvQkFBTSxFQUFFO0lBQ2pCLGdCQUFnQixFQUFFLHNCQUFRLENBQUMsb0JBQU0sRUFBRSxDQUFDO0lBQ3BDLG1CQUFtQixFQUFFLDBCQUFpQjtDQUN2QyxDQUFDLENBQUM7QUFJVSxRQUFBLGNBQWMsR0FBRyxvQkFBTSxDQUFDO0lBQ25DLElBQUksRUFBRSxtQkFBSyxDQUFDLGtCQUFVLENBQUM7SUFDdkIsVUFBVSxFQUFFLG1CQUFLLENBQUMsQ0FBQyxpQkFBUSxFQUFFLHFCQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM1QyxXQUFXLEVBQUUscUJBQU8sRUFBRTtDQUN2QixDQUFDLENBQUM7QUFJVSxRQUFBLFdBQVcsR0FBRyxvQkFBTSxDQUFDO0lBQ2hDLFFBQVEsRUFBRSxvQkFBTSxFQUFFO0lBQ2xCLGVBQWUsRUFBRSxvQkFBTSxFQUFFO0lBQ3pCLFlBQVksRUFBRSxvQkFBTSxFQUFFO0lBQ3RCLGFBQWEsRUFBRSxvQkFBTSxDQUFDO1FBQ3BCLE9BQU8sRUFBRSxzQkFBUSxDQUFDLG9CQUFNLEVBQUUsQ0FBQztRQUMzQixNQUFNLEVBQUUsc0JBQVEsQ0FBQyxvQkFBTSxFQUFFLENBQUM7S0FDM0IsQ0FBQztDQUNILENBQUMsQ0FBQztBQUlVLFFBQUEsVUFBVSxHQUFHLG9CQUFNLENBQUM7SUFDL0IsS0FBSyxFQUFFLG9CQUFNLEVBQUU7Q0FDaEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXJyYXksIGJvb2xlYW4sIEluZmVyLCBsaXRlcmFsLCBudWxsYWJsZSwgbnVtYmVyLCBvYmplY3QsIG9wdGlvbmFsLCBzdHJpbmcsIHVuaW9uIH0gZnJvbSAnc3VwZXJzdHJ1Y3QnO1xuaW1wb3J0IHsgT2JqZWN0SWQsIFRyYW5zYWN0aW9uRGlnZXN0IH0gZnJvbSAnLi9jb21tb24nO1xuXG5leHBvcnQgY29uc3QgQ29pblN0cnVjdCA9IG9iamVjdCh7XG4gIGNvaW5UeXBlOiBzdHJpbmcoKSxcbiAgY29pbk9iamVjdElkOiBPYmplY3RJZCxcbiAgdmVyc2lvbjogbnVtYmVyKCksXG4gIGRpZ2VzdDogVHJhbnNhY3Rpb25EaWdlc3QsXG4gIGJhbGFuY2U6IG51bWJlcigpLFxuICBsb2NrZWRVbnRpbEVwb2NoOiBudWxsYWJsZShudW1iZXIoKSksXG4gIHByZXZpb3VzVHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uRGlnZXN0LFxufSk7XG5cbmV4cG9ydCB0eXBlIENvaW5TdHJ1Y3QgPSBJbmZlcjx0eXBlb2YgQ29pblN0cnVjdD47XG5cbmV4cG9ydCBjb25zdCBQYWdpbmF0ZWRDb2lucyA9IG9iamVjdCh7XG4gIGRhdGE6IGFycmF5KENvaW5TdHJ1Y3QpLFxuICBuZXh0Q3Vyc29yOiB1bmlvbihbT2JqZWN0SWQsIGxpdGVyYWwobnVsbCldKSxcbiAgaGFzTmV4dFBhZ2U6IGJvb2xlYW4oKSxcbn0pO1xuXG5leHBvcnQgdHlwZSBQYWdpbmF0ZWRDb2lucyA9IEluZmVyPHR5cGVvZiBQYWdpbmF0ZWRDb2lucz47XG5cbmV4cG9ydCBjb25zdCBDb2luQmFsYW5jZSA9IG9iamVjdCh7XG4gIGNvaW5UeXBlOiBzdHJpbmcoKSxcbiAgY29pbk9iamVjdENvdW50OiBudW1iZXIoKSxcbiAgdG90YWxCYWxhbmNlOiBudW1iZXIoKSxcbiAgbG9ja2VkQmFsYW5jZTogb2JqZWN0KHtcbiAgICBlcG9jaElkOiBvcHRpb25hbChudW1iZXIoKSksXG4gICAgbnVtYmVyOiBvcHRpb25hbChudW1iZXIoKSksXG4gIH0pLFxufSk7XG5cbmV4cG9ydCB0eXBlIENvaW5CYWxhbmNlID0gSW5mZXI8dHlwZW9mIENvaW5CYWxhbmNlPjtcblxuZXhwb3J0IGNvbnN0IENvaW5TdXBwbHkgPSBvYmplY3Qoe1xuICB2YWx1ZTogbnVtYmVyKCksXG59KTtcblxuZXhwb3J0IHR5cGUgQ29pblN1cHBseSA9IEluZmVyPHR5cGVvZiBDb2luU3VwcGx5PjtcbiJdfQ==