@bitgo/sdk-coin-sui 2.0.0 → 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 +37 -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,156 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SuiSystemStateSummary = exports.SuiValidatorSummary = exports.CommitteeInfo = exports.DelegationStakingPool = exports.DelegationStakingPoolFields = exports.Contents = exports.ContentsFieldsWithdraw = exports.ContentsFields = exports.SuiSupplyFields = exports.StakeSubsidy = exports.StakeSubsidyFields = exports.DelegatedStake = exports.StakeObject = exports.Balance = void 0;
4
+ const superstruct_1 = require("superstruct");
5
+ const common_1 = require("./common");
6
+ const transactions_1 = require("./transactions");
7
+ // Staking
8
+ exports.Balance = superstruct_1.object({
9
+ value: superstruct_1.number(),
10
+ });
11
+ exports.StakeObject = superstruct_1.object({
12
+ stakedSuiId: common_1.ObjectId,
13
+ stakeRequestEpoch: transactions_1.EpochId,
14
+ stakeActiveEpoch: transactions_1.EpochId,
15
+ principal: superstruct_1.number(),
16
+ status: superstruct_1.union([superstruct_1.literal('Active'), superstruct_1.literal('Pending'), superstruct_1.literal('Unstaked')]),
17
+ estimatedReward: superstruct_1.optional(superstruct_1.number()),
18
+ });
19
+ exports.DelegatedStake = superstruct_1.object({
20
+ validatorAddress: common_1.SuiAddress,
21
+ stakingPool: common_1.ObjectId,
22
+ stakes: superstruct_1.array(exports.StakeObject),
23
+ });
24
+ exports.StakeSubsidyFields = superstruct_1.object({
25
+ balance: superstruct_1.object({ value: superstruct_1.number() }),
26
+ distribution_counter: superstruct_1.number(),
27
+ current_distribution_amount: superstruct_1.number(),
28
+ stake_subsidy_period_length: superstruct_1.number(),
29
+ stake_subsidy_decrease_rate: superstruct_1.number(),
30
+ });
31
+ exports.StakeSubsidy = superstruct_1.object({
32
+ type: superstruct_1.string(),
33
+ fields: exports.StakeSubsidyFields,
34
+ });
35
+ exports.SuiSupplyFields = superstruct_1.object({
36
+ value: superstruct_1.number(),
37
+ });
38
+ exports.ContentsFields = superstruct_1.object({
39
+ id: superstruct_1.string(),
40
+ size: superstruct_1.number(),
41
+ head: superstruct_1.object({ vec: superstruct_1.array() }),
42
+ tail: superstruct_1.object({ vec: superstruct_1.array() }),
43
+ });
44
+ exports.ContentsFieldsWithdraw = superstruct_1.object({
45
+ id: superstruct_1.string(),
46
+ size: superstruct_1.number(),
47
+ });
48
+ exports.Contents = superstruct_1.object({
49
+ type: superstruct_1.string(),
50
+ fields: exports.ContentsFields,
51
+ });
52
+ exports.DelegationStakingPoolFields = superstruct_1.object({
53
+ exchangeRates: superstruct_1.object({
54
+ id: superstruct_1.string(),
55
+ size: superstruct_1.number(),
56
+ }),
57
+ id: superstruct_1.string(),
58
+ pendingStake: superstruct_1.number(),
59
+ pendingPoolTokenWithdraw: superstruct_1.number(),
60
+ pendingTotalSuiWithdraw: superstruct_1.number(),
61
+ poolTokenBalance: superstruct_1.number(),
62
+ rewardsPool: superstruct_1.object({ value: superstruct_1.number() }),
63
+ activationEpoch: superstruct_1.object({ vec: superstruct_1.array() }),
64
+ deactivationEpoch: superstruct_1.object({ vec: superstruct_1.array() }),
65
+ suiBalance: superstruct_1.number(),
66
+ });
67
+ exports.DelegationStakingPool = superstruct_1.object({
68
+ type: superstruct_1.string(),
69
+ fields: exports.DelegationStakingPoolFields,
70
+ });
71
+ exports.CommitteeInfo = superstruct_1.object({
72
+ epoch: superstruct_1.number(),
73
+ /** Array of (validator public key, stake unit) tuple */
74
+ validators: superstruct_1.optional(superstruct_1.array(superstruct_1.tuple([transactions_1.AuthorityName, superstruct_1.number()]))),
75
+ });
76
+ exports.SuiValidatorSummary = superstruct_1.object({
77
+ suiAddress: common_1.SuiAddress,
78
+ protocolPubkeyBytes: superstruct_1.string(),
79
+ networkPubkeyBytes: superstruct_1.string(),
80
+ workerPubkeyBytes: superstruct_1.string(),
81
+ proofOfPossessionBytes: superstruct_1.string(),
82
+ operationCapId: superstruct_1.string(),
83
+ name: superstruct_1.string(),
84
+ description: superstruct_1.string(),
85
+ imageUrl: superstruct_1.string(),
86
+ projectUrl: superstruct_1.string(),
87
+ p2pAddress: superstruct_1.string(),
88
+ netAddress: superstruct_1.string(),
89
+ primaryAddress: superstruct_1.string(),
90
+ workerAddress: superstruct_1.string(),
91
+ nextEpochProtocolPubkeyBytes: superstruct_1.nullable(superstruct_1.string()),
92
+ nextEpochProofOfPossession: superstruct_1.nullable(superstruct_1.string()),
93
+ nextEpochNetworkPubkeyBytes: superstruct_1.nullable(superstruct_1.string()),
94
+ nextEpochWorkerPubkeyBytes: superstruct_1.nullable(superstruct_1.string()),
95
+ nextEpochNetAddress: superstruct_1.nullable(superstruct_1.string()),
96
+ nextEpochP2pAddress: superstruct_1.nullable(superstruct_1.string()),
97
+ nextEpochPrimaryAddress: superstruct_1.nullable(superstruct_1.string()),
98
+ nextEpochWorkerAddress: superstruct_1.nullable(superstruct_1.string()),
99
+ votingPower: superstruct_1.number(),
100
+ gasPrice: superstruct_1.number(),
101
+ commissionRate: superstruct_1.number(),
102
+ nextEpochStake: superstruct_1.number(),
103
+ nextEpochGasPrice: superstruct_1.number(),
104
+ nextEpochCommissionRate: superstruct_1.number(),
105
+ stakingPoolId: superstruct_1.string(),
106
+ stakingPoolActivationEpoch: superstruct_1.nullable(superstruct_1.number()),
107
+ stakingPoolDeactivationEpoch: superstruct_1.nullable(superstruct_1.number()),
108
+ stakingPoolSuiBalance: superstruct_1.number(),
109
+ rewardsPool: superstruct_1.number(),
110
+ poolTokenBalance: superstruct_1.number(),
111
+ pendingStake: superstruct_1.number(),
112
+ pendingPoolTokenWithdraw: superstruct_1.number(),
113
+ pendingTotalSuiWithdraw: superstruct_1.number(),
114
+ exchangeRatesId: superstruct_1.string(),
115
+ exchangeRatesSize: superstruct_1.number(),
116
+ });
117
+ exports.SuiSystemStateSummary = superstruct_1.object({
118
+ epoch: superstruct_1.number(),
119
+ protocolVersion: superstruct_1.number(),
120
+ systemStateVersion: superstruct_1.number(),
121
+ storageFundTotalObjectStorageRebates: superstruct_1.number(),
122
+ storageFundNonRefundableBalance: superstruct_1.number(),
123
+ referenceGasPrice: superstruct_1.number(),
124
+ safeMode: superstruct_1.boolean(),
125
+ safeModeStorageRewards: superstruct_1.number(),
126
+ safeModeComputationRewards: superstruct_1.number(),
127
+ safeModeStorageRebates: superstruct_1.number(),
128
+ safeModeNonRefundableStorageFee: superstruct_1.number(),
129
+ epochStartTimestampMs: superstruct_1.number(),
130
+ epochDurationMs: superstruct_1.number(),
131
+ stakeSubsidyStartEpoch: superstruct_1.number(),
132
+ maxValidatorCount: superstruct_1.number(),
133
+ minValidatorJoiningStake: superstruct_1.number(),
134
+ validatorLowStakeThreshold: superstruct_1.number(),
135
+ validatorVeryLowStakeThreshold: superstruct_1.number(),
136
+ validatorLowStakeGracePeriod: superstruct_1.number(),
137
+ stakeSubsidyBalance: superstruct_1.number(),
138
+ stakeSubsidyDistributionCounter: superstruct_1.number(),
139
+ stakeSubsidyCurrentDistributionAmount: superstruct_1.number(),
140
+ stakeSubsidyPeriodLength: superstruct_1.number(),
141
+ stakeSubsidyDecreaseRate: superstruct_1.number(),
142
+ totalStake: superstruct_1.number(),
143
+ activeValidators: superstruct_1.array(exports.SuiValidatorSummary),
144
+ pendingActiveValidatorsId: superstruct_1.string(),
145
+ pendingActiveValidatorsSize: superstruct_1.number(),
146
+ pendingRemovals: superstruct_1.array(superstruct_1.number()),
147
+ stakingPoolMappingsId: superstruct_1.string(),
148
+ stakingPoolMappingsSize: superstruct_1.number(),
149
+ inactivePoolsId: superstruct_1.string(),
150
+ inactivePoolsSize: superstruct_1.number(),
151
+ validatorCandidatesId: superstruct_1.string(),
152
+ validatorCandidatesSize: superstruct_1.number(),
153
+ atRiskValidators: superstruct_1.array(superstruct_1.tuple([common_1.SuiAddress, superstruct_1.number()])),
154
+ validatorReportRecords: superstruct_1.array(superstruct_1.tuple([common_1.SuiAddress, superstruct_1.array(common_1.SuiAddress)])),
155
+ });
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9teXN0ZW5sYWIvdHlwZXMvdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUF1SDtBQUN2SCxxQ0FBZ0Q7QUFDaEQsaURBQXdEO0FBUXhELFVBQVU7QUFFRyxRQUFBLE9BQU8sR0FBRyxvQkFBTSxDQUFDO0lBQzVCLEtBQUssRUFBRSxvQkFBTSxFQUFFO0NBQ2hCLENBQUMsQ0FBQztBQUVVLFFBQUEsV0FBVyxHQUFHLG9CQUFNLENBQUM7SUFDaEMsV0FBVyxFQUFFLGlCQUFRO0lBQ3JCLGlCQUFpQixFQUFFLHNCQUFPO0lBQzFCLGdCQUFnQixFQUFFLHNCQUFPO0lBQ3pCLFNBQVMsRUFBRSxvQkFBTSxFQUFFO0lBQ25CLE1BQU0sRUFBRSxtQkFBSyxDQUFDLENBQUMscUJBQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxxQkFBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLHFCQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUMzRSxlQUFlLEVBQUUsc0JBQVEsQ0FBQyxvQkFBTSxFQUFFLENBQUM7Q0FDcEMsQ0FBQyxDQUFDO0FBRVUsUUFBQSxjQUFjLEdBQUcsb0JBQU0sQ0FBQztJQUNuQyxnQkFBZ0IsRUFBRSxtQkFBVTtJQUM1QixXQUFXLEVBQUUsaUJBQVE7SUFDckIsTUFBTSxFQUFFLG1CQUFLLENBQUMsbUJBQVcsQ0FBQztDQUMzQixDQUFDLENBQUM7QUFFVSxRQUFBLGtCQUFrQixHQUFHLG9CQUFNLENBQUM7SUFDdkMsT0FBTyxFQUFFLG9CQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsb0JBQU0sRUFBRSxFQUFFLENBQUM7SUFDcEMsb0JBQW9CLEVBQUUsb0JBQU0sRUFBRTtJQUM5QiwyQkFBMkIsRUFBRSxvQkFBTSxFQUFFO0lBQ3JDLDJCQUEyQixFQUFFLG9CQUFNLEVBQUU7SUFDckMsMkJBQTJCLEVBQUUs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QkFBTSxFQUFFO0lBQy9CLHVCQUF1QixFQUFFLG9CQUFNLEVBQUU7SUFDakMsZUFBZSxFQUFFLG9CQUFNLEVBQUU7SUFDekIsaUJBQWlCLEVBQUUsb0JBQU0sRUFBRTtJQUMzQixxQkFBcUIsRUFBRSxvQkFBTSxFQUFFO0lBQy9CLHVCQUF1QixFQUFFLG9CQUFNLEVBQUU7SUFDakMsZ0JBQWdCLEVBQUUsbUJBQUssQ0FBQyxtQkFBSyxDQUFDLENBQUMsbUJBQVUsRUFBRSxvQkFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3RELHNCQUFzQixFQUFFLG1CQUFLLENBQUMsbUJBQUssQ0FBQyxDQUFDLG1CQUFVLEVBQUUsbUJBQUssQ0FBQyxtQkFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO0NBQ3RFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFycmF5LCBib29sZWFuLCBsaXRlcmFsLCBudW1iZXIsIG9iamVjdCwgc3RyaW5nLCB1bmlvbiwgSW5mZXIsIG51bGxhYmxlLCB0dXBsZSwgb3B0aW9uYWwgfSBmcm9tICdzdXBlcnN0cnVjdCc7XG5pbXBvcnQgeyBPYmplY3RJZCwgU3VpQWRkcmVzcyB9IGZyb20gJy4vY29tbW9uJztcbmltcG9ydCB7IEF1dGhvcml0eU5hbWUsIEVwb2NoSWQgfSBmcm9tICcuL3RyYW5zYWN0aW9ucyc7XG5cbi8qIC0tLS0tLS0tLS0tLS0tIFR5cGVzIGZvciB0aGUgU3VpU3lzdGVtU3RhdGUgUnVzdCBkZWZpbml0aW9uIC0tLS0tLS0tLS0tLS0tICovXG5cbmV4cG9ydCB0eXBlIERlbGVnYXRlZFN0YWtlID0gSW5mZXI8dHlwZW9mIERlbGVnYXRlZFN0YWtlPjtcbmV4cG9ydCB0eXBlIENvbW1pdHRlZUluZm8gPSBJbmZlcjx0eXBlb2YgQ29tbWl0dGVlSW5mbz47XG5leHBvcnQgdHlwZSBTdGFrZU9iamVjdCA9IEluZmVyPHR5cGVvZiBTdGFrZU9iamVjdD47XG5cbi8vIFN0YWtpbmdcblxuZXhwb3J0IGNvbnN0IEJhbGFuY2UgPSBvYmplY3Qoe1xuICB2YWx1ZTogbnVtYmVyKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IFN0YWtlT2JqZWN0ID0gb2JqZWN0KHtcbiAgc3Rha2VkU3VpSWQ6IE9iamVjdElkLFxuICBzdGFrZVJlcXVlc3RFcG9jaDogRXBvY2hJZCxcbiAgc3Rha2VBY3RpdmVFcG9jaDogRXBvY2hJZCxcbiAgcHJpbmNpcGFsOiBudW1iZXIoKSxcbiAgc3RhdHVzOiB1bmlvbihbbGl0ZXJhbCgnQWN0aXZlJyksIGxpdGVyYWwoJ1BlbmRpbmcnKSwgbGl0ZXJhbCgnVW5zdGFrZWQnKV0pLFxuICBlc3RpbWF0ZWRSZXdhcmQ6IG9wdGlvbmFsKG51bWJlcigpKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgRGVsZWdhdGVkU3Rha2UgPSBvYmplY3Qoe1xuICB2YWxpZGF0b3JBZGRyZXNzOiBTdWlBZGRyZXNzLFxuICBzdGFraW5nUG9vbDogT2JqZWN0SWQsXG4gIHN0YWtlczogYXJyYXkoU3Rha2VPYmplY3QpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBTdGFrZVN1YnNpZHlGaWVsZHMgPSBvYmplY3Qoe1xuICBiYWxhbmNlOiBvYmplY3QoeyB2YWx1ZTogbnVtYmVyKCkgfSksXG4gIGRpc3RyaWJ1dGlvbl9jb3VudGVyOiBudW1iZXIoKSxcbiAgY3VycmVudF9kaXN0cmlidXRpb25fYW1vdW50OiBudW1iZXIoKSxcbiAgc3Rha2Vfc3Vic2lkeV9wZXJpb2RfbGVuZ3RoOiBudW1iZXIoKSxcbiAgc3Rha2Vfc3Vic2lkeV9kZWNyZWFzZV9yYXRlOiBudW1iZXIoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgU3Rha2VTdWJzaWR5ID0gb2JqZWN0KHtcbiAgdHlwZTogc3RyaW5nKCksXG4gIGZpZWxkczogU3Rha2VTdWJzaWR5RmllbGRzLFxufSk7XG5cbmV4cG9ydCBjb25zdCBTdWlTdXBwbHlGaWVsZHMgPSBvYmplY3Qoe1xuICB2YWx1ZTogbnVtYmVyKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IENvbnRlbnRzRmllbGRzID0gb2JqZWN0KHtcbiAgaWQ6IHN0cmluZygpLFxuICBzaXplOiBudW1iZXIoKSxcbiAgaGVhZDogb2JqZWN0KHsgdmVjOiBhcnJheSgpIH0pLFxuICB0YWlsOiBvYmplY3QoeyB2ZWM6IGFycmF5KCkgfSksXG59KTtcblxuZXhwb3J0IGNvbnN0IENvbnRlbnRzRmllbGRzV2l0aGRyYXcgPSBvYmplY3Qoe1xuICBpZDogc3RyaW5nKCksXG4gIHNpemU6IG51bWJlcigpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBDb250ZW50cyA9IG9iamVjdCh7XG4gIHR5cGU6IHN0cmluZygpLFxuICBmaWVsZHM6IENvbnRlbnRzRmllbGRzLFxufSk7XG5cbmV4cG9ydCBjb25zdCBEZWxlZ2F0aW9uU3Rha2luZ1Bvb2xGaWVsZHMgPSBvYmplY3Qoe1xuICBleGNoYW5nZVJhdGVzOiBvYmplY3Qoe1xuICAgIGlkOiBzdHJpbmcoKSxcbiAgICBzaXplOiBudW1iZXIoKSxcbiAgfSksXG4gIGlkOiBzdHJpbmcoKSxcbiAgcGVuZGluZ1N0YWtlOiBudW1iZXIoKSxcbiAgcGVuZGluZ1Bvb2xUb2tlbldpdGhkcmF3OiBudW1iZXIoKSxcbiAgcGVuZGluZ1RvdGFsU3VpV2l0aGRyYXc6IG51bWJlcigpLFxuICBwb29sVG9rZW5CYWxhbmNlOiBudW1iZXIoKSxcbiAgcmV3YXJkc1Bvb2w6IG9iamVjdCh7IHZhbHVlOiBudW1iZXIoKSB9KSxcbiAgYWN0aXZhdGlvbkVwb2NoOiBvYmplY3QoeyB2ZWM6IGFycmF5KCkgfSksXG4gIGRlYWN0aXZhdGlvbkVwb2NoOiBvYmplY3QoeyB2ZWM6IGFycmF5KCkgfSksXG4gIHN1aUJhbGFuY2U6IG51bWJlcigpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBEZWxlZ2F0aW9uU3Rha2luZ1Bvb2wgPSBvYmplY3Qoe1xuICB0eXBlOiBzdHJpbmcoKSxcbiAgZmllbGRzOiBEZWxlZ2F0aW9uU3Rha2luZ1Bvb2xGaWVsZHMsXG59KTtcblxuZXhwb3J0IGNvbnN0IENvbW1pdHRlZUluZm8gPSBvYmplY3Qoe1xuICBlcG9jaDogbnVtYmVyKCksXG4gIC8qKiBBcnJheSBvZiAodmFsaWRhdG9yIHB1YmxpYyBrZXksIHN0YWtlIHVuaXQpIHR1cGxlICovXG4gIHZhbGlkYXRvcnM6IG9wdGlvbmFsKGFycmF5KHR1cGxlKFtBdXRob3JpdHlOYW1lLCBudW1iZXIoKV0pKSksXG59KTtcblxuZXhwb3J0IGNvbnN0IFN1aVZhbGlkYXRvclN1bW1hcnkgPSBvYmplY3Qoe1xuICBzdWlBZGRyZXNzOiBTdWlBZGRyZXNzLFxuICBwcm90b2NvbFB1YmtleUJ5dGVzOiBzdHJpbmcoKSxcbiAgbmV0d29ya1B1YmtleUJ5dGVzOiBzdHJpbmcoKSxcbiAgd29ya2VyUHVia2V5Qnl0ZXM6IHN0cmluZygpLFxuICBwcm9vZk9mUG9zc2Vzc2lvbkJ5dGVzOiBzdHJpbmcoKSxcbiAgb3BlcmF0aW9uQ2FwSWQ6IHN0cmluZygpLFxuICBuYW1lOiBzdHJpbmcoKSxcbiAgZGVzY3JpcHRpb246IHN0cmluZygpLFxuICBpbWFnZVVybDogc3RyaW5nKCksXG4gIHByb2plY3RVcmw6IHN0cmluZygpLFxuICBwMnBBZGRyZXNzOiBzdHJpbmcoKSxcbiAgbmV0QWRkcmVzczogc3RyaW5nKCksXG4gIHByaW1hcnlBZGRyZXNzOiBzdHJpbmcoKSxcbiAgd29ya2VyQWRkcmVzczogc3RyaW5nKCksXG4gIG5leHRFcG9jaFByb3RvY29sUHVia2V5Qnl0ZXM6IG51bGxhYmxlKHN0cmluZygpKSxcbiAgbmV4dEVwb2NoUHJvb2ZPZlBvc3Nlc3Npb246IG51bGxhYmxlKHN0cmluZygpKSxcbiAgbmV4dEVwb2NoTmV0d29ya1B1YmtleUJ5dGVzOiBudWxsYWJsZShzdHJpbmcoKSksXG4gIG5leHRFcG9jaFdvcmtlclB1YmtleUJ5dGVzOiBudWxsYWJsZShzdHJpbmcoKSksXG4gIG5leHRFcG9jaE5ldEFkZHJlc3M6IG51bGxhYmxlKHN0cmluZygpKSxcbiAgbmV4dEVwb2NoUDJwQWRkcmVzczogbnVsbGFibGUoc3RyaW5nKCkpLFxuICBuZXh0RXBvY2hQcmltYXJ5QWRkcmVzczogbnVsbGFibGUoc3RyaW5nKCkpLFxuICBuZXh0RXBvY2hXb3JrZXJBZGRyZXNzOiBudWxsYWJsZShzdHJpbmcoKSksXG4gIHZvdGluZ1Bvd2VyOiBudW1iZXIoKSxcbiAgZ2FzUHJpY2U6IG51bWJlcigpLFxuICBjb21taXNzaW9uUmF0ZTogbnVtYmVyKCksXG4gIG5leHRFcG9jaFN0YWtlOiBudW1iZXIoKSxcbiAgbmV4dEVwb2NoR2FzUHJpY2U6IG51bWJlcigpLFxuICBuZXh0RXBvY2hDb21taXNzaW9uUmF0ZTogbnVtYmVyKCksXG4gIHN0YWtpbmdQb29sSWQ6IHN0cmluZygpLFxuICBzdGFraW5nUG9vbEFjdGl2YXRpb25FcG9jaDogbnVsbGFibGUobnVtYmVyKCkpLFxuICBzdGFraW5nUG9vbERlYWN0aXZhdGlvbkVwb2NoOiBudWxsYWJsZShudW1iZXIoKSksXG4gIHN0YWtpbmdQb29sU3VpQmFsYW5jZTogbnVtYmVyKCksXG4gIHJld2FyZHNQb29sOiBudW1iZXIoKSxcbiAgcG9vbFRva2VuQmFsYW5jZTogbnVtYmVyKCksXG4gIHBlbmRpbmdTdGFrZTogbnVtYmVyKCksXG4gIHBlbmRpbmdQb29sVG9rZW5XaXRoZHJhdzogbnVtYmVyKCksXG4gIHBlbmRpbmdUb3RhbFN1aVdpdGhkcmF3OiBudW1iZXIoKSxcbiAgZXhjaGFuZ2VSYXRlc0lkOiBzdHJpbmcoKSxcbiAgZXhjaGFuZ2VSYXRlc1NpemU6IG51bWJlcigpLFxufSk7XG5cbmV4cG9ydCB0eXBlIFN1aVZhbGlkYXRvclN1bW1hcnkgPSBJbmZlcjx0eXBlb2YgU3VpVmFsaWRhdG9yU3VtbWFyeT47XG5cbmV4cG9ydCBjb25zdCBTdWlTeXN0ZW1TdGF0ZVN1bW1hcnkgPSBvYmplY3Qoe1xuICBlcG9jaDogbnVtYmVyKCksXG4gIHByb3RvY29sVmVyc2lvbjogbnVtYmVyKCksXG4gIHN5c3RlbVN0YXRlVmVyc2lvbjogbnVtYmVyKCksXG4gIHN0b3JhZ2VGdW5kVG90YWxPYmplY3RTdG9yYWdlUmViYXRlczogbnVtYmVyKCksXG4gIHN0b3JhZ2VGdW5kTm9uUmVmdW5kYWJsZUJhbGFuY2U6IG51bWJlcigpLFxuICByZWZlcmVuY2VHYXNQcmljZTogbnVtYmVyKCksXG4gIHNhZmVNb2RlOiBib29sZWFuKCksXG4gIHNhZmVNb2RlU3RvcmFnZVJld2FyZHM6IG51bWJlcigpLFxuICBzYWZlTW9kZUNvbXB1dGF0aW9uUmV3YXJkczogbnVtYmVyKCksXG4gIHNhZmVNb2RlU3RvcmFnZVJlYmF0ZXM6IG51bWJlcigpLFxuICBzYWZlTW9kZU5vblJlZnVuZGFibGVTdG9yYWdlRmVlOiBudW1iZXIoKSxcbiAgZXBvY2hTdGFydFRpbWVzdGFtcE1zOiBudW1iZXIoKSxcbiAgZXBvY2hEdXJhdGlvbk1zOiBudW1iZXIoKSxcbiAgc3Rha2VTdWJzaWR5U3RhcnRFcG9jaDogbnVtYmVyKCksXG4gIG1heFZhbGlkYXRvckNvdW50OiBudW1iZXIoKSxcbiAgbWluVmFsaWRhdG9ySm9pbmluZ1N0YWtlOiBudW1iZXIoKSxcbiAgdmFsaWRhdG9yTG93U3Rha2VUaHJlc2hvbGQ6IG51bWJlcigpLFxuICB2YWxpZGF0b3JWZXJ5TG93U3Rha2VUaHJlc2hvbGQ6IG51bWJlcigpLFxuICB2YWxpZGF0b3JMb3dTdGFrZUdyYWNlUGVyaW9kOiBudW1iZXIoKSxcbiAgc3Rha2VTdWJzaWR5QmFsYW5jZTogbnVtYmVyKCksXG4gIHN0YWtlU3Vic2lkeURpc3RyaWJ1dGlvbkNvdW50ZXI6IG51bWJlcigpLFxuICBzdGFrZVN1YnNpZHlDdXJyZW50RGlzdHJpYnV0aW9uQW1vdW50OiBudW1iZXIoKSxcbiAgc3Rha2VTdWJzaWR5UGVyaW9kTGVuZ3RoOiBudW1iZXIoKSxcbiAgc3Rha2VTdWJzaWR5RGVjcmVhc2VSYXRlOiBudW1iZXIoKSxcbiAgdG90YWxTdGFrZTogbnVtYmVyKCksXG4gIGFjdGl2ZVZhbGlkYXRvcnM6IGFycmF5KFN1aVZhbGlkYXRvclN1bW1hcnkpLFxuICBwZW5kaW5nQWN0aXZlVmFsaWRhdG9yc0lkOiBzdHJpbmcoKSxcbiAgcGVuZGluZ0FjdGl2ZVZhbGlkYXRvcnNTaXplOiBudW1iZXIoKSxcbiAgcGVuZGluZ1JlbW92YWxzOiBhcnJheShudW1iZXIoKSksXG4gIHN0YWtpbmdQb29sTWFwcGluZ3NJZDogc3RyaW5nKCksXG4gIHN0YWtpbmdQb29sTWFwcGluZ3NTaXplOiBudW1iZXIoKSxcbiAgaW5hY3RpdmVQb29sc0lkOiBzdHJpbmcoKSxcbiAgaW5hY3RpdmVQb29sc1NpemU6IG51bWJlcigpLFxuICB2YWxpZGF0b3JDYW5kaWRhdGVzSWQ6IHN0cmluZygpLFxuICB2YWxpZGF0b3JDYW5kaWRhdGVzU2l6ZTogbnVtYmVyKCksXG4gIGF0Umlza1ZhbGlkYXRvcnM6IGFycmF5KHR1cGxlKFtTdWlBZGRyZXNzLCBudW1iZXIoKV0pKSxcbiAgdmFsaWRhdG9yUmVwb3J0UmVjb3JkczogYXJyYXkodHVwbGUoW1N1aUFkZHJlc3MsIGFycmF5KFN1aUFkZHJlc3MpXSkpLFxufSk7XG5cbmV4cG9ydCB0eXBlIFN1aVN5c3RlbVN0YXRlU3VtbWFyeSA9IEluZmVyPHR5cGVvZiBTdWlTeXN0ZW1TdGF0ZVN1bW1hcnk+O1xuIl19
@@ -1,23 +1,19 @@
1
1
  import { BaseCoin as CoinConfig } from '@bitgo/statics';
