feat(evm): add wallet access grant/revoke functionality
Some checks failed
ci/woodpecker/push/server-audit Pipeline was successful
ci/woodpecker/push/server-lint Pipeline failed
ci/woodpecker/push/server-vet Pipeline failed
ci/woodpecker/push/server-test Pipeline was successful
ci/woodpecker/push/useragent-analyze Pipeline failed

This commit is contained in:
hdbg
2026-03-25 15:26:00 +01:00
parent ac04495480
commit bbf8a8019c
20 changed files with 893 additions and 147 deletions

View File

@@ -41,7 +41,7 @@ final class CalloutManagerProvider
}
}
String _$calloutManagerHash() => r'1d42ddcd9e5b8669a7ec08709b9dde9df6865bda';
String _$calloutManagerHash() => r'ff8c9a03a6bbbca822242eb497c503b18240a289';
abstract class _$CalloutManager extends $Notifier<Map<String, ActiveCallout>> {
Map<String, ActiveCallout> build();

View File

@@ -26,9 +26,11 @@ export 'evm.pbenum.dart';
class WalletEntry extends $pb.GeneratedMessage {
factory WalletEntry({
$core.int? id,
$core.List<$core.int>? address,
}) {
final result = create();
if (id != null) result.id = id;
if (address != null) result.address = address;
return result;
}
@@ -46,8 +48,9 @@ class WalletEntry extends $pb.GeneratedMessage {
_omitMessageNames ? '' : 'WalletEntry',
package: const $pb.PackageName(_omitMessageNames ? '' : 'arbiter.evm'),
createEmptyInstance: create)
..aI(1, _omitFieldNames ? '' : 'id')
..a<$core.List<$core.int>>(
1, _omitFieldNames ? '' : 'address', $pb.PbFieldType.OY)
2, _omitFieldNames ? '' : 'address', $pb.PbFieldType.OY)
..hasRequiredFields = false;
@$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
@@ -70,13 +73,22 @@ class WalletEntry extends $pb.GeneratedMessage {
static WalletEntry? _defaultInstance;
@$pb.TagNumber(1)
$core.List<$core.int> get address => $_getN(0);
$core.int get id => $_getIZ(0);
@$pb.TagNumber(1)
set address($core.List<$core.int> value) => $_setBytes(0, value);
set id($core.int value) => $_setSignedInt32(0, value);
@$pb.TagNumber(1)
$core.bool hasAddress() => $_has(0);
$core.bool hasId() => $_has(0);
@$pb.TagNumber(1)
void clearAddress() => $_clearField(1);
void clearId() => $_clearField(1);
@$pb.TagNumber(2)
$core.List<$core.int> get address => $_getN(1);
@$pb.TagNumber(2)
set address($core.List<$core.int> value) => $_setBytes(1, value);
@$pb.TagNumber(2)
$core.bool hasAddress() => $_has(1);
@$pb.TagNumber(2)
void clearAddress() => $_clearField(2);
}
class WalletList extends $pb.GeneratedMessage {

View File

@@ -34,13 +34,15 @@ final $typed_data.Uint8List evmErrorDescriptor = $convert.base64Decode(
const WalletEntry$json = {
'1': 'WalletEntry',
'2': [
{'1': 'address', '3': 1, '4': 1, '5': 12, '10': 'address'},
{'1': 'id', '3': 1, '4': 1, '5': 5, '10': 'id'},
{'1': 'address', '3': 2, '4': 1, '5': 12, '10': 'address'},
],
};
/// Descriptor for `WalletEntry`. Decode as a `google.protobuf.DescriptorProto`.
final $typed_data.Uint8List walletEntryDescriptor = $convert
.base64Decode('CgtXYWxsZXRFbnRyeRIYCgdhZGRyZXNzGAEgASgMUgdhZGRyZXNz');
final $typed_data.Uint8List walletEntryDescriptor = $convert.base64Decode(
'CgtXYWxsZXRFbnRyeRIOCgJpZBgBIAEoBVICaWQSGAoHYWRkcmVzcxgCIAEoDFIHYWRkcmVzcw'
'==');
@$core.Deprecated('Use walletListDescriptor instead')
const WalletList$json = {

View File

@@ -1072,6 +1072,230 @@ class SdkClientConnectionCancel extends $pb.GeneratedMessage {
void clearPubkey() => $_clearField(1);
}
class SdkClientWalletAccess extends $pb.GeneratedMessage {
factory SdkClientWalletAccess({
$core.int? clientId,
$core.int? walletId,
}) {
final result = create();
if (clientId != null) result.clientId = clientId;
if (walletId != null) result.walletId = walletId;
return result;
}
SdkClientWalletAccess._();
factory SdkClientWalletAccess.fromBuffer($core.List<$core.int> data,
[$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
create()..mergeFromBuffer(data, registry);
factory SdkClientWalletAccess.fromJson($core.String json,
[$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
create()..mergeFromJson(json, registry);
static final $pb.BuilderInfo _i = $pb.BuilderInfo(
_omitMessageNames ? '' : 'SdkClientWalletAccess',
package:
const $pb.PackageName(_omitMessageNames ? '' : 'arbiter.user_agent'),
createEmptyInstance: create)
..aI(1, _omitFieldNames ? '' : 'clientId')
..aI(2, _omitFieldNames ? '' : 'walletId')
..hasRequiredFields = false;
@$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
SdkClientWalletAccess clone() => deepCopy();
@$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
SdkClientWalletAccess copyWith(
void Function(SdkClientWalletAccess) updates) =>
super.copyWith((message) => updates(message as SdkClientWalletAccess))
as SdkClientWalletAccess;
@$core.override
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static SdkClientWalletAccess create() => SdkClientWalletAccess._();
@$core.override
SdkClientWalletAccess createEmptyInstance() => create();
@$core.pragma('dart2js:noInline')
static SdkClientWalletAccess getDefault() => _defaultInstance ??=
$pb.GeneratedMessage.$_defaultFor<SdkClientWalletAccess>(create);
static SdkClientWalletAccess? _defaultInstance;
@$pb.TagNumber(1)
$core.int get clientId => $_getIZ(0);
@$pb.TagNumber(1)
set clientId($core.int value) => $_setSignedInt32(0, value);
@$pb.TagNumber(1)
$core.bool hasClientId() => $_has(0);
@$pb.TagNumber(1)
void clearClientId() => $_clearField(1);
@$pb.TagNumber(2)
$core.int get walletId => $_getIZ(1);
@$pb.TagNumber(2)
set walletId($core.int value) => $_setSignedInt32(1, value);
@$pb.TagNumber(2)
$core.bool hasWalletId() => $_has(1);
@$pb.TagNumber(2)
void clearWalletId() => $_clearField(2);
}
class SdkClientGrantWalletAccess extends $pb.GeneratedMessage {
factory SdkClientGrantWalletAccess({
$core.Iterable<SdkClientWalletAccess>? accesses,
}) {
final result = create();
if (accesses != null) result.accesses.addAll(accesses);
return result;
}
SdkClientGrantWalletAccess._();
factory SdkClientGrantWalletAccess.fromBuffer($core.List<$core.int> data,
[$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
create()..mergeFromBuffer(data, registry);
factory SdkClientGrantWalletAccess.fromJson($core.String json,
[$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
create()..mergeFromJson(json, registry);
static final $pb.BuilderInfo _i = $pb.BuilderInfo(
_omitMessageNames ? '' : 'SdkClientGrantWalletAccess',
package:
const $pb.PackageName(_omitMessageNames ? '' : 'arbiter.user_agent'),
createEmptyInstance: create)
..pPM<SdkClientWalletAccess>(1, _omitFieldNames ? '' : 'accesses',
subBuilder: SdkClientWalletAccess.create)
..hasRequiredFields = false;
@$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
SdkClientGrantWalletAccess clone() => deepCopy();
@$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
SdkClientGrantWalletAccess copyWith(
void Function(SdkClientGrantWalletAccess) updates) =>
super.copyWith(
(message) => updates(message as SdkClientGrantWalletAccess))
as SdkClientGrantWalletAccess;
@$core.override
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static SdkClientGrantWalletAccess create() => SdkClientGrantWalletAccess._();
@$core.override
SdkClientGrantWalletAccess createEmptyInstance() => create();
@$core.pragma('dart2js:noInline')
static SdkClientGrantWalletAccess getDefault() => _defaultInstance ??=
$pb.GeneratedMessage.$_defaultFor<SdkClientGrantWalletAccess>(create);
static SdkClientGrantWalletAccess? _defaultInstance;
@$pb.TagNumber(1)
$pb.PbList<SdkClientWalletAccess> get accesses => $_getList(0);
}
class SdkClientRevokeWalletAccess extends $pb.GeneratedMessage {
factory SdkClientRevokeWalletAccess({
$core.Iterable<SdkClientWalletAccess>? accesses,
}) {
final result = create();
if (accesses != null) result.accesses.addAll(accesses);
return result;
}
SdkClientRevokeWalletAccess._();
factory SdkClientRevokeWalletAccess.fromBuffer($core.List<$core.int> data,
[$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
create()..mergeFromBuffer(data, registry);
factory SdkClientRevokeWalletAccess.fromJson($core.String json,
[$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
create()..mergeFromJson(json, registry);
static final $pb.BuilderInfo _i = $pb.BuilderInfo(
_omitMessageNames ? '' : 'SdkClientRevokeWalletAccess',
package:
const $pb.PackageName(_omitMessageNames ? '' : 'arbiter.user_agent'),
createEmptyInstance: create)
..pPM<SdkClientWalletAccess>(1, _omitFieldNames ? '' : 'accesses',
subBuilder: SdkClientWalletAccess.create)
..hasRequiredFields = false;
@$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
SdkClientRevokeWalletAccess clone() => deepCopy();
@$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
SdkClientRevokeWalletAccess copyWith(
void Function(SdkClientRevokeWalletAccess) updates) =>
super.copyWith(
(message) => updates(message as SdkClientRevokeWalletAccess))
as SdkClientRevokeWalletAccess;
@$core.override
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static SdkClientRevokeWalletAccess create() =>
SdkClientRevokeWalletAccess._();
@$core.override
SdkClientRevokeWalletAccess createEmptyInstance() => create();
@$core.pragma('dart2js:noInline')
static SdkClientRevokeWalletAccess getDefault() => _defaultInstance ??=
$pb.GeneratedMessage.$_defaultFor<SdkClientRevokeWalletAccess>(create);
static SdkClientRevokeWalletAccess? _defaultInstance;
@$pb.TagNumber(1)
$pb.PbList<SdkClientWalletAccess> get accesses => $_getList(0);
}
class ListWalletAccessResponse extends $pb.GeneratedMessage {
factory ListWalletAccessResponse({
$core.Iterable<SdkClientWalletAccess>? accesses,
}) {
final result = create();
if (accesses != null) result.accesses.addAll(accesses);
return result;
}
ListWalletAccessResponse._();
factory ListWalletAccessResponse.fromBuffer($core.List<$core.int> data,
[$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
create()..mergeFromBuffer(data, registry);
factory ListWalletAccessResponse.fromJson($core.String json,
[$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
create()..mergeFromJson(json, registry);
static final $pb.BuilderInfo _i = $pb.BuilderInfo(
_omitMessageNames ? '' : 'ListWalletAccessResponse',
package:
const $pb.PackageName(_omitMessageNames ? '' : 'arbiter.user_agent'),
createEmptyInstance: create)
..pPM<SdkClientWalletAccess>(1, _omitFieldNames ? '' : 'accesses',
subBuilder: SdkClientWalletAccess.create)
..hasRequiredFields = false;
@$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
ListWalletAccessResponse clone() => deepCopy();
@$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
ListWalletAccessResponse copyWith(
void Function(ListWalletAccessResponse) updates) =>
super.copyWith((message) => updates(message as ListWalletAccessResponse))
as ListWalletAccessResponse;
@$core.override
$pb.BuilderInfo get info_ => _i;
@$core.pragma('dart2js:noInline')
static ListWalletAccessResponse create() => ListWalletAccessResponse._();
@$core.override
ListWalletAccessResponse createEmptyInstance() => create();
@$core.pragma('dart2js:noInline')
static ListWalletAccessResponse getDefault() => _defaultInstance ??=
$pb.GeneratedMessage.$_defaultFor<ListWalletAccessResponse>(create);
static ListWalletAccessResponse? _defaultInstance;
@$pb.TagNumber(1)
$pb.PbList<SdkClientWalletAccess> get accesses => $_getList(0);
}
enum UserAgentRequest_Payload {
authChallengeRequest,
authChallengeSolution,
@@ -1087,6 +1311,9 @@ enum UserAgentRequest_Payload {
sdkClientRevoke,
sdkClientList,
bootstrapEncryptedKey,
grantWalletAccess,
revokeWalletAccess,
listWalletAccess,
notSet
}
@@ -1106,7 +1333,10 @@ class UserAgentRequest extends $pb.GeneratedMessage {
SdkClientRevokeRequest? sdkClientRevoke,
$1.Empty? sdkClientList,
BootstrapEncryptedKey? bootstrapEncryptedKey,
SdkClientGrantWalletAccess? grantWalletAccess,
$core.int? id,
SdkClientRevokeWalletAccess? revokeWalletAccess,
$1.Empty? listWalletAccess,
}) {
final result = create();
if (authChallengeRequest != null)
@@ -1128,7 +1358,11 @@ class UserAgentRequest extends $pb.GeneratedMessage {
if (sdkClientList != null) result.sdkClientList = sdkClientList;
if (bootstrapEncryptedKey != null)
result.bootstrapEncryptedKey = bootstrapEncryptedKey;
if (grantWalletAccess != null) result.grantWalletAccess = grantWalletAccess;
if (id != null) result.id = id;
if (revokeWalletAccess != null)
result.revokeWalletAccess = revokeWalletAccess;
if (listWalletAccess != null) result.listWalletAccess = listWalletAccess;
return result;
}
@@ -1154,9 +1388,12 @@ class UserAgentRequest extends $pb.GeneratedMessage {
9: UserAgentRequest_Payload.evmGrantDelete,
10: UserAgentRequest_Payload.evmGrantList,
11: UserAgentRequest_Payload.sdkClientConnectionResponse,
13: UserAgentRequest_Payload.sdkClientRevoke,
14: UserAgentRequest_Payload.sdkClientList,
15: UserAgentRequest_Payload.bootstrapEncryptedKey,
12: UserAgentRequest_Payload.sdkClientRevoke,
13: UserAgentRequest_Payload.sdkClientList,
14: UserAgentRequest_Payload.bootstrapEncryptedKey,
15: UserAgentRequest_Payload.grantWalletAccess,
17: UserAgentRequest_Payload.revokeWalletAccess,
18: UserAgentRequest_Payload.listWalletAccess,
0: UserAgentRequest_Payload.notSet
};
static final $pb.BuilderInfo _i = $pb.BuilderInfo(
@@ -1164,7 +1401,7 @@ class UserAgentRequest extends $pb.GeneratedMessage {
package:
const $pb.PackageName(_omitMessageNames ? '' : 'arbiter.user_agent'),
createEmptyInstance: create)
..oo(0, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15])
..oo(0, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18])
..aOM<AuthChallengeRequest>(
1, _omitFieldNames ? '' : 'authChallengeRequest',
subBuilder: AuthChallengeRequest.create)
@@ -1190,14 +1427,22 @@ class UserAgentRequest extends $pb.GeneratedMessage {
..aOM<SdkClientConnectionResponse>(
11, _omitFieldNames ? '' : 'sdkClientConnectionResponse',
subBuilder: SdkClientConnectionResponse.create)
..aOM<SdkClientRevokeRequest>(13, _omitFieldNames ? '' : 'sdkClientRevoke',
..aOM<SdkClientRevokeRequest>(12, _omitFieldNames ? '' : 'sdkClientRevoke',
subBuilder: SdkClientRevokeRequest.create)
..aOM<$1.Empty>(14, _omitFieldNames ? '' : 'sdkClientList',
..aOM<$1.Empty>(13, _omitFieldNames ? '' : 'sdkClientList',
subBuilder: $1.Empty.create)
..aOM<BootstrapEncryptedKey>(
15, _omitFieldNames ? '' : 'bootstrapEncryptedKey',
14, _omitFieldNames ? '' : 'bootstrapEncryptedKey',
subBuilder: BootstrapEncryptedKey.create)
..aOM<SdkClientGrantWalletAccess>(
15, _omitFieldNames ? '' : 'grantWalletAccess',
subBuilder: SdkClientGrantWalletAccess.create)
..aI(16, _omitFieldNames ? '' : 'id')
..aOM<SdkClientRevokeWalletAccess>(
17, _omitFieldNames ? '' : 'revokeWalletAccess',
subBuilder: SdkClientRevokeWalletAccess.create)
..aOM<$1.Empty>(18, _omitFieldNames ? '' : 'listWalletAccess',
subBuilder: $1.Empty.create)
..hasRequiredFields = false;
@$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
@@ -1230,9 +1475,12 @@ class UserAgentRequest extends $pb.GeneratedMessage {
@$pb.TagNumber(9)
@$pb.TagNumber(10)
@$pb.TagNumber(11)
@$pb.TagNumber(12)
@$pb.TagNumber(13)
@$pb.TagNumber(14)
@$pb.TagNumber(15)
@$pb.TagNumber(17)
@$pb.TagNumber(18)
UserAgentRequest_Payload whichPayload() =>
_UserAgentRequest_PayloadByTag[$_whichOneof(0)]!;
@$pb.TagNumber(1)
@@ -1246,9 +1494,12 @@ class UserAgentRequest extends $pb.GeneratedMessage {
@$pb.TagNumber(9)
@$pb.TagNumber(10)
@$pb.TagNumber(11)
@$pb.TagNumber(12)
@$pb.TagNumber(13)
@$pb.TagNumber(14)
@$pb.TagNumber(15)
@$pb.TagNumber(17)
@$pb.TagNumber(18)
void clearPayload() => $_clearField($_whichOneof(0));
@$pb.TagNumber(1)
@@ -1375,48 +1626,83 @@ class UserAgentRequest extends $pb.GeneratedMessage {
SdkClientConnectionResponse ensureSdkClientConnectionResponse() =>
$_ensure(10);
@$pb.TagNumber(13)
@$pb.TagNumber(12)
SdkClientRevokeRequest get sdkClientRevoke => $_getN(11);
@$pb.TagNumber(13)
set sdkClientRevoke(SdkClientRevokeRequest value) => $_setField(13, value);
@$pb.TagNumber(13)
@$pb.TagNumber(12)
set sdkClientRevoke(SdkClientRevokeRequest value) => $_setField(12, value);
@$pb.TagNumber(12)
$core.bool hasSdkClientRevoke() => $_has(11);
@$pb.TagNumber(13)
void clearSdkClientRevoke() => $_clearField(13);
@$pb.TagNumber(13)
@$pb.TagNumber(12)
void clearSdkClientRevoke() => $_clearField(12);
@$pb.TagNumber(12)
SdkClientRevokeRequest ensureSdkClientRevoke() => $_ensure(11);
@$pb.TagNumber(14)
@$pb.TagNumber(13)
$1.Empty get sdkClientList => $_getN(12);
@$pb.TagNumber(14)
set sdkClientList($1.Empty value) => $_setField(14, value);
@$pb.TagNumber(14)
@$pb.TagNumber(13)
set sdkClientList($1.Empty value) => $_setField(13, value);
@$pb.TagNumber(13)
$core.bool hasSdkClientList() => $_has(12);
@$pb.TagNumber(14)
void clearSdkClientList() => $_clearField(14);
@$pb.TagNumber(14)
@$pb.TagNumber(13)
void clearSdkClientList() => $_clearField(13);
@$pb.TagNumber(13)
$1.Empty ensureSdkClientList() => $_ensure(12);
@$pb.TagNumber(15)
@$pb.TagNumber(14)
BootstrapEncryptedKey get bootstrapEncryptedKey => $_getN(13);
@$pb.TagNumber(15)
@$pb.TagNumber(14)
set bootstrapEncryptedKey(BootstrapEncryptedKey value) =>
$_setField(15, value);
@$pb.TagNumber(15)
$_setField(14, value);
@$pb.TagNumber(14)
$core.bool hasBootstrapEncryptedKey() => $_has(13);
@$pb.TagNumber(15)
void clearBootstrapEncryptedKey() => $_clearField(15);
@$pb.TagNumber(15)
@$pb.TagNumber(14)
void clearBootstrapEncryptedKey() => $_clearField(14);
@$pb.TagNumber(14)
BootstrapEncryptedKey ensureBootstrapEncryptedKey() => $_ensure(13);
@$pb.TagNumber(15)
SdkClientGrantWalletAccess get grantWalletAccess => $_getN(14);
@$pb.TagNumber(15)
set grantWalletAccess(SdkClientGrantWalletAccess value) =>
$_setField(15, value);
@$pb.TagNumber(15)
$core.bool hasGrantWalletAccess() => $_has(14);
@$pb.TagNumber(15)
void clearGrantWalletAccess() => $_clearField(15);
@$pb.TagNumber(15)
SdkClientGrantWalletAccess ensureGrantWalletAccess() => $_ensure(14);
@$pb.TagNumber(16)
$core.int get id => $_getIZ(14);
$core.int get id => $_getIZ(15);
@$pb.TagNumber(16)
set id($core.int value) => $_setSignedInt32(14, value);
set id($core.int value) => $_setSignedInt32(15, value);
@$pb.TagNumber(16)
$core.bool hasId() => $_has(14);
$core.bool hasId() => $_has(15);
@$pb.TagNumber(16)
void clearId() => $_clearField(16);
@$pb.TagNumber(17)
SdkClientRevokeWalletAccess get revokeWalletAccess => $_getN(16);
@$pb.TagNumber(17)
set revokeWalletAccess(SdkClientRevokeWalletAccess value) =>
$_setField(17, value);
@$pb.TagNumber(17)
$core.bool hasRevokeWalletAccess() => $_has(16);
@$pb.TagNumber(17)
void clearRevokeWalletAccess() => $_clearField(17);
@$pb.TagNumber(17)
SdkClientRevokeWalletAccess ensureRevokeWalletAccess() => $_ensure(16);
@$pb.TagNumber(18)
$1.Empty get listWalletAccess => $_getN(17);
@$pb.TagNumber(18)
set listWalletAccess($1.Empty value) => $_setField(18, value);
@$pb.TagNumber(18)
$core.bool hasListWalletAccess() => $_has(17);
@$pb.TagNumber(18)
void clearListWalletAccess() => $_clearField(18);
@$pb.TagNumber(18)
$1.Empty ensureListWalletAccess() => $_ensure(17);
}
enum UserAgentResponse_Payload {
@@ -1435,6 +1721,7 @@ enum UserAgentResponse_Payload {
sdkClientRevokeResponse,
sdkClientListResponse,
bootstrapResult,
listWalletAccessResponse,
notSet
}
@@ -1456,6 +1743,7 @@ class UserAgentResponse extends $pb.GeneratedMessage {
SdkClientListResponse? sdkClientListResponse,
BootstrapResult? bootstrapResult,
$core.int? id,
ListWalletAccessResponse? listWalletAccessResponse,
}) {
final result = create();
if (authChallenge != null) result.authChallenge = authChallenge;
@@ -1479,6 +1767,8 @@ class UserAgentResponse extends $pb.GeneratedMessage {
result.sdkClientListResponse = sdkClientListResponse;
if (bootstrapResult != null) result.bootstrapResult = bootstrapResult;
if (id != null) result.id = id;
if (listWalletAccessResponse != null)
result.listWalletAccessResponse = listWalletAccessResponse;
return result;
}
@@ -1508,6 +1798,7 @@ class UserAgentResponse extends $pb.GeneratedMessage {
13: UserAgentResponse_Payload.sdkClientRevokeResponse,
14: UserAgentResponse_Payload.sdkClientListResponse,
15: UserAgentResponse_Payload.bootstrapResult,
17: UserAgentResponse_Payload.listWalletAccessResponse,
0: UserAgentResponse_Payload.notSet
};
static final $pb.BuilderInfo _i = $pb.BuilderInfo(
@@ -1515,7 +1806,7 @@ class UserAgentResponse extends $pb.GeneratedMessage {
package:
const $pb.PackageName(_omitMessageNames ? '' : 'arbiter.user_agent'),
createEmptyInstance: create)
..oo(0, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])
..oo(0, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17])
..aOM<AuthChallenge>(1, _omitFieldNames ? '' : 'authChallenge',
subBuilder: AuthChallenge.create)
..aE<AuthResult>(2, _omitFieldNames ? '' : 'authResult',
@@ -1551,6 +1842,9 @@ class UserAgentResponse extends $pb.GeneratedMessage {
..aE<BootstrapResult>(15, _omitFieldNames ? '' : 'bootstrapResult',
enumValues: BootstrapResult.values)
..aI(16, _omitFieldNames ? '' : 'id')
..aOM<ListWalletAccessResponse>(
17, _omitFieldNames ? '' : 'listWalletAccessResponse',
subBuilder: ListWalletAccessResponse.create)
..hasRequiredFields = false;
@$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
@@ -1587,6 +1881,7 @@ class UserAgentResponse extends $pb.GeneratedMessage {
@$pb.TagNumber(13)
@$pb.TagNumber(14)
@$pb.TagNumber(15)
@$pb.TagNumber(17)
UserAgentResponse_Payload whichPayload() =>
_UserAgentResponse_PayloadByTag[$_whichOneof(0)]!;
@$pb.TagNumber(1)
@@ -1604,6 +1899,7 @@ class UserAgentResponse extends $pb.GeneratedMessage {
@$pb.TagNumber(13)
@$pb.TagNumber(14)
@$pb.TagNumber(15)
@$pb.TagNumber(17)
void clearPayload() => $_clearField($_whichOneof(0));
@$pb.TagNumber(1)
@@ -1775,6 +2071,18 @@ class UserAgentResponse extends $pb.GeneratedMessage {
$core.bool hasId() => $_has(15);
@$pb.TagNumber(16)
void clearId() => $_clearField(16);
@$pb.TagNumber(17)
ListWalletAccessResponse get listWalletAccessResponse => $_getN(16);
@$pb.TagNumber(17)
set listWalletAccessResponse(ListWalletAccessResponse value) =>
$_setField(17, value);
@$pb.TagNumber(17)
$core.bool hasListWalletAccessResponse() => $_has(16);
@$pb.TagNumber(17)
void clearListWalletAccessResponse() => $_clearField(17);
@$pb.TagNumber(17)
ListWalletAccessResponse ensureListWalletAccessResponse() => $_ensure(16);
}
const $core.bool _omitFieldNames =

View File

@@ -418,6 +418,83 @@ final $typed_data.Uint8List sdkClientConnectionCancelDescriptor =
$convert.base64Decode(
'ChlTZGtDbGllbnRDb25uZWN0aW9uQ2FuY2VsEhYKBnB1YmtleRgBIAEoDFIGcHVia2V5');
@$core.Deprecated('Use sdkClientWalletAccessDescriptor instead')
const SdkClientWalletAccess$json = {
'1': 'SdkClientWalletAccess',
'2': [
{'1': 'client_id', '3': 1, '4': 1, '5': 5, '10': 'clientId'},
{'1': 'wallet_id', '3': 2, '4': 1, '5': 5, '10': 'walletId'},
],
};
/// Descriptor for `SdkClientWalletAccess`. Decode as a `google.protobuf.DescriptorProto`.
final $typed_data.Uint8List sdkClientWalletAccessDescriptor = $convert.base64Decode(
'ChVTZGtDbGllbnRXYWxsZXRBY2Nlc3MSGwoJY2xpZW50X2lkGAEgASgFUghjbGllbnRJZBIbCg'
'l3YWxsZXRfaWQYAiABKAVSCHdhbGxldElk');
@$core.Deprecated('Use sdkClientGrantWalletAccessDescriptor instead')
const SdkClientGrantWalletAccess$json = {
'1': 'SdkClientGrantWalletAccess',
'2': [
{
'1': 'accesses',
'3': 1,
'4': 3,
'5': 11,
'6': '.arbiter.user_agent.SdkClientWalletAccess',
'10': 'accesses'
},
],
};
/// Descriptor for `SdkClientGrantWalletAccess`. Decode as a `google.protobuf.DescriptorProto`.
final $typed_data.Uint8List sdkClientGrantWalletAccessDescriptor =
$convert.base64Decode(
'ChpTZGtDbGllbnRHcmFudFdhbGxldEFjY2VzcxJFCghhY2Nlc3NlcxgBIAMoCzIpLmFyYml0ZX'
'IudXNlcl9hZ2VudC5TZGtDbGllbnRXYWxsZXRBY2Nlc3NSCGFjY2Vzc2Vz');
@$core.Deprecated('Use sdkClientRevokeWalletAccessDescriptor instead')
const SdkClientRevokeWalletAccess$json = {
'1': 'SdkClientRevokeWalletAccess',
'2': [
{
'1': 'accesses',
'3': 1,
'4': 3,
'5': 11,
'6': '.arbiter.user_agent.SdkClientWalletAccess',
'10': 'accesses'
},
],
};
/// Descriptor for `SdkClientRevokeWalletAccess`. Decode as a `google.protobuf.DescriptorProto`.
final $typed_data.Uint8List sdkClientRevokeWalletAccessDescriptor =
$convert.base64Decode(
'ChtTZGtDbGllbnRSZXZva2VXYWxsZXRBY2Nlc3MSRQoIYWNjZXNzZXMYASADKAsyKS5hcmJpdG'
'VyLnVzZXJfYWdlbnQuU2RrQ2xpZW50V2FsbGV0QWNjZXNzUghhY2Nlc3Nlcw==');
@$core.Deprecated('Use listWalletAccessResponseDescriptor instead')
const ListWalletAccessResponse$json = {
'1': 'ListWalletAccessResponse',
'2': [
{
'1': 'accesses',
'3': 1,
'4': 3,
'5': 11,
'6': '.arbiter.user_agent.SdkClientWalletAccess',
'10': 'accesses'
},
],
};
/// Descriptor for `ListWalletAccessResponse`. Decode as a `google.protobuf.DescriptorProto`.
final $typed_data.Uint8List listWalletAccessResponseDescriptor =
$convert.base64Decode(
'ChhMaXN0V2FsbGV0QWNjZXNzUmVzcG9uc2USRQoIYWNjZXNzZXMYASADKAsyKS5hcmJpdGVyLn'
'VzZXJfYWdlbnQuU2RrQ2xpZW50V2FsbGV0QWNjZXNzUghhY2Nlc3Nlcw==');
@$core.Deprecated('Use userAgentRequestDescriptor instead')
const UserAgentRequest$json = {
'1': 'UserAgentRequest',
@@ -524,7 +601,7 @@ const UserAgentRequest$json = {
},
{
'1': 'sdk_client_revoke',
'3': 13,
'3': 12,
'4': 1,
'5': 11,
'6': '.arbiter.user_agent.SdkClientRevokeRequest',
@@ -533,7 +610,7 @@ const UserAgentRequest$json = {
},
{
'1': 'sdk_client_list',
'3': 14,
'3': 13,
'4': 1,
'5': 11,
'6': '.google.protobuf.Empty',
@@ -542,13 +619,40 @@ const UserAgentRequest$json = {
},
{
'1': 'bootstrap_encrypted_key',
'3': 15,
'3': 14,
'4': 1,
'5': 11,
'6': '.arbiter.user_agent.BootstrapEncryptedKey',
'9': 0,
'10': 'bootstrapEncryptedKey'
},
{
'1': 'grant_wallet_access',
'3': 15,
'4': 1,
'5': 11,
'6': '.arbiter.user_agent.SdkClientGrantWalletAccess',
'9': 0,
'10': 'grantWalletAccess'
},
{
'1': 'revoke_wallet_access',
'3': 17,
'4': 1,
'5': 11,
'6': '.arbiter.user_agent.SdkClientRevokeWalletAccess',
'9': 0,
'10': 'revokeWalletAccess'
},
{
'1': 'list_wallet_access',
'3': 18,
'4': 1,
'5': 11,
'6': '.google.protobuf.Empty',
'9': 0,
'10': 'listWalletAccess'
},
],
'8': [
{'1': 'payload'},
@@ -574,12 +678,16 @@ final $typed_data.Uint8List userAgentRequestDescriptor = $convert.base64Decode(
'c3QYCiABKAsyIC5hcmJpdGVyLmV2bS5Fdm1HcmFudExpc3RSZXF1ZXN0SABSDGV2bUdyYW50TG'
'lzdBJ2Ch5zZGtfY2xpZW50X2Nvbm5lY3Rpb25fcmVzcG9uc2UYCyABKAsyLy5hcmJpdGVyLnVz'
'ZXJfYWdlbnQuU2RrQ2xpZW50Q29ubmVjdGlvblJlc3BvbnNlSABSG3Nka0NsaWVudENvbm5lY3'
'Rpb25SZXNwb25zZRJYChFzZGtfY2xpZW50X3Jldm9rZRgNIAEoCzIqLmFyYml0ZXIudXNlcl9h'
'Rpb25SZXNwb25zZRJYChFzZGtfY2xpZW50X3Jldm9rZRgMIAEoCzIqLmFyYml0ZXIudXNlcl9h'
'Z2VudC5TZGtDbGllbnRSZXZva2VSZXF1ZXN0SABSD3Nka0NsaWVudFJldm9rZRJACg9zZGtfY2'
'xpZW50X2xpc3QYDiABKAsyFi5nb29nbGUucHJvdG9idWYuRW1wdHlIAFINc2RrQ2xpZW50TGlz'
'dBJjChdib290c3RyYXBfZW5jcnlwdGVkX2tleRgPIAEoCzIpLmFyYml0ZXIudXNlcl9hZ2VudC'
'5Cb290c3RyYXBFbmNyeXB0ZWRLZXlIAFIVYm9vdHN0cmFwRW5jcnlwdGVkS2V5QgkKB3BheWxv'
'YWQ=');
'xpZW50X2xpc3QYDSABKAsyFi5nb29nbGUucHJvdG9idWYuRW1wdHlIAFINc2RrQ2xpZW50TGlz'
'dBJjChdib290c3RyYXBfZW5jcnlwdGVkX2tleRgOIAEoCzIpLmFyYml0ZXIudXNlcl9hZ2VudC'
'5Cb290c3RyYXBFbmNyeXB0ZWRLZXlIAFIVYm9vdHN0cmFwRW5jcnlwdGVkS2V5EmAKE2dyYW50'
'X3dhbGxldF9hY2Nlc3MYDyABKAsyLi5hcmJpdGVyLnVzZXJfYWdlbnQuU2RrQ2xpZW50R3Jhbn'
'RXYWxsZXRBY2Nlc3NIAFIRZ3JhbnRXYWxsZXRBY2Nlc3MSYwoUcmV2b2tlX3dhbGxldF9hY2Nl'
'c3MYESABKAsyLy5hcmJpdGVyLnVzZXJfYWdlbnQuU2RrQ2xpZW50UmV2b2tlV2FsbGV0QWNjZX'
'NzSABSEnJldm9rZVdhbGxldEFjY2VzcxJGChJsaXN0X3dhbGxldF9hY2Nlc3MYEiABKAsyFi5n'
'b29nbGUucHJvdG9idWYuRW1wdHlIAFIQbGlzdFdhbGxldEFjY2Vzc0IJCgdwYXlsb2Fk');
@$core.Deprecated('Use userAgentResponseDescriptor instead')
const UserAgentResponse$json = {
@@ -721,6 +829,15 @@ const UserAgentResponse$json = {
'9': 0,
'10': 'bootstrapResult'
},
{
'1': 'list_wallet_access_response',
'3': 17,
'4': 1,
'5': 11,
'6': '.arbiter.user_agent.ListWalletAccessResponse',
'9': 0,
'10': 'listWalletAccessResponse'
},
],
'8': [
{'1': 'payload'},
@@ -754,4 +871,6 @@ final $typed_data.Uint8List userAgentResponseDescriptor = $convert.base64Decode(
'xpc3RfcmVzcG9uc2UYDiABKAsyKS5hcmJpdGVyLnVzZXJfYWdlbnQuU2RrQ2xpZW50TGlzdFJl'
'c3BvbnNlSABSFXNka0NsaWVudExpc3RSZXNwb25zZRJQChBib290c3RyYXBfcmVzdWx0GA8gAS'
'gOMiMuYXJiaXRlci51c2VyX2FnZW50LkJvb3RzdHJhcFJlc3VsdEgAUg9ib290c3RyYXBSZXN1'
'bHRCCQoHcGF5bG9hZEIFCgNfaWQ=');
'bHQSbQobbGlzdF93YWxsZXRfYWNjZXNzX3Jlc3BvbnNlGBEgASgLMiwuYXJiaXRlci51c2VyX2'
'FnZW50Lkxpc3RXYWxsZXRBY2Nlc3NSZXNwb25zZUgAUhhsaXN0V2FsbGV0QWNjZXNzUmVzcG9u'
'c2VCCQoHcGF5bG9hZEIFCgNfaWQ=');

View File

@@ -33,7 +33,7 @@ final class ConnectionManagerProvider
ConnectionManager create() => ConnectionManager();
}
String _$connectionManagerHash() => r'd01084e550f315bc6cadfe74413a7f959426a80e';
String _$connectionManagerHash() => r'f471afb49bdcde77238424942f5af1716634f084';
abstract class _$ConnectionManager extends $AsyncNotifier<Connection?> {
FutureOr<Connection?> build();

View File

@@ -0,0 +1,25 @@
import 'package:arbiter/proto/user_agent.pb.dart';
import 'package:arbiter/providers/connection/connection_manager.dart';
import 'package:mtcore/markettakers.dart';
import 'package:protobuf/well_known_types/google/protobuf/empty.pb.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'wallet_access.g.dart';
@riverpod
Future<List<SdkClientWalletAccess>?> walletAccess(Ref ref) async {
final connection = await ref.watch(connectionManagerProvider.future);
if (connection == null) {
return null;
}
final accesses = await connection.ask(UserAgentRequest(listWalletAccess: Empty()));
if (accesses.hasListWalletAccessResponse()) {
return accesses.listWalletAccessResponse.accesses.toList();
} else {
talker.warning('Received unexpected response for listWalletAccess: $accesses');
return null;
}
}

View File

@@ -0,0 +1,51 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'wallet_access.dart';
// **************************************************************************
// RiverpodGenerator
// **************************************************************************
// GENERATED CODE - DO NOT MODIFY BY HAND
// ignore_for_file: type=lint, type=warning
@ProviderFor(walletAccess)
final walletAccessProvider = WalletAccessProvider._();
final class WalletAccessProvider
extends
$FunctionalProvider<
AsyncValue<List<SdkClientWalletAccess>?>,
List<SdkClientWalletAccess>?,
FutureOr<List<SdkClientWalletAccess>?>
>
with
$FutureModifier<List<SdkClientWalletAccess>?>,
$FutureProvider<List<SdkClientWalletAccess>?> {
WalletAccessProvider._()
: super(
from: null,
argument: null,
retry: null,
name: r'walletAccessProvider',
isAutoDispose: true,
dependencies: null,
$allTransitiveDependencies: null,
);
@override
String debugGetCreateSourceHash() => _$walletAccessHash();
@$internal
@override
$FutureProviderElement<List<SdkClientWalletAccess>?> $createElement(
$ProviderPointer pointer,
) => $FutureProviderElement(pointer);
@override
FutureOr<List<SdkClientWalletAccess>?> create(Ref ref) {
return walletAccess(ref);
}
}
String _$walletAccessHash() => r'954aae12d2d18999efaa97d01be983bf849f2296';

View File

@@ -9,27 +9,29 @@
// coverage:ignore-file
// ignore_for_file: no_leading_underscores_for_library_prefixes
import 'package:arbiter/proto/user_agent.pb.dart' as _i13;
import 'package:arbiter/screens/bootstrap.dart' as _i2;
import 'package:arbiter/screens/dashboard.dart' as _i5;
import 'package:arbiter/screens/dashboard.dart' as _i6;
import 'package:arbiter/screens/dashboard/about.dart' as _i1;
import 'package:arbiter/screens/dashboard/clients/table.dart' as _i3;
import 'package:arbiter/screens/dashboard/evm/evm.dart' as _i6;
import 'package:arbiter/screens/dashboard/evm/grants/grant_create.dart' as _i4;
import 'package:arbiter/screens/server_connection.dart' as _i7;
import 'package:arbiter/screens/server_info_setup.dart' as _i8;
import 'package:arbiter/screens/vault_setup.dart' as _i9;
import 'package:auto_route/auto_route.dart' as _i10;
import 'package:flutter/material.dart' as _i11;
import 'package:arbiter/screens/dashboard/clients/details.dart' as _i3;
import 'package:arbiter/screens/dashboard/clients/table.dart' as _i4;
import 'package:arbiter/screens/dashboard/evm/evm.dart' as _i7;
import 'package:arbiter/screens/dashboard/evm/grants/grant_create.dart' as _i5;
import 'package:arbiter/screens/server_connection.dart' as _i8;
import 'package:arbiter/screens/server_info_setup.dart' as _i9;
import 'package:arbiter/screens/vault_setup.dart' as _i10;
import 'package:auto_route/auto_route.dart' as _i11;
import 'package:flutter/material.dart' as _i12;
/// generated route for
/// [_i1.AboutScreen]
class AboutRoute extends _i10.PageRouteInfo<void> {
const AboutRoute({List<_i10.PageRouteInfo>? children})
class AboutRoute extends _i11.PageRouteInfo<void> {
const AboutRoute({List<_i11.PageRouteInfo>? children})
: super(AboutRoute.name, initialChildren: children);
static const String name = 'AboutRoute';
static _i10.PageInfo page = _i10.PageInfo(
static _i11.PageInfo page = _i11.PageInfo(
name,
builder: (data) {
return const _i1.AboutScreen();
@@ -39,13 +41,13 @@ class AboutRoute extends _i10.PageRouteInfo<void> {
/// generated route for
/// [_i2.Bootstrap]
class Bootstrap extends _i10.PageRouteInfo<void> {
const Bootstrap({List<_i10.PageRouteInfo>? children})
class Bootstrap extends _i11.PageRouteInfo<void> {
const Bootstrap({List<_i11.PageRouteInfo>? children})
: super(Bootstrap.name, initialChildren: children);
static const String name = 'Bootstrap';
static _i10.PageInfo page = _i10.PageInfo(
static _i11.PageInfo page = _i11.PageInfo(
name,
builder: (data) {
return const _i2.Bootstrap();
@@ -54,77 +56,124 @@ class Bootstrap extends _i10.PageRouteInfo<void> {
}
/// generated route for
/// [_i3.ClientsScreen]
class ClientsRoute extends _i10.PageRouteInfo<void> {
const ClientsRoute({List<_i10.PageRouteInfo>? children})
/// [_i3.ClientDetails]
class ClientDetails extends _i11.PageRouteInfo<ClientDetailsArgs> {
ClientDetails({
_i12.Key? key,
required _i13.SdkClientEntry client,
List<_i11.PageRouteInfo>? children,
}) : super(
ClientDetails.name,
args: ClientDetailsArgs(key: key, client: client),
initialChildren: children,
);
static const String name = 'ClientDetails';
static _i11.PageInfo page = _i11.PageInfo(
name,
builder: (data) {
final args = data.argsAs<ClientDetailsArgs>();
return _i3.ClientDetails(key: args.key, client: args.client);
},
);
}
class ClientDetailsArgs {
const ClientDetailsArgs({this.key, required this.client});
final _i12.Key? key;
final _i13.SdkClientEntry client;
@override
String toString() {
return 'ClientDetailsArgs{key: $key, client: $client}';
}
@override
bool operator ==(Object other) {
if (identical(this, other)) return true;
if (other is! ClientDetailsArgs) return false;
return key == other.key && client == other.client;
}
@override
int get hashCode => key.hashCode ^ client.hashCode;
}
/// generated route for
/// [_i4.ClientsScreen]
class ClientsRoute extends _i11.PageRouteInfo<void> {
const ClientsRoute({List<_i11.PageRouteInfo>? children})
: super(ClientsRoute.name, initialChildren: children);
static const String name = 'ClientsRoute';
static _i10.PageInfo page = _i10.PageInfo(
static _i11.PageInfo page = _i11.PageInfo(
name,
builder: (data) {
return const _i3.ClientsScreen();
return const _i4.ClientsScreen();
},
);
}
/// generated route for
/// [_i4.CreateEvmGrantScreen]
class CreateEvmGrantRoute extends _i10.PageRouteInfo<void> {
const CreateEvmGrantRoute({List<_i10.PageRouteInfo>? children})
/// [_i5.CreateEvmGrantScreen]
class CreateEvmGrantRoute extends _i11.PageRouteInfo<void> {
const CreateEvmGrantRoute({List<_i11.PageRouteInfo>? children})
: super(CreateEvmGrantRoute.name, initialChildren: children);
static const String name = 'CreateEvmGrantRoute';
static _i10.PageInfo page = _i10.PageInfo(
static _i11.PageInfo page = _i11.PageInfo(
name,
builder: (data) {
return const _i4.CreateEvmGrantScreen();
return const _i5.CreateEvmGrantScreen();
},
);
}
/// generated route for
/// [_i5.DashboardRouter]
class DashboardRouter extends _i10.PageRouteInfo<void> {
const DashboardRouter({List<_i10.PageRouteInfo>? children})
/// [_i6.DashboardRouter]
class DashboardRouter extends _i11.PageRouteInfo<void> {
const DashboardRouter({List<_i11.PageRouteInfo>? children})
: super(DashboardRouter.name, initialChildren: children);
static const String name = 'DashboardRouter';
static _i10.PageInfo page = _i10.PageInfo(
static _i11.PageInfo page = _i11.PageInfo(
name,
builder: (data) {
return const _i5.DashboardRouter();
return const _i6.DashboardRouter();
},
);
}
/// generated route for
/// [_i6.EvmScreen]
class EvmRoute extends _i10.PageRouteInfo<void> {
const EvmRoute({List<_i10.PageRouteInfo>? children})
/// [_i7.EvmScreen]
class EvmRoute extends _i11.PageRouteInfo<void> {
const EvmRoute({List<_i11.PageRouteInfo>? children})
: super(EvmRoute.name, initialChildren: children);
static const String name = 'EvmRoute';
static _i10.PageInfo page = _i10.PageInfo(
static _i11.PageInfo page = _i11.PageInfo(
name,
builder: (data) {
return const _i6.EvmScreen();
return const _i7.EvmScreen();
},
);
}
/// generated route for
/// [_i7.ServerConnectionScreen]
/// [_i8.ServerConnectionScreen]
class ServerConnectionRoute
extends _i10.PageRouteInfo<ServerConnectionRouteArgs> {
extends _i11.PageRouteInfo<ServerConnectionRouteArgs> {
ServerConnectionRoute({
_i11.Key? key,
_i12.Key? key,
String? arbiterUrl,
List<_i10.PageRouteInfo>? children,
List<_i11.PageRouteInfo>? children,
}) : super(
ServerConnectionRoute.name,
args: ServerConnectionRouteArgs(key: key, arbiterUrl: arbiterUrl),
@@ -133,13 +182,13 @@ class ServerConnectionRoute
static const String name = 'ServerConnectionRoute';
static _i10.PageInfo page = _i10.PageInfo(
static _i11.PageInfo page = _i11.PageInfo(
name,
builder: (data) {
final args = data.argsAs<ServerConnectionRouteArgs>(
orElse: () => const ServerConnectionRouteArgs(),
);
return _i7.ServerConnectionScreen(
return _i8.ServerConnectionScreen(
key: args.key,
arbiterUrl: args.arbiterUrl,
);
@@ -150,7 +199,7 @@ class ServerConnectionRoute
class ServerConnectionRouteArgs {
const ServerConnectionRouteArgs({this.key, this.arbiterUrl});
final _i11.Key? key;
final _i12.Key? key;
final String? arbiterUrl;
@@ -171,33 +220,33 @@ class ServerConnectionRouteArgs {
}
/// generated route for
/// [_i8.ServerInfoSetupScreen]
class ServerInfoSetupRoute extends _i10.PageRouteInfo<void> {
const ServerInfoSetupRoute({List<_i10.PageRouteInfo>? children})
/// [_i9.ServerInfoSetupScreen]
class ServerInfoSetupRoute extends _i11.PageRouteInfo<void> {
const ServerInfoSetupRoute({List<_i11.PageRouteInfo>? children})
: super(ServerInfoSetupRoute.name, initialChildren: children);
static const String name = 'ServerInfoSetupRoute';
static _i10.PageInfo page = _i10.PageInfo(
static _i11.PageInfo page = _i11.PageInfo(
name,
builder: (data) {
return const _i8.ServerInfoSetupScreen();
return const _i9.ServerInfoSetupScreen();
},
);
}
/// generated route for
/// [_i9.VaultSetupScreen]
class VaultSetupRoute extends _i10.PageRouteInfo<void> {
const VaultSetupRoute({List<_i10.PageRouteInfo>? children})
/// [_i10.VaultSetupScreen]
class VaultSetupRoute extends _i11.PageRouteInfo<void> {
const VaultSetupRoute({List<_i11.PageRouteInfo>? children})
: super(VaultSetupRoute.name, initialChildren: children);
static const String name = 'VaultSetupRoute';
static _i10.PageInfo page = _i10.PageInfo(
static _i11.PageInfo page = _i11.PageInfo(
name,
builder: (data) {
return const _i9.VaultSetupScreen();
return const _i10.VaultSetupScreen();
},
);
}

View File

@@ -0,0 +1,17 @@
import 'package:arbiter/proto/user_agent.pb.dart';
import 'package:auto_route/auto_route.dart';
import 'package:flutter/material.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
@RoutePage()
class ClientDetails extends ConsumerWidget {
final SdkClientEntry client;
const ClientDetails({super.key, required this.client});
@override
Widget build(BuildContext context, WidgetRef ref) {
throw UnimplementedError();
}
}