Skip to content

Commit 7a7dd4f

Browse files
committed
Merge branch 'main' into 2091-map-proposal-elements-for-testing
2 parents a4dd8b0 + caa02b0 commit 7a7dd4f

File tree

5 files changed

+61
-72
lines changed

5 files changed

+61
-72
lines changed

catalyst_voices/apps/voices/lib/pages/registration/wallet_link/stage/select_wallet_panel.dart

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -259,14 +259,3 @@ class _WalletsError extends StatelessWidget {
259259
);
260260
}
261261
}
262-
263-
class _WalletsLoading extends StatelessWidget {
264-
const _WalletsLoading();
265-
266-
@override
267-
Widget build(BuildContext context) {
268-
return const Center(
269-
child: VoicesCircularProgressIndicator(),
270-
);
271-
}
272-
}
Lines changed: 46 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,51 @@
11
part of 'main.dart';
22

3+
TransactionBuilderConfig _buildTransactionBuilderConfig() {
4+
return const TransactionBuilderConfig(
5+
feeAlgo: TieredFee(
6+
constant: 155381,
7+
coefficient: 44,
8+
refScriptByteCost: 15,
9+
),
10+
maxTxSize: 16384,
11+
maxValueSize: 5000,
12+
coinsPerUtxoByte: Coin(4310),
13+
);
14+
}
15+
16+
Transaction _buildUnsignedTx({
17+
required Set<TransactionUnspentOutput> utxos,
18+
required ShelleyAddress changeAddress,
19+
}) {
20+
/* cSpell:disable */
21+
final preprodFaucetAddress = ShelleyAddress.fromBech32(
22+
'addr_test1vzpwq95z3xyum8vqndgdd9mdnmafh3djcxnc6jemlgdmswcve6tkw',
23+
);
24+
/* cSpell:enable */
25+
26+
final txOutput = PreBabbageTransactionOutput(
27+
address: preprodFaucetAddress,
28+
amount: const Balance(coin: Coin(1000000)),
29+
);
30+
31+
final txBuilder = TransactionBuilder(
32+
config: _buildTransactionBuilderConfig(),
33+
inputs: utxos,
34+
networkId: NetworkId.testnet,
35+
);
36+
37+
final txBody = txBuilder
38+
.withOutput(txOutput)
39+
.withChangeAddressIfNeeded(changeAddress)
40+
.buildBody();
41+
42+
return Transaction(
43+
body: txBody,
44+
isValid: true,
45+
witnessSet: const TransactionWitnessSet(),
46+
);
47+
}
48+
349
Future<void> _signAndSubmitTx({
450
required BuildContext context,
551
required CardanoWalletApi api,
@@ -45,49 +91,3 @@ Future<void> _signAndSubmitTx({
4591
);
4692
}
4793
}
48-
49-
Transaction _buildUnsignedTx({
50-
required Set<TransactionUnspentOutput> utxos,
51-
required ShelleyAddress changeAddress,
52-
}) {
53-
/* cSpell:disable */
54-
final preprodFaucetAddress = ShelleyAddress.fromBech32(
55-
'addr_test1vzpwq95z3xyum8vqndgdd9mdnmafh3djcxnc6jemlgdmswcve6tkw',
56-
);
57-
/* cSpell:enable */
58-
59-
final txOutput = TransactionOutput(
60-
address: preprodFaucetAddress,
61-
amount: const Balance(coin: Coin(1000000)),
62-
);
63-
64-
final txBuilder = TransactionBuilder(
65-
config: _buildTransactionBuilderConfig(),
66-
inputs: utxos,
67-
networkId: NetworkId.testnet,
68-
);
69-
70-
final txBody = txBuilder
71-
.withOutput(txOutput)
72-
.withChangeAddressIfNeeded(changeAddress)
73-
.buildBody();
74-
75-
return Transaction(
76-
body: txBody,
77-
isValid: true,
78-
witnessSet: const TransactionWitnessSet(),
79-
);
80-
}
81-
82-
TransactionBuilderConfig _buildTransactionBuilderConfig() {
83-
return const TransactionBuilderConfig(
84-
feeAlgo: TieredFee(
85-
constant: 155381,
86-
coefficient: 44,
87-
refScriptByteCost: 15,
88-
),
89-
maxTxSize: 16384,
90-
maxValueSize: 5000,
91-
coinsPerUtxoByte: Coin(4310),
92-
);
93-
}

catalyst_voices/packages/libs/catalyst_cardano_serialization/lib/src/builders/input_builder.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ final class InputBuilder implements CoinSelector {
192192
/// - This method ensures the transaction remains valid by confirming that
193193
/// the accumulated balance exceeds or equals the required amount plus
194194
/// fees.
195-
(List<TransactionOutput>, Coin)? _getChangeAndFee(
195+
(List<ShelleyMultiAssetTransactionOutput>, Coin)? _getChangeAndFee(
196196
AssetId assetId,
197197
TransactionBuilder builder,
198198
Set<TransactionUnspentOutput> selectedInputs,
@@ -246,7 +246,7 @@ final class InputBuilder implements CoinSelector {
246246
/// the fee remains unchanged.
247247
/// - This method handles multi-asset balances and ensures they are included
248248
/// in the change outputs, if applicable.
249-
(List<TransactionOutput>, Coin) _buildChangeOutputs(
249+
(List<ShelleyMultiAssetTransactionOutput>, Coin) _buildChangeOutputs(
250250
TransactionBuilder builder,
251251
Balance remainingBalance,
252252
Coin minFee,
@@ -261,7 +261,7 @@ final class InputBuilder implements CoinSelector {
261261
? remainingBalance
262262
: Balance(coin: remainingBalance.coin);
263263

264-
final output = TransactionOutput(
264+
final output = PreBabbageTransactionOutput(
265265
address: builder.changeAddress!,
266266
amount: normalizedBalance,
267267
);
@@ -275,7 +275,7 @@ final class InputBuilder implements CoinSelector {
275275
builder.config.coinsPerUtxoByte,
276276
);
277277

278-
final changeOutputs = <TransactionOutput>[];
278+
final changeOutputs = <ShelleyMultiAssetTransactionOutput>[];
279279
if (normalizedBalance.coin >= minAda + changeFee) {
280280
changeOutputs.add(
281281
output.copyWith(amount: normalizedBalance - Balance(coin: changeFee)),

catalyst_voices/packages/libs/catalyst_cardano_serialization/lib/src/builders/transaction_builder.dart

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ final class TransactionBuilder extends Equatable {
2525

2626
/// The list of transaction outputs which describes which address
2727
/// will receive what amount of [Coin].
28-
final List<TransactionOutput> outputs;
28+
final List<ShelleyMultiAssetTransactionOutput> outputs;
2929

3030
/// The amount of lovelaces that will be charged as the fee
3131
/// for adding the transaction to the blockchain.
@@ -183,7 +183,7 @@ final class TransactionBuilder extends Equatable {
183183
/// The [output] must reach a minimum [Coin] value as calculated
184184
/// by [TransactionOutputBuilder.minimumAdaForOutput],
185185
/// otherwise [TxValueBelowMinUtxoValueException] is thrown.
186-
TransactionBuilder withOutput(TransactionOutput output) {
186+
TransactionBuilder withOutput(ShelleyMultiAssetTransactionOutput output) {
187187
final valueSize = cbor.encode(output.amount.toCbor()).length;
188188

189189
if (!TransactionOutputBuilder.isOutputSizeValid(
@@ -464,7 +464,7 @@ final class TransactionBuilder extends Equatable {
464464
required Balance changeEstimator,
465465
}) {
466466
final minAda = TransactionOutputBuilder.minimumAdaForOutput(
467-
TransactionOutput(
467+
PreBabbageTransactionOutput(
468468
address: address,
469469
amount: changeEstimator,
470470
),
@@ -478,7 +478,7 @@ final class TransactionBuilder extends Equatable {
478478
case true:
479479
final feeForChange = TransactionOutputBuilder.feeForOutput(
480480
config,
481-
TransactionOutput(
481+
PreBabbageTransactionOutput(
482482
address: address,
483483
amount: changeEstimator,
484484
),
@@ -493,7 +493,7 @@ final class TransactionBuilder extends Equatable {
493493
return withFee(changeEstimator.coin);
494494
case true:
495495
return withFee(newFee).withOutput(
496-
TransactionOutput(
496+
PreBabbageTransactionOutput(
497497
address: address,
498498
amount: changeEstimator - Balance(coin: newFee),
499499
),
@@ -663,7 +663,7 @@ final class TransactionBuilder extends Equatable {
663663
/// remain unchanged.
664664
TransactionBuilder copyWith({
665665
Set<TransactionUnspentOutput>? inputs,
666-
List<TransactionOutput>? outputs,
666+
List<ShelleyMultiAssetTransactionOutput>? outputs,
667667
Coin? fee,
668668
TransactionWitnessSetBuilder? witnessBuilder,
669669
}) {
@@ -742,12 +742,12 @@ final class TransactionOutputBuilder {
742742
///
743743
/// Adds a minimum amount of [Coin] to the transaction to pass
744744
/// the [minimumAdaForOutput] validation.
745-
static TransactionOutput withAssetAndMinRequiredCoin({
745+
static ShelleyMultiAssetTransactionOutput withAssetAndMinRequiredCoin({
746746
required ShelleyAddress address,
747747
required MultiAsset multiAsset,
748748
required Coin coinsPerUtxoByte,
749749
}) {
750-
final minOutput = TransactionOutput(
750+
final minOutput = PreBabbageTransactionOutput(
751751
address: address,
752752
amount: const Balance.zero(),
753753
);
@@ -762,7 +762,7 @@ final class TransactionOutputBuilder {
762762
);
763763

764764
final requiredCoin = minimumAdaForOutput(checkOutput, coinsPerUtxoByte);
765-
return TransactionOutput(
765+
return PreBabbageTransactionOutput(
766766
address: address,
767767
amount: Balance(coin: requiredCoin, multiAsset: multiAsset),
768768
);
@@ -879,7 +879,7 @@ final class TransactionOutputBuilder {
879879
/// These constraints ensure consistent and predictable transaction
880880
/// processing.
881881
static bool isOutputSizeValid(
882-
TransactionOutput output,
882+
ShelleyMultiAssetTransactionOutput output,
883883
int maxValueSize,
884884
) =>
885885
cbor.encode(output.amount.toCbor()).length <= maxValueSize;

catalyst_voices/packages/libs/catalyst_cardano_serialization/lib/src/builders/types.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ typedef AssetsGroup = List<MapEntry<AssetId, List<TransactionUnspentOutput>>>;
1919
/// fee.
2020
typedef SelectionResult = (
2121
Set<TransactionUnspentOutput>,
22-
List<TransactionOutput>,
22+
List<ShelleyMultiAssetTransactionOutput>,
2323
Coin,
2424
);
2525

0 commit comments

Comments
 (0)