@astrox/connection 0.0.20 → 0.0.24

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.
Files changed (123) hide show
  1. package/lib/tsconfig.tsbuildinfo +1 -2838
  2. package/package.json +2 -2
  3. package/lib/cjs/canisters/internet_identity_idl.d.ts +0 -7
  4. package/lib/cjs/canisters/internet_identity_idl.js +0 -101
  5. package/lib/cjs/canisters/internet_identity_idl.js.map +0 -1
  6. package/lib/cjs/canisters/ledger.idl.d.ts +0 -7
  7. package/lib/cjs/canisters/ledger.idl.js +0 -81
  8. package/lib/cjs/canisters/ledger.idl.js.map +0 -1
  9. package/lib/cjs/canisters/me.idl.d.ts +0 -7
  10. package/lib/cjs/canisters/me.idl.js +0 -125
  11. package/lib/cjs/canisters/me.idl.js.map +0 -1
  12. package/lib/cjs/canisters/nns-dapp-cert.idl.d.ts +0 -7
  13. package/lib/cjs/canisters/nns-dapp-cert.idl.js +0 -86
  14. package/lib/cjs/canisters/nns-dapp-cert.idl.js.map +0 -1
  15. package/lib/cjs/canisters/nns-dapp.idl.d.ts +0 -7
  16. package/lib/cjs/canisters/nns-dapp.idl.js +0 -184
  17. package/lib/cjs/canisters/nns-dapp.idl.js.map +0 -1
  18. package/lib/cjs/connections/baseConnection.d.ts +0 -23
  19. package/lib/cjs/connections/baseConnection.js +0 -87
  20. package/lib/cjs/connections/baseConnection.js.map +0 -1
  21. package/lib/cjs/connections/ledgerConnection.d.ts +0 -53
  22. package/lib/cjs/connections/ledgerConnection.js +0 -137
  23. package/lib/cjs/connections/ledgerConnection.js.map +0 -1
  24. package/lib/cjs/connections/nnsConnection.d.ts +0 -63
  25. package/lib/cjs/connections/nnsConnection.js +0 -161
  26. package/lib/cjs/connections/nnsConnection.js.map +0 -1
  27. package/lib/cjs/ic/icAuthClient.d.ts +0 -31
  28. package/lib/cjs/ic/icAuthClient.js +0 -235
  29. package/lib/cjs/ic/icAuthClient.js.map +0 -1
  30. package/lib/cjs/ic/icConnect.d.ts +0 -35
  31. package/lib/cjs/ic/icConnect.js +0 -194
  32. package/lib/cjs/ic/icConnect.js.map +0 -1
  33. package/lib/cjs/ic/icStorage.d.ts +0 -16
  34. package/lib/cjs/ic/icStorage.js +0 -49
  35. package/lib/cjs/ic/icStorage.js.map +0 -1
  36. package/lib/cjs/ic/icWindow.d.ts +0 -7
  37. package/lib/cjs/ic/icWindow.js +0 -20
  38. package/lib/cjs/ic/icWindow.js.map +0 -1
  39. package/lib/cjs/ic/index.d.ts +0 -2
  40. package/lib/cjs/ic/index.js +0 -7
  41. package/lib/cjs/ic/index.js.map +0 -1
  42. package/lib/cjs/ic/types.d.ts +0 -129
  43. package/lib/cjs/ic/types.js +0 -17
  44. package/lib/cjs/ic/types.js.map +0 -1
  45. package/lib/cjs/index.d.ts +0 -5
  46. package/lib/cjs/index.js +0 -18
  47. package/lib/cjs/index.js.map +0 -1
  48. package/lib/cjs/types/index.d.ts +0 -175
  49. package/lib/cjs/types/index.js +0 -17
  50. package/lib/cjs/types/index.js.map +0 -1
  51. package/lib/cjs/utils/common/types.d.ts +0 -15
  52. package/lib/cjs/utils/common/types.js +0 -12
  53. package/lib/cjs/utils/common/types.js.map +0 -1
  54. package/lib/cjs/utils/constants.d.ts +0 -6
  55. package/lib/cjs/utils/constants.js +0 -13
  56. package/lib/cjs/utils/constants.js.map +0 -1
  57. package/lib/cjs/utils/converter.d.ts +0 -32
  58. package/lib/cjs/utils/converter.js +0 -130
  59. package/lib/cjs/utils/converter.js.map +0 -1
  60. package/lib/cjs/utils/index.d.ts +0 -3
  61. package/lib/cjs/utils/index.js +0 -16
  62. package/lib/cjs/utils/index.js.map +0 -1
  63. package/lib/esm/canisters/internet_identity_idl.d.ts +0 -7
  64. package/lib/esm/canisters/internet_identity_idl.js +0 -98
  65. package/lib/esm/canisters/internet_identity_idl.js.map +0 -1
  66. package/lib/esm/canisters/ledger.idl.d.ts +0 -7
  67. package/lib/esm/canisters/ledger.idl.js +0 -78
  68. package/lib/esm/canisters/ledger.idl.js.map +0 -1
  69. package/lib/esm/canisters/me.idl.d.ts +0 -7
  70. package/lib/esm/canisters/me.idl.js +0 -122
  71. package/lib/esm/canisters/me.idl.js.map +0 -1
  72. package/lib/esm/canisters/nns-dapp-cert.idl.d.ts +0 -7
  73. package/lib/esm/canisters/nns-dapp-cert.idl.js +0 -83
  74. package/lib/esm/canisters/nns-dapp-cert.idl.js.map +0 -1
  75. package/lib/esm/canisters/nns-dapp.idl.d.ts +0 -7
  76. package/lib/esm/canisters/nns-dapp.idl.js +0 -181
  77. package/lib/esm/canisters/nns-dapp.idl.js.map +0 -1
  78. package/lib/esm/connections/baseConnection.d.ts +0 -23
  79. package/lib/esm/connections/baseConnection.js +0 -80
  80. package/lib/esm/connections/baseConnection.js.map +0 -1
  81. package/lib/esm/connections/ledgerConnection.d.ts +0 -53
  82. package/lib/esm/connections/ledgerConnection.js +0 -130
  83. package/lib/esm/connections/ledgerConnection.js.map +0 -1
  84. package/lib/esm/connections/nnsConnection.d.ts +0 -63
  85. package/lib/esm/connections/nnsConnection.js +0 -154
  86. package/lib/esm/connections/nnsConnection.js.map +0 -1
  87. package/lib/esm/ic/icAuthClient.d.ts +0 -31
  88. package/lib/esm/ic/icAuthClient.js +0 -231
  89. package/lib/esm/ic/icAuthClient.js.map +0 -1
  90. package/lib/esm/ic/icConnect.d.ts +0 -35
  91. package/lib/esm/ic/icConnect.js +0 -190
  92. package/lib/esm/ic/icConnect.js.map +0 -1
  93. package/lib/esm/ic/icStorage.d.ts +0 -16
  94. package/lib/esm/ic/icStorage.js +0 -44
  95. package/lib/esm/ic/icStorage.js.map +0 -1
  96. package/lib/esm/ic/icWindow.d.ts +0 -7
  97. package/lib/esm/ic/icWindow.js +0 -16
  98. package/lib/esm/ic/icWindow.js.map +0 -1
  99. package/lib/esm/ic/index.d.ts +0 -2
  100. package/lib/esm/ic/index.js +0 -3
  101. package/lib/esm/ic/index.js.map +0 -1
  102. package/lib/esm/ic/types.d.ts +0 -129
  103. package/lib/esm/ic/types.js +0 -14
  104. package/lib/esm/ic/types.js.map +0 -1
  105. package/lib/esm/index.d.ts +0 -5
  106. package/lib/esm/index.js +0 -6
  107. package/lib/esm/index.js.map +0 -1
  108. package/lib/esm/types/index.d.ts +0 -175
  109. package/lib/esm/types/index.js +0 -14
  110. package/lib/esm/types/index.js.map +0 -1
  111. package/lib/esm/utils/common/types.d.ts +0 -15
  112. package/lib/esm/utils/common/types.js +0 -9
  113. package/lib/esm/utils/common/types.js.map +0 -1
  114. package/lib/esm/utils/constants.d.ts +0 -6
  115. package/lib/esm/utils/constants.js +0 -10
  116. package/lib/esm/utils/constants.js.map +0 -1
  117. package/lib/esm/utils/converter.d.ts +0 -32
  118. package/lib/esm/utils/converter.js +0 -124
  119. package/lib/esm/utils/converter.js.map +0 -1
  120. package/lib/esm/utils/index.d.ts +0 -3
  121. package/lib/esm/utils/index.js +0 -4
  122. package/lib/esm/utils/index.js.map +0 -1
  123. package/lib/tsconfig-cjs.tsbuildinfo +0 -2839
