@astrox/connection 0.0.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (119) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +23 -0
  3. package/lib/cjs/canisters/internet_identity_idl.d.ts +7 -0
  4. package/lib/cjs/canisters/internet_identity_idl.js +101 -0
  5. package/lib/cjs/canisters/internet_identity_idl.js.map +1 -0
  6. package/lib/cjs/canisters/ledger.idl.d.ts +7 -0
  7. package/lib/cjs/canisters/ledger.idl.js +81 -0
  8. package/lib/cjs/canisters/ledger.idl.js.map +1 -0
  9. package/lib/cjs/canisters/me.idl.d.ts +7 -0
  10. package/lib/cjs/canisters/me.idl.js +125 -0
  11. package/lib/cjs/canisters/me.idl.js.map +1 -0
  12. package/lib/cjs/canisters/nns-dapp-cert.idl.d.ts +7 -0
  13. package/lib/cjs/canisters/nns-dapp-cert.idl.js +86 -0
  14. package/lib/cjs/canisters/nns-dapp-cert.idl.js.map +1 -0
  15. package/lib/cjs/canisters/nns-dapp.idl.d.ts +7 -0
  16. package/lib/cjs/canisters/nns-dapp.idl.js +184 -0
  17. package/lib/cjs/canisters/nns-dapp.idl.js.map +1 -0
  18. package/lib/cjs/connections/baseConnection.d.ts +52 -0
  19. package/lib/cjs/connections/baseConnection.js +87 -0
  20. package/lib/cjs/connections/baseConnection.js.map +1 -0
  21. package/lib/cjs/connections/ledgerConnection.d.ts +57 -0
  22. package/lib/cjs/connections/ledgerConnection.js +135 -0
  23. package/lib/cjs/connections/ledgerConnection.js.map +1 -0
  24. package/lib/cjs/connections/nnsConnection.d.ts +62 -0
  25. package/lib/cjs/connections/nnsConnection.js +166 -0
  26. package/lib/cjs/connections/nnsConnection.js.map +1 -0
  27. package/lib/cjs/ic/icAuthClient.d.ts +31 -0
  28. package/lib/cjs/ic/icAuthClient.js +233 -0
  29. package/lib/cjs/ic/icAuthClient.js.map +1 -0
  30. package/lib/cjs/ic/icConnect.d.ts +32 -0
  31. package/lib/cjs/ic/icConnect.js +181 -0
  32. package/lib/cjs/ic/icConnect.js.map +1 -0
  33. package/lib/cjs/ic/icStorage.d.ts +16 -0
  34. package/lib/cjs/ic/icStorage.js +49 -0
  35. package/lib/cjs/ic/icStorage.js.map +1 -0
  36. package/lib/cjs/ic/icWindow.d.ts +7 -0
  37. package/lib/cjs/ic/icWindow.js +20 -0
  38. package/lib/cjs/ic/icWindow.js.map +1 -0
  39. package/lib/cjs/ic/index.d.ts +2 -0
  40. package/lib/cjs/ic/index.js +7 -0
  41. package/lib/cjs/ic/index.js.map +1 -0
  42. package/lib/cjs/ic/types.d.ts +129 -0
  43. package/lib/cjs/ic/types.js +17 -0
  44. package/lib/cjs/ic/types.js.map +1 -0
  45. package/lib/cjs/index.d.ts +5 -0
  46. package/lib/cjs/index.js +18 -0
  47. package/lib/cjs/index.js.map +1 -0
  48. package/lib/cjs/utils/common/types.d.ts +15 -0
  49. package/lib/cjs/utils/common/types.js +12 -0
  50. package/lib/cjs/utils/common/types.js.map +1 -0
  51. package/lib/cjs/utils/constants.d.ts +6 -0
  52. package/lib/cjs/utils/constants.js +13 -0
  53. package/lib/cjs/utils/constants.js.map +1 -0
  54. package/lib/cjs/utils/converter.d.ts +32 -0
  55. package/lib/cjs/utils/converter.js +130 -0
  56. package/lib/cjs/utils/converter.js.map +1 -0
  57. package/lib/cjs/utils/index.d.ts +3 -0
  58. package/lib/cjs/utils/index.js +16 -0
  59. package/lib/cjs/utils/index.js.map +1 -0
  60. package/lib/esm/canisters/internet_identity_idl.d.ts +7 -0
  61. package/lib/esm/canisters/internet_identity_idl.js +98 -0
  62. package/lib/esm/canisters/internet_identity_idl.js.map +1 -0
  63. package/lib/esm/canisters/ledger.idl.d.ts +7 -0
  64. package/lib/esm/canisters/ledger.idl.js +78 -0
  65. package/lib/esm/canisters/ledger.idl.js.map +1 -0
  66. package/lib/esm/canisters/me.idl.d.ts +7 -0
  67. package/lib/esm/canisters/me.idl.js +122 -0
  68. package/lib/esm/canisters/me.idl.js.map +1 -0
  69. package/lib/esm/canisters/nns-dapp-cert.idl.d.ts +7 -0
  70. package/lib/esm/canisters/nns-dapp-cert.idl.js +83 -0
  71. package/lib/esm/canisters/nns-dapp-cert.idl.js.map +1 -0
  72. package/lib/esm/canisters/nns-dapp.idl.d.ts +7 -0
  73. package/lib/esm/canisters/nns-dapp.idl.js +181 -0
  74. package/lib/esm/canisters/nns-dapp.idl.js.map +1 -0
  75. package/lib/esm/connections/baseConnection.d.ts +52 -0
  76. package/lib/esm/connections/baseConnection.js +80 -0
  77. package/lib/esm/connections/baseConnection.js.map +1 -0
  78. package/lib/esm/connections/ledgerConnection.d.ts +57 -0
  79. package/lib/esm/connections/ledgerConnection.js +128 -0
  80. package/lib/esm/connections/ledgerConnection.js.map +1 -0
  81. package/lib/esm/connections/nnsConnection.d.ts +62 -0
  82. package/lib/esm/connections/nnsConnection.js +159 -0
  83. package/lib/esm/connections/nnsConnection.js.map +1 -0
  84. package/lib/esm/ic/icAuthClient.d.ts +31 -0
  85. package/lib/esm/ic/icAuthClient.js +229 -0
  86. package/lib/esm/ic/icAuthClient.js.map +1 -0
  87. package/lib/esm/ic/icConnect.d.ts +32 -0
  88. package/lib/esm/ic/icConnect.js +177 -0
  89. package/lib/esm/ic/icConnect.js.map +1 -0
  90. package/lib/esm/ic/icStorage.d.ts +16 -0
  91. package/lib/esm/ic/icStorage.js +44 -0
  92. package/lib/esm/ic/icStorage.js.map +1 -0
  93. package/lib/esm/ic/icWindow.d.ts +7 -0
  94. package/lib/esm/ic/icWindow.js +16 -0
  95. package/lib/esm/ic/icWindow.js.map +1 -0
  96. package/lib/esm/ic/index.d.ts +2 -0
  97. package/lib/esm/ic/index.js +3 -0
  98. package/lib/esm/ic/index.js.map +1 -0
  99. package/lib/esm/ic/types.d.ts +129 -0
  100. package/lib/esm/ic/types.js +14 -0
  101. package/lib/esm/ic/types.js.map +1 -0
  102. package/lib/esm/index.d.ts +5 -0
  103. package/lib/esm/index.js +6 -0
  104. package/lib/esm/index.js.map +1 -0
  105. package/lib/esm/utils/common/types.d.ts +15 -0
  106. package/lib/esm/utils/common/types.js +9 -0
  107. package/lib/esm/utils/common/types.js.map +1 -0
  108. package/lib/esm/utils/constants.d.ts +6 -0
  109. package/lib/esm/utils/constants.js +10 -0
  110. package/lib/esm/utils/constants.js.map +1 -0
  111. package/lib/esm/utils/converter.d.ts +32 -0
  112. package/lib/esm/utils/converter.js +124 -0
  113. package/lib/esm/utils/converter.js.map +1 -0
  114. package/lib/esm/utils/index.d.ts +3 -0
  115. package/lib/esm/utils/index.js +4 -0
  116. package/lib/esm/utils/index.js.map +1 -0
  117. package/lib/tsconfig-cjs.tsbuildinfo +2834 -0
  118. package/lib/tsconfig.tsbuildinfo +2833 -0
  119. package/package.json +53 -0