2
- import { TransactionType } from '@bitgo/sdk-core';
3
- import { MoveCallTx, RequestAddDelegation, RequestSwitchDelegation, RequestWithdrawDelegation, SuiTransaction } from './iface';
2
+ import { BaseKey, TransactionType } from '@bitgo/sdk-core';
3
+ import { SuiTransaction, RequestAddStake, RequestWithdrawStakedSui, StakingProgrammableTransaction } from './iface';
4
4
  import { TransactionBuilder } from './transactionBuilder';
5
- import { StakingTransaction } from './stakingTransaction';
6
5
  import { Transaction } from './transaction';
7
- export declare class StakingBuilder extends TransactionBuilder<MoveCallTx> {
8
- protected _moveCallTx: MoveCallTx;
9
- protected _addDelegationTx: RequestAddDelegation;
10
- protected _withdrawDelegation: RequestWithdrawDelegation;
11
- protected _switchDelegation: RequestSwitchDelegation;
6
+ import { TransferTransaction } from './transferTransaction';
7
+ export declare class StakingBuilder extends TransactionBuilder<StakingProgrammableTransaction> {
8
+ protected _addStakeTx: RequestAddStake;
9
+ protected _withdrawDelegation: RequestWithdrawStakedSui;
12
10
  constructor(_coinConfig: Readonly<CoinConfig>);
13
11
  /**
14
12
  * Build a MoveCall transaction ready to be signed and executed.
15
13
  *
16
- * @returns {SuiTransaction} an unsigned Sui transaction
17
- *
18
- * @see https://github.com/MystenLabs/sui/blob/main/crates/sui-framework/docs/sui_system.md#function-request_add_delegation_mul_coin
14
+ * @returns {BitGoSuiTransaction} an unsigned Sui transaction
19
15
  */
20
- protected buildStakeTransaction(): SuiTransaction<MoveCallTx>;
16
+ protected buildStakeTransaction(): SuiTransaction<StakingProgrammableTransaction>;
21
17
  /**
22
18
  * Get staking transaction type
23
19
  *
@@ -25,49 +21,42 @@ export declare class StakingBuilder extends TransactionBuilder<MoveCallTx> {
25
21
  * @protected
26
22
  */
27
23
  protected get transactionType(): TransactionType;
24
+ /** @inheritdoc */
25
+ validateTransaction(transaction: TransferTransaction): void;
26
+ /** @inheritdoc */
27
+ sign(key: BaseKey): void;
28
28
  /**
29
- * Create a new transaction for delegating coins ready to be signed and executed.
29
+ * Create a new transaction for staking coins ready to be signed and executed.
30
30
  *
31
- * @param {RequestAddDelegation} addDelegation
31
+ * @param {RequestAddStake} request
32
32
  */
33
- requestAddDelegation(addDelegation: RequestAddDelegation): this;
33
+ stake(request: RequestAddStake): this;
34
34
  /**
35
35
  * Create a new transaction for withdrawing coins ready to be signed
36
36
  *
37
- * @param {RequestWithdrawDelegation} addDelegationTx
38
- */
39
- requestWithdrawDelegation(withdrawDelegation: RequestWithdrawDelegation): this;
40
- /**
41
- * Create a new transaction for switching delegation ready to be signed
42
- *
43
- * @param {switchDelegation} switchDelegation
37
+ * @param {RequestWithdrawStakedSui} request
44
38
  */
45
- requestSwitchDelegation(switchDelegation: RequestSwitchDelegation): this;
39
+ unstake(request: RequestWithdrawStakedSui): this;
46
40
  /** @inheritdoc */
47
- protected fromImplementation(rawTransaction: string): Transaction<MoveCallTx>;
41
+ protected fromImplementation(rawTransaction: string): Transaction<StakingProgrammableTransaction>;
48
42
  /** @inheritdoc */
49
- protected buildImplementation(): Promise<Transaction<MoveCallTx>>;
43
+ protected buildImplementation(): Promise<Transaction<StakingProgrammableTransaction>>;
50
44
  /**
51
45
  * Initialize the transaction builder fields using the decoded transaction data
52
46
  *
53
47
  * @param {StakingTransaction} tx the transaction data
54
48
  */
55
- initBuilder(tx: StakingTransaction): void;
56
- /** @inheritdoc */
57
- validateTransaction(tx: Transaction<MoveCallTx>): void;
49
+ initBuilder(tx: Transaction<StakingProgrammableTransaction>): void;
58
50
  /**
59
- * Validate transaction schema
60
- *
61
- * @param {SuiTransaction<MoveCallTx>} tx
62
- * @private
51
+ * Validates all fields are defined
63
52
  */
64
- private validateSchema;
53
+ private validateTransactionFields;
65
54
  /**
66
55
  * Build SuiTransaction
67
56
  *
68
- * @return {SuiTransaction<MoveCallTx>}
57
+ * @return {BitGoSuiTransaction<MoveCallTx>}
69
58
  * @protected
70
59
  */
71
- protected buildSuiTransaction(): SuiTransaction<MoveCallTx>;
60
+ protected buildSuiTransaction(): SuiTransaction<StakingProgrammableTransaction>;
72
61
  }
73
62
  //# sourceMappingURL=stakingBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stakingBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/stakingBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAyC,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACzF,OAAO,EAGL,UAAU,EAEV,oBAAoB,EACpB,uBAAuB,EACvB,yBAAyB,EAEzB,cAAc,EAEf,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,qBAAa,cAAe,SAAQ,kBAAkB,CAAC,UAAU,CAAC;IAChE,SAAS,CAAC,WAAW,EAAE,UAAU,CAAC;IAClC,SAAS,CAAC,gBAAgB,EAAE,oBAAoB,CAAC;IACjD,SAAS,CAAC,mBAAmB,EAAE,yBAAyB,CAAC;IACzD,SAAS,CAAC,iBAAiB,EAAE,uBAAuB,CAAC;gBAEzC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C;;;;;;OAMG;IACH,SAAS,CAAC,qBAAqB,IAAI,cAAc,CAAC,UAAU,CAAC;IAW7D;;;;;OAKG;IACH,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED;;;;OAIG;IACH,oBAAoB,CAAC,aAAa,EAAE,oBAAoB,GAAG,IAAI;IAiB/D;;;;OAIG;IACH,yBAAyB,CAAC,kBAAkB,EAAE,yBAAyB,GAAG,IAAI;IAe9E;;;;OAIG;IACH,uBAAuB,CAAC,gBAAgB,EAAE,uBAAuB,GAAG,IAAI;IAqBxE,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC;IAQ7E,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAgBvE;;;;OAIG;IACH,WAAW,CAAC,EAAE,EAAE,kBAAkB,GAAG,IAAI;IAgDzC,kBAAkB;IAClB,mBAAmB,CAAC,EAAE,EAAE,WAAW,CAAC,UAAU,CAAC,GAAG,IAAI;IAWtD;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAStB;;;;;OAKG;IACH,SAAS,CAAC,mBAAmB,IAAI,cAAc,CAAC,UAAU,CAAC;CAW5D"}
1
+ {"version":3,"file":"stakingBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/stakingBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAkD,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC3G,OAAO,EACL,cAAc,EACd,eAAe,EACf,wBAAwB,EAExB,8BAA8B,EAC/B,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAiB5D,qBAAa,cAAe,SAAQ,kBAAkB,CAAC,8BAA8B,CAAC;IACpF,SAAS,CAAC,WAAW,EAAE,eAAe,CAAC;IACvC,SAAS,CAAC,mBAAmB,EAAE,wBAAwB,CAAC;gBAE5C,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C;;;;OAIG;IACH,SAAS,CAAC,qBAAqB,IAAI,cAAc,CAAC,8BAA8B,CAAC;IAYjF;;;;;OAKG;IACH,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,kBAAkB;IAClB,mBAAmB,CAAC,WAAW,EAAE,mBAAmB,GAAG,IAAI;IAO3D,kBAAkB;IAClB,IAAI,CAAC,GAAG,EAAE,OAAO;IAKjB;;;;OAIG;IACH,KAAK,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAYrC;;;;OAIG;IACH,OAAO,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI;IAMhD,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW,CAAC,8BAA8B,CAAC;IAQjG,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC,8BAA8B,CAAC,CAAC;IAgB3F;;;;OAIG;IACH,WAAW,CAAC,EAAE,EAAE,WAAW,CAAC,8BAA8B,CAAC,GAAG,IAAI;IA2BlE;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAYjC;;;;;OAKG;IACH,SAAS,CAAC,mBAAmB,IAAI,cAAc,CAAC,8BAA8B,CAAC;CA+ChF"}