@astrox/connection 0.0.13
Sign up to get free protection for your applications and to get access to all the features.
- package/LICENSE +201 -0
- package/README.md +23 -0
- package/lib/cjs/canisters/internet_identity_idl.d.ts +7 -0
- package/lib/cjs/canisters/internet_identity_idl.js +101 -0
- package/lib/cjs/canisters/internet_identity_idl.js.map +1 -0
- package/lib/cjs/canisters/ledger.idl.d.ts +7 -0
- package/lib/cjs/canisters/ledger.idl.js +81 -0
- package/lib/cjs/canisters/ledger.idl.js.map +1 -0
- package/lib/cjs/canisters/me.idl.d.ts +7 -0
- package/lib/cjs/canisters/me.idl.js +125 -0
- package/lib/cjs/canisters/me.idl.js.map +1 -0
- package/lib/cjs/canisters/nns-dapp-cert.idl.d.ts +7 -0
- package/lib/cjs/canisters/nns-dapp-cert.idl.js +86 -0
- package/lib/cjs/canisters/nns-dapp-cert.idl.js.map +1 -0
- package/lib/cjs/canisters/nns-dapp.idl.d.ts +7 -0
- package/lib/cjs/canisters/nns-dapp.idl.js +184 -0
- package/lib/cjs/canisters/nns-dapp.idl.js.map +1 -0
- package/lib/cjs/connections/baseConnection.d.ts +52 -0
- package/lib/cjs/connections/baseConnection.js +87 -0
- package/lib/cjs/connections/baseConnection.js.map +1 -0
- package/lib/cjs/connections/ledgerConnection.d.ts +57 -0
- package/lib/cjs/connections/ledgerConnection.js +135 -0
- package/lib/cjs/connections/ledgerConnection.js.map +1 -0
- package/lib/cjs/connections/nnsConnection.d.ts +62 -0
- package/lib/cjs/connections/nnsConnection.js +166 -0
- package/lib/cjs/connections/nnsConnection.js.map +1 -0
- package/lib/cjs/ic/icAuthClient.d.ts +31 -0
- package/lib/cjs/ic/icAuthClient.js +233 -0
- package/lib/cjs/ic/icAuthClient.js.map +1 -0
- package/lib/cjs/ic/icConnect.d.ts +32 -0
- package/lib/cjs/ic/icConnect.js +181 -0
- package/lib/cjs/ic/icConnect.js.map +1 -0
- package/lib/cjs/ic/icStorage.d.ts +16 -0
- package/lib/cjs/ic/icStorage.js +49 -0
- package/lib/cjs/ic/icStorage.js.map +1 -0
- package/lib/cjs/ic/icWindow.d.ts +7 -0
- package/lib/cjs/ic/icWindow.js +20 -0
- package/lib/cjs/ic/icWindow.js.map +1 -0
- package/lib/cjs/ic/index.d.ts +2 -0
- package/lib/cjs/ic/index.js +7 -0
- package/lib/cjs/ic/index.js.map +1 -0
- package/lib/cjs/ic/types.d.ts +129 -0
- package/lib/cjs/ic/types.js +17 -0
- package/lib/cjs/ic/types.js.map +1 -0
- package/lib/cjs/index.d.ts +5 -0
- package/lib/cjs/index.js +18 -0
- package/lib/cjs/index.js.map +1 -0
- package/lib/cjs/utils/common/types.d.ts +15 -0
- package/lib/cjs/utils/common/types.js +12 -0
- package/lib/cjs/utils/common/types.js.map +1 -0
- package/lib/cjs/utils/constants.d.ts +6 -0
- package/lib/cjs/utils/constants.js +13 -0
- package/lib/cjs/utils/constants.js.map +1 -0
- package/lib/cjs/utils/converter.d.ts +32 -0
- package/lib/cjs/utils/converter.js +130 -0
- package/lib/cjs/utils/converter.js.map +1 -0
- package/lib/cjs/utils/index.d.ts +3 -0
- package/lib/cjs/utils/index.js +16 -0
- package/lib/cjs/utils/index.js.map +1 -0
- package/lib/esm/canisters/internet_identity_idl.d.ts +7 -0
- package/lib/esm/canisters/internet_identity_idl.js +98 -0
- package/lib/esm/canisters/internet_identity_idl.js.map +1 -0
- package/lib/esm/canisters/ledger.idl.d.ts +7 -0
- package/lib/esm/canisters/ledger.idl.js +78 -0
- package/lib/esm/canisters/ledger.idl.js.map +1 -0
- package/lib/esm/canisters/me.idl.d.ts +7 -0
- package/lib/esm/canisters/me.idl.js +122 -0
- package/lib/esm/canisters/me.idl.js.map +1 -0
- package/lib/esm/canisters/nns-dapp-cert.idl.d.ts +7 -0
- package/lib/esm/canisters/nns-dapp-cert.idl.js +83 -0
- package/lib/esm/canisters/nns-dapp-cert.idl.js.map +1 -0
- package/lib/esm/canisters/nns-dapp.idl.d.ts +7 -0
- package/lib/esm/canisters/nns-dapp.idl.js +181 -0
- package/lib/esm/canisters/nns-dapp.idl.js.map +1 -0
- package/lib/esm/connections/baseConnection.d.ts +52 -0
- package/lib/esm/connections/baseConnection.js +80 -0
- package/lib/esm/connections/baseConnection.js.map +1 -0
- package/lib/esm/connections/ledgerConnection.d.ts +57 -0
- package/lib/esm/connections/ledgerConnection.js +128 -0
- package/lib/esm/connections/ledgerConnection.js.map +1 -0
- package/lib/esm/connections/nnsConnection.d.ts +62 -0
- package/lib/esm/connections/nnsConnection.js +159 -0
- package/lib/esm/connections/nnsConnection.js.map +1 -0
- package/lib/esm/ic/icAuthClient.d.ts +31 -0
- package/lib/esm/ic/icAuthClient.js +229 -0
- package/lib/esm/ic/icAuthClient.js.map +1 -0
- package/lib/esm/ic/icConnect.d.ts +32 -0
- package/lib/esm/ic/icConnect.js +177 -0
- package/lib/esm/ic/icConnect.js.map +1 -0
- package/lib/esm/ic/icStorage.d.ts +16 -0
- package/lib/esm/ic/icStorage.js +44 -0
- package/lib/esm/ic/icStorage.js.map +1 -0
- package/lib/esm/ic/icWindow.d.ts +7 -0
- package/lib/esm/ic/icWindow.js +16 -0
- package/lib/esm/ic/icWindow.js.map +1 -0
- package/lib/esm/ic/index.d.ts +2 -0
- package/lib/esm/ic/index.js +3 -0
- package/lib/esm/ic/index.js.map +1 -0
- package/lib/esm/ic/types.d.ts +129 -0
- package/lib/esm/ic/types.js +14 -0
- package/lib/esm/ic/types.js.map +1 -0
- package/lib/esm/index.d.ts +5 -0
- package/lib/esm/index.js +6 -0
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/utils/common/types.d.ts +15 -0
- package/lib/esm/utils/common/types.js +9 -0
- package/lib/esm/utils/common/types.js.map +1 -0
- package/lib/esm/utils/constants.d.ts +6 -0
- package/lib/esm/utils/constants.js +10 -0
- package/lib/esm/utils/constants.js.map +1 -0
- package/lib/esm/utils/converter.d.ts +32 -0
- package/lib/esm/utils/converter.js +124 -0
- package/lib/esm/utils/converter.js.map +1 -0
- package/lib/esm/utils/index.d.ts +3 -0
- package/lib/esm/utils/index.js +4 -0
- package/lib/esm/utils/index.js.map +1 -0
- package/lib/tsconfig-cjs.tsbuildinfo +2834 -0
- package/lib/tsconfig.tsbuildinfo +2833 -0
- package/package.json +53 -0
@@ -0,0 +1,181 @@
|
|
1
|
+
export default ({ IDL }) => {
|
2
|
+
const AccountIdentifier = IDL.Text;
|
3
|
+
const AttachCanisterRequest = IDL.Record({
|
4
|
+
name: IDL.Text,
|
5
|
+
canister_id: IDL.Principal,
|
6
|
+
});
|
7
|
+
const AttachCanisterResponse = IDL.Variant({
|
8
|
+
Ok: IDL.Null,
|
9
|
+
CanisterAlreadyAttached: IDL.Null,
|
10
|
+
NameAlreadyTaken: IDL.Null,
|
11
|
+
NameTooLong: IDL.Null,
|
12
|
+
CanisterLimitExceeded: IDL.Null,
|
13
|
+
});
|
14
|
+
const SubAccount = IDL.Vec(IDL.Nat8);
|
15
|
+
const SubAccountDetails = IDL.Record({
|
16
|
+
name: IDL.Text,
|
17
|
+
sub_account: SubAccount,
|
18
|
+
account_identifier: AccountIdentifier,
|
19
|
+
});
|
20
|
+
const CreateSubAccountResponse = IDL.Variant({
|
21
|
+
Ok: SubAccountDetails,
|
22
|
+
AccountNotFound: IDL.Null,
|
23
|
+
NameTooLong: IDL.Null,
|
24
|
+
SubAccountLimitExceeded: IDL.Null,
|
25
|
+
});
|
26
|
+
const DetachCanisterRequest = IDL.Record({ canister_id: IDL.Principal });
|
27
|
+
const DetachCanisterResponse = IDL.Variant({
|
28
|
+
Ok: IDL.Null,
|
29
|
+
CanisterNotFound: IDL.Null,
|
30
|
+
});
|
31
|
+
const HardwareWalletAccountDetails = IDL.Record({
|
32
|
+
principal: IDL.Principal,
|
33
|
+
name: IDL.Text,
|
34
|
+
account_identifier: AccountIdentifier,
|
35
|
+
});
|
36
|
+
const AccountDetails = IDL.Record({
|
37
|
+
principal: IDL.Principal,
|
38
|
+
account_identifier: AccountIdentifier,
|
39
|
+
hardware_wallet_accounts: IDL.Vec(HardwareWalletAccountDetails),
|
40
|
+
sub_accounts: IDL.Vec(SubAccountDetails),
|
41
|
+
});
|
42
|
+
const GetAccountResponse = IDL.Variant({
|
43
|
+
Ok: AccountDetails,
|
44
|
+
AccountNotFound: IDL.Null,
|
45
|
+
});
|
46
|
+
const CanisterDetails = IDL.Record({
|
47
|
+
name: IDL.Text,
|
48
|
+
canister_id: IDL.Principal,
|
49
|
+
});
|
50
|
+
const BlockHeight = IDL.Nat64;
|
51
|
+
const MultiPartTransactionError = IDL.Record({
|
52
|
+
error_message: IDL.Text,
|
53
|
+
block_height: BlockHeight,
|
54
|
+
});
|
55
|
+
const CanisterId = IDL.Principal;
|
56
|
+
const NeuronId = IDL.Nat64;
|
57
|
+
const MultiPartTransactionStatus = IDL.Variant({
|
58
|
+
Queued: IDL.Null,
|
59
|
+
Error: IDL.Text,
|
60
|
+
Refunded: IDL.Tuple(BlockHeight, IDL.Text),
|
61
|
+
CanisterCreated: CanisterId,
|
62
|
+
Complete: IDL.Null,
|
63
|
+
NotFound: IDL.Null,
|
64
|
+
NeuronCreated: NeuronId,
|
65
|
+
PendingSync: IDL.Null,
|
66
|
+
ErrorWithRefundPending: IDL.Text,
|
67
|
+
});
|
68
|
+
const Stats = IDL.Record({
|
69
|
+
latest_transaction_block_height: BlockHeight,
|
70
|
+
seconds_since_last_ledger_sync: IDL.Nat64,
|
71
|
+
sub_accounts_count: IDL.Nat64,
|
72
|
+
neurons_topped_up_count: IDL.Nat64,
|
73
|
+
transactions_to_process_queue_length: IDL.Nat32,
|
74
|
+
neurons_created_count: IDL.Nat64,
|
75
|
+
hardware_wallet_accounts_count: IDL.Nat64,
|
76
|
+
accounts_count: IDL.Nat64,
|
77
|
+
earliest_transaction_block_height: BlockHeight,
|
78
|
+
transactions_count: IDL.Nat64,
|
79
|
+
block_height_synced_up_to: IDL.Opt(IDL.Nat64),
|
80
|
+
latest_transaction_timestamp_nanos: IDL.Nat64,
|
81
|
+
earliest_transaction_timestamp_nanos: IDL.Nat64,
|
82
|
+
});
|
83
|
+
const GetTransactionsRequest = IDL.Record({
|
84
|
+
page_size: IDL.Nat8,
|
85
|
+
offset: IDL.Nat32,
|
86
|
+
account_identifier: AccountIdentifier,
|
87
|
+
});
|
88
|
+
const TransactionType = IDL.Variant({
|
89
|
+
Burn: IDL.Null,
|
90
|
+
Mint: IDL.Null,
|
91
|
+
Send: IDL.Null,
|
92
|
+
StakeNeuronNotification: IDL.Null,
|
93
|
+
TopUpCanister: CanisterId,
|
94
|
+
CreateCanister: IDL.Null,
|
95
|
+
TopUpNeuron: IDL.Null,
|
96
|
+
StakeNeuron: IDL.Null,
|
97
|
+
});
|
98
|
+
const Timestamp = IDL.Record({ timestamp_nanos: IDL.Nat64 });
|
99
|
+
const ICPTs = IDL.Record({ e8s: IDL.Nat64 });
|
100
|
+
const Send = IDL.Record({
|
101
|
+
to: AccountIdentifier,
|
102
|
+
fee: ICPTs,
|
103
|
+
amount: ICPTs,
|
104
|
+
});
|
105
|
+
const Receive = IDL.Record({
|
106
|
+
fee: ICPTs,
|
107
|
+
from: AccountIdentifier,
|
108
|
+
amount: ICPTs,
|
109
|
+
});
|
110
|
+
const Transfer = IDL.Variant({
|
111
|
+
Burn: IDL.Record({ amount: ICPTs }),
|
112
|
+
Mint: IDL.Record({ amount: ICPTs }),
|
113
|
+
Send: Send,
|
114
|
+
Receive: Receive,
|
115
|
+
});
|
116
|
+
const Transaction = IDL.Record({
|
117
|
+
transaction_type: IDL.Opt(TransactionType),
|
118
|
+
memo: IDL.Nat64,
|
119
|
+
timestamp: Timestamp,
|
120
|
+
block_height: BlockHeight,
|
121
|
+
transfer: Transfer,
|
122
|
+
});
|
123
|
+
const GetTransactionsResponse = IDL.Record({
|
124
|
+
total: IDL.Nat32,
|
125
|
+
transactions: IDL.Vec(Transaction),
|
126
|
+
});
|
127
|
+
const HeaderField = IDL.Tuple(IDL.Text, IDL.Text);
|
128
|
+
const HttpRequest = IDL.Record({
|
129
|
+
url: IDL.Text,
|
130
|
+
method: IDL.Text,
|
131
|
+
body: IDL.Vec(IDL.Nat8),
|
132
|
+
headers: IDL.Vec(HeaderField),
|
133
|
+
});
|
134
|
+
const HttpResponse = IDL.Record({
|
135
|
+
body: IDL.Vec(IDL.Nat8),
|
136
|
+
headers: IDL.Vec(HeaderField),
|
137
|
+
status_code: IDL.Nat16,
|
138
|
+
});
|
139
|
+
const RegisterHardwareWalletRequest = IDL.Record({
|
140
|
+
principal: IDL.Principal,
|
141
|
+
name: IDL.Text,
|
142
|
+
});
|
143
|
+
const RegisterHardwareWalletResponse = IDL.Variant({
|
144
|
+
Ok: IDL.Null,
|
145
|
+
AccountNotFound: IDL.Null,
|
146
|
+
HardwareWalletAlreadyRegistered: IDL.Null,
|
147
|
+
HardwareWalletLimitExceeded: IDL.Null,
|
148
|
+
NameTooLong: IDL.Null,
|
149
|
+
});
|
150
|
+
const RenameSubAccountRequest = IDL.Record({
|
151
|
+
new_name: IDL.Text,
|
152
|
+
account_identifier: AccountIdentifier,
|
153
|
+
});
|
154
|
+
const RenameSubAccountResponse = IDL.Variant({
|
155
|
+
Ok: IDL.Null,
|
156
|
+
AccountNotFound: IDL.Null,
|
157
|
+
SubAccountNotFound: IDL.Null,
|
158
|
+
NameTooLong: IDL.Null,
|
159
|
+
});
|
160
|
+
return IDL.Service({
|
161
|
+
add_account: IDL.Func([], [AccountIdentifier], []),
|
162
|
+
add_stable_asset: IDL.Func([IDL.Vec(IDL.Nat8)], [], []),
|
163
|
+
attach_canister: IDL.Func([AttachCanisterRequest], [AttachCanisterResponse], []),
|
164
|
+
create_sub_account: IDL.Func([IDL.Text], [CreateSubAccountResponse], []),
|
165
|
+
detach_canister: IDL.Func([DetachCanisterRequest], [DetachCanisterResponse], []),
|
166
|
+
get_account: IDL.Func([], [GetAccountResponse], ['query']),
|
167
|
+
get_canisters: IDL.Func([], [IDL.Vec(CanisterDetails)], ['query']),
|
168
|
+
get_icp_to_cycles_conversion_rate: IDL.Func([], [IDL.Nat64], ['query']),
|
169
|
+
get_multi_part_transaction_errors: IDL.Func([], [IDL.Vec(MultiPartTransactionError)], ['query']),
|
170
|
+
get_multi_part_transaction_status: IDL.Func([IDL.Principal, BlockHeight], [MultiPartTransactionStatus], ['query']),
|
171
|
+
get_stats: IDL.Func([], [Stats], ['query']),
|
172
|
+
get_transactions: IDL.Func([GetTransactionsRequest], [GetTransactionsResponse], ['query']),
|
173
|
+
http_request: IDL.Func([HttpRequest], [HttpResponse], ['query']),
|
174
|
+
register_hardware_wallet: IDL.Func([RegisterHardwareWalletRequest], [RegisterHardwareWalletResponse], []),
|
175
|
+
rename_sub_account: IDL.Func([RenameSubAccountRequest], [RenameSubAccountResponse], []),
|
176
|
+
});
|
177
|
+
};
|
178
|
+
export const init = ({ IDL }) => {
|
179
|
+
return [];
|
180
|
+
};
|
181
|
+
//# sourceMappingURL=nns-dapp.idl.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"nns-dapp.idl.js","sourceRoot":"","sources":["../../../src/canisters/nns-dapp.idl.js"],"names":[],"mappings":"AAAA,eAAe,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;IACzB,MAAM,iBAAiB,GAAG,GAAG,CAAC,IAAI,CAAC;IACnC,MAAM,qBAAqB,GAAG,GAAG,CAAC,MAAM,CAAC;QACvC,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,WAAW,EAAE,GAAG,CAAC,SAAS;KAC3B,CAAC,CAAC;IACH,MAAM,sBAAsB,GAAG,GAAG,CAAC,OAAO,CAAC;QACzC,EAAE,EAAE,GAAG,CAAC,IAAI;QACZ,uBAAuB,EAAE,GAAG,CAAC,IAAI;QACjC,gBAAgB,EAAE,GAAG,CAAC,IAAI;QAC1B,WAAW,EAAE,GAAG,CAAC,IAAI;QACrB,qBAAqB,EAAE,GAAG,CAAC,IAAI;KAChC,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,iBAAiB,GAAG,GAAG,CAAC,MAAM,CAAC;QACnC,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,WAAW,EAAE,UAAU;QACvB,kBAAkB,EAAE,iBAAiB;KACtC,CAAC,CAAC;IACH,MAAM,wBAAwB,GAAG,GAAG,CAAC,OAAO,CAAC;QAC3C,EAAE,EAAE,iBAAiB;QACrB,eAAe,EAAE,GAAG,CAAC,IAAI;QACzB,WAAW,EAAE,GAAG,CAAC,IAAI;QACrB,uBAAuB,EAAE,GAAG,CAAC,IAAI;KAClC,CAAC,CAAC;IACH,MAAM,qBAAqB,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;IACzE,MAAM,sBAAsB,GAAG,GAAG,CAAC,OAAO,CAAC;QACzC,EAAE,EAAE,GAAG,CAAC,IAAI;QACZ,gBAAgB,EAAE,GAAG,CAAC,IAAI;KAC3B,CAAC,CAAC;IACH,MAAM,4BAA4B,GAAG,GAAG,CAAC,MAAM,CAAC;QAC9C,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,kBAAkB,EAAE,iBAAiB;KACtC,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC;QAChC,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,kBAAkB,EAAE,iBAAiB;QACrC,wBAAwB,EAAE,GAAG,CAAC,GAAG,CAAC,4BAA4B,CAAC;QAC/D,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC;KACzC,CAAC,CAAC;IACH,MAAM,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAAC;QACrC,EAAE,EAAE,cAAc;QAClB,eAAe,EAAE,GAAG,CAAC,IAAI;KAC1B,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC;QACjC,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,WAAW,EAAE,GAAG,CAAC,SAAS;KAC3B,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC;IAC9B,MAAM,yBAAyB,GAAG,GAAG,CAAC,MAAM,CAAC;QAC3C,aAAa,EAAE,GAAG,CAAC,IAAI;QACvB,YAAY,EAAE,WAAW;KAC1B,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC;IACjC,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC;IAC3B,MAAM,0BAA0B,GAAG,GAAG,CAAC,OAAO,CAAC;QAC7C,MAAM,EAAE,GAAG,CAAC,IAAI;QAChB,KAAK,EAAE,GAAG,CAAC,IAAI;QACf,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC;QAC1C,eAAe,EAAE,UAAU;QAC3B,QAAQ,EAAE,GAAG,CAAC,IAAI;QAClB,QAAQ,EAAE,GAAG,CAAC,IAAI;QAClB,aAAa,EAAE,QAAQ;QACvB,WAAW,EAAE,GAAG,CAAC,IAAI;QACrB,sBAAsB,EAAE,GAAG,CAAC,IAAI;KACjC,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC;QACvB,+BAA+B,EAAE,WAAW;QAC5C,8BAA8B,EAAE,GAAG,CAAC,KAAK;QACzC,kBAAkB,EAAE,GAAG,CAAC,KAAK;QAC7B,uBAAuB,EAAE,GAAG,CAAC,KAAK;QAClC,oCAAoC,EAAE,GAAG,CAAC,KAAK;QAC/C,qBAAqB,EAAE,GAAG,CAAC,KAAK;QAChC,8BAA8B,EAAE,GAAG,CAAC,KAAK;QACzC,cAAc,EAAE,GAAG,CAAC,KAAK;QACzB,iCAAiC,EAAE,WAAW;QAC9C,kBAAkB,EAAE,GAAG,CAAC,KAAK;QAC7B,yBAAyB,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC;QAC7C,kCAAkC,EAAE,GAAG,CAAC,KAAK;QAC7C,oCAAoC,EAAE,GAAG,CAAC,KAAK;KAChD,CAAC,CAAC;IACH,MAAM,sBAAsB,GAAG,GAAG,CAAC,MAAM,CAAC;QACxC,SAAS,EAAE,GAAG,CAAC,IAAI;QACnB,MAAM,EAAE,GAAG,CAAC,KAAK;QACjB,kBAAkB,EAAE,iBAAiB;KACtC,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC;QAClC,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,uBAAuB,EAAE,GAAG,CAAC,IAAI;QACjC,aAAa,EAAE,UAAU;QACzB,cAAc,EAAE,GAAG,CAAC,IAAI;QACxB,WAAW,EAAE,GAAG,CAAC,IAAI;QACrB,WAAW,EAAE,GAAG,CAAC,IAAI;KACtB,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,eAAe,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC;QACtB,EAAE,EAAE,iBAAiB;QACrB,GAAG,EAAE,KAAK;QACV,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC;QACzB,GAAG,EAAE,KAAK;QACV,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC;QAC3B,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QACnC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QACnC,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;QAC7B,gBAAgB,EAAE,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC;QAC1C,IAAI,EAAE,GAAG,CAAC,KAAK;QACf,SAAS,EAAE,SAAS;QACpB,YAAY,EAAE,WAAW;QACzB,QAAQ,EAAE,QAAQ;KACnB,CAAC,CAAC;IACH,MAAM,uBAAuB,GAAG,GAAG,CAAC,MAAM,CAAC;QACzC,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC;KACnC,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;QAC7B,GAAG,EAAE,GAAG,CAAC,IAAI;QACb,MAAM,EAAE,GAAG,CAAC,IAAI;QAChB,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;QACvB,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC;KAC9B,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC;QAC9B,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;QACvB,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC;QAC7B,WAAW,EAAE,GAAG,CAAC,KAAK;KACvB,CAAC,CAAC;IACH,MAAM,6BAA6B,GAAG,GAAG,CAAC,MAAM,CAAC;QAC/C,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,IAAI,EAAE,GAAG,CAAC,IAAI;KACf,CAAC,CAAC;IACH,MAAM,8BAA8B,GAAG,GAAG,CAAC,OAAO,CAAC;QACjD,EAAE,EAAE,GAAG,CAAC,IAAI;QACZ,eAAe,EAAE,GAAG,CAAC,IAAI;QACzB,+BAA+B,EAAE,GAAG,CAAC,IAAI;QACzC,2BAA2B,EAAE,GAAG,CAAC,IAAI;QACrC,WAAW,EAAE,GAAG,CAAC,IAAI;KACtB,CAAC,CAAC;IACH,MAAM,uBAAuB,GAAG,GAAG,CAAC,MAAM,CAAC;QACzC,QAAQ,EAAE,GAAG,CAAC,IAAI;QAClB,kBAAkB,EAAE,iBAAiB;KACtC,CAAC,CAAC;IACH,MAAM,wBAAwB,GAAG,GAAG,CAAC,OAAO,CAAC;QAC3C,EAAE,EAAE,GAAG,CAAC,IAAI;QACZ,eAAe,EAAE,GAAG,CAAC,IAAI;QACzB,kBAAkB,EAAE,GAAG,CAAC,IAAI;QAC5B,WAAW,EAAE,GAAG,CAAC,IAAI;KACtB,CAAC,CAAC;IACH,OAAO,GAAG,CAAC,OAAO,CAAC;QACjB,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC;QAClD,gBAAgB,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;QACvD,eAAe,EAAE,GAAG,CAAC,IAAI,CACvB,CAAC,qBAAqB,CAAC,EACvB,CAAC,sBAAsB,CAAC,EACxB,EAAE,CACH;QACD,kBAAkB,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,wBAAwB,CAAC,EAAE,EAAE,CAAC;QACxE,eAAe,EAAE,GAAG,CAAC,IAAI,CACvB,CAAC,qBAAqB,CAAC,EACvB,CAAC,sBAAsB,CAAC,EACxB,EAAE,CACH;QACD,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;QAC1D,aAAa,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;QAClE,iCAAiC,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;QACvE,iCAAiC,EAAE,GAAG,CAAC,IAAI,CACzC,EAAE,EACF,CAAC,GAAG,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,EACpC,CAAC,OAAO,CAAC,CACV;QACD,iCAAiC,EAAE,GAAG,CAAC,IAAI,CACzC,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,EAC5B,CAAC,0BAA0B,CAAC,EAC5B,CAAC,OAAO,CAAC,CACV;QACD,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;QAC3C,gBAAgB,EAAE,GAAG,CAAC,IAAI,CACxB,CAAC,sBAAsB,CAAC,EACxB,CAAC,uBAAuB,CAAC,EACzB,CAAC,OAAO,CAAC,CACV;QACD,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;QAChE,wBAAwB,EAAE,GAAG,CAAC,IAAI,CAChC,CAAC,6BAA6B,CAAC,EAC/B,CAAC,8BAA8B,CAAC,EAChC,EAAE,CACH;QACD,kBAAkB,EAAE,GAAG,CAAC,IAAI,CAC1B,CAAC,uBAAuB,CAAC,EACzB,CAAC,wBAAwB,CAAC,EAC1B,EAAE,CACH;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;IAC9B,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC"}
|
@@ -0,0 +1,52 @@
|
|
1
|
+
import { ActorSubclass, HttpAgent, SignIdentity } from '@dfinity/agent';
|
2
|
+
import { InterfaceFactory } from '@dfinity/candid/lib/cjs/idl';
|
3
|
+
import { DelegationChain, DelegationIdentity } from '@dfinity/identity';
|
4
|
+
import { Principal } from '@dfinity/principal';
|
5
|
+
export interface CreateActorResult<T> {
|
6
|
+
actor: ActorSubclass<T>;
|
7
|
+
agent: HttpAgent;
|
8
|
+
}
|
9
|
+
export declare function createConnection<T>(identity: SignIdentity, delegationIdentity: DelegationIdentity, canisterId: string, interfaceFactory: InterfaceFactory, actor?: ActorSubclass<T>, agent?: HttpAgent): BaseConnection<T>;
|
10
|
+
export declare const requestDelegation: (identity: SignIdentity, { canisterId, date }: {
|
11
|
+
canisterId?: string | undefined;
|
12
|
+
date?: Date | undefined;
|
13
|
+
}) => Promise<DelegationIdentity>;
|
14
|
+
export declare function _createActor<T>(interfaceFactory: InterfaceFactory, canisterId: string, identity?: SignIdentity): Promise<CreateActorResult<T>>;
|
15
|
+
export interface AbstractConnection<T> {
|
16
|
+
identity: SignIdentity;
|
17
|
+
delegationIdentity: DelegationIdentity;
|
18
|
+
actor?: ActorSubclass<T>;
|
19
|
+
agent?: HttpAgent;
|
20
|
+
canisterId?: string;
|
21
|
+
getActor(): Promise<ActorSubclass<T>>;
|
22
|
+
}
|
23
|
+
export declare class BaseConnection<T> implements AbstractConnection<T> {
|
24
|
+
identity: SignIdentity;
|
25
|
+
delegationIdentity: DelegationIdentity;
|
26
|
+
canisterId: string;
|
27
|
+
interfaceFactory: InterfaceFactory;
|
28
|
+
actor?: ActorSubclass<T> | undefined;
|
29
|
+
agent?: HttpAgent | undefined;
|
30
|
+
constructor(identity: SignIdentity, delegationIdentity: DelegationIdentity, canisterId: string, interfaceFactory: InterfaceFactory, actor?: ActorSubclass<T> | undefined, agent?: HttpAgent | undefined);
|
31
|
+
getActor(): Promise<ActorSubclass<T>>;
|
32
|
+
protected _getActor(canisterId: string, interfaceFactory: InterfaceFactory, date?: Date): Promise<ActorSubclass<T>>;
|
33
|
+
}
|
34
|
+
export interface IIDelegationResult {
|
35
|
+
delegation: {
|
36
|
+
pubkey: Uint8Array;
|
37
|
+
expiration: bigint;
|
38
|
+
targets?: Principal[];
|
39
|
+
};
|
40
|
+
signature: Uint8Array;
|
41
|
+
}
|
42
|
+
export interface DelegationMessage {
|
43
|
+
kind: string;
|
44
|
+
delegations: IIDelegationResult[];
|
45
|
+
userPublicKey: Uint8Array;
|
46
|
+
}
|
47
|
+
export interface DelegationResult {
|
48
|
+
delegationIdentity: DelegationIdentity;
|
49
|
+
delegationChain: DelegationChain;
|
50
|
+
}
|
51
|
+
export declare function handleDelegation(message: DelegationMessage, key: SignIdentity): Promise<DelegationResult>;
|
52
|
+
export declare const executeWithLogging: <T>(func: () => Promise<T>) => Promise<T>;
|
@@ -0,0 +1,80 @@
|
|
1
|
+
import { Actor, HttpAgent, } from '@dfinity/agent';
|
2
|
+
import { Delegation, DelegationChain, DelegationIdentity, Ed25519KeyIdentity, } from '@dfinity/identity';
|
3
|
+
import { Principal } from '@dfinity/principal';
|
4
|
+
export function createConnection(identity, delegationIdentity, canisterId, interfaceFactory, actor, agent) {
|
5
|
+
return new BaseConnection(identity, delegationIdentity, canisterId, interfaceFactory, actor, agent);
|
6
|
+
}
|
7
|
+
export const requestDelegation = async (identity, { canisterId, date }) => {
|
8
|
+
const sessionKey = Ed25519KeyIdentity.generate();
|
9
|
+
const chain = await DelegationChain.create(identity, sessionKey.getPublicKey(), date || new Date(Date.parse('2100-01-01')), {
|
10
|
+
targets: canisterId != undefined ? [Principal.fromText(canisterId)] : undefined,
|
11
|
+
});
|
12
|
+
return DelegationIdentity.fromDelegation(sessionKey, chain);
|
13
|
+
};
|
14
|
+
export async function _createActor(interfaceFactory, canisterId, identity) {
|
15
|
+
const agent = new HttpAgent({ identity });
|
16
|
+
// Only fetch the root key when we're not in prod
|
17
|
+
if (process.env.II_ENV === 'development') {
|
18
|
+
await agent.fetchRootKey();
|
19
|
+
}
|
20
|
+
const actor = Actor.createActor(interfaceFactory, {
|
21
|
+
agent,
|
22
|
+
canisterId,
|
23
|
+
});
|
24
|
+
return { actor, agent };
|
25
|
+
}
|
26
|
+
export class BaseConnection {
|
27
|
+
constructor(identity, delegationIdentity, canisterId, interfaceFactory, actor, agent) {
|
28
|
+
this.identity = identity;
|
29
|
+
this.delegationIdentity = delegationIdentity;
|
30
|
+
this.canisterId = canisterId;
|
31
|
+
this.interfaceFactory = interfaceFactory;
|
32
|
+
this.actor = actor;
|
33
|
+
this.agent = agent;
|
34
|
+
}
|
35
|
+
async getActor() {
|
36
|
+
throw new Error('Method not implemented.');
|
37
|
+
}
|
38
|
+
async _getActor(canisterId, interfaceFactory, date) {
|
39
|
+
var _a, _b;
|
40
|
+
for (const { delegation } of this.delegationIdentity.getDelegation().delegations) {
|
41
|
+
// prettier-ignore
|
42
|
+
if (+new Date(Number(delegation.expiration / BigInt(1000000))) <= +Date.now()) {
|
43
|
+
this.actor = undefined;
|
44
|
+
break;
|
45
|
+
}
|
46
|
+
}
|
47
|
+
if (this.actor === undefined) {
|
48
|
+
// Create our actor with a DelegationIdentity to avoid re-prompting auth
|
49
|
+
this.delegationIdentity = await requestDelegation(this.identity, {
|
50
|
+
canisterId: (_a = this.canisterId) !== null && _a !== void 0 ? _a : canisterId,
|
51
|
+
date: date !== null && date !== void 0 ? date : undefined,
|
52
|
+
});
|
53
|
+
this.actor = (await _createActor(interfaceFactory, (_b = this.canisterId) !== null && _b !== void 0 ? _b : canisterId, this.delegationIdentity)).actor;
|
54
|
+
}
|
55
|
+
return this.actor;
|
56
|
+
}
|
57
|
+
}
|
58
|
+
export async function handleDelegation(message, key) {
|
59
|
+
const delegations = message.delegations.map(signedDelegation => {
|
60
|
+
return {
|
61
|
+
delegation: new Delegation(signedDelegation.delegation.pubkey, signedDelegation.delegation.expiration, signedDelegation.delegation.targets),
|
62
|
+
signature: signedDelegation.signature.buffer,
|
63
|
+
};
|
64
|
+
});
|
65
|
+
const delegationChain = DelegationChain.fromDelegations(delegations, message.userPublicKey.buffer);
|
66
|
+
return {
|
67
|
+
delegationChain,
|
68
|
+
delegationIdentity: DelegationIdentity.fromDelegation(key, delegationChain),
|
69
|
+
};
|
70
|
+
}
|
71
|
+
export const executeWithLogging = async (func) => {
|
72
|
+
try {
|
73
|
+
return await func();
|
74
|
+
}
|
75
|
+
catch (e) {
|
76
|
+
console.log(e);
|
77
|
+
throw e;
|
78
|
+
}
|
79
|
+
};
|
80
|
+
//# sourceMappingURL=baseConnection.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"baseConnection.js","sourceRoot":"","sources":["../../../src/connections/baseConnection.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,57 @@
|
|
1
|
+
import { BaseConnection, CreateActorResult } from './baseConnection';
|
2
|
+
import LEDGER_SERVICE, { AccountIdentifier, BlockHeight, Memo } from '../canisters/ledger';
|
3
|
+
import { ActorSubclass, HttpAgent, SignIdentity } from '@dfinity/agent';
|
4
|
+
import { DelegationIdentity } from '@dfinity/identity';
|
5
|
+
export interface SendOpts {
|
6
|
+
fee?: bigint;
|
7
|
+
memo?: Memo;
|
8
|
+
from_subaccount?: number;
|
9
|
+
created_at_time?: Date;
|
10
|
+
}
|
11
|
+
export declare class LedgerConnection extends BaseConnection<LEDGER_SERVICE> {
|
12
|
+
identity: SignIdentity;
|
13
|
+
delegationIdentity: DelegationIdentity;
|
14
|
+
actor?: ActorSubclass<LEDGER_SERVICE> | undefined;
|
15
|
+
agent?: HttpAgent | undefined;
|
16
|
+
protected constructor(identity: SignIdentity, delegationIdentity: DelegationIdentity, actor?: ActorSubclass<LEDGER_SERVICE> | undefined, agent?: HttpAgent | undefined, legerCanisterId?: string);
|
17
|
+
/**
|
18
|
+
* create connection
|
19
|
+
* @param identity
|
20
|
+
* @param delegationIdentity
|
21
|
+
* @param actor
|
22
|
+
* @param agent
|
23
|
+
* @function createConnection
|
24
|
+
* @returns {LedgerConnection}
|
25
|
+
*/
|
26
|
+
static createConnection(identity: SignIdentity, delegationIdentity: DelegationIdentity, actor?: ActorSubclass<LEDGER_SERVICE>, agent?: HttpAgent): LedgerConnection;
|
27
|
+
/**
|
28
|
+
* create Actor with DelegationIdentity
|
29
|
+
* @param delegationIdentity
|
30
|
+
* @param canisterId
|
31
|
+
* @param ledgerCanisterId
|
32
|
+
* @function {function name}
|
33
|
+
* @returns {type} {description}
|
34
|
+
*/
|
35
|
+
static createActor(delegationIdentity: DelegationIdentity, ledgerCanisterId?: string): Promise<CreateActorResult<LEDGER_SERVICE>>;
|
36
|
+
static createConnectionWithII(identity: SignIdentity, delegationIdentity: DelegationIdentity): Promise<LedgerConnection>;
|
37
|
+
static actorGetBalance(actor: ActorSubclass<LEDGER_SERVICE>, account: AccountIdentifier): Promise<bigint>;
|
38
|
+
static actorSend(actor: ActorSubclass<LEDGER_SERVICE>, { to, amount, sendOpts, }: {
|
39
|
+
to: AccountIdentifier;
|
40
|
+
amount: bigint;
|
41
|
+
sendOpts?: SendOpts;
|
42
|
+
}): Promise<BlockHeight>;
|
43
|
+
/**
|
44
|
+
* get NNS Actor, used internally
|
45
|
+
* @param canisterId
|
46
|
+
* @param ledgerCanisterId
|
47
|
+
* @function {function name}
|
48
|
+
* @returns {type} {description}
|
49
|
+
*/
|
50
|
+
getLedgerActor(ledgerCanisterId?: string): Promise<ActorSubclass<LEDGER_SERVICE>>;
|
51
|
+
getBalance(account: AccountIdentifier): Promise<bigint>;
|
52
|
+
send({ to, amount, sendOpts, }: {
|
53
|
+
to: AccountIdentifier;
|
54
|
+
amount: bigint;
|
55
|
+
sendOpts: SendOpts;
|
56
|
+
}): Promise<BlockHeight>;
|
57
|
+
}
|
@@ -0,0 +1,128 @@
|
|
1
|
+
import { BaseConnection, executeWithLogging, _createActor, } from './baseConnection';
|
2
|
+
import ledger_idl from '../canisters/ledger.idl';
|
3
|
+
import { fromSubAccountId } from '../utils/converter';
|
4
|
+
import { LEDGER_CANISTER_ID } from '../utils/constants';
|
5
|
+
export class LedgerConnection extends BaseConnection {
|
6
|
+
constructor(identity, delegationIdentity, actor, agent, legerCanisterId) {
|
7
|
+
super(identity, delegationIdentity, legerCanisterId !== null && legerCanisterId !== void 0 ? legerCanisterId : LEDGER_CANISTER_ID, ledger_idl, actor, agent);
|
8
|
+
this.identity = identity;
|
9
|
+
this.delegationIdentity = delegationIdentity;
|
10
|
+
this.actor = actor;
|
11
|
+
this.agent = agent;
|
12
|
+
}
|
13
|
+
/**
|
14
|
+
* create connection
|
15
|
+
* @param identity
|
16
|
+
* @param delegationIdentity
|
17
|
+
* @param actor
|
18
|
+
* @param agent
|
19
|
+
* @function createConnection
|
20
|
+
* @returns {LedgerConnection}
|
21
|
+
*/
|
22
|
+
static createConnection(identity, delegationIdentity, actor, agent) {
|
23
|
+
return new LedgerConnection(identity, delegationIdentity, actor, agent);
|
24
|
+
}
|
25
|
+
/**
|
26
|
+
* create Actor with DelegationIdentity
|
27
|
+
* @param delegationIdentity
|
28
|
+
* @param canisterId
|
29
|
+
* @param ledgerCanisterId
|
30
|
+
* @function {function name}
|
31
|
+
* @returns {type} {description}
|
32
|
+
*/
|
33
|
+
static async createActor(delegationIdentity, ledgerCanisterId) {
|
34
|
+
const actor = await _createActor(ledger_idl, ledgerCanisterId !== null && ledgerCanisterId !== void 0 ? ledgerCanisterId : LEDGER_CANISTER_ID, delegationIdentity);
|
35
|
+
return actor;
|
36
|
+
}
|
37
|
+
static async createConnectionWithII(identity, delegationIdentity) {
|
38
|
+
const actorResult = await LedgerConnection.createActor(delegationIdentity);
|
39
|
+
return LedgerConnection.createConnection(identity, delegationIdentity, actorResult.actor, actorResult.agent);
|
40
|
+
}
|
41
|
+
static async actorGetBalance(actor, account) {
|
42
|
+
const response = await executeWithLogging(() => actor.account_balance_dfx({ account }));
|
43
|
+
return response.e8s;
|
44
|
+
}
|
45
|
+
static async actorSend(actor, { to, amount, sendOpts, }) {
|
46
|
+
const response = await executeWithLogging(() => {
|
47
|
+
var _a, _b, _c;
|
48
|
+
const defaultFee = BigInt(10000);
|
49
|
+
const defaultMemo = BigInt(Math.floor(Math.random() * 10000));
|
50
|
+
const subAccount = (sendOpts === null || sendOpts === void 0 ? void 0 : sendOpts.from_subaccount) === undefined
|
51
|
+
? []
|
52
|
+
: Array.from([fromSubAccountId(sendOpts === null || sendOpts === void 0 ? void 0 : sendOpts.from_subaccount)]);
|
53
|
+
const createAtTime = (sendOpts === null || sendOpts === void 0 ? void 0 : sendOpts.created_at_time) === undefined
|
54
|
+
? []
|
55
|
+
: Array.from([
|
56
|
+
{
|
57
|
+
timestamp_nanos: BigInt((_a = sendOpts === null || sendOpts === void 0 ? void 0 : sendOpts.created_at_time) === null || _a === void 0 ? void 0 : _a.getTime()),
|
58
|
+
},
|
59
|
+
]);
|
60
|
+
const sendArgs = {
|
61
|
+
to: to,
|
62
|
+
fee: {
|
63
|
+
e8s: (_b = sendOpts === null || sendOpts === void 0 ? void 0 : sendOpts.fee) !== null && _b !== void 0 ? _b : defaultFee,
|
64
|
+
},
|
65
|
+
amount: { e8s: amount },
|
66
|
+
memo: (_c = sendOpts === null || sendOpts === void 0 ? void 0 : sendOpts.memo) !== null && _c !== void 0 ? _c : defaultMemo,
|
67
|
+
from_subaccount: subAccount,
|
68
|
+
created_at_time: createAtTime,
|
69
|
+
};
|
70
|
+
return actor.send_dfx(sendArgs);
|
71
|
+
});
|
72
|
+
return response;
|
73
|
+
}
|
74
|
+
/**
|
75
|
+
* get NNS Actor, used internally
|
76
|
+
* @param canisterId
|
77
|
+
* @param ledgerCanisterId
|
78
|
+
* @function {function name}
|
79
|
+
* @returns {type} {description}
|
80
|
+
*/
|
81
|
+
async getLedgerActor(ledgerCanisterId) {
|
82
|
+
const actor = await this._getActor(ledgerCanisterId !== null && ledgerCanisterId !== void 0 ? ledgerCanisterId : LEDGER_CANISTER_ID, ledger_idl);
|
83
|
+
return actor;
|
84
|
+
}
|
85
|
+
async getBalance(account) {
|
86
|
+
const actor = await this.getLedgerActor();
|
87
|
+
const response = await executeWithLogging(() => actor.account_balance_dfx({ account }));
|
88
|
+
return response.e8s;
|
89
|
+
}
|
90
|
+
async send({ to, amount, sendOpts, }) {
|
91
|
+
const actor = await this.getLedgerActor();
|
92
|
+
const response = await executeWithLogging(() => {
|
93
|
+
var _a, _b, _c;
|
94
|
+
const defaultFee = BigInt(10000);
|
95
|
+
const defaultMemo = BigInt(Math.floor(Math.random() * 10000));
|
96
|
+
const subAccount = (sendOpts === null || sendOpts === void 0 ? void 0 : sendOpts.from_subaccount) === undefined
|
97
|
+
? []
|
98
|
+
: Array.from([fromSubAccountId(sendOpts === null || sendOpts === void 0 ? void 0 : sendOpts.from_subaccount)]);
|
99
|
+
const createAtTime = (sendOpts === null || sendOpts === void 0 ? void 0 : sendOpts.created_at_time) === undefined
|
100
|
+
? []
|
101
|
+
: Array.from([
|
102
|
+
{
|
103
|
+
timestamp_nanos: BigInt((_a = sendOpts === null || sendOpts === void 0 ? void 0 : sendOpts.created_at_time) === null || _a === void 0 ? void 0 : _a.getTime()),
|
104
|
+
},
|
105
|
+
]);
|
106
|
+
const sendArgs = {
|
107
|
+
to: to,
|
108
|
+
fee: {
|
109
|
+
e8s: (_b = sendOpts === null || sendOpts === void 0 ? void 0 : sendOpts.fee) !== null && _b !== void 0 ? _b : defaultFee,
|
110
|
+
},
|
111
|
+
amount: { e8s: amount },
|
112
|
+
memo: (_c = sendOpts === null || sendOpts === void 0 ? void 0 : sendOpts.memo) !== null && _c !== void 0 ? _c : defaultMemo,
|
113
|
+
from_subaccount: subAccount,
|
114
|
+
created_at_time: createAtTime,
|
115
|
+
};
|
116
|
+
return actor.send_dfx(sendArgs);
|
117
|
+
});
|
118
|
+
return response;
|
119
|
+
}
|
120
|
+
}
|
121
|
+
// export const requestNNSDelegation = async (
|
122
|
+
// identity: SignIdentity,
|
123
|
+
// ): Promise<DelegationIdentity> => {
|
124
|
+
// const tenMinutesInMsec = 10 * 1000 * 60;
|
125
|
+
// const date = new Date(Date.now() + tenMinutesInMsec);
|
126
|
+
// return requestDelegation(identity, { canisterId, date });
|
127
|
+
// };
|
128
|
+
//# sourceMappingURL=ledgerConnection.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ledgerConnection.js","sourceRoot":"","sources":["../../../src/connections/ledgerConnection.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAEd,kBAAkB,EAClB,YAAY,GACb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,UAAU,MAAM,yBAAyB,CAAC;AAUjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAWxD,MAAM,OAAO,gBAAiB,SAAQ,cAA8B;IAClE,YACS,QAAsB,EACtB,kBAAsC,EACtC,KAAqC,EACrC,KAAiB,EACxB,eAAwB;QAExB,KAAK,CACH,QAAQ,EACR,kBAAkB,EAClB,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,kBAAkB,EACrC,UAAU,EACV,KAAK,EACL,KAAK,CACN,CAAC;QAbK,aAAQ,GAAR,QAAQ,CAAc;QACtB,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,UAAK,GAAL,KAAK,CAAgC;QACrC,UAAK,GAAL,KAAK,CAAY;IAW1B,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,gBAAgB,CACrB,QAAsB,EACtB,kBAAsC,EACtC,KAAqC,EACrC,KAAiB;QAEjB,OAAO,IAAI,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,CAAC,WAAW,CACtB,kBAAsC,EACtC,gBAAyB;QAEzB,MAAM,KAAK,GAAG,MAAM,YAAY,CAC9B,UAAU,EACV,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,kBAAkB,EACtC,kBAAkB,CACnB,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,sBAAsB,CACjC,QAAsB,EACtB,kBAAsC;QAEtC,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;QAC3E,OAAO,gBAAgB,CAAC,gBAAgB,CACtC,QAAQ,EACR,kBAAkB,EAClB,WAAW,CAAC,KAAK,EACjB,WAAW,CAAC,KAAK,CAClB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,eAAe,CAC1B,KAAoC,EACpC,OAA0B;QAE1B,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QACxF,OAAO,QAAQ,CAAC,GAAG,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,SAAS,CACpB,KAAoC,EACpC,EACE,EAAE,EACF,MAAM,EACN,QAAQ,GAKT;QAED,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE;;YAC7C,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YACjC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;YAC9D,MAAM,UAAU,GACd,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,eAAe,MAAK,SAAS;gBACrC,CAAC,CAAE,EAAS;gBACZ,CAAC,CAAE,KAAK,CAAC,IAAI,CAAa,CAAC,gBAAgB,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,eAAe,CAAC,CAAC,CAAkB,CAAC;YAE9F,MAAM,YAAY,GAChB,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,eAAe,MAAK,SAAS;gBACrC,CAAC,CAAE,EAAS;gBACZ,CAAC,CAAE,KAAK,CAAC,IAAI,CAAY;oBACrB;wBACE,eAAe,EAAE,MAAM,OAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,eAAe,0CAAE,OAAO,GAAG;qBAC9D;iBACF,CAAiB,CAAC;YAEzB,MAAM,QAAQ,GAAG;gBACf,EAAE,EAAE,EAAE;gBACN,GAAG,EAAE;oBACH,GAAG,QAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,GAAG,mCAAI,UAAU;iBACjC;gBACD,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE;gBACvB,IAAI,QAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,mCAAI,WAAW;gBACnC,eAAe,EAAE,UAAU;gBAE3B,eAAe,EAAE,YAAY;aAC9B,CAAC;YAEF,OAAO,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,cAAc,CAAC,gBAAyB;QAC5C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,kBAAkB,EAAE,UAAU,CAAC,CAAC;QACvF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAA0B;QACzC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QACxF,OAAO,QAAQ,CAAC,GAAG,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EACT,EAAE,EACF,MAAM,EACN,QAAQ,GAKT;QACC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE;;YAC7C,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YACjC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;YAC9D,MAAM,UAAU,GACd,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,eAAe,MAAK,SAAS;gBACrC,CAAC,CAAE,EAAS;gBACZ,CAAC,CAAE,KAAK,CAAC,IAAI,CAAa,CAAC,gBAAgB,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,eAAe,CAAC,CAAC,CAAkB,CAAC;YAE9F,MAAM,YAAY,GAChB,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,eAAe,MAAK,SAAS;gBACrC,CAAC,CAAE,EAAS;gBACZ,CAAC,CAAE,KAAK,CAAC,IAAI,CAAY;oBACrB;wBACE,eAAe,EAAE,MAAM,OAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,eAAe,0CAAE,OAAO,GAAG;qBAC9D;iBACF,CAAiB,CAAC;YAEzB,MAAM,QAAQ,GAAG;gBACf,EAAE,EAAE,EAAE;gBACN,GAAG,EAAE;oBACH,GAAG,QAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,GAAG,mCAAI,UAAU;iBACjC;gBACD,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE;gBACvB,IAAI,QAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,mCAAI,WAAW;gBACnC,eAAe,EAAE,UAAU;gBAE3B,eAAe,EAAE,YAAY;aAC9B,CAAC;YAEF,OAAO,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAED,8CAA8C;AAC9C,4BAA4B;AAC5B,sCAAsC;AACtC,6CAA6C;AAC7C,0DAA0D;AAC1D,8DAA8D;AAC9D,KAAK"}
|
@@ -0,0 +1,62 @@
|
|
1
|
+
import { ActorSubclass, HttpAgent, SignIdentity } from '@dfinity/agent';
|
2
|
+
import { DelegationIdentity } from '@dfinity/identity';
|
3
|
+
import { BaseConnection, CreateActorResult } from './baseConnection';
|
4
|
+
import NNS_SERVICE, { AccountDetails } from '../canisters/nns-dapp';
|
5
|
+
export declare class NNSConnection extends BaseConnection<NNS_SERVICE> {
|
6
|
+
identity: SignIdentity;
|
7
|
+
delegationIdentity: DelegationIdentity;
|
8
|
+
actor?: ActorSubclass<NNS_SERVICE> | undefined;
|
9
|
+
agent?: HttpAgent | undefined;
|
10
|
+
get accountDetails(): AccountDetails | undefined;
|
11
|
+
private _accountDetails?;
|
12
|
+
protected constructor(identity: SignIdentity, delegationIdentity: DelegationIdentity, actor?: ActorSubclass<NNS_SERVICE> | undefined, agent?: HttpAgent | undefined, nnsCanisterId?: string);
|
13
|
+
/**
|
14
|
+
* create connection
|
15
|
+
* @param identity
|
16
|
+
* @param delegationIdentity
|
17
|
+
* @param actor
|
18
|
+
* @param agent
|
19
|
+
* @function createConnection
|
20
|
+
* @returns {NNSConnection}
|
21
|
+
*/
|
22
|
+
static createConnection(identity: SignIdentity, delegationIdentity: DelegationIdentity, actor?: ActorSubclass<NNS_SERVICE>, agent?: HttpAgent): NNSConnection;
|
23
|
+
/**
|
24
|
+
* create Actor with DelegationIdentity
|
25
|
+
* @param delegationIdentity
|
26
|
+
* @param nnsCanisterId
|
27
|
+
* @function {function name}
|
28
|
+
* @returns {type} {description}
|
29
|
+
*/
|
30
|
+
static createActor(delegationIdentity: DelegationIdentity, nnsCanisterId?: string): Promise<CreateActorResult<NNS_SERVICE>>;
|
31
|
+
/**
|
32
|
+
* get NNS Actor, used internally
|
33
|
+
* @param nnsCanisterId
|
34
|
+
* @function {function name}
|
35
|
+
* @returns {type} {description}
|
36
|
+
*/
|
37
|
+
getNNSActor(nnsCanisterId?: string): Promise<ActorSubclass<NNS_SERVICE>>;
|
38
|
+
/**
|
39
|
+
* get NNS Actor, used internally
|
40
|
+
* @param nnsCanisterId
|
41
|
+
* @function {function name}
|
42
|
+
* @returns {type} {description}
|
43
|
+
*/
|
44
|
+
getNNSActorCert(nnsCanisterId?: string): Promise<ActorSubclass<NNS_SERVICE>>;
|
45
|
+
/**
|
46
|
+
* when NNSConnection is created, we can get account created to NNS.
|
47
|
+
* Even we can just calculate the login principal to NNS DApp, however,
|
48
|
+
* The NNS DApp stores and create account, thus, a new Identity login will get NO ACCOUNT created by default.
|
49
|
+
* We need to manually create account using `add_account` when no account found.
|
50
|
+
*
|
51
|
+
* @param cert
|
52
|
+
* @function {function name}
|
53
|
+
* @returns {type} {description}
|
54
|
+
*/
|
55
|
+
getAccount(cert?: boolean): Promise<AccountDetails | undefined>;
|
56
|
+
/**
|
57
|
+
* create account when new identity logined to NNS
|
58
|
+
* @function {function name}
|
59
|
+
* @returns {type} {description}
|
60
|
+
*/
|
61
|
+
addAccount(): Promise<string>;
|
62
|
+
}
|