Skip to content

Commit b9a269e

Browse files
authored
🔥 Clean (#82)
1. Reorg exports/imports so people can directly import `agent_dart_base/agent_dart_base.dart` or `agent_dart/agent_dart.dart` without conflicts as much as possible. 2. Improve test equality checks. 3. Remove unnecessary deps.
2 parents 1f4e282 + 6e6dad4 commit b9a269e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+346
-272
lines changed

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,13 @@ that can be found in the LICENSE file. -->
44

55
# Changelog
66

7+
## 1.0.0-dev.26
8+
9+
- Reorg exports/imports so people can directly import `agent_dart_base/agent_dart_base.dart`
10+
or `agent_dart/agent_dart.dart` without conflicts as much as possible.
11+
- Improve test equality checks.
12+
- Remove unnecessary deps.
13+
714
## 1.0.0-dev.25
815

916
- Prepare for monorepo.

packages/agent_dart/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: agent_dart
2-
version: 1.0.0-dev.25
2+
version: 1.0.0-dev.26
33

44
description: |
55
An agent library built for Internet Computer,

packages/agent_dart_base/lib/agent/actor.dart

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
import 'dart:convert';
22
import 'dart:typed_data';
33

4-
import 'package:agent_dart_base/agent/agent/api.dart';
5-
import 'package:agent_dart_base/agent/canisters/management.dart';
6-
import 'package:agent_dart_base/agent/polling/polling.dart';
7-
import 'package:agent_dart_base/candid/idl.dart';
8-
import 'package:agent_dart_base/principal/principal.dart';
9-
4+
import '../candid/idl.dart';
5+
import '../principal/principal.dart';
6+
import 'agent/api.dart';
7+
import 'canisters/management.dart';
108
import 'errors.dart';
9+
import 'polling/polling.dart';
1110
import 'request_id.dart';
1211
import 'types.dart';
1312

packages/agent_dart_base/lib/agent/agent.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ export './utils/index.dart';
66

77
export 'actor.dart';
88
export 'auth.dart';
9+
export 'bls.dart';
910
export 'cbor.dart';
1011
export 'certificate.dart';
1112
export 'errors.dart';

packages/agent_dart_base/lib/agent/agent/api.dart

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
import 'package:agent_dart_base/agent/auth.dart';
2-
import 'package:agent_dart_base/agent/types.dart';
3-
import 'package:agent_dart_base/principal/principal.dart';
41
import 'package:meta/meta.dart';
52

3+
import '../../principal/principal.dart';
4+
import '../auth.dart';
5+
import '../types.dart';
6+
67
/// Codes used by the replica for rejecting a message.
78
/// See https://sdk.dfinity.org/docs/interface-spec/#reject-codes
89
/// for the interface spec.

packages/agent_dart_base/lib/agent/agent/factory.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import 'package:agent_dart_base/agent/agent.dart';
2-
import 'package:agent_dart_base/candid/idl.dart';
3-
import 'package:agent_dart_base/principal/principal.dart';
1+
import '../../candid/idl.dart';
2+
import '../../principal/principal.dart';
3+
import '../agent.dart';
44

55
class AgentFactory {
66
AgentFactory({

packages/agent_dart_base/lib/agent/agent/http/fetch.dart

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@ import 'dart:typed_data';
33

44
import 'package:http/http.dart' as http;
55

6-
import 'index.dart';
6+
import '../../types.dart';
7+
8+
// import 'index.dart';
79

810
const defaultTimeout = Duration(seconds: 30);
911

packages/agent_dart_base/lib/agent/agent/http/index.dart

Lines changed: 12 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,21 @@
11
import 'dart:async';
22
import 'dart:typed_data';
33

4-
import 'package:agent_dart_base/agent/agent/http/fetch.dart';
5-
import 'package:agent_dart_base/agent/cbor.dart' as cbor;
6-
import 'package:agent_dart_base/agent_dart_base.dart';
74
import 'package:meta/meta.dart';
85
import 'package:typed_data/typed_data.dart';
96

7+
import '../../../principal/principal.dart';
8+
import '../../../utils/base64.dart';
9+
import '../../auth.dart';
10+
import '../../cbor.dart' as cbor;
11+
import '../../errors.dart';
12+
import '../../request_id.dart';
13+
import '../../types.dart';
14+
import '../api.dart';
15+
import 'fetch.dart';
16+
import 'transform.dart';
17+
import 'types.dart';
18+
1019
const btoa = base64Encode;
1120

1221
Future<T> withRetry<T>(
@@ -30,31 +39,6 @@ Future<T> withRetry<T>(
3039
}
3140
}
3241

33-
enum FetchMethod {
34-
get,
35-
head,
36-
post,
37-
put,
38-
delete,
39-
connect,
40-
options,
41-
trace,
42-
patch,
43-
}
44-
45-
enum RequestStatusResponseStatus {
46-
received,
47-
processing,
48-
replied,
49-
rejected,
50-
unknown,
51-
done;
52-
53-
factory RequestStatusResponseStatus.fromName(String value) {
54-
return values.singleWhere((e) => e.name == value);
55-
}
56-
}
57-
5842
/// Default delta for ingress expiry is 5 minutes.
5943
const _defaultIngressExpiryDeltaInMilliseconds = 5 * 60 * 1000;
6044

packages/agent_dart_base/lib/agent/agent/http/transform.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import 'dart:typed_data';
22

3-
import 'package:agent_dart_base/agent/cbor.dart';
4-
import 'package:agent_dart_base/agent/types.dart';
5-
import 'package:agent_dart_base/agent/utils/leb128.dart';
63
import 'package:cbor/cbor.dart' as cbor;
74
import 'package:typed_data/typed_data.dart';
85

6+
import '../../cbor.dart';
7+
import '../../types.dart';
8+
import '../../utils/leb128.dart';
99
import 'types.dart';
1010

1111
final _nanoSecondsPerMilliseconds = BigInt.from(1000000);

packages/agent_dart_base/lib/agent/agent/http/types.dart

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
import 'dart:convert';
22
import 'dart:typed_data';
33

4-
import 'package:agent_dart_base/agent/types.dart';
5-
import 'package:agent_dart_base/principal/principal.dart';
64
import 'package:meta/meta.dart';
75
import 'package:typed_data/typed_buffers.dart';
6+
7+
import '../../../principal/principal.dart';
8+
import '../../types.dart';
89
import '../api.dart';
910
import 'transform.dart';
1011

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
export './http/index.dart';
2-
export './http/transform.dart';
3-
export './http/types.dart';
41
export 'api.dart';
52
export 'factory.dart';
3+
export 'http/fetch.dart';
4+
export 'http/index.dart';
5+
export 'http/transform.dart';
6+
export 'http/types.dart';
67
export 'proxy.dart';

packages/agent_dart_base/lib/agent/agent/proxy.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@ import 'dart:async';
22
import 'dart:convert';
33
import 'dart:typed_data';
44

5-
import 'package:agent_dart_base/agent/auth.dart';
6-
import 'package:agent_dart_base/agent/types.dart';
7-
import 'package:agent_dart_base/principal/principal.dart';
85
import 'package:meta/meta.dart';
96

7+
import '../../principal/principal.dart';
8+
import '../auth.dart';
9+
import '../types.dart';
1010
import 'api.dart';
1111

1212
class ProxyMessageKind {

packages/agent_dart_base/lib/agent/auth.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import 'dart:typed_data';
22

3-
import 'package:agent_dart_base/principal/principal.dart';
4-
import 'package:agent_dart_base/utils/extension.dart';
5-
import 'package:agent_dart_base/utils/u8a.dart';
63
import 'package:meta/meta.dart';
74

5+
import '../../utils/extension.dart';
6+
import '../../utils/u8a.dart';
7+
import '../principal/principal.dart';
88
import 'agent/http/types.dart';
99
import 'request_id.dart';
1010
import 'types.dart';

packages/agent_dart_base/lib/agent/canisters/asset.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
import 'package:agent_dart_base/agent/actor.dart';
2-
1+
import '../actor.dart';
32
import 'asset_idl.dart';
43

54
/// Create a management canister actor.

packages/agent_dart_base/lib/agent/canisters/asset_idl.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import 'dart:typed_data';
22

3-
import 'package:agent_dart_base/agent/actor.dart';
4-
import 'package:agent_dart_base/candid/idl.dart';
3+
import '../../candid/idl.dart';
4+
import '../actor.dart';
55

66
Service assetIDL() {
77
return IDL.Service({

packages/agent_dart_base/lib/agent/canisters/management.dart

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
import 'package:agent_dart_base/agent/actor.dart';
2-
import 'package:agent_dart_base/principal/principal.dart';
3-
1+
import '../../principal/principal.dart';
2+
import '../actor.dart';
43
import 'management_idl.dart';
54

65
// : ActorSubclass<ManagementCanisterRecord>

packages/agent_dart_base/lib/agent/canisters/management_idl.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import 'package:agent_dart_base/candid/idl.dart';
1+
import '../../candid/idl.dart';
22

33
Service managementIDL() {
44
const canisterId = IDL.Principal;

packages/agent_dart_base/lib/agent/cbor.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import 'dart:math' as math;
22
import 'dart:typed_data';
33

4-
import 'package:agent_dart_base/principal/principal.dart';
54
import 'package:cbor/cbor.dart' as cbor;
65
import 'package:meta/meta.dart' show immutable;
76
import 'package:typed_data/typed_data.dart';
87

8+
import '../principal/principal.dart';
99
import 'types.dart';
1010

1111
const _kIsWeb = bool.hasEnvironment('dart.library.js_util')

packages/agent_dart_base/lib/agent/certificate.dart

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
import 'dart:convert';
22
import 'dart:typed_data';
33

4-
import 'package:agent_dart_base/agent/cbor.dart';
5-
import 'package:agent_dart_base/agent/request_id.dart';
6-
import 'package:agent_dart_base/agent/types.dart';
7-
import 'package:agent_dart_base/utils/extension.dart';
8-
import 'package:agent_dart_base/utils/u8a.dart';
94
import 'package:typed_data/typed_data.dart';
105

6+
import '../../utils/extension.dart';
7+
import '../../utils/u8a.dart';
118
import 'agent/api.dart';
129
import 'bls.dart';
10+
import 'cbor.dart';
1311
import 'errors.dart';
12+
import 'request_id.dart';
13+
import 'types.dart';
1414

1515
final AgentBLS _bls = AgentBLS();
1616

@@ -52,7 +52,7 @@ class Cert {
5252
factory Cert.fromJson(Map json) {
5353
return Cert(
5454
delegation: json['delegation'] != null
55-
? Delegation.fromJson(Map<String, dynamic>.from(json['delegation']))
55+
? CertDelegation.fromJson(Map<String, dynamic>.from(json['delegation']))
5656
: null,
5757
signature: json['signature'] != null
5858
? (json['signature'] as Uint8Buffer).buffer.asUint8List()
@@ -63,7 +63,7 @@ class Cert {
6363

6464
final List? tree;
6565
final Uint8List? signature;
66-
final Delegation? delegation;
66+
final CertDelegation? delegation;
6767

6868
Map<String, dynamic> toJson() {
6969
return {
@@ -99,14 +99,14 @@ String hashTreeToString(List tree) {
9999
}
100100
}
101101

102-
class Delegation extends ReadStateResponse {
103-
const Delegation(
102+
class CertDelegation extends ReadStateResponse {
103+
const CertDelegation(
104104
this.subnetId,
105105
BinaryBlob certificate,
106106
) : super(certificate: certificate);
107107

108-
factory Delegation.fromJson(Map<String, dynamic> json) {
109-
return Delegation(
108+
factory CertDelegation.fromJson(Map<String, dynamic> json) {
109+
return CertDelegation(
110110
Uint8List.fromList(json['subnet_id'] as List<int>),
111111
json['certificate'] is Uint8List || json['certificate'] is Uint8Buffer
112112
? Uint8List.fromList(json['certificate'])
@@ -159,7 +159,7 @@ class Certificate {
159159
}
160160
}
161161

162-
Future<Uint8List> _checkDelegation(Delegation? d) async {
162+
Future<Uint8List> _checkDelegation(CertDelegation? d) async {
163163
if (d == null) {
164164
if (_rootKey == null) {
165165
if (_agent.rootKey != null) {

packages/agent_dart_base/lib/agent/crypto/keystore/key_store.dart

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,20 @@ import 'dart:convert';
44
import 'dart:core';
55
import 'dart:typed_data';
66

7-
import 'package:agent_dart_base/agent/cbor.dart';
8-
import 'package:agent_dart_base/agent/crypto/random.dart';
9-
import 'package:agent_dart_base/identity/p256.dart';
10-
import 'package:agent_dart_base/identity/secp256k1.dart';
11-
import 'package:agent_dart_base/principal/utils/sha256.dart';
12-
import 'package:agent_dart_base/utils/extension.dart';
13-
import 'package:agent_dart_base/utils/u8a.dart';
147
import 'package:agent_dart_ffi/agent_dart_ffi.dart';
158
import 'package:collection/collection.dart';
169
import 'package:meta/meta.dart';
1710
import 'package:pointycastle/export.dart';
1811
import 'package:uuid/uuid.dart';
1912

13+
import '../../../identity/p256.dart';
14+
import '../../../identity/secp256k1.dart';
15+
import '../../../principal/utils/sha256.dart';
16+
import '../../../utils/extension.dart';
17+
import '../../../utils/u8a.dart';
18+
import '../../cbor.dart';
19+
import '../random.dart';
20+
2021
part 'function.dart';
2122
part 'key_derivator.dart';
2223
part 'util.dart';

packages/agent_dart_base/lib/agent/crypto/random.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import 'dart:math' as math;
22
import 'dart:typed_data';
33

4-
import 'package:agent_dart_base/utils/extension.dart';
5-
import 'package:agent_dart_base/utils/hex.dart';
6-
import 'package:agent_dart_base/utils/number.dart';
7-
import 'package:agent_dart_base/utils/u8a.dart';
4+
import '../../utils/extension.dart';
5+
import '../../utils/hex.dart';
6+
import '../../utils/number.dart';
7+
import '../../utils/u8a.dart';
88

99
const _defaultLength = 32;
1010

packages/agent_dart_base/lib/agent/errors.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import 'dart:typed_data';
22

3-
import 'package:agent_dart_base/utils/extension.dart';
3+
import '../../utils/extension.dart';
44

55
/// An fetch error when using agent to make HTTP/S requests.
66
class AgentFetchError extends Error {

packages/agent_dart_base/lib/agent/polling/polling.dart

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
1-
import 'package:agent_dart_base/agent/agent.dart';
2-
import 'package:agent_dart_base/principal/principal.dart';
3-
import 'package:agent_dart_base/utils/extension.dart';
1+
import '../../../principal/principal.dart';
2+
import '../../../utils/extension.dart';
3+
import '../agent/api.dart';
4+
import '../agent/http/index.dart';
5+
import '../certificate.dart';
6+
import '../request_id.dart';
7+
import '../types.dart';
8+
import 'strategy.dart';
49

510
export 'strategy.dart';
611

0 commit comments

Comments
 (0)