@astrox/connection 0.0.24 → 0.0.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +22 -10
- package/lib/cjs/canisters/internet_identity_idl.d.ts +7 -0
- package/lib/cjs/canisters/internet_identity_idl.js +102 -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 +82 -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 +126 -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 +87 -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 +185 -0
- package/lib/cjs/canisters/nns-dapp.idl.js.map +1 -0
- package/lib/cjs/connections/baseConnection.d.ts +23 -0
- package/lib/cjs/connections/baseConnection.js +89 -0
- package/lib/cjs/connections/baseConnection.js.map +1 -0
- package/lib/cjs/connections/ledgerConnection.d.ts +53 -0
- package/lib/cjs/connections/ledgerConnection.js +137 -0
- package/lib/cjs/connections/ledgerConnection.js.map +1 -0
- package/lib/cjs/connections/nnsConnection.d.ts +63 -0
- package/lib/cjs/connections/nnsConnection.js +161 -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 +236 -0
- package/lib/cjs/ic/icAuthClient.js.map +1 -0
- package/lib/cjs/ic/icConnect.d.ts +36 -0
- package/lib/cjs/ic/icConnect.js +192 -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 +8 -0
- package/lib/cjs/ic/icWindow.js +24 -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 +8 -0
- package/lib/cjs/ic/index.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/types/index.d.ts +175 -0
- package/lib/cjs/types/index.js +17 -0
- package/lib/cjs/types/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 +147 -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 +23 -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 +53 -0
- package/lib/esm/connections/ledgerConnection.js +130 -0
- package/lib/esm/connections/ledgerConnection.js.map +1 -0
- package/lib/esm/connections/nnsConnection.d.ts +63 -0
- package/lib/esm/connections/nnsConnection.js +154 -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 +232 -0
- package/lib/esm/ic/icAuthClient.js.map +1 -0
- package/lib/esm/ic/icConnect.d.ts +36 -0
- package/lib/esm/ic/icConnect.js +188 -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 +8 -0
- package/lib/esm/ic/icWindow.js +20 -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/index.d.ts +5 -0
- package/lib/esm/index.js +6 -0
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/types/index.d.ts +175 -0
- package/lib/esm/types/index.js +14 -0
- package/lib/esm/types/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 +1 -0
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
@@ -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":"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"}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import { ActorSubclass, HttpAgent, SignIdentity } from '@dfinity/agent';
|
2
|
+
import { InterfaceFactory } from '@dfinity/candid/lib/cjs/idl';
|
3
|
+
import { DelegationIdentity } from '@dfinity/identity';
|
4
|
+
import { AbstractConnection, CreateActorResult, DelegationMessage, HandleDelegationResult } from '../types';
|
5
|
+
export declare function createConnection<T>(identity: SignIdentity, delegationIdentity: DelegationIdentity, canisterId: string, interfaceFactory: InterfaceFactory, actor?: ActorSubclass<T>, agent?: HttpAgent): BaseConnection<T>;
|
6
|
+
export declare const requestDelegation: (identity: SignIdentity, { canisterId, date }: {
|
7
|
+
canisterId?: string | undefined;
|
8
|
+
date?: Date | undefined;
|
9
|
+
}) => Promise<DelegationIdentity>;
|
10
|
+
export declare function _createActor<T>(interfaceFactory: InterfaceFactory, canisterId: string, identity?: SignIdentity): Promise<CreateActorResult<T>>;
|
11
|
+
export declare class BaseConnection<T> implements AbstractConnection<T> {
|
12
|
+
identity: SignIdentity;
|
13
|
+
delegationIdentity: DelegationIdentity;
|
14
|
+
canisterId: string;
|
15
|
+
interfaceFactory: InterfaceFactory;
|
16
|
+
actor?: ActorSubclass<T> | undefined;
|
17
|
+
agent?: HttpAgent | undefined;
|
18
|
+
constructor(identity: SignIdentity, delegationIdentity: DelegationIdentity, canisterId: string, interfaceFactory: InterfaceFactory, actor?: ActorSubclass<T> | undefined, agent?: HttpAgent | undefined);
|
19
|
+
getActor(): Promise<ActorSubclass<T>>;
|
20
|
+
protected _getActor(canisterId: string, interfaceFactory: InterfaceFactory, date?: Date): Promise<ActorSubclass<T>>;
|
21
|
+
}
|
22
|
+
export declare function handleDelegation(message: DelegationMessage, key: SignIdentity): Promise<HandleDelegationResult>;
|
23
|
+
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":"AAAA,OAAO,EACL,KAAK,EAGL,SAAS,GAGV,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,UAAU,EACV,eAAe,EACf,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAQ/C,MAAM,UAAU,gBAAgB,CAC9B,QAAsB,EACtB,kBAAsC,EACtC,UAAkB,EAClB,gBAAkC,EAClC,KAAwB,EACxB,KAAiB;IAEjB,OAAO,IAAI,cAAc,CACvB,QAAQ,EACR,kBAAkB,EAClB,UAAU,EACV,gBAAgB,EAChB,KAAK,EACL,KAAK,CACN,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EACpC,QAAsB,EACtB,EAAE,UAAU,EAAE,IAAI,EAAwC,EAC7B,EAAE;IAC/B,MAAM,UAAU,GAAG,kBAAkB,CAAC,QAAQ,EAAE,CAAC;IACjD,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,MAAM,CACxC,QAAQ,EACR,UAAU,CAAC,YAAY,EAAE,EACzB,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAC1C;QACE,OAAO,EAAE,UAAU,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;KAChF,CACF,CAAC;IAEF,OAAO,kBAAkB,CAAC,cAAc,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,gBAAkC,EAClC,UAAkB,EAClB,QAAuB;IAEvB,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC1C,iDAAiD;IACjD,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,aAAa,EAAE;QACxC,MAAM,KAAK,CAAC,YAAY,EAAE,CAAC;KAC5B;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAI,gBAAgB,EAAE;QACnD,KAAK;QACL,UAAU;KACX,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC1B,CAAC;AAED,MAAM,OAAO,cAAc;IACzB,YACS,QAAsB,EACtB,kBAAsC,EACtC,UAAkB,EAClB,gBAAkC,EAClC,KAAwB,EACxB,KAAiB;QALjB,aAAQ,GAAR,QAAQ,CAAc;QACtB,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,eAAU,GAAV,UAAU,CAAQ;QAClB,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,UAAK,GAAL,KAAK,CAAmB;QACxB,UAAK,GAAL,KAAK,CAAY;IACvB,CAAC;IACJ,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAES,KAAK,CAAC,SAAS,CACvB,UAAkB,EAClB,gBAAkC,EAClC,IAAW;;QAEX,KAAK,MAAM,EAAE,UAAU,EAAE,IAAI,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC,WAAW,EAAE;YAChF,kBAAkB;YAClB,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE;gBAC7E,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;gBACvB,MAAM;aACP;SACF;QACD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;YAC5B,wEAAwE;YACxE,IAAI,CAAC,kBAAkB,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAC/D,UAAU,EAAE,MAAA,IAAI,CAAC,UAAU,mCAAI,UAAU;gBACzC,IAAI,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,SAAS;aACxB,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,GAAG,CACX,MAAM,YAAY,CAChB,gBAAgB,EAChB,MAAA,IAAI,CAAC,UAAU,mCAAI,UAAU,EAC7B,IAAI,CAAC,kBAAkB,CACxB,CACF,CAAC,KAAyB,CAAC;SAC7B;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAA0B,EAC1B,GAAiB;IAEjB,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE;QAC7D,OAAO;YACL,UAAU,EAAE,IAAI,UAAU,CACxB,gBAAgB,CAAC,UAAU,CAAC,MAAM,EAClC,gBAAgB,CAAC,UAAU,CAAC,UAAU,EACtC,gBAAgB,CAAC,UAAU,CAAC,OAAO,CACpC;YACD,SAAS,EAAE,gBAAgB,CAAC,SAAS,CAAC,MAAmB;SAC1D,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,eAAe,CAAC,eAAe,CACrD,WAAW,EACX,OAAO,CAAC,aAAa,CAAC,MAA6B,CACpD,CAAC;IACF,OAAO;QACL,eAAe;QACf,kBAAkB,EAAE,kBAAkB,CAAC,cAAc,CAAC,GAAG,EAAE,eAAe,CAAC;KAC5E,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAK,IAAsB,EAAc,EAAE;IAChF,IAAI;QACF,OAAO,MAAM,IAAI,EAAE,CAAC;KACrB;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACf,MAAM,CAAC,CAAC;KACT;AACH,CAAC,CAAC"}
|
@@ -0,0 +1,53 @@
|
|
1
|
+
import { BaseConnection } from './baseConnection';
|
2
|
+
import LEDGER_SERVICE, { AccountIdentifier, BlockHeight } from '../canisters/ledger';
|
3
|
+
import { ActorSubclass, HttpAgent, SignIdentity } from '@dfinity/agent';
|
4
|
+
import { DelegationIdentity } from '@dfinity/identity';
|
5
|
+
import { CreateActorResult, SendOpts } from '../types';
|
6
|
+
export declare class LedgerConnection extends BaseConnection<LEDGER_SERVICE> {
|
7
|
+
identity: SignIdentity;
|
8
|
+
delegationIdentity: DelegationIdentity;
|
9
|
+
actor?: ActorSubclass<LEDGER_SERVICE> | undefined;
|
10
|
+
agent?: HttpAgent | undefined;
|
11
|
+
protected constructor(identity: SignIdentity, delegationIdentity: DelegationIdentity, actor?: ActorSubclass<LEDGER_SERVICE> | undefined, agent?: HttpAgent | undefined, legerCanisterId?: string);
|
12
|
+
/**
|
13
|
+
* create connection
|
14
|
+
* @param identity
|
15
|
+
* @param delegationIdentity
|
16
|
+
* @param legerCanisterId
|
17
|
+
* @param actor
|
18
|
+
* @param agent
|
19
|
+
* @function createConnection
|
20
|
+
* @returns {LedgerConnection}
|
21
|
+
*/
|
22
|
+
static createConnection(identity: SignIdentity, delegationIdentity: DelegationIdentity, legerCanisterId?: string, actor?: ActorSubclass<LEDGER_SERVICE>, agent?: HttpAgent): LedgerConnection;
|
23
|
+
/**
|
24
|
+
* create Actor with DelegationIdentity
|
25
|
+
* @param delegationIdentity
|
26
|
+
* @param canisterId
|
27
|
+
* @param ledgerCanisterId
|
28
|
+
* @function {function name}
|
29
|
+
* @returns {type} {description}
|
30
|
+
*/
|
31
|
+
static createActor(delegationIdentity: DelegationIdentity, ledgerCanisterId?: string): Promise<CreateActorResult<LEDGER_SERVICE>>;
|
32
|
+
static createConnectionWithII(identity: SignIdentity, delegationIdentity: DelegationIdentity, legerCanisterId?: string): Promise<LedgerConnection>;
|
33
|
+
static actorGetBalance(actor: ActorSubclass<LEDGER_SERVICE>, account: AccountIdentifier): Promise<bigint>;
|
34
|
+
static actorSend(actor: ActorSubclass<LEDGER_SERVICE>, { to, amount, sendOpts, }: {
|
35
|
+
to: AccountIdentifier;
|
36
|
+
amount: bigint;
|
37
|
+
sendOpts?: SendOpts;
|
38
|
+
}): Promise<BlockHeight>;
|
39
|
+
/**
|
40
|
+
* get NNS Actor, used internally
|
41
|
+
* @param canisterId
|
42
|
+
* @param ledgerCanisterId
|
43
|
+
* @function {function name}
|
44
|
+
* @returns {type} {description}
|
45
|
+
*/
|
46
|
+
getLedgerActor(ledgerCanisterId?: string): Promise<ActorSubclass<LEDGER_SERVICE>>;
|
47
|
+
getBalance(account: AccountIdentifier): Promise<bigint>;
|
48
|
+
send({ to, amount, sendOpts, }: {
|
49
|
+
to: AccountIdentifier;
|
50
|
+
amount: bigint;
|
51
|
+
sendOpts: SendOpts;
|
52
|
+
}): Promise<BlockHeight>;
|
53
|
+
}
|
@@ -0,0 +1,130 @@
|
|
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 const canisterIdPrincipal: Principal = Principal.fromText(LEDGER_CANISTER_ID);
|
6
|
+
export class LedgerConnection extends BaseConnection {
|
7
|
+
constructor(identity, delegationIdentity, actor, agent, legerCanisterId) {
|
8
|
+
super(identity, delegationIdentity, legerCanisterId !== null && legerCanisterId !== void 0 ? legerCanisterId : LEDGER_CANISTER_ID, ledger_idl, actor, agent);
|
9
|
+
this.identity = identity;
|
10
|
+
this.delegationIdentity = delegationIdentity;
|
11
|
+
this.actor = actor;
|
12
|
+
this.agent = agent;
|
13
|
+
}
|
14
|
+
/**
|
15
|
+
* create connection
|
16
|
+
* @param identity
|
17
|
+
* @param delegationIdentity
|
18
|
+
* @param legerCanisterId
|
19
|
+
* @param actor
|
20
|
+
* @param agent
|
21
|
+
* @function createConnection
|
22
|
+
* @returns {LedgerConnection}
|
23
|
+
*/
|
24
|
+
static createConnection(identity, delegationIdentity, legerCanisterId, actor, agent) {
|
25
|
+
return new LedgerConnection(identity, delegationIdentity, actor, agent, legerCanisterId !== null && legerCanisterId !== void 0 ? legerCanisterId : LEDGER_CANISTER_ID);
|
26
|
+
}
|
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 async createActor(delegationIdentity, ledgerCanisterId) {
|
36
|
+
const actor = await _createActor(ledger_idl, ledgerCanisterId !== null && ledgerCanisterId !== void 0 ? ledgerCanisterId : LEDGER_CANISTER_ID, delegationIdentity);
|
37
|
+
return actor;
|
38
|
+
}
|
39
|
+
static async createConnectionWithII(identity, delegationIdentity, legerCanisterId) {
|
40
|
+
const actorResult = await LedgerConnection.createActor(delegationIdentity);
|
41
|
+
return LedgerConnection.createConnection(identity, delegationIdentity, legerCanisterId !== null && legerCanisterId !== void 0 ? legerCanisterId : LEDGER_CANISTER_ID, actorResult.actor, actorResult.agent);
|
42
|
+
}
|
43
|
+
static async actorGetBalance(actor, account) {
|
44
|
+
const response = await executeWithLogging(() => actor.account_balance_dfx({ account }));
|
45
|
+
return response.e8s;
|
46
|
+
}
|
47
|
+
static async actorSend(actor, { to, amount, sendOpts, }) {
|
48
|
+
const response = await executeWithLogging(() => {
|
49
|
+
var _a, _b, _c;
|
50
|
+
const defaultFee = BigInt(10000);
|
51
|
+
const defaultMemo = BigInt(Math.floor(Math.random() * 10000));
|
52
|
+
const subAccount = (sendOpts === null || sendOpts === void 0 ? void 0 : sendOpts.from_subaccount) === undefined
|
53
|
+
? []
|
54
|
+
: Array.from([fromSubAccountId(sendOpts === null || sendOpts === void 0 ? void 0 : sendOpts.from_subaccount)]);
|
55
|
+
const createAtTime = (sendOpts === null || sendOpts === void 0 ? void 0 : sendOpts.created_at_time) === undefined
|
56
|
+
? []
|
57
|
+
: Array.from([
|
58
|
+
{
|
59
|
+
timestamp_nanos: BigInt((_a = sendOpts === null || sendOpts === void 0 ? void 0 : sendOpts.created_at_time) === null || _a === void 0 ? void 0 : _a.getTime()),
|
60
|
+
},
|
61
|
+
]);
|
62
|
+
const sendArgs = {
|
63
|
+
to: to,
|
64
|
+
fee: {
|
65
|
+
e8s: (_b = sendOpts === null || sendOpts === void 0 ? void 0 : sendOpts.fee) !== null && _b !== void 0 ? _b : defaultFee,
|
66
|
+
},
|
67
|
+
amount: { e8s: amount },
|
68
|
+
memo: (_c = sendOpts === null || sendOpts === void 0 ? void 0 : sendOpts.memo) !== null && _c !== void 0 ? _c : defaultMemo,
|
69
|
+
from_subaccount: subAccount,
|
70
|
+
created_at_time: createAtTime,
|
71
|
+
};
|
72
|
+
return actor.send_dfx(sendArgs);
|
73
|
+
});
|
74
|
+
return response;
|
75
|
+
}
|
76
|
+
/**
|
77
|
+
* get NNS Actor, used internally
|
78
|
+
* @param canisterId
|
79
|
+
* @param ledgerCanisterId
|
80
|
+
* @function {function name}
|
81
|
+
* @returns {type} {description}
|
82
|
+
*/
|
83
|
+
async getLedgerActor(ledgerCanisterId) {
|
84
|
+
const actor = await this._getActor(ledgerCanisterId !== null && ledgerCanisterId !== void 0 ? ledgerCanisterId : LEDGER_CANISTER_ID, ledger_idl);
|
85
|
+
return actor;
|
86
|
+
}
|
87
|
+
async getBalance(account) {
|
88
|
+
const actor = await this.getLedgerActor();
|
89
|
+
const response = await executeWithLogging(() => actor.account_balance_dfx({ account }));
|
90
|
+
return response.e8s;
|
91
|
+
}
|
92
|
+
async send({ to, amount, sendOpts, }) {
|
93
|
+
const actor = await this.getLedgerActor();
|
94
|
+
const response = await executeWithLogging(() => {
|
95
|
+
var _a, _b, _c;
|
96
|
+
const defaultFee = BigInt(10000);
|
97
|
+
const defaultMemo = BigInt(Math.floor(Math.random() * 10000));
|
98
|
+
const subAccount = (sendOpts === null || sendOpts === void 0 ? void 0 : sendOpts.from_subaccount) === undefined
|
99
|
+
? []
|
100
|
+
: Array.from([fromSubAccountId(sendOpts === null || sendOpts === void 0 ? void 0 : sendOpts.from_subaccount)]);
|
101
|
+
const createAtTime = (sendOpts === null || sendOpts === void 0 ? void 0 : sendOpts.created_at_time) === undefined
|
102
|
+
? []
|
103
|
+
: Array.from([
|
104
|
+
{
|
105
|
+
timestamp_nanos: BigInt((_a = sendOpts === null || sendOpts === void 0 ? void 0 : sendOpts.created_at_time) === null || _a === void 0 ? void 0 : _a.getTime()),
|
106
|
+
},
|
107
|
+
]);
|
108
|
+
const sendArgs = {
|
109
|
+
to: to,
|
110
|
+
fee: {
|
111
|
+
e8s: (_b = sendOpts === null || sendOpts === void 0 ? void 0 : sendOpts.fee) !== null && _b !== void 0 ? _b : defaultFee,
|
112
|
+
},
|
113
|
+
amount: { e8s: amount },
|
114
|
+
memo: (_c = sendOpts === null || sendOpts === void 0 ? void 0 : sendOpts.memo) !== null && _c !== void 0 ? _c : defaultMemo,
|
115
|
+
from_subaccount: subAccount,
|
116
|
+
created_at_time: createAtTime,
|
117
|
+
};
|
118
|
+
return actor.send_dfx(sendArgs);
|
119
|
+
});
|
120
|
+
return response;
|
121
|
+
}
|
122
|
+
}
|
123
|
+
// export const requestNNSDelegation = async (
|
124
|
+
// identity: SignIdentity,
|
125
|
+
// ): Promise<DelegationIdentity> => {
|
126
|
+
// const tenMinutesInMsec = 10 * 1000 * 60;
|
127
|
+
// const date = new Date(Date.now() + tenMinutesInMsec);
|
128
|
+
// return requestDelegation(identity, { canisterId, date });
|
129
|
+
// };
|
130
|
+
//# sourceMappingURL=ledgerConnection.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ledgerConnection.js","sourceRoot":"","sources":["../../../src/connections/ledgerConnection.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,63 @@
|
|
1
|
+
import { ActorSubclass, HttpAgent, SignIdentity } from '@dfinity/agent';
|
2
|
+
import { DelegationIdentity } from '@dfinity/identity';
|
3
|
+
import { BaseConnection } from './baseConnection';
|
4
|
+
import NNS_SERVICE, { AccountDetails } from '../canisters/nns-dapp';
|
5
|
+
import { CreateActorResult } from '../types';
|
6
|
+
export declare class NNSConnection extends BaseConnection<NNS_SERVICE> {
|
7
|
+
identity: SignIdentity;
|
8
|
+
delegationIdentity: DelegationIdentity;
|
9
|
+
actor?: ActorSubclass<NNS_SERVICE> | undefined;
|
10
|
+
agent?: HttpAgent | undefined;
|
11
|
+
get accountDetails(): AccountDetails | undefined;
|
12
|
+
private _accountDetails?;
|
13
|
+
protected constructor(identity: SignIdentity, delegationIdentity: DelegationIdentity, actor?: ActorSubclass<NNS_SERVICE> | undefined, agent?: HttpAgent | undefined, nnsCanisterId?: string);
|
14
|
+
/**
|
15
|
+
* create connection
|
16
|
+
* @param identity
|
17
|
+
* @param delegationIdentity
|
18
|
+
* @param actor
|
19
|
+
* @param agent
|
20
|
+
* @function createConnection
|
21
|
+
* @returns {NNSConnection}
|
22
|
+
*/
|
23
|
+
static createConnection(identity: SignIdentity, delegationIdentity: DelegationIdentity, actor?: ActorSubclass<NNS_SERVICE>, agent?: HttpAgent): NNSConnection;
|
24
|
+
/**
|
25
|
+
* create Actor with DelegationIdentity
|
26
|
+
* @param delegationIdentity
|
27
|
+
* @param nnsCanisterId
|
28
|
+
* @function {function name}
|
29
|
+
* @returns {type} {description}
|
30
|
+
*/
|
31
|
+
static createActor(delegationIdentity: DelegationIdentity, nnsCanisterId?: string): Promise<CreateActorResult<NNS_SERVICE>>;
|
32
|
+
/**
|
33
|
+
* get NNS Actor, used internally
|
34
|
+
* @param nnsCanisterId
|
35
|
+
* @function {function name}
|
36
|
+
* @returns {type} {description}
|
37
|
+
*/
|
38
|
+
getNNSActor(nnsCanisterId?: string): Promise<ActorSubclass<NNS_SERVICE>>;
|
39
|
+
/**
|
40
|
+
* get NNS Actor, used internally
|
41
|
+
* @param nnsCanisterId
|
42
|
+
* @function {function name}
|
43
|
+
* @returns {type} {description}
|
44
|
+
*/
|
45
|
+
getNNSActorCert(nnsCanisterId?: string): Promise<ActorSubclass<NNS_SERVICE>>;
|
46
|
+
/**
|
47
|
+
* when NNSConnection is created, we can get account created to NNS.
|
48
|
+
* Even we can just calculate the login principal to NNS DApp, however,
|
49
|
+
* The NNS DApp stores and create account, thus, a new Identity login will get NO ACCOUNT created by default.
|
50
|
+
* We need to manually create account using `add_account` when no account found.
|
51
|
+
*
|
52
|
+
* @param cert
|
53
|
+
* @function {function name}
|
54
|
+
* @returns {type} {description}
|
55
|
+
*/
|
56
|
+
getAccount(cert?: boolean): Promise<AccountDetails | undefined>;
|
57
|
+
/**
|
58
|
+
* create account when new identity logined to NNS
|
59
|
+
* @function {function name}
|
60
|
+
* @returns {type} {description}
|
61
|
+
*/
|
62
|
+
addAccount(): Promise<string>;
|
63
|
+
}
|