@astrox/connection 0.0.16 → 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 -166
  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 -233
  29. package/lib/cjs/ic/icAuthClient.js.map +0 -1
  30. package/lib/cjs/ic/icConnect.d.ts +0 -34
  31. package/lib/cjs/ic/icConnect.js +0 -184
  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 -166
  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 -159
  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 -229
  89. package/lib/esm/ic/icAuthClient.js.map +0 -1
  90. package/lib/esm/ic/icConnect.d.ts +0 -34
  91. package/lib/esm/ic/icConnect.js +0 -180
  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 -166
  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,184 +0,0 @@
1
- "use strict";
2
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, privateMap, value) {
3
- if (!privateMap.has(receiver)) {
4
- throw new TypeError("attempted to set private field on non-instance");
5
- }
6
- privateMap.set(receiver, value);
7
- return value;
8
- };
9
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, privateMap) {
10
- if (!privateMap.has(receiver)) {
11
- throw new TypeError("attempted to get private field on non-instance");
12
- }
13
- return privateMap.get(receiver);
14
- };
15
- var _authClient, _agent, _localLedger;
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.IC = void 0;
18
- /* eslint-disable @typescript-eslint/no-explicit-any */
19
- /* eslint-disable @typescript-eslint/no-non-null-assertion */
20
- const agent_1 = require("@dfinity/agent");
21
- const icAuthClient_1 = require("./icAuthClient");
22
- const icStorage_1 = require("./icStorage");
23
- const icWindow_1 = require("./icWindow");
24
- const ledgerConnection_1 = require("../connections/ledgerConnection");
25
- const types_1 = require("../types");
26
- const days = BigInt(1);
27
- const hours = BigInt(24);
28
- const nanoseconds = BigInt(3600000000000);
29
- const WALLET_PROVIDER_DEFAULT = 'http://localhost:8080/transaction';
30
- const WALLET_PROVIDER_ENDPOINT = '#transaction';
31
- class IC extends icWindow_1.ICWindow {
32
- constructor(authClient) {
33
- super();
34
- _authClient.set(this, void 0);
35
- _agent.set(this, void 0);
36
- _localLedger.set(this, void 0); // a local ledger to query balance only
37
- this.disconnect = async (options = {}) => {
38
- await this.getAuthClient().logout(options);
39
- };
40
- this.queryBalance = async () => {
41
- var _a;
42
- if (this.wallet === undefined) {
43
- throw Error('Wallet address is not found');
44
- }
45
- if (__classPrivateFieldGet(this, _localLedger) === undefined) {
46
- throw Error('Ledger connection faild');
47
- }
48
- const result = await ((_a = __classPrivateFieldGet(this, _localLedger)) === null || _a === void 0 ? void 0 : _a.getBalance(this.wallet));
49
- return result;
50
- };
51
- this.handleAuthenticated = async (ic, { ledgerCanisterId }) => {
52
- const identity = ic.getAuthClient().getIdentity();
53
- __classPrivateFieldSet(this, _agent, new agent_1.HttpAgent({ identity }));
54
- if (!process.env.isProduction) {
55
- await __classPrivateFieldGet(this, _agent).fetchRootKey();
56
- }
57
- const actorResult = await ledgerConnection_1.LedgerConnection.createActor(ic.getAuthClient().getDelegationIdentity(), ledgerCanisterId);
58
- __classPrivateFieldSet(this, _localLedger, ledgerConnection_1.LedgerConnection.createConnection(ic.getAuthClient().getInnerKey(), ic.getAuthClient().getDelegationIdentity(), ledgerCanisterId, actorResult.actor, actorResult.agent));
59
- this.injectWindow(ic);
60
- return new IC(ic.getAuthClient());
61
- };
62
- this.createActor = (idlFactory, canisterId) => {
63
- return agent_1.Actor.createActor(idlFactory, {
64
- agent: __classPrivateFieldGet(this, _agent),
65
- canisterId,
66
- });
67
- };
68
- // requestTransfer
69
- this.requestTransfer = async (options) => {
70
- var _a;
71
- const walletProviderUrl = new URL(((_a = options === null || options === void 0 ? void 0 : options.walletProvider) === null || _a === void 0 ? void 0 : _a.toString()) || WALLET_PROVIDER_DEFAULT);
72
- walletProviderUrl.hash = WALLET_PROVIDER_ENDPOINT;
73
- this._openWindow(walletProviderUrl.toString(), 'icWindow', 'height=600, width=480, top=0, right=0, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no');
74
- return new Promise((resolve, reject) => {
75
- this._eventHandler = this._getEventHandler(walletProviderUrl, resolve, reject, options);
76
- window.addEventListener('message', this._eventHandler);
77
- });
78
- };
79
- __classPrivateFieldSet(this, _authClient, authClient);
80
- this.injectWindow();
81
- }
82
- static async connect(connectOptions) {
83
- var _a, _b, _c, _d;
84
- const authClient = await icAuthClient_1.AuthClient.create(connectOptions);
85
- const newIC = new this(authClient);
86
- const provider = (_a = connectOptions === null || connectOptions === void 0 ? void 0 : connectOptions.identityProvider) !== null && _a !== void 0 ? _a : icStorage_1.IDENTITY_PROVIDER_DEFAULT;
87
- if (await newIC.isAuthenticated()) {
88
- await newIC.handleAuthenticated(newIC, { ledgerCanisterId: connectOptions.ledgerCanisterId });
89
- await ((_b = connectOptions === null || connectOptions === void 0 ? void 0 : connectOptions.onAuthenticated) === null || _b === void 0 ? void 0 : _b.call(connectOptions, newIC));
90
- return newIC;
91
- }
92
- await newIC.getAuthClient().login({
93
- identityProvider: provider,
94
- // Maximum authorization expiration is 8 days
95
- maxTimeToLive: (_c = connectOptions === null || connectOptions === void 0 ? void 0 : connectOptions.maxTimeToLive) !== null && _c !== void 0 ? _c : days * hours * nanoseconds,
96
- permissions: (_d = connectOptions === null || connectOptions === void 0 ? void 0 : connectOptions.permissions) !== null && _d !== void 0 ? _d : [types_1.PermissionsType.identity],
97
- onSuccess: async () => {
98
- var _a, _b, _c;
99
- await newIC.handleAuthenticated(newIC, {
100
- ledgerCanisterId: connectOptions.ledgerCanisterId,
101
- });
102
- (_b = (await ((_a = connectOptions === null || connectOptions === void 0 ? void 0 : connectOptions.onSuccess) === null || _a === void 0 ? void 0 : _a.call(connectOptions)))) !== null && _b !== void 0 ? _b : (await ((_c = connectOptions === null || connectOptions === void 0 ? void 0 : connectOptions.onAuthenticated) === null || _c === void 0 ? void 0 : _c.call(connectOptions, newIC)));
103
- },
104
- onError: newIC.handleError,
105
- });
106
- return newIC;
107
- }
108
- async isAuthenticated() {
109
- const result = await __classPrivateFieldGet(this, _authClient).isAuthenticated();
110
- return result;
111
- }
112
- get identity() {
113
- return __classPrivateFieldGet(this, _authClient).getIdentity();
114
- }
115
- get principal() {
116
- return this.identity.getPrincipal();
117
- }
118
- get wallet() {
119
- return __classPrivateFieldGet(this, _authClient).wallet;
120
- }
121
- getAuthClient() {
122
- return __classPrivateFieldGet(this, _authClient);
123
- }
124
- injectWindow(ic) {
125
- if (window.ic !== undefined) {
126
- let plug;
127
- if (window.ic.plug !== undefined) {
128
- plug = window.ic.plug;
129
- }
130
- window.ic = ic !== null && ic !== void 0 ? ic : this;
131
- window.ic.plug = plug;
132
- }
133
- else {
134
- window.ic = ic !== null && ic !== void 0 ? ic : this;
135
- }
136
- }
137
- handleError(error) {
138
- throw new Error(error);
139
- }
140
- _getEventHandler(walletProviderUrl, resolve, reject, options) {
141
- return async (event) => {
142
- var _a;
143
- if (event.origin !== walletProviderUrl.origin) {
144
- return;
145
- }
146
- const message = event.data;
147
- switch (message.kind) {
148
- case types_1.TransactionMessageKind.ready: {
149
- // IDP is ready. Send a message to request authorization.
150
- const request = Object.assign({ kind: types_1.TransactionMessageKind.client }, options);
151
- (_a = this._window) === null || _a === void 0 ? void 0 : _a.postMessage(request, walletProviderUrl.origin);
152
- break;
153
- }
154
- case types_1.TransactionMessageKind.success:
155
- // Create the delegation chain and store it.
156
- try {
157
- resolve(null);
158
- // Setting the storage is moved out of _handleSuccess to make
159
- // it a sync function. Having _handleSuccess as an async function
160
- // messes up the jest tests for some reason.
161
- }
162
- catch (err) {
163
- reject(this._handleFailure(err.message, options === null || options === void 0 ? void 0 : options.onError));
164
- }
165
- break;
166
- case types_1.TransactionMessageKind.fail:
167
- reject(this._handleFailure(message.text, options === null || options === void 0 ? void 0 : options.onError));
168
- break;
169
- default:
170
- break;
171
- }
172
- };
173
- }
174
- _handleFailure(errorMessage, onError) {
175
- var _a;
176
- (_a = this._window) === null || _a === void 0 ? void 0 : _a.close();
177
- onError === null || onError === void 0 ? void 0 : onError(errorMessage);
178
- this._removeEventListener();
179
- return errorMessage;
180
- }
181
- }
182
- exports.IC = IC;
183
- _authClient = new WeakMap(), _agent = new WeakMap(), _localLedger = new WeakMap();
184
- //# sourceMappingURL=icConnect.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"icConnect.js","sourceRoot":"","sources":["../../../src/ic/icConnect.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- import { AuthClientStorage } from '../types';
2
- export declare const KEY_SESSIONSTORAGE_KEY = "identity";
3
- export declare const KEY_SESSIONSTORAGE_DELEGATION = "delegation";
4
- export declare const KEY_SESSIONSTORAGE_WALLET = "wallet";
5
- export declare const IDENTITY_PROVIDER_DEFAULT = "https://identity.ic0.app";
6
- export declare const IDENTITY_PROVIDER_ENDPOINT = "#authorize";
7
- export declare function _deleteStorage(storage: AuthClientStorage): Promise<void>;
8
- export declare class SessionStorage implements AuthClientStorage {
9
- readonly prefix: string;
10
- private readonly _sessionStorage?;
11
- constructor(prefix?: string, _sessionStorage?: Storage | undefined);
12
- get(key: string): Promise<string | null>;
13
- set(key: string, value: string): Promise<void>;
14
- remove(key: string): Promise<void>;
15
- private _getSessionStorage;
16
- }
@@ -1,49 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SessionStorage = exports._deleteStorage = exports.IDENTITY_PROVIDER_ENDPOINT = exports.IDENTITY_PROVIDER_DEFAULT = exports.KEY_SESSIONSTORAGE_WALLET = exports.KEY_SESSIONSTORAGE_DELEGATION = exports.KEY_SESSIONSTORAGE_KEY = void 0;
4
- exports.KEY_SESSIONSTORAGE_KEY = 'identity';
5
- exports.KEY_SESSIONSTORAGE_DELEGATION = 'delegation';
6
- exports.KEY_SESSIONSTORAGE_WALLET = 'wallet';
7
- exports.IDENTITY_PROVIDER_DEFAULT = 'https://identity.ic0.app';
8
- exports.IDENTITY_PROVIDER_ENDPOINT = '#authorize';
9
- async function _deleteStorage(storage) {
10
- await storage.remove(exports.KEY_SESSIONSTORAGE_KEY);
11
- await storage.remove(exports.KEY_SESSIONSTORAGE_DELEGATION);
12
- await storage.remove(exports.KEY_SESSIONSTORAGE_WALLET);
13
- }
14
- exports._deleteStorage = _deleteStorage;
15
- class SessionStorage {
16
- constructor(prefix = 'ic-', _sessionStorage) {
17
- this.prefix = prefix;
18
- this._sessionStorage = _sessionStorage;
19
- }
20
- get(key) {
21
- return Promise.resolve(this._getSessionStorage().getItem(this.prefix + key));
22
- }
23
- set(key, value) {
24
- this._getSessionStorage().setItem(this.prefix + key, value);
25
- return Promise.resolve();
26
- }
27
- remove(key) {
28
- this._getSessionStorage().removeItem(this.prefix + key);
29
- return Promise.resolve();
30
- }
31
- _getSessionStorage() {
32
- if (this._sessionStorage) {
33
- return this._sessionStorage;
34
- }
35
- const ls = typeof window === 'undefined'
36
- ? typeof global === 'undefined'
37
- ? typeof self === 'undefined'
38
- ? undefined
39
- : self.sessionStorage
40
- : global.sessionStorage
41
- : window.sessionStorage;
42
- if (!ls) {
43
- throw new Error('Could not find local storage.');
44
- }
45
- return ls;
46
- }
47
- }
48
- exports.SessionStorage = SessionStorage;
49
- //# sourceMappingURL=icStorage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"icStorage.js","sourceRoot":"","sources":["../../../src/ic/icStorage.ts"],"names":[],"mappings":";;;AAGa,QAAA,sBAAsB,GAAG,UAAU,CAAC;AACpC,QAAA,6BAA6B,GAAG,YAAY,CAAC;AAC7C,QAAA,yBAAyB,GAAG,QAAQ,CAAC;AACrC,QAAA,yBAAyB,GAAG,0BAA0B,CAAC;AACvD,QAAA,0BAA0B,GAAG,YAAY,CAAC;AAEhD,KAAK,UAAU,cAAc,CAAC,OAA0B;IAC7D,MAAM,OAAO,CAAC,MAAM,CAAC,8BAAsB,CAAC,CAAC;IAC7C,MAAM,OAAO,CAAC,MAAM,CAAC,qCAA6B,CAAC,CAAC;IACpD,MAAM,OAAO,CAAC,MAAM,CAAC,iCAAyB,CAAC,CAAC;AAClD,CAAC;AAJD,wCAIC;AAED,MAAa,cAAc;IACzB,YAA4B,SAAS,KAAK,EAAmB,eAAyB;QAA1D,WAAM,GAAN,MAAM,CAAQ;QAAmB,oBAAe,GAAf,eAAe,CAAU;IAAG,CAAC;IAEnF,GAAG,CAAC,GAAW;QACpB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC;IAC/E,CAAC;IAEM,GAAG,CAAC,GAAW,EAAE,KAAa;QACnC,IAAI,CAAC,kBAAkB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;QAC5D,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,GAAW;QACvB,IAAI,CAAC,kBAAkB,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;QACxD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAEO,kBAAkB;QACxB,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,OAAO,IAAI,CAAC,eAAe,CAAC;SAC7B;QAED,MAAM,EAAE,GACN,OAAO,MAAM,KAAK,WAAW;YAC3B,CAAC,CAAC,OAAO,MAAM,KAAK,WAAW;gBAC7B,CAAC,CAAC,OAAO,IAAI,KAAK,WAAW;oBAC3B,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,IAAI,CAAC,cAAc;gBACvB,CAAC,CAAC,MAAM,CAAC,cAAc;YACzB,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC;QAE5B,IAAI,CAAC,EAAE,EAAE;YACP,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;SAClD;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AArCD,wCAqCC"}
@@ -1,7 +0,0 @@
1
- import { EventHandler } from '../types';
2
- export declare class ICWindow {
3
- protected _window?: Window;
4
- protected _eventHandler?: EventHandler;
5
- protected _removeEventListener(): void;
6
- protected _openWindow(url: string, target?: string, feature?: string): void;
7
- }
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ICWindow = void 0;
4
- class ICWindow {
5
- _removeEventListener() {
6
- if (this._eventHandler) {
7
- window.removeEventListener('message', this._eventHandler);
8
- }
9
- this._eventHandler = undefined;
10
- }
11
- _openWindow(url, target, feature) {
12
- var _a, _b;
13
- (_a = this._window) === null || _a === void 0 ? void 0 : _a.close();
14
- this._removeEventListener();
15
- // Open a new window with the IDP provider.
16
- this._window = (_b = window.open(url, target !== null && target !== void 0 ? target : 'icWindow', feature)) !== null && _b !== void 0 ? _b : undefined;
17
- }
18
- }
19
- exports.ICWindow = ICWindow;
20
- //# sourceMappingURL=icWindow.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"icWindow.js","sourceRoot":"","sources":["../../../src/ic/icWindow.ts"],"names":[],"mappings":";;;AAGA,MAAa,QAAQ;IAIT,oBAAoB;QAC5B,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;SAC3D;QACD,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;IACjC,CAAC;IAES,WAAW,CAAC,GAAW,EAAE,MAAe,EAAE,OAAgB;;QAClE,MAAA,IAAI,CAAC,OAAO,0CAAE,KAAK,GAAG;QACtB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,2CAA2C;QAC3C,IAAI,CAAC,OAAO,SAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,UAAU,EAAE,OAAO,CAAC,mCAAI,SAAS,CAAC;IAC9E,CAAC;CACF;AAjBD,4BAiBC"}
@@ -1,2 +0,0 @@
1
- export { AuthClient as ICAuthClient } from './icAuthClient';
2
- export { IC } from './icConnect';
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var icAuthClient_1 = require("./icAuthClient");
4
- Object.defineProperty(exports, "ICAuthClient", { enumerable: true, get: function () { return icAuthClient_1.AuthClient; } });
5
- var icConnect_1 = require("./icConnect");
6
- Object.defineProperty(exports, "IC", { enumerable: true, get: function () { return icConnect_1.IC; } });
7
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ic/index.ts"],"names":[],"mappings":";;AAAA,+CAA4D;AAAnD,4GAAA,UAAU,OAAgB;AACnC,yCAAiC;AAAxB,+FAAA,EAAE,OAAA"}
@@ -1,129 +0,0 @@
1
- import { SignIdentity } from '@dfinity/agent';
2
- import { Principal } from '@dfinity/principal';
3
- import { IC } from './icConnect';
4
- import { AccountIdentifier } from '../utils/common/types';
5
- import { SendOpts } from '../connections/ledgerConnection';
6
- /**
7
- * List of options for creating an {@link AuthClient}.
8
- */
9
- export interface AuthClientCreateOptions {
10
- /**
11
- * An identity to use as the base
12
- */
13
- identity?: SignIdentity;
14
- /**
15
- * Optional storage with get, set, and remove. Uses SessionStorage by default
16
- */
17
- storage?: AuthClientStorage;
18
- appId?: string;
19
- idpWindowOption?: string;
20
- }
21
- export interface AuthClientLoginOptions extends AuthClientCreateOptions {
22
- /**
23
- * Identity provider. By default, use the identity service.
24
- */
25
- identityProvider?: string | URL;
26
- permissions?: PermissionsType[];
27
- /**
28
- * Experiation of the authentication
29
- */
30
- maxTimeToLive?: bigint;
31
- /**
32
- * Callback once login has completed
33
- */
34
- onSuccess?: () => void | Promise<void>;
35
- /**
36
- * Callback in case authentication fails
37
- */
38
- onError?: (error?: string) => void;
39
- /**
40
- * Callback once is authenticated
41
- */
42
- onAuthenticated?: (ic: IC) => void | Promise<void>;
43
- }
44
- export interface TransactionOptions {
45
- /**
46
- * Identity provider. By default, use the identity service.
47
- */
48
- walletProvider?: string | URL;
49
- from: AccountIdentifier;
50
- to: AccountIdentifier;
51
- amount: bigint;
52
- sendOpts: SendOpts;
53
- /**
54
- * Callback once login has completed
55
- */
56
- onSuccess?: () => void | Promise<void>;
57
- /**
58
- * Callback in case authentication fails
59
- */
60
- onError?: (error?: string) => void;
61
- }
62
- /**
63
- * Interface for persisting user authentication data
64
- */
65
- export interface AuthClientStorage {
66
- get(key: string): Promise<string | null>;
67
- set(key: string, value: string): Promise<void>;
68
- remove(key: string): Promise<void>;
69
- }
70
- export interface InternetIdentityAuthRequest {
71
- kind: 'authorize-client';
72
- sessionPublicKey: Uint8Array;
73
- permissions?: PermissionsType[];
74
- maxTimeToLive?: bigint;
75
- appId?: string;
76
- }
77
- export interface DelegationResult {
78
- delegations: {
79
- delegation: {
80
- pubkey: Uint8Array;
81
- expiration: bigint;
82
- targets?: Principal[];
83
- };
84
- signature: Uint8Array;
85
- }[];
86
- userPublicKey: Uint8Array;
87
- }
88
- export interface MeAuthResponseSuccess {
89
- kind: 'authorize-client-success';
90
- identity: DelegationResult;
91
- wallet?: string;
92
- }
93
- export interface IIAuthResponseSuccess extends DelegationResult {
94
- kind: 'authorize-client-success';
95
- }
96
- export declare type AuthResponseSuccess = MeAuthResponseSuccess | IIAuthResponseSuccess;
97
- export declare type EventHandler = (event: MessageEvent) => Promise<void>;
98
- export declare enum PermissionsType {
99
- identity = "permissions-identity",
100
- wallet = "permissions-wallet"
101
- }
102
- export declare type ConnectOptions = AuthClientLoginOptions;
103
- export declare enum TransactionMessageKind {
104
- client = "transaction-client",
105
- ready = "transaction-ready",
106
- success = "transaction-client-success",
107
- fail = "transaction-client-failure"
108
- }
109
- export interface TransactionReadyMessage {
110
- kind: TransactionMessageKind.ready;
111
- }
112
- export interface TransactionResponseFailure {
113
- kind: TransactionMessageKind.fail;
114
- text: string;
115
- }
116
- export interface TransactionResponseSuccess {
117
- kind: TransactionMessageKind.success;
118
- }
119
- export declare type TransactionResponseMessage = TransactionReadyMessage | TransactionResponse;
120
- export declare type TransactionResponse = TransactionResponseSuccess | TransactionResponseFailure;
121
- export interface AuthReadyMessage {
122
- kind: 'authorize-ready';
123
- }
124
- export interface AuthResponseFailure {
125
- kind: 'authorize-client-failure';
126
- text: string;
127
- }
128
- export declare type IdentityServiceResponseMessage = AuthReadyMessage | AuthResponse;
129
- export declare type AuthResponse = AuthResponseSuccess | AuthResponseFailure;
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TransactionMessageKind = exports.PermissionsType = void 0;
4
- var PermissionsType;
5
- (function (PermissionsType) {
6
- PermissionsType["identity"] = "permissions-identity";
7
- PermissionsType["wallet"] = "permissions-wallet";
8
- })(PermissionsType = exports.PermissionsType || (exports.PermissionsType = {}));
9
- // Transaction Types
10
- var TransactionMessageKind;
11
- (function (TransactionMessageKind) {
12
- TransactionMessageKind["client"] = "transaction-client";
13
- TransactionMessageKind["ready"] = "transaction-ready";
14
- TransactionMessageKind["success"] = "transaction-client-success";
15
- TransactionMessageKind["fail"] = "transaction-client-failure";
16
- })(TransactionMessageKind = exports.TransactionMessageKind || (exports.TransactionMessageKind = {}));
17
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/ic/types.ts"],"names":[],"mappings":";;;AAkHA,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,oDAAiC,CAAA;IACjC,gDAA6B,CAAA;AAC/B,CAAC,EAHW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAG1B;AAID,oBAAoB;AACpB,IAAY,sBAKX;AALD,WAAY,sBAAsB;IAChC,uDAA6B,CAAA;IAC7B,qDAA2B,CAAA;IAC3B,gEAAsC,CAAA;IACtC,6DAAmC,CAAA;AACrC,CAAC,EALW,sBAAsB,GAAtB,8BAAsB,KAAtB,8BAAsB,QAKjC"}
@@ -1,5 +0,0 @@
1
- export * from './connections/baseConnection';
2
- export * from './connections/ledgerConnection';
3
- export * from './connections/nnsConnection';
4
- export * from './utils';
5
- export * from './ic';
package/lib/cjs/index.js DELETED
@@ -1,18 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
11
- };
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- __exportStar(require("./connections/baseConnection"), exports);
14
- __exportStar(require("./connections/ledgerConnection"), exports);
15
- __exportStar(require("./connections/nnsConnection"), exports);
16
- __exportStar(require("./utils"), exports);
17
- __exportStar(require("./ic"), exports);
18
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAA6C;AAC7C,iEAA+C;AAC/C,8DAA4C;AAC5C,0CAAwB;AACxB,uCAAqB"}
@@ -1,166 +0,0 @@
1
- import { ActorSubclass, HttpAgent, SignIdentity } from '@dfinity/agent';
2
- import { Principal } from '@dfinity/principal';
3
- import { AccountIdentifier, Memo } from '../utils/common/types';
4
- import { DelegationChain, DelegationIdentity } from '@dfinity/identity';
5
- import { IC } from 'src/ic';
6
- export interface IIDelegationResult {
7
- delegation: {
8
- pubkey: Uint8Array;
9
- expiration: bigint;
10
- targets?: Principal[];
11
- };
12
- signature: Uint8Array;
13
- }
14
- export interface DelegationMessage {
15
- kind: string;
16
- delegations: IIDelegationResult[];
17
- userPublicKey: Uint8Array;
18
- }
19
- export interface HandleDelegationResult {
20
- delegationChain: DelegationChain;
21
- delegationIdentity: DelegationIdentity;
22
- }
23
- export interface AbstractConnection<T> {
24
- identity: SignIdentity;
25
- delegationIdentity: DelegationIdentity;
26
- actor?: ActorSubclass<T>;
27
- agent?: HttpAgent;
28
- canisterId?: string;
29
- getActor(): Promise<ActorSubclass<T>>;
30
- }
31
- export interface CreateActorResult<T> {
32
- actor: ActorSubclass<T>;
33
- agent: HttpAgent;
34
- }
35
- export interface SendOpts {
36
- fee?: bigint;
37
- memo?: Memo;
38
- from_subaccount?: number;
39
- created_at_time?: Date;
40
- }
41
- /**
42
- * List of options for creating an {@link AuthClient}.
43
- */
44
- export interface AuthClientCreateOptions {
45
- /**
46
- * An identity to use as the base
47
- */
48
- identity?: SignIdentity;
49
- /**
50
- * Optional storage with get, set, and remove. Uses SessionStorage by default
51
- */
52
- storage?: AuthClientStorage;
53
- appId?: string;
54
- idpWindowOption?: string;
55
- }
56
- export interface AuthClientLoginOptions extends AuthClientCreateOptions {
57
- /**
58
- * Identity provider. By default, use the identity service.
59
- */
60
- identityProvider?: string | URL;
61
- permissions?: PermissionsType[];
62
- /**
63
- * Experiation of the authentication
64
- */
65
- maxTimeToLive?: bigint;
66
- /**
67
- * Callback once login has completed
68
- */
69
- onSuccess?: () => void | Promise<void>;
70
- /**
71
- * Callback in case authentication fails
72
- */
73
- onError?: (error?: string) => void;
74
- /**
75
- * Callback once is authenticated
76
- */
77
- onAuthenticated?: (ic: IC) => void | Promise<void>;
78
- }
79
- export interface ConnectOptions extends AuthClientLoginOptions {
80
- ledgerCanisterId?: string;
81
- }
82
- export interface TransactionOptions {
83
- /**
84
- * Identity provider. By default, use the identity service.
85
- */
86
- walletProvider?: string | URL;
87
- from: AccountIdentifier;
88
- to: AccountIdentifier;
89
- amount: bigint;
90
- sendOpts: SendOpts;
91
- /**
92
- * Callback once login has completed
93
- */
94
- onSuccess?: () => void | Promise<void>;
95
- /**
96
- * Callback in case authentication fails
97
- */
98
- onError?: (error?: string) => void;
99
- }
100
- /**
101
- * Interface for persisting user authentication data
102
- */
103
- export interface AuthClientStorage {
104
- get(key: string): Promise<string | null>;
105
- set(key: string, value: string): Promise<void>;
106
- remove(key: string): Promise<void>;
107
- }
108
- export interface InternetIdentityAuthRequest {
109
- kind: 'authorize-client';
110
- sessionPublicKey: Uint8Array;
111
- permissions?: PermissionsType[];
112
- maxTimeToLive?: bigint;
113
- appId?: string;
114
- }
115
- export interface DelegationResult {
116
- delegations: {
117
- delegation: {
118
- pubkey: Uint8Array;
119
- expiration: bigint;
120
- targets?: Principal[];
121
- };
122
- signature: Uint8Array;
123
- }[];
124
- userPublicKey: Uint8Array;
125
- }
126
- export interface MeAuthResponseSuccess {
127
- kind: 'authorize-client-success';
128
- identity: DelegationResult;
129
- wallet?: string;
130
- }
131
- export interface IIAuthResponseSuccess extends DelegationResult {
132
- kind: 'authorize-client-success';
133
- }
134
- export declare type AuthResponseSuccess = MeAuthResponseSuccess | IIAuthResponseSuccess;
135
- export declare type EventHandler = (event: MessageEvent) => Promise<void>;
136
- export declare enum PermissionsType {
137
- identity = "permissions-identity",
138
- wallet = "permissions-wallet"
139
- }
140
- export declare enum TransactionMessageKind {
141
- client = "transaction-client",
142
- ready = "transaction-ready",
143
- success = "transaction-client-success",
144
- fail = "transaction-client-failure"
145
- }
146
- export interface TransactionReadyMessage {
147
- kind: TransactionMessageKind.ready;
148
- }
149
- export interface TransactionResponseFailure {
150
- kind: TransactionMessageKind.fail;
151
- text: string;
152
- }
153
- export interface TransactionResponseSuccess {
154
- kind: TransactionMessageKind.success;
155
- }
156
- export declare type TransactionResponseMessage = TransactionReadyMessage | TransactionResponse;
157
- export declare type TransactionResponse = TransactionResponseSuccess | TransactionResponseFailure;
158
- export interface AuthReadyMessage {
159
- kind: 'authorize-ready';
160
- }
161
- export interface AuthResponseFailure {
162
- kind: 'authorize-client-failure';
163
- text: string;
164
- }
165
- export declare type IdentityServiceResponseMessage = AuthReadyMessage | AuthResponse;
166
- export declare type AuthResponse = AuthResponseSuccess | AuthResponseFailure;