@@ -0,0 +1,181 @@
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) => {
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
+ __classPrivateFieldSet(this, _localLedger, ledgerConnection_1.LedgerConnection.createConnection(ic.getAuthClient().getInnerKey(), ic.getAuthClient().getDelegationIdentity()));
58
+ this.injectWindow(ic);
59
+ return new IC(ic.getAuthClient());
60
+ };
61
+ this.createActor = (idlFactory, canisterId) => {
62
+ return agent_1.Actor.createActor(idlFactory, {
63
+ agent: __classPrivateFieldGet(this, _agent),
64
+ canisterId,
65
+ });
66
+ };
67
+ // requestTransfer
68
+ this.requestTransfer = async (options) => {
69
+ var _a;
70
+ 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);
71
+ walletProviderUrl.hash = WALLET_PROVIDER_ENDPOINT;
72
+ 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');
73
+ return new Promise((resolve, reject) => {
74
+ this._eventHandler = this._getEventHandler(walletProviderUrl, resolve, reject, options);
75
+ window.addEventListener('message', this._eventHandler);
76
+ });
77
+ };
78
+ __classPrivateFieldSet(this, _authClient, authClient);
79
+ this.injectWindow();
80
+ }
81
+ static async connect(connectOptions) {
82
+ var _a, _b, _c, _d;
83
+ const authClient = await icAuthClient_1.AuthClient.create(connectOptions);
84
+ const newIC = new this(authClient);
85
+ const provider = (_a = connectOptions === null || connectOptions === void 0 ? void 0 : connectOptions.identityProvider) !== null && _a !== void 0 ? _a : icStorage_1.IDENTITY_PROVIDER_DEFAULT;
86
+ if (await newIC.isAuthenticated()) {
87
+ await newIC.handleAuthenticated(newIC);
88
+ await ((_b = connectOptions === null || connectOptions === void 0 ? void 0 : connectOptions.onAuthenticated) === null || _b === void 0 ? void 0 : _b.call(connectOptions, newIC));
89
+ return newIC;
90
+ }
91
+ await newIC.getAuthClient().login({
92
+ identityProvider: provider,
93
+ // Maximum authorization expiration is 8 days
94
+ maxTimeToLive: (_c = connectOptions === null || connectOptions === void 0 ? void 0 : connectOptions.maxTimeToLive) !== null && _c !== void 0 ? _c : days * hours * nanoseconds,
95
+ permissions: (_d = connectOptions === null || connectOptions === void 0 ? void 0 : connectOptions.permissions) !== null && _d !== void 0 ? _d : [types_1.PermissionsType.identity],
96
+ onSuccess: async () => {
97
+ var _a, _b, _c;
98
+ await newIC.handleAuthenticated(newIC);
99
+ (_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)));
100
+ },
101
+ onError: newIC.handleError,
102
+ });
103
+ return newIC;
104
+ }
105
+ async isAuthenticated() {
106
+ const result = await __classPrivateFieldGet(this, _authClient).isAuthenticated();
107
+ return result;
108
+ }
109
+ get identity() {
110
+ return __classPrivateFieldGet(this, _authClient).getIdentity();
111
+ }
112
+ get principal() {
113
+ return this.identity.getPrincipal();
114
+ }
115
+ get wallet() {
116
+ return __classPrivateFieldGet(this, _authClient).wallet;
117
+ }
118
+ getAuthClient() {
119
+ return __classPrivateFieldGet(this, _authClient);
120
+ }
121
+ injectWindow(ic) {
122
+ if (window.ic !== undefined) {
123
+ let plug;
124
+ if (window.ic.plug !== undefined) {
125
+ plug = window.ic.plug;
126
+ }
127
+ window.ic = ic !== null && ic !== void 0 ? ic : this;
128
+ window.ic.plug = plug;
129
+ }
130
+ else {
131
+ window.ic = ic !== null && ic !== void 0 ? ic : this;
132
+ }
133
+ }
134
+ handleError(error) {
135
+ throw new Error(error);
136
+ }
137
+ _getEventHandler(walletProviderUrl, resolve, reject, options) {
138
+ return async (event) => {
139
+ var _a;
140
+ if (event.origin !== walletProviderUrl.origin) {
141
+ return;
142
+ }
143
+ const message = event.data;
144
+ switch (message.kind) {
145
+ case types_1.TransactionMessageKind.ready: {
146
+ // IDP is ready. Send a message to request authorization.
147
+ const request = Object.assign({ kind: types_1.TransactionMessageKind.client }, options);
148
+ (_a = this._window) === null || _a === void 0 ? void 0 : _a.postMessage(request, walletProviderUrl.origin);
149
+ break;
150
+ }
151
+ case types_1.TransactionMessageKind.success:
152
+ // Create the delegation chain and store it.
153
+ try {
154
+ resolve(null);
155
+ // Setting the storage is moved out of _handleSuccess to make
156
+ // it a sync function. Having _handleSuccess as an async function
157
+ // messes up the jest tests for some reason.
158
+ }
159
+ catch (err) {
160
+ reject(this._handleFailure(err.message, options === null || options === void 0 ? void 0 : options.onError));
161
+ }
162
+ break;
163
+ case types_1.TransactionMessageKind.fail:
164
+ reject(this._handleFailure(message.text, options === null || options === void 0 ? void 0 : options.onError));
165
+ break;
166
+ default:
167
+ break;
168
+ }
169
+ };
170
+ }
171
+ _handleFailure(errorMessage, onError) {
172
+ var _a;
173
+ (_a = this._window) === null || _a === void 0 ? void 0 : _a.close();
174
+ onError === null || onError === void 0 ? void 0 : onError(errorMessage);
175
+ this._removeEventListener();
176
+ return errorMessage;
177
+ }
178
+ }
179
+ exports.IC = IC;
180
+ _authClient = new WeakMap(), _agent = new WeakMap(), _localLedger = new WeakMap();
181
+ //# sourceMappingURL=icConnect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icConnect.js","sourceRoot":"","sources":["../../../src/ic/icConnect.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
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
+ }
@@ -0,0 +1,49 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,7 @@
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
+ }
@@ -0,0 +1,20 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,2 @@
1
+ export { AuthClient as ICAuthClient } from './icAuthClient';
2
+ export { IC } from './icConnect';
@@ -0,0 +1,7 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,129 @@
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;
@@ -0,0 +1,17 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,5 @@
1
+ export * from './connections/baseConnection';
2
+ export * from './connections/ledgerConnection';
3
+ export * from './connections/nnsConnection';
4
+ export * from './utils';
5
+ export * from './ic';
@@ -0,0 +1,18 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,15 @@
1
+ export declare type CanisterIdString = string;
2
+ export declare type NeuronId = bigint;
3
+ export declare type AccountIdentifier = string;
4
+ export declare type BlockHeight = bigint;
5
+ export declare type E8s = bigint;
6
+ export declare type Memo = bigint;
7
+ export declare type PrincipalString = string;
8
+ export declare type SubAccount = Uint8Array;
9
+ export declare enum WalletType {
10
+ nns = "nns",
11
+ plug = "plug",
12
+ stoic = "stoic",
13
+ me = "me",
14
+ unknown = "unknown"
15
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WalletType = void 0;
4
+ var WalletType;
5
+ (function (WalletType) {
6
+ WalletType["nns"] = "nns";
7
+ WalletType["plug"] = "plug";
8
+ WalletType["stoic"] = "stoic";
9
+ WalletType["me"] = "me";
10
+ WalletType["unknown"] = "unknown";
11
+ })(WalletType = exports.WalletType || (exports.WalletType = {}));
12
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/utils/common/types.ts"],"names":[],"mappings":";;;AAQA,IAAY,UAMX;AAND,WAAY,UAAU;IACpB,yBAAW,CAAA;IACX,2BAAa,CAAA;IACb,6BAAe,CAAA;IACf,uBAAS,CAAA;IACT,iCAAmB,CAAA;AACrB,CAAC,EANW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAMrB"}
@@ -0,0 +1,6 @@
1
+ export declare const SUB_ACCOUNT_BYTE_LENGTH = 32;
2
+ export declare const CREATE_CANISTER_MEMO: bigint;
3
+ export declare const TOP_UP_CANISTER_MEMO: bigint;
4
+ export declare const TRANSACTION_FEE: bigint;
5
+ export declare const LEDGER_CANISTER_ID = "ryjl3-tyaaa-aaaaa-aaaba-cai";
6
+ export declare const NNS_CANISTER_ID = "qoctq-giaaa-aaaaa-aaaea-cai";
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NNS_CANISTER_ID = exports.LEDGER_CANISTER_ID = exports.TRANSACTION_FEE = exports.TOP_UP_CANISTER_MEMO = exports.CREATE_CANISTER_MEMO = exports.SUB_ACCOUNT_BYTE_LENGTH = void 0;
4
+ exports.SUB_ACCOUNT_BYTE_LENGTH = 32;
5
+ exports.CREATE_CANISTER_MEMO = BigInt(0x41455243); // CREA,
6
+ exports.TOP_UP_CANISTER_MEMO = BigInt(0x50555054); // TPUP
7
+ exports.TRANSACTION_FEE = BigInt(10000);
8
+ exports.LEDGER_CANISTER_ID = 'ryjl3-tyaaa-aaaaa-aaaba-cai';
9
+ exports.NNS_CANISTER_ID = 'qoctq-giaaa-aaaaa-aaaea-cai';
10
+ // import config from "../config";
11
+ // // @ts-ignore
12
+ // export const HOST = "HOST" in config ? config["HOST"] : undefined;
13
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,uBAAuB,GAAG,EAAE,CAAC;AAC7B,QAAA,oBAAoB,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ;AACnD,QAAA,oBAAoB,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO;AAElD,QAAA,eAAe,GAAG,MAAM,CAAC,KAAM,CAAC,CAAC;AAEjC,QAAA,kBAAkB,GAAG,6BAA6B,CAAC;AACnD,QAAA,eAAe,GAAG,6BAA6B,CAAC;AAE7D,kCAAkC;AAElC,gBAAgB;AAChB,qEAAqE"}
@@ -0,0 +1,32 @@
1
+ import { Principal } from '@dfinity/principal';
2
+ import { AccountIdentifier, SubAccount } from './common/types';
3
+ export declare const uint8ArrayToBigInt: (array: Uint8Array) => bigint;
4
+ export declare const bigIntToUint8Array: (value: bigint) => Uint8Array;
5
+ export declare const arrayBufferToArrayOfNumber: (buffer: ArrayBuffer) => Array<number>;
6
+ export declare const arrayOfNumberToUint8Array: (numbers: Array<number>) => Uint8Array;
7
+ export declare const arrayOfNumberToArrayBuffer: (numbers: Array<number>) => ArrayBuffer;
8
+ export declare const arrayBufferToNumber: (buffer: ArrayBuffer) => number;
9
+ export declare const numberToArrayBuffer: (value: number, byteLength: number) => ArrayBuffer;
10
+ export declare const asciiStringToByteArray: (text: string) => Array<number>;
11
+ export declare const toSubAccountId: (subAccount: Array<number>) => number;
12
+ export declare const fromSubAccountId: (subAccountId: number) => Array<number>;
13
+ export declare const accountIdentifierToBytes: (accountIdentifier: AccountIdentifier) => Uint8Array;
14
+ export declare const accountIdentifierFromBytes: (accountIdentifier: Uint8Array) => AccountIdentifier;
15
+ export declare const principalToAccountIdentifier: (principal: Principal, subAccount?: Uint8Array | undefined) => string;
16
+ export declare const principalToSubAccount: (principal: Principal) => SubAccount;
17
+ export declare const stringToAccountIdentifier: (str: string) => AccountIdentifier | undefined;
18
+ export declare const calculateCrc32: (bytes: Uint8Array) => Uint8Array;
19
+ export declare const E8S_PER_ICP = 100000000;
20
+ export declare enum TokenSymbol {
21
+ ICP = "ICP"
22
+ }
23
+ export interface TokenMapItem {
24
+ [key: string]: {
25
+ amount: number;
26
+ symbol: string;
27
+ };
28
+ }
29
+ export declare const formatAssetBySymbol: (_amount: bigint, symbol: string) => {
30
+ amount: number;
31
+ symbol: string;
32
+ } | undefined;