showTransactionConfirm method
Future<bool?>
showTransactionConfirm(
- BuildContext context, {
- required Map<
String, dynamic> txParams, - required InAppWebViewController ctrl,
Implementation
Future<bool?> showTransactionConfirm(
BuildContext context, {
required Map<String, dynamic> txParams,
required InAppWebViewController ctrl,
}) async {
final requestFrom = (await ctrl.getUrl())?.host ?? '';
final String from = txParams['from'] ?? '';
final String to = txParams['to'] ?? '';
final value = txParams['value'];
final data = txParams['data'];
final gas = txParams['gas'];
return await _showDialog(
context: context,
builder: (context) => ListView(
shrinkWrap: true,
padding: _theme.contentPadding,
children: [
_buildDialogHeader('Transaction Request'),
SizedBox(height: _theme.itemSpacing),
_buildInfoRow('Request from', requestFrom),
Divider(color: _theme.borderColor),
_buildInfoRow('From', from.ellipsisMidWalletAddress()),
SizedBox(height: _theme.itemSpacing),
_buildInfoRow('To', to.ellipsisMidWalletAddress()),
SizedBox(height: _theme.itemSpacing),
Text('Details', style: _theme.valueStyle),
SizedBox(height: _theme.itemSpacing),
if (gas != null)
_buildContainer(
child: _buildInfoRow(
'Estimated Fee',
AppUtils.formatCoin(
BigInt.parse(gas).parseGwei(),
symbol: "Gwei",
decimalDigits: 9,
),
),
),
if (value != null) ...[
SizedBox(height: _theme.itemSpacing),
_buildContainer(
child: _buildInfoRow(
'Value',
AppUtils.formatCoin(
BigInt.parse(value).parseGwei(),
symbol: "",
decimalDigits: 9,
),
),
),
],
if (data != null) ...[
SizedBox(height: _theme.itemSpacing),
Text(
'Transaction Data',
style: _theme.valueStyle,
),
SizedBox(height: _theme.itemSpacing),
_buildContainer(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
_buildDataAnalysis(data.toString()),
SizedBox(height: _theme.itemSpacing),
_buildExpandableHexData(data.toString()),
],
),
),
],
SizedBox(height: _theme.itemSpacing * 2),
_buildActionButtons(
context: context,
cancelText: 'Reject',
confirmText: 'Confirm',
),
],
),
);
}