@@ -1,130 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"ledgerConnection.js","sourceRoot":"","sources":["../../../src/connections/ledgerConnection.ts"],"names":[],"mappings":"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"}
@@ -1,63 +0,0 @@
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
- }
@@ -1,154 +0,0 @@
1
- import { BaseConnection, executeWithLogging, _createActor } from './baseConnection';
2
- import nns_idl from '../canisters/nns-dapp.idl';
3
- import nns_idl_cert from '../canisters/nns-dapp-cert.idl';
4
- import { NNS_CANISTER_ID } from '../utils/constants';
5
- export class NNSConnection extends BaseConnection {
6
- constructor(identity, delegationIdentity, actor, agent, nnsCanisterId) {
7
- super(identity, delegationIdentity, nnsCanisterId !== null && nnsCanisterId !== void 0 ? nnsCanisterId : NNS_CANISTER_ID, nns_idl, actor, agent);
8
- this.identity = identity;
9
- this.delegationIdentity = delegationIdentity;
10
- this.actor = actor;
11
- this.agent = agent;
12
- }
13
- get accountDetails() {
14
- return this._accountDetails;
15
- }
16
- /**
17
- * create connection
18
- * @param identity
19
- * @param delegationIdentity
20
- * @param actor
21
- * @param agent
22
- * @function createConnection
23
- * @returns {NNSConnection}
24
- */
25
- static createConnection(identity, delegationIdentity, actor, agent) {
26
- return new NNSConnection(identity, delegationIdentity, actor, agent);
27
- }
28
- /**
29
- * create Actor with DelegationIdentity
30
- * @param delegationIdentity
31
- * @param nnsCanisterId
32
- * @function {function name}
33
- * @returns {type} {description}
34
- */
35
- static async createActor(delegationIdentity, nnsCanisterId) {
36
- const actor = await _createActor(nns_idl, nnsCanisterId !== null && nnsCanisterId !== void 0 ? nnsCanisterId : NNS_CANISTER_ID, delegationIdentity);
37
- return actor;
38
- }
39
- // /**
40
- // * create connection with II, we need to login II before login to NNS
41
- // * only when AstroX ME linked With II, use 2 params as input
42
- // * 1. use Identity created by devices, not delegation
43
- // * 2. use II anchor that linked, will ensure NNS Dapp get the correct principal
44
- // *
45
- // * @param identity
46
- // * @param anchor
47
- // * @function {function name}
48
- // * @returns {type} {description}
49
- // */
50
- // static async createConnectionWithII(
51
- // identity: SignIdentity,
52
- // anchor: string | bigint,
53
- // ): Promise<NNSConnection> {
54
- // const key = Ed25519KeyIdentity.generate();
55
- // const s = await iiDelegation(
56
- // identity,
57
- // new Uint8Array(key.getPublicKey().toDer()),
58
- // anchor,
59
- // NNS_URL,
60
- // /* days */ BigInt(7) * /* hours */ BigInt(24) * /* nanoseconds */ BigInt(3600000000000),
61
- // );
62
- // const iiDelegationResult = {
63
- // kind: 'authorize-client-success',
64
- // delegations: [s],
65
- // userPublicKey: Uint8Array.from(s.userKey),
66
- // };
67
- // const storage = new NNSStorage(anchor.toString());
68
- // const delegations = iiDelegationResult.delegations.map(signedDelegation => {
69
- // return {
70
- // delegation: new Delegation(
71
- // signedDelegation.delegation.pubkey.buffer,
72
- // signedDelegation.delegation.expiration,
73
- // signedDelegation.delegation.targets,
74
- // ),
75
- // signature: signedDelegation.signature.buffer as Signature,
76
- // };
77
- // });
78
- // const delegationChain = DelegationChain.fromDelegations(
79
- // delegations,
80
- // iiDelegationResult.userPublicKey.buffer as DerEncodedPublicKey,
81
- // );
82
- // await storage.saveJson({
83
- // delegationChain: delegationChain.toJSON(),
84
- // key,
85
- // });
86
- // const delegationResult = (await handleDelegation(iiDelegationResult, key)) as DelegationResult;
87
- // const actorResult = await NNSConnection.createActor(delegationResult.delegationIdentity);
88
- // return NNSConnection.createConnection(
89
- // identity,
90
- // delegationResult.delegationIdentity,
91
- // actorResult.actor,
92
- // actorResult.agent,
93
- // );
94
- // }
95
- /**
96
- * get NNS Actor, used internally
97
- * @param nnsCanisterId
98
- * @function {function name}
99
- * @returns {type} {description}
100
- */
101
- async getNNSActor(nnsCanisterId) {
102
- const actor = await this._getActor(nnsCanisterId !== null && nnsCanisterId !== void 0 ? nnsCanisterId : NNS_CANISTER_ID, nns_idl);
103
- return actor;
104
- }
105
- /**
106
- * get NNS Actor, used internally
107
- * @param nnsCanisterId
108
- * @function {function name}
109
- * @returns {type} {description}
110
- */
111
- async getNNSActorCert(nnsCanisterId) {
112
- const actor = await this._getActor(nnsCanisterId !== null && nnsCanisterId !== void 0 ? nnsCanisterId : NNS_CANISTER_ID, nns_idl_cert);
113
- return actor;
114
- }
115
- /**
116
- * when NNSConnection is created, we can get account created to NNS.
117
- * Even we can just calculate the login principal to NNS DApp, however,
118
- * The NNS DApp stores and create account, thus, a new Identity login will get NO ACCOUNT created by default.
119
- * We need to manually create account using `add_account` when no account found.
120
- *
121
- * @param cert
122
- * @function {function name}
123
- * @returns {type} {description}
124
- */
125
- async getAccount(cert) {
126
- const actor = cert === true ? await this.getNNSActorCert() : await this.getNNSActor();
127
- const response = await executeWithLogging(() => actor.get_account());
128
- if (response === { AccountNotFound: null }) {
129
- return undefined;
130
- }
131
- else {
132
- this._accountDetails = response['Ok'];
133
- return response['Ok'];
134
- }
135
- }
136
- /**
137
- * create account when new identity logined to NNS
138
- * @function {function name}
139
- * @returns {type} {description}
140
- */
141
- async addAccount() {
142
- const actor = await this.getNNSActor();
143
- const response = await executeWithLogging(() => actor.add_account());
144
- return response;
145
- }
146
- }
147
- // export const requestNNSDelegation = async (
148
- // identity: SignIdentity,
149
- // ): Promise<DelegationIdentity> => {
150
- // const tenMinutesInMsec = 10 * 1000 * 60;
151
- // const date = new Date(Date.now() + tenMinutesInMsec);
152
- // return requestDelegation(identity, { canisterId, date });
153
- // };
154
- //# sourceMappingURL=nnsConnection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nnsConnection.js","sourceRoot":"","sources":["../../../src/connections/nnsConnection.ts"],"names":[],"mappings":"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"}
@@ -1,31 +0,0 @@
1
- import { Identity, SignIdentity } from '@dfinity/agent';
2
- import { DelegationChain, DelegationIdentity } from '@dfinity/identity';
3
- import { AuthClientCreateOptions, AuthClientLoginOptions, AuthClientStorage } from '../types';
4
- export declare class AuthClient {
5
- private _identity;
6
- private _key;
7
- private _chain;
8
- private _storage;
9
- private _appId?;
10
- private _wallet?;
11
- private _idpWindowOption?;
12
- private _idpWindow?;
13
- private _eventHandler?;
14
- static create(options?: AuthClientCreateOptions): Promise<AuthClient>;
15
- private _delegationIdentity?;
16
- protected constructor(_identity: Identity, _key: SignIdentity | null, _chain: DelegationChain | null, _storage: AuthClientStorage, _appId?: string | undefined, _wallet?: string | undefined, _idpWindowOption?: string | undefined, _idpWindow?: Window | undefined, _eventHandler?: ((event: MessageEvent) => void) | undefined);
17
- private _handleSuccess;
18
- getIdentity(): Identity;
19
- getDelegationIdentity(): DelegationIdentity | undefined;
20
- getInnerKey(): SignIdentity | null;
21
- get wallet(): string | undefined;
22
- setWallet(data: string): void;
23
- isAuthenticated(): Promise<boolean>;
24
- login(options?: AuthClientLoginOptions): Promise<void>;
25
- private _getEventHandler;
26
- private _handleFailure;
27
- private _removeEventListener;
28
- logout(options?: {
29
- returnTo?: string;
30
- }): Promise<void>;
31
- }
@@ -1,231 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-non-null-assertion */
2
- /* eslint-disable @typescript-eslint/no-explicit-any */
3
- /* eslint-disable @typescript-eslint/no-non-null-asserted-optional-chain */
4
- import { AnonymousIdentity, } from '@dfinity/agent';
5
- import { isDelegationValid } from '@dfinity/authentication';
6
- import { Delegation, DelegationChain, DelegationIdentity, Ed25519KeyIdentity, } from '@dfinity/identity';
7
- import { PermissionsType, } from '../types';
8
- import { IDENTITY_PROVIDER_DEFAULT, IDENTITY_PROVIDER_ENDPOINT, KEY_SESSIONSTORAGE_DELEGATION, KEY_SESSIONSTORAGE_KEY, KEY_SESSIONSTORAGE_WALLET, SessionStorage, _deleteStorage, } from './icStorage';
9
- export class AuthClient {
10
- constructor(_identity, _key, _chain, _storage, _appId, _wallet, _idpWindowOption,
11
- // A handle on the IdP window.
12
- _idpWindow,
13
- // The event handler for processing events from the IdP.
14
- _eventHandler) {
15
- this._identity = _identity;
16
- this._key = _key;
17
- this._chain = _chain;
18
- this._storage = _storage;
19
- this._appId = _appId;
20
- this._wallet = _wallet;
21
- this._idpWindowOption = _idpWindowOption;
22
- this._idpWindow = _idpWindow;
23
- this._eventHandler = _eventHandler;
24
- }
25
- static async create(options = {
26
- appId: '',
27
- }) {
28
- var _a, _b;
29
- const storage = (_a = options.storage) !== null && _a !== void 0 ? _a : new SessionStorage('ic-');
30
- let key = null;
31
- if (options.identity) {
32
- key = options.identity;
33
- }
34
- else {
35
- const maybeIdentityStorage = await storage.get(KEY_SESSIONSTORAGE_KEY);
36
- if (maybeIdentityStorage) {
37
- try {
38
- key = Ed25519KeyIdentity.fromJSON(maybeIdentityStorage);
39
- }
40
- catch (e) {
41
- // Ignore this, this means that the sessionStorage value isn't a valid Ed25519KeyIdentity
42
- // serialization.
43
- }
44
- }
45
- }
46
- let identity = new AnonymousIdentity();
47
- let chain = null;
48
- let wallet = null;
49
- if (key) {
50
- try {
51
- const chainStorage = await storage.get(KEY_SESSIONSTORAGE_DELEGATION);
52
- wallet = await storage.get(KEY_SESSIONSTORAGE_WALLET);
53
- if (chainStorage) {
54
- chain = DelegationChain.fromJSON(chainStorage);
55
- // Verify that the delegation isn't expired.
56
- if (!isDelegationValid(chain)) {
57
- await _deleteStorage(storage);
58
- key = null;
59
- }
60
- else {
61
- identity = DelegationIdentity.fromDelegation(key, chain);
62
- }
63
- }
64
- }
65
- catch (e) {
66
- console.error(e);
67
- // If there was a problem loading the chain, delete the key.
68
- await _deleteStorage(storage);
69
- key = null;
70
- }
71
- }
72
- return new this(identity, key, chain, storage, options.appId, wallet !== null ? wallet : undefined, (_b = options.idpWindowOption) !== null && _b !== void 0 ? _b : 'height=600, width=800, top=0, right=0, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no');
73
- }
74
- async _handleSuccess(message, onSuccess) {
75
- var _a;
76
- // console.log(message["identity"]);
77
- if (message['identity'] !== undefined) {
78
- const idDelegations = message['identity'].delegations.map(signedDelegation => {
79
- return {
80
- delegation: new Delegation(signedDelegation.delegation.pubkey.buffer, signedDelegation.delegation.expiration, signedDelegation.delegation.targets),
81
- signature: signedDelegation.signature.buffer,
82
- };
83
- });
84
- const idDelegationChain = DelegationChain.fromDelegations(idDelegations, message['identity'].userPublicKey
85
- .buffer);
86
- this._chain = idDelegationChain;
87
- this._wallet = message['wallet'];
88
- }
89
- else {
90
- const iiDelegations = message.delegations.map(signedDelegation => {
91
- return {
92
- delegation: new Delegation(signedDelegation.delegation.pubkey.buffer, signedDelegation.delegation.expiration, signedDelegation.delegation.targets),
93
- signature: signedDelegation.signature.buffer,
94
- };
95
- });
96
- const iiDelegationChain = DelegationChain.fromDelegations(iiDelegations, message.userPublicKey.buffer);
97
- this._chain = iiDelegationChain;
98
- }
99
- const key = this._key;
100
- if (!key) {
101
- return this;
102
- }
103
- this._delegationIdentity = DelegationIdentity.fromDelegation(key, this._chain);
104
- this._identity = this._delegationIdentity;
105
- console.log(this._identity);
106
- (_a = this._idpWindow) === null || _a === void 0 ? void 0 : _a.close();
107
- await (onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess());
108
- this._removeEventListener();
109
- return this;
110
- }
111
- getIdentity() {
112
- return this._identity;
113
- }
114
- getDelegationIdentity() {
115
- return this._delegationIdentity;
116
- }
117
- getInnerKey() {
118
- return this._key;
119
- }
120
- get wallet() {
121
- return this._wallet;
122
- }
123
- setWallet(data) {
124
- this._wallet = data;
125
- }
126
- async isAuthenticated() {
127
- return !this.getIdentity().getPrincipal().isAnonymous() && this._chain !== null;
128
- }
129
- async login(options) {
130
- var _a, _b, _c;
131
- let key = this._key;
132
- if (!key) {
133
- // Create a new key (whether or not one was in storage).
134
- key = Ed25519KeyIdentity.generate();
135
- this._key = key;
136
- await this._storage.set(KEY_SESSIONSTORAGE_KEY, JSON.stringify(key));
137
- }
138
- // Create the URL of the IDP. (e.g. https://XXXX/#authorize)
139
- const identityProviderUrl = new URL(((_a = options === null || options === void 0 ? void 0 : options.identityProvider) === null || _a === void 0 ? void 0 : _a.toString()) || IDENTITY_PROVIDER_DEFAULT);
140
- // Set the correct hash if it isn't already set.
141
- identityProviderUrl.hash = IDENTITY_PROVIDER_ENDPOINT;
142
- // If `login` has been called previously, then close/remove any previous windows
143
- // and event listeners.
144
- (_b = this._idpWindow) === null || _b === void 0 ? void 0 : _b.close();
145
- this._removeEventListener();
146
- // Open a new window with the IDP provider.
147
- this._idpWindow = (_c = window.open(identityProviderUrl.toString(), 'idpWindow', this._idpWindowOption)) !== null && _c !== void 0 ? _c : undefined;
148
- // Add an event listener to handle responses.
149
- return new Promise((resolve, reject) => {
150
- this._eventHandler = this._getEventHandler(identityProviderUrl, resolve, reject, options);
151
- window.addEventListener('message', this._eventHandler);
152
- });
153
- }
154
- _getEventHandler(identityProviderUrl, resolve, reject, options) {
155
- return async (event) => {
156
- var _a, _b, _c;
157
- if (event.origin !== identityProviderUrl.origin) {
158
- return;
159
- }
160
- const message = event.data;
161
- switch (message.kind) {
162
- case 'authorize-ready': {
163
- // IDP is ready. Send a message to request authorization.
164
- const request = {
165
- kind: 'authorize-client',
166
- sessionPublicKey: new Uint8Array((_a = this._key) === null || _a === void 0 ? void 0 : _a.getPublicKey().toDer()),
167
- maxTimeToLive: options === null || options === void 0 ? void 0 : options.maxTimeToLive,
168
- permissions: (_b = options === null || options === void 0 ? void 0 : options.permissions) !== null && _b !== void 0 ? _b : [PermissionsType.identity],
169
- appId: this._appId,
170
- };
171
- (_c = this._idpWindow) === null || _c === void 0 ? void 0 : _c.postMessage(request, identityProviderUrl.origin);
172
- break;
173
- }
174
- case 'authorize-client-success':
175
- // Create the delegation chain and store it.
176
- try {
177
- resolve(await this._handleSuccess(message, options === null || options === void 0 ? void 0 : options.onSuccess));
178
- // Setting the storage is moved out of _handleSuccess to make
179
- // it a sync function. Having _handleSuccess as an async function
180
- // messes up the jest tests for some reason.
181
- if (this._chain) {
182
- await this._storage.set(KEY_SESSIONSTORAGE_DELEGATION, JSON.stringify(this._chain.toJSON()));
183
- }
184
- if (this._wallet !== undefined) {
185
- await this._storage.set(KEY_SESSIONSTORAGE_WALLET, this._wallet);
186
- }
187
- }
188
- catch (err) {
189
- reject(this._handleFailure(err.message, options === null || options === void 0 ? void 0 : options.onError));
190
- }
191
- break;
192
- case 'authorize-client-failure':
193
- reject(this._handleFailure(message.text, options === null || options === void 0 ? void 0 : options.onError));
194
- break;
195
- default:
196
- break;
197
- }
198
- };
199
- }
200
- _handleFailure(errorMessage, onError) {
201
- var _a;
202
- (_a = this._idpWindow) === null || _a === void 0 ? void 0 : _a.close();
203
- onError === null || onError === void 0 ? void 0 : onError(errorMessage);
204
- this._removeEventListener();
205
- return errorMessage;
206
- }
207
- _removeEventListener() {
208
- if (this._eventHandler) {
209
- window.removeEventListener('message', this._eventHandler);
210
- }
211
- this._eventHandler = undefined;
212
- }
213
- async logout(options = {}) {
214
- _deleteStorage(this._storage);
215
- // Reset this auth client to a non-authenticated state.
216
- this._identity = new AnonymousIdentity();
217
- this._key = null;
218
- this._chain = null;
219
- this._wallet = undefined;
220
- if (options.returnTo) {
221
- try {
222
- window.history.pushState({}, '', options.returnTo);
223
- }
224
- catch (e) {
225
- window.location.href = options.returnTo;
226
- }
227
- }
228
- }
229
- }
230
- //
231
- //# sourceMappingURL=icAuthClient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"icAuthClient.js","sourceRoot":"","sources":["../../../src/ic/icAuthClient.ts"],"names":[],"mappings":"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"}