@astrox/connection 0.0.32 → 0.0.37

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 (43) hide show
  1. package/lib/cjs/connections/ledgerConnection.d.ts +5 -1
  2. package/lib/cjs/connections/ledgerConnection.js +0 -1
  3. package/lib/cjs/connections/ledgerConnection.js.map +1 -1
  4. package/lib/cjs/connections/nnsConnection.d.ts +9 -1
  5. package/lib/cjs/connections/nnsConnection.js +9 -56
  6. package/lib/cjs/connections/nnsConnection.js.map +1 -1
  7. package/lib/cjs/ic/icAuthClient.js +0 -1
  8. package/lib/cjs/ic/icAuthClient.js.map +1 -1
  9. package/lib/cjs/ic/icConnect.d.ts +5 -2
  10. package/lib/cjs/ic/icConnect.js +65 -8
  11. package/lib/cjs/ic/icConnect.js.map +1 -1
  12. package/lib/cjs/services/history/rosseta.d.ts +62 -0
  13. package/lib/cjs/services/history/rosseta.js +242 -0
  14. package/lib/cjs/services/history/rosseta.js.map +1 -0
  15. package/lib/cjs/types/index.d.ts +49 -1
  16. package/lib/cjs/types/index.js +8 -1
  17. package/lib/cjs/types/index.js.map +1 -1
  18. package/lib/cjs/utils/constants.d.ts +10 -2
  19. package/lib/cjs/utils/constants.js +11 -3
  20. package/lib/cjs/utils/constants.js.map +1 -1
  21. package/lib/esm/connections/ledgerConnection.d.ts +5 -1
  22. package/lib/esm/connections/ledgerConnection.js +0 -1
  23. package/lib/esm/connections/ledgerConnection.js.map +1 -1
  24. package/lib/esm/connections/nnsConnection.d.ts +9 -1
  25. package/lib/esm/connections/nnsConnection.js +9 -56
  26. package/lib/esm/connections/nnsConnection.js.map +1 -1
  27. package/lib/esm/ic/icAuthClient.js +0 -1
  28. package/lib/esm/ic/icAuthClient.js.map +1 -1
  29. package/lib/esm/ic/icConnect.d.ts +5 -2
  30. package/lib/esm/ic/icConnect.js +66 -9
  31. package/lib/esm/ic/icConnect.js.map +1 -1
  32. package/lib/esm/services/history/rosseta.d.ts +62 -0
  33. package/lib/esm/services/history/rosseta.js +236 -0
  34. package/lib/esm/services/history/rosseta.js.map +1 -0
  35. package/lib/esm/types/index.d.ts +49 -1
  36. package/lib/esm/types/index.js +7 -0
  37. package/lib/esm/types/index.js.map +1 -1
  38. package/lib/esm/utils/constants.d.ts +10 -2
  39. package/lib/esm/utils/constants.js +10 -2
  40. package/lib/esm/utils/constants.js.map +1 -1
  41. package/lib/tsconfig-cjs.tsbuildinfo +46 -11
  42. package/lib/tsconfig.tsbuildinfo +46 -11
  43. package/package.json +4 -3
@@ -3,7 +3,7 @@ import { InterfaceFactory } from '@dfinity/candid/lib/cjs/idl';
3
3
  import { Principal } from '@dfinity/principal';
4
4
  import { AuthClient } from './icAuthClient';
5
5
  import { ICWindow } from './icWindow';
6
- import { ConnectOptions, TransactionOptions } from '../types';
6
+ import { ConnectOptions, SignerOptions, SignerResponseSuccess, TransactionOptions, TransactionResponseSuccess } from '../types';
7
7
  declare global {
8
8
  interface Window {
9
9
  ic: IC & any;
@@ -18,6 +18,7 @@ export declare class IC extends ICWindow {
18
18
  get principal(): Principal;
19
19
  get wallet(): string | undefined;
20
20
  private _setWalletProvider;
21
+ private _setSignerProvider;
21
22
  private _setUseFrame;
22
23
  protected getAuthClient(): AuthClient;
23
24
  disconnect: (options?: {
@@ -30,7 +31,9 @@ export declare class IC extends ICWindow {
30
31
  private injectWindow;
31
32
  handleError(error?: string): void;
32
33
  createActor: <T>(idlFactory: InterfaceFactory, canisterId: string) => ActorSubclass<T>;
33
- requestTransfer: (options: TransactionOptions) => Promise<void>;
34
+ requestTransfer: (options: TransactionOptions) => Promise<TransactionResponseSuccess | undefined | string>;
35
+ signMessage: (options: SignerOptions) => Promise<SignerResponseSuccess | undefined | string>;
36
+ private _getSignerHandler;
34
37
  private _getEventHandler;
35
38
  private _handleFailure;
36
39
  private _handleSuccess;
@@ -11,7 +11,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
11
11
  }
12
12
  return privateMap.get(receiver);
13
13
  };
14
- var _authClient, _agent, _localLedger, _walletProvider, _useFrame;
14
+ var _authClient, _agent, _localLedger, _walletProvider, _signerProvider, _useFrame;
15
15
  /* eslint-disable @typescript-eslint/no-explicit-any */
16
16
  /* eslint-disable @typescript-eslint/no-non-null-assertion */
17
17
  import { Actor, HttpAgent } from '@dfinity/agent';
@@ -19,12 +19,15 @@ import { AuthClient } from './icAuthClient';
19
19
  import { IDENTITY_PROVIDER_DEFAULT } from './icStorage';
20
20
  import { ICWindow } from './icWindow';
21
21
  import { LedgerConnection } from '../connections/ledgerConnection';
22
- import { PermissionsType, TransactionMessageKind, } from '../types';
22
+ import { PermissionsType, SignerMessageKind, TransactionMessageKind, } from '../types';
23
+ import { assert } from 'console';
23
24
  const days = BigInt(1);
24
25
  const hours = BigInt(24);
25
26
  const nanoseconds = BigInt(3600000000000);
26
27
  const WALLET_PROVIDER_DEFAULT = 'https://63k2f-nyaaa-aaaah-aakla-cai.raw.ic0.app';
27
28
  const WALLET_PROVIDER_ENDPOINT = '#transaction';
29
+ const SIGNER_PROVIDER_DEFAULT = 'https://63k2f-nyaaa-aaaah-aakla-cai.raw.ic0.app';
30
+ const SIGNER_PROVIDER_ENDPOINT = '#signer';
28
31
  const FRAME_SETTING = 'height=600, width=800, top=0, right=0, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no';
29
32
  const FRAME_SETTING_PAYMENT = 'height=600, width=480, top=0, right=0, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no';
30
33
  export class IC extends ICWindow {
@@ -34,6 +37,7 @@ export class IC extends ICWindow {
34
37
  _agent.set(this, void 0);
35
38
  _localLedger.set(this, void 0);
36
39
  _walletProvider.set(this, void 0);
40
+ _signerProvider.set(this, void 0);
37
41
  _useFrame.set(this, false); // a local ledger to query balance only
38
42
  this.disconnect = async (options = {}) => {
39
43
  await this.getAuthClient().logout(options);
@@ -69,6 +73,7 @@ export class IC extends ICWindow {
69
73
  // requestTransfer
70
74
  this.requestTransfer = async (options) => {
71
75
  var _a;
76
+ assert(this.wallet !== undefined, 'wallet address is not found');
72
77
  const walletProviderUrl = new URL(((_a = options === null || options === void 0 ? void 0 : options.walletProvider) === null || _a === void 0 ? void 0 : _a.toString()) || __classPrivateFieldGet(this, _walletProvider) || WALLET_PROVIDER_DEFAULT);
73
78
  walletProviderUrl.hash = WALLET_PROVIDER_ENDPOINT;
74
79
  this._openWindow(walletProviderUrl.toString(), 'icWindow', __classPrivateFieldGet(this, _useFrame) ? FRAME_SETTING_PAYMENT : undefined);
@@ -77,6 +82,17 @@ export class IC extends ICWindow {
77
82
  window.addEventListener('message', this._eventHandler);
78
83
  });
79
84
  };
85
+ this.signMessage = async (options) => {
86
+ var _a;
87
+ assert(this.wallet !== undefined, 'wallet address is not found');
88
+ const signerProviderUrl = new URL(((_a = options === null || options === void 0 ? void 0 : options.signerProvider) === null || _a === void 0 ? void 0 : _a.toString()) || __classPrivateFieldGet(this, _signerProvider) || SIGNER_PROVIDER_DEFAULT);
89
+ signerProviderUrl.hash = SIGNER_PROVIDER_ENDPOINT;
90
+ this._openWindow(signerProviderUrl.toString(), 'icWindow', __classPrivateFieldGet(this, _useFrame) ? FRAME_SETTING_PAYMENT : undefined);
91
+ return new Promise((resolve, reject) => {
92
+ this._eventHandler = this._getSignerHandler(signerProviderUrl, resolve, reject, options);
93
+ window.addEventListener('message', this._eventHandler);
94
+ });
95
+ };
80
96
  __classPrivateFieldSet(this, _authClient, authClient);
81
97
  }
82
98
  static async connect(connectOptions) {
@@ -87,6 +103,7 @@ export class IC extends ICWindow {
87
103
  const newIC = new this(authClient);
88
104
  const provider = (_a = connectOptions === null || connectOptions === void 0 ? void 0 : connectOptions.identityProvider) !== null && _a !== void 0 ? _a : IDENTITY_PROVIDER_DEFAULT;
89
105
  newIC._setWalletProvider(connectOptions === null || connectOptions === void 0 ? void 0 : connectOptions.walletProviderUrl);
106
+ newIC._setSignerProvider(connectOptions === null || connectOptions === void 0 ? void 0 : connectOptions.signerProviderUrl);
90
107
  newIC._setUseFrame(connectOptions === null || connectOptions === void 0 ? void 0 : connectOptions.useFrame);
91
108
  if (await newIC.isAuthenticated()) {
92
109
  await newIC.handleAuthenticated(newIC, { ledgerCanisterId: connectOptions.ledgerCanisterId });
@@ -125,6 +142,9 @@ export class IC extends ICWindow {
125
142
  _setWalletProvider(provider) {
126
143
  __classPrivateFieldSet(this, _walletProvider, provider);
127
144
  }
145
+ _setSignerProvider(provider) {
146
+ __classPrivateFieldSet(this, _signerProvider, provider);
147
+ }
128
148
  _setUseFrame(useFrame) {
129
149
  __classPrivateFieldSet(this, _useFrame, useFrame);
130
150
  }
@@ -147,9 +167,46 @@ export class IC extends ICWindow {
147
167
  handleError(error) {
148
168
  throw new Error(error);
149
169
  }
170
+ _getSignerHandler(walletProviderUrl, resolve, reject, options) {
171
+ return async (event) => {
172
+ var _a, _b, _c, _d, _e;
173
+ if (event.origin !== walletProviderUrl.origin) {
174
+ return;
175
+ }
176
+ const message = event.data;
177
+ switch (message.kind) {
178
+ case SignerMessageKind.ready: {
179
+ // IDP is ready. Send a message to request authorization.
180
+ const request = {
181
+ kind: SignerMessageKind.client,
182
+ from: (_a = options.from) !== null && _a !== void 0 ? _a : this.wallet,
183
+ message: options.message,
184
+ maxTimeout: (_b = options.maxTimeout) !== null && _b !== void 0 ? _b : 90,
185
+ successTimeout: (_c = options.successTimeout) !== null && _c !== void 0 ? _c : 10
186
+ };
187
+ (_d = this._window) === null || _d === void 0 ? void 0 : _d.postMessage(request, walletProviderUrl.origin);
188
+ break;
189
+ }
190
+ case SignerMessageKind.success:
191
+ // Create the delegation chain and store it.
192
+ try {
193
+ resolve(this._handleSuccess(message, options.onSuccess, (_e = options.successTimeout) !== null && _e !== void 0 ? _e : 10));
194
+ }
195
+ catch (err) {
196
+ reject(this._handleFailure(err.message, options.onError));
197
+ }
198
+ break;
199
+ case SignerMessageKind.fail:
200
+ reject(this._handleFailure(message.text, options.onError));
201
+ break;
202
+ default:
203
+ break;
204
+ }
205
+ };
206
+ }
150
207
  _getEventHandler(walletProviderUrl, resolve, reject, options) {
151
208
  return async (event) => {
152
- var _a, _b, _c, _d;
209
+ var _a, _b, _c, _d, _e;
153
210
  if (event.origin !== walletProviderUrl.origin) {
154
211
  return;
155
212
  }
@@ -159,20 +216,20 @@ export class IC extends ICWindow {
159
216
  // IDP is ready. Send a message to request authorization.
160
217
  const request = {
161
218
  kind: TransactionMessageKind.client,
162
- from: options.from,
219
+ from: (_a = options.from) !== null && _a !== void 0 ? _a : this.wallet,
163
220
  to: options.to,
164
221
  amount: options.amount,
165
222
  sendOpts: options.sendOpts,
166
- maxTimeout: (_a = options.maxTimeout) !== null && _a !== void 0 ? _a : 90,
167
- successTimeout: (_b = options.successTimeout) !== null && _b !== void 0 ? _b : 10
223
+ maxTimeout: (_b = options.maxTimeout) !== null && _b !== void 0 ? _b : 90,
224
+ successTimeout: (_c = options.successTimeout) !== null && _c !== void 0 ? _c : 10
168
225
  };
169
- (_c = this._window) === null || _c === void 0 ? void 0 : _c.postMessage(request, walletProviderUrl.origin);
226
+ (_d = this._window) === null || _d === void 0 ? void 0 : _d.postMessage(request, walletProviderUrl.origin);
170
227
  break;
171
228
  }
172
229
  case TransactionMessageKind.success:
173
230
  // Create the delegation chain and store it.
174
231
  try {
175
- resolve(this._handleSuccess(message, options.onSuccess, (_d = options.successTimeout) !== null && _d !== void 0 ? _d : 10));
232
+ resolve(this._handleSuccess(message, options.onSuccess, (_e = options.successTimeout) !== null && _e !== void 0 ? _e : 10));
176
233
  }
177
234
  catch (err) {
178
235
  reject(this._handleFailure(err.message, options.onError));
@@ -202,5 +259,5 @@ export class IC extends ICWindow {
202
259
  return value;
203
260
  }
204
261
  }
205
- _authClient = new WeakMap(), _agent = new WeakMap(), _localLedger = new WeakMap(), _walletProvider = new WeakMap(), _useFrame = new WeakMap();
262
+ _authClient = new WeakMap(), _agent = new WeakMap(), _localLedger = new WeakMap(), _walletProvider = new WeakMap(), _signerProvider = new WeakMap(), _useFrame = new WeakMap();
206
263
  //# sourceMappingURL=icConnect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"icConnect.js","sourceRoot":"","sources":["../../../src/ic/icConnect.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,uDAAuD;AACvD,6DAA6D;AAC7D,OAAO,EAAE,KAAK,EAAiB,SAAS,EAAY,MAAM,gBAAgB,CAAC;AAG3E,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAGL,eAAe,EACf,sBAAsB,GAKvB,MAAM,UAAU,CAAC;AAElB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AACvB,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;AACzB,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAC1C,MAAM,uBAAuB,GAAG,iDAAiD,CAAC;AAClF,MAAM,wBAAwB,GAAG,cAAc,CAAC;AAQhD,MAAM,aAAa,GAAG,oHAAoH,CAAC;AAC3I,MAAM,qBAAqB,GAAG,oHAAoH,CAAC;AAEnJ,MAAM,OAAO,EAAG,SAAQ,QAAQ;IA4C9B,YAAsB,UAAsB;QAC1C,KAAK,EAAE,CAAC;QANV,8BAAwB;QACxB,yBAAmB;QACnB,+BAAgC;QAChC,kCAAyB;QACzB,oBAAY,KAAK,EAAC,CAAC,uCAAuC;QAmCnD,eAAU,GAAG,KAAK,EAAE,UAAiC,EAAE,EAAiB,EAAE;YAC/E,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC,CAAC;QAEK,iBAAY,GAAG,KAAK,IAAqB,EAAE;;YAChD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;gBAC7B,MAAM,KAAK,CAAC,6BAA6B,CAAC,CAAC;aAC5C;YACD,IAAI,+CAAsB,SAAS,EAAE;gBACnC,MAAM,KAAK,CAAC,yBAAyB,CAAC,CAAC;aACxC;YACD,MAAM,MAAM,GAAG,iGAAyB,UAAU,CAAC,IAAI,CAAC,MAAO,EAAC,CAAC;YACjE,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QAEK,wBAAmB,GAAG,KAAK,EAChC,EAAM,EACN,EAAE,gBAAgB,EAAiC,EACtC,EAAE;YACf,MAAM,QAAQ,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC,WAAW,EAAE,CAAC;YAElD,uBAAA,IAAI,UAAU,IAAI,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAC;YAE1C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE;gBAC7B,MAAM,qCAAY,YAAY,EAAE,CAAC;aAClC;YAED,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,WAAW,CACpD,EAAE,CAAC,aAAa,EAAE,CAAC,qBAAqB,EAAG,EAC3C,gBAAgB,CACjB,CAAC;YAEF,uBAAA,IAAI,gBAAgB,gBAAgB,CAAC,gBAAgB,CACnD,EAAE,CAAC,aAAa,EAAE,CAAC,WAAW,EAAG,EACjC,EAAE,CAAC,aAAa,EAAE,CAAC,qBAAqB,EAAG,EAC3C,gBAAgB,EAChB,WAAW,CAAC,KAAK,uCAElB,EAAC;YAEF,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC;QACpC,CAAC,CAAC;QAmBK,gBAAW,GAAG,CAAI,UAA4B,EAAE,UAAkB,EAAoB,EAAE;YAC7F,OAAO,KAAK,CAAC,WAAW,CAAI,UAAU,EAAE;gBACtC,KAAK,sCAAa;gBAClB,UAAU;aACX,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,kBAAkB;QACX,oBAAe,GAAG,KAAK,EAAE,OAA2B,EAAiB,EAAE;;YAC5E,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAC/B,OAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,0CAAE,QAAQ,oDAA0B,IAAI,uBAAuB,CACvF,CAAC;YACF,iBAAiB,CAAC,IAAI,GAAG,wBAAwB,CAAC;YAClD,IAAI,CAAC,WAAW,CACd,iBAAiB,CAAC,QAAQ,EAAE,EAC5B,UAAU,EACV,wCAAe,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS,CACnD,CAAC;YAEF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACrC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;gBACxF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QApHA,uBAAA,IAAI,eAAe,UAAU,EAAC;IAChC,CAAC;IA9CM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,cAA8B;;QAGxD,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,MAAM,iCACrC,cAAc,KACjB,eAAe,EACb,cAAc,CAAC,QAAQ,KAAK,IAAI;gBAC9B,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC,SAAS,IACf,CAAC;QAEH,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;QAEnC,MAAM,QAAQ,SAAG,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,gBAAgB,mCAAI,yBAAyB,CAAC;QAE/E,KAAK,CAAC,kBAAkB,CAAC,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,iBAAiB,CAAC,CAAC;QAC5D,KAAK,CAAC,YAAY,CAAC,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,QAAQ,CAAC,CAAC;QAE7C,IAAI,MAAM,KAAK,CAAC,eAAe,EAAE,EAAE;YACjC,MAAM,KAAK,CAAC,mBAAmB,CAAC,KAAK,EAAE,EAAE,gBAAgB,EAAE,cAAc,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAC9F,aAAM,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,eAAe,+CAA/B,cAAc,EAAoB,KAAK,EAAC,CAAC;YAC/C,OAAO,KAAK,CAAC;SACd;QACD,MAAM,KAAK,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC;YAChC,gBAAgB,EAAE,QAAQ;YAC1B,6CAA6C;YAC7C,aAAa,QAAE,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,aAAa,mCAAI,IAAI,GAAG,KAAK,GAAG,WAAW;YAC1E,WAAW,QAAE,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,WAAW,mCAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;YACtE,SAAS,EAAE,KAAK,IAAI,EAAE;;gBACpB,MAAM,KAAK,CAAC,mBAAmB,CAAC,KAAK,EAAE;oBACrC,gBAAgB,EAAE,cAAc,CAAC,gBAAgB;iBAClD,CAAC,CAAC;gBACH,MAAA,CAAC,aAAM,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,SAAS,+CAAzB,cAAc,EAAe,CAAC,mCAAI,CAAC,aAAM,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,eAAe,+CAA/B,cAAc,EAAoB,KAAK,EAAC,CAAC,CAAC;YAC5F,CAAC;YACD,OAAO,EAAE,KAAK,CAAC,WAAW;SAC3B,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IAWM,KAAK,CAAC,eAAe;QAC1B,MAAM,MAAM,GAAG,MAAM,0CAAiB,eAAe,EAAE,CAAC;QACxD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAW,QAAQ;QACjB,OAAO,0CAAiB,WAAW,EAAE,CAAC;IACxC,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;IACtC,CAAC;IAED,IAAW,MAAM;QACf,OAAO,0CAAiB,MAAM,CAAC;IACjC,CAAC;IAEO,kBAAkB,CAAC,QAAiB;QAC1C,uBAAA,IAAI,mBAAmB,QAAQ,EAAC;IAClC,CAAC;IAEO,YAAY,CAAC,QAAiB;QACpC,uBAAA,IAAI,aAAa,QAAQ,EAAC;IAC5B,CAAC;IAES,aAAa;QACrB,iDAAwB;IAC1B,CAAC;IA8CO,YAAY,CAAC,EAAO;QAC1B,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS,EAAE;YAC3B,IAAI,IAAI,CAAC;YACT,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,SAAS,EAAE;gBAChC,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC;aACvB;YACD,MAAM,CAAC,EAAE,GAAG,EAAE,aAAF,EAAE,cAAF,EAAE,GAAI,IAAI,CAAC;YACvB,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC;SACvB;aAAM;YACL,MAAM,CAAC,EAAE,GAAG,EAAE,aAAF,EAAE,cAAF,EAAE,GAAI,IAAI,CAAC;SACxB;IACH,CAAC;IAEM,WAAW,CAAC,KAAc;QAC/B,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IA2BO,gBAAgB,CACtB,iBAAsB,EACtB,OAA6B,EAC7B,MAA8B,EAC9B,OAA2B;QAE3B,OAAO,KAAK,EAAE,KAAmB,EAAE,EAAE;;YACnC,IAAI,KAAK,CAAC,MAAM,KAAK,iBAAiB,CAAC,MAAM,EAAE;gBAC7C,OAAO;aACR;YAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAkC,CAAC;YAEzD,QAAQ,OAAO,CAAC,IAAI,EAAE;gBACpB,KAAK,sBAAsB,CAAC,KAAK,CAAC,CAAC;oBACjC,yDAAyD;oBACzD,MAAM,OAAO,GAA0D;wBACrE,IAAI,EAAE,sBAAsB,CAAC,MAAM;wBACnC,IAAI,EAAE,OAAO,CAAC,IAAI;wBAClB,EAAE,EAAE,OAAO,CAAC,EAAE;wBACd,MAAM,EAAE,OAAO,CAAC,MAAM;wBACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;wBAC1B,UAAU,QAAE,OAAO,CAAC,UAAU,mCAAI,EAAE;wBACpC,cAAc,QAAE,OAAO,CAAC,cAAc,mCAAI,EAAE;qBAC7C,CAAC;oBACF,MAAA,IAAI,CAAC,OAAO,0CAAE,WAAW,CAAC,OAAO,EAAE,iBAAiB,CAAC,MAAM,EAAE;oBAC7D,MAAM;iBACP;gBACD,KAAK,sBAAsB,CAAC,OAAO;oBACjC,4CAA4C;oBAC5C,IAAI;wBACF,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,QAAE,OAAO,CAAC,cAAc,mCAAI,EAAE,CAAC,CAAC,CAAC;qBACxF;oBAAC,OAAO,GAAG,EAAE;wBACZ,MAAM,CAAC,IAAI,CAAC,cAAc,CAAE,GAAa,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;qBACtE;oBACD,MAAM;gBACR,KAAK,sBAAsB,CAAC,IAAI;oBAC9B,MAAM,CACJ,IAAI,CAAC,cAAc,CAChB,OAAiD,CAAC,IAAI,EACvD,OAAO,CAAC,OAAO,CAChB,CACF,CAAC;oBACF,MAAM;gBACR;oBACE,MAAM;aACT;QACH,CAAC,CAAC;IACJ,CAAC;IACO,cAAc,CACpB,YAAqB,EACrB,OAAkC;QAElC,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,YAAY,EAAE;QACxB,OAAO,YAAY,CAAC;IACtB,CAAC;IAEO,cAAc,CACpB,KAAkC,EAClC,SAAwD,EACxD,KAAc;QAEd,IAAI,KAAK,EAAE;YACT,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC;SAChD;aAAM;YACL,IAAI,CAAC,OAAO,EAAE,CAAC;SAChB;QAED,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,KAAK,EAAE;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
1
+ {"version":3,"file":"icConnect.js","sourceRoot":"","sources":["../../../src/ic/icConnect.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ import { DelegationIdentity } from '@dfinity/identity';
2
+ import { TransactionResponse } from '../../connections/ledgerConnection';
3
+ import { GetTransactionsResponse } from 'src/canisters/nns-dapp';
4
+ export declare const MILI_PER_SECOND = 1000000;
5
+ export declare enum RosettaTransactionStatus {
6
+ COMPLETED = "COMPLETED",
7
+ REVERTED = "REVERTED",
8
+ PENDING = "PENDING"
9
+ }
10
+ export declare enum RosettaTransactionType {
11
+ TRANSACTION = "TRANSACTION",
12
+ FEE = "FEE",
13
+ RECEIVE = "RECEIVE",
14
+ SEND = "SEND"
15
+ }
16
+ export interface Currency {
17
+ symbol: string;
18
+ decimals: number;
19
+ }
20
+ export interface InnerUsedTransactionDetail {
21
+ to?: string;
22
+ from: string;
23
+ status?: RosettaTransactionStatus;
24
+ amount?: string;
25
+ currency?: {
26
+ symbol: string;
27
+ decimals: number;
28
+ };
29
+ fee: {
30
+ amount?: string;
31
+ currency?: {
32
+ symbol: string;
33
+ decimals: number;
34
+ };
35
+ };
36
+ }
37
+ export interface InnerUsedTransaction {
38
+ type: RosettaTransactionType;
39
+ details: InnerUsedTransactionDetail;
40
+ }
41
+ export interface InferredTransaction {
42
+ hash: string;
43
+ timestamp: string;
44
+ type: RosettaTransactionType;
45
+ details: InnerUsedTransactionDetail;
46
+ caller: string;
47
+ block_height: string;
48
+ memo: string;
49
+ lockTime: string;
50
+ }
51
+ export interface GetRossetaTransactionsResponse {
52
+ total: number;
53
+ transactions: InferredTransaction[];
54
+ }
55
+ export declare const getICPTransactions: (accountId: string) => Promise<GetRossetaTransactionsResponse>;
56
+ export declare const getTransactions: (localDelegationIdentity: DelegationIdentity, fromAccount: string) => Promise<GetTransactionsResponse>;
57
+ export declare const getICPTransactionsByBlock: (fromAccount: string, blockHeight: bigint) => Promise<{
58
+ total: any;
59
+ transactions: any;
60
+ }>;
61
+ export declare const getExactTransaction: (fromAccount: string, singleResponse: TransactionResponse, txns: GetTransactionsResponse) => InferredTransaction | undefined;
62
+ export declare const getTransactionFromRosseta: (fromAccount: string, singleResponse: TransactionResponse, txns: GetRossetaTransactionsResponse) => InferredTransaction | undefined;
@@ -0,0 +1,236 @@
1
+ import fetch from 'cross-fetch';
2
+ // import {
3
+ // GetTransactionsResponse,
4
+ // Send,
5
+ // Timestamp,
6
+ // } from 'src/frontend/generated/nns-dapp';
7
+ import { NET_ID, ROSETTA_URL } from '../../utils/constants';
8
+ import { formatAssetBySymbol, parseBalance, TokenSymbol, } from '../../utils/converter';
9
+ import { NNSConnection as nns } from '../../connections/nnsConnection';
10
+ export const MILI_PER_SECOND = 1000000;
11
+ export var RosettaTransactionStatus;
12
+ (function (RosettaTransactionStatus) {
13
+ RosettaTransactionStatus["COMPLETED"] = "COMPLETED";
14
+ RosettaTransactionStatus["REVERTED"] = "REVERTED";
15
+ RosettaTransactionStatus["PENDING"] = "PENDING";
16
+ })(RosettaTransactionStatus || (RosettaTransactionStatus = {}));
17
+ export var RosettaTransactionType;
18
+ (function (RosettaTransactionType) {
19
+ RosettaTransactionType["TRANSACTION"] = "TRANSACTION";
20
+ RosettaTransactionType["FEE"] = "FEE";
21
+ RosettaTransactionType["RECEIVE"] = "RECEIVE";
22
+ RosettaTransactionType["SEND"] = "SEND";
23
+ })(RosettaTransactionType || (RosettaTransactionType = {}));
24
+ const getTransactionInfo = (accountId, rosettaTransaction) => {
25
+ const { operations, metadata: { timestamp: ts, block_height: bh, memo: mm, lockTime: lt }, transaction_identifier: { hash }, } = rosettaTransaction;
26
+ // console.log('------ getting rosetta transaction start -------');
27
+ // console.log({ rosettaTransaction });
28
+ // console.log('------ getting rosetta transaction end -------');
29
+ const transaction = {
30
+ type: RosettaTransactionType.SEND,
31
+ details: {
32
+ status: RosettaTransactionStatus.COMPLETED,
33
+ fee: {},
34
+ from: accountId,
35
+ },
36
+ };
37
+ operations.forEach((operation) => {
38
+ const value = BigInt(operation.amount.value);
39
+ const { decimals } = operation.amount.currency;
40
+ const amount = parseBalance({ value: value.toString(), decimals });
41
+ if (operation.type === RosettaTransactionType.FEE) {
42
+ transaction.details.fee.amount = amount;
43
+ transaction.details.fee.currency = operation.amount.currency;
44
+ return;
45
+ }
46
+ if (value >= 0)
47
+ transaction.details.to = operation.account.address;
48
+ if (value <= 0)
49
+ transaction.details.from = operation.account.address;
50
+ if (transaction.details.status === RosettaTransactionStatus.COMPLETED &&
51
+ operation.status !== RosettaTransactionStatus.COMPLETED)
52
+ transaction.details.status = operation.status;
53
+ transaction.type =
54
+ transaction.details.to === accountId
55
+ ? RosettaTransactionType.RECEIVE
56
+ : RosettaTransactionType.SEND;
57
+ transaction.details.amount = amount;
58
+ transaction.details.currency = operation.amount.currency;
59
+ });
60
+ return Object.assign(Object.assign({}, transaction), { caller: transaction.details.from, hash, timestamp: ts !== undefined ? (BigInt(ts) / BigInt(MILI_PER_SECOND)).toString() : '', block_height: bh !== undefined ? BigInt(bh).toString() : '', memo: mm !== undefined ? BigInt(mm).toString() : '', lockTime: lt !== undefined ? BigInt(lt).toString() : '' });
61
+ };
62
+ export const getICPTransactions = async (accountId) => {
63
+ const response = await fetch(`${ROSETTA_URL}/search/transactions`, {
64
+ method: 'POST',
65
+ body: JSON.stringify({
66
+ network_identifier: NET_ID,
67
+ account_identifier: {
68
+ address: accountId,
69
+ },
70
+ }),
71
+ headers: {
72
+ 'Content-Type': 'application/json',
73
+ Accept: '*/*',
74
+ },
75
+ });
76
+ if (!response.ok)
77
+ throw Error(`GET_TRANSACTIONS_FAILS: ${response.statusText}`);
78
+ const { transactions, total_count } = await response.json();
79
+ const transactionsInfo = transactions.map(({ transaction }) => getTransactionInfo(accountId, transaction));
80
+ return {
81
+ total: total_count,
82
+ transactions: transactionsInfo,
83
+ };
84
+ };
85
+ export const getTransactions = async (localDelegationIdentity, fromAccount) => {
86
+ const result = await nns.getTransactions({ delegationIdentity: localDelegationIdentity }, { page_size: 10, offset: 0, account_identifier: fromAccount });
87
+ return result;
88
+ };
89
+ export const getICPTransactionsByBlock = async (fromAccount, blockHeight) => {
90
+ try {
91
+ const response = await fetch(`${ROSETTA_URL}/block`, {
92
+ method: 'POST',
93
+ body: JSON.stringify({
94
+ network_identifier: NET_ID,
95
+ block_identifier: { index: parseInt(blockHeight.toString()) },
96
+ }),
97
+ headers: {
98
+ 'Content-Type': 'application/json',
99
+ Accept: '*/*',
100
+ },
101
+ });
102
+ if (!response.ok)
103
+ throw Error(`GET_TRANSACTIONS_FAILS: ${response.statusText}`);
104
+ const { block } = await response.json();
105
+ const { transactions } = block;
106
+ if (transactions === undefined || block === undefined) {
107
+ return {
108
+ total: transactions.length,
109
+ transactions: [],
110
+ };
111
+ }
112
+ const transactionsInfo = transactions.map((transaction) => getTransactionInfo(fromAccount, transaction));
113
+ return {
114
+ total: transactions.length,
115
+ transactions: transactionsInfo,
116
+ };
117
+ }
118
+ catch (error) {
119
+ throw error;
120
+ }
121
+ };
122
+ export const getExactTransaction = (fromAccount, singleResponse, txns) => {
123
+ const { sendArgs } = singleResponse;
124
+ const { amount, created_at_time, memo, to } = sendArgs;
125
+ const { blockHeight } = singleResponse;
126
+ const { transactions } = txns;
127
+ console.log({ singleResponse, txns });
128
+ const found = transactions.find((val) => {
129
+ return created_at_time[0] !== undefined
130
+ ? val.timestamp.timestamp_nanos >
131
+ created_at_time[0].timestamp_nanos
132
+ : true &&
133
+ val.block_height === blockHeight &&
134
+ val.memo === memo &&
135
+ JSON.stringify(val.transaction_type[0]) ===
136
+ JSON.stringify({ Send: null }) &&
137
+ val.transfer.Send.amount.e8s === amount.e8s &&
138
+ val.transfer.Send.to === to;
139
+ });
140
+ if (found) {
141
+ const res = {
142
+ hash: '',
143
+ timestamp: (BigInt(found.timestamp.timestamp_nanos) / BigInt(1000000)).toString(),
144
+ type: RosettaTransactionType.SEND,
145
+ details: {
146
+ to,
147
+ from: fromAccount,
148
+ status: RosettaTransactionStatus.COMPLETED,
149
+ amount: amount.e8s.toString(),
150
+ currency: {
151
+ symbol: TokenSymbol.ICP,
152
+ decimals: 10,
153
+ },
154
+ fee: {
155
+ amount: found.transfer.Send.fee.e8s.toString(),
156
+ currency: {
157
+ symbol: TokenSymbol.ICP,
158
+ decimals: 10,
159
+ },
160
+ },
161
+ },
162
+ caller: fromAccount,
163
+ block_height: blockHeight.toString(),
164
+ memo: memo.toString(),
165
+ lockTime: '',
166
+ };
167
+ return res;
168
+ }
169
+ return undefined;
170
+ };
171
+ // use Rosseta API to fetch transaction list, and return
172
+ // This API works on mainnet, however not in local testnet
173
+ export const getTransactionFromRosseta = (fromAccount, singleResponse, txns) => {
174
+ const { sendArgs } = singleResponse;
175
+ const { amount, created_at_time, memo, to } = sendArgs;
176
+ const { blockHeight } = singleResponse;
177
+ const { transactions } = txns;
178
+ console.log({ singleResponse, transactions });
179
+ const found = transactions.find((val) => {
180
+ var _a;
181
+ return created_at_time[0] !== undefined
182
+ ? val.timestamp.length <
183
+ created_at_time[0].timestamp_nanos.toString().length
184
+ ? BigInt(val.timestamp) * BigInt(1000000) >
185
+ created_at_time[0].timestamp_nanos
186
+ : BigInt(val.timestamp) >
187
+ created_at_time[0].timestamp_nanos
188
+ : true &&
189
+ BigInt(val.block_height) === blockHeight &&
190
+ BigInt(val.memo) === memo &&
191
+ val.details.to === to &&
192
+ val.details.amount === ((_a = formatAssetBySymbol(amount.e8s, val.details.currency.symbol)) === null || _a === void 0 ? void 0 : _a.amount.toString()) &&
193
+ val.caller === fromAccount;
194
+ });
195
+ return found;
196
+ };
197
+ const aaa = {
198
+ transaction_identifier: {
199
+ hash: 'df8576aa9be05b561dae1b7f706d109789cf25b895d29b3a1d7da2df92247d97',
200
+ },
201
+ operations: [
202
+ {
203
+ type: 'TRANSACTION',
204
+ operation_identifier: { index: 0 },
205
+ status: 'COMPLETED',
206
+ account: {
207
+ address: 'da5fd722e22c4970b4347d41873ba86c51f87ee32f271d6762fc49627eeecb71',
208
+ },
209
+ amount: { value: -100000, currency: { symbol: 'ICP', decimals: 8 } },
210
+ },
211
+ {
212
+ type: 'TRANSACTION',
213
+ operation_identifier: { index: 1 },
214
+ status: 'COMPLETED',
215
+ account: {
216
+ address: '848753b6fac50019dffc34ead1af095863405b3cce463352c1ecf3109ada4b23',
217
+ },
218
+ amount: { value: 100000, currency: { symbol: 'ICP', decimals: 8 } },
219
+ },
220
+ {
221
+ type: 'FEE',
222
+ operation_identifier: { index: 2 },
223
+ status: 'COMPLETED',
224
+ account: {
225
+ address: 'da5fd722e22c4970b4347d41873ba86c51f87ee32f271d6762fc49627eeecb71',
226
+ },
227
+ amount: { value: -10000, currency: { symbol: 'ICP', decimals: 8 } },
228
+ },
229
+ ],
230
+ metadata: {
231
+ block_height: 1680083,
232
+ memo: 22380256,
233
+ timestamp: 1639810289340003912,
234
+ },
235
+ };
236
+ //# sourceMappingURL=rosseta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rosseta.js","sourceRoot":"","sources":["../../../../src/services/history/rosseta.ts"],"names":[],"mappings":"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"}
@@ -79,6 +79,7 @@ export interface AuthClientLoginOptions extends AuthClientCreateOptions {
79
79
  export interface ConnectOptions extends AuthClientLoginOptions {
80
80
  ledgerCanisterId?: string;
81
81
  walletProviderUrl?: string;
82
+ signerProviderUrl?: string;
82
83
  useFrame: boolean;
83
84
  }
84
85
  export interface TransactionOptions {
@@ -86,7 +87,7 @@ export interface TransactionOptions {
86
87
  * Identity provider. By default, use the identity service.
87
88
  */
88
89
  walletProvider?: string | URL;
89
- from: AccountIdentifier;
90
+ from?: AccountIdentifier;
90
91
  to: AccountIdentifier;
91
92
  amount: bigint;
92
93
  sendOpts: SendOpts;
@@ -101,6 +102,24 @@ export interface TransactionOptions {
101
102
  */
102
103
  onError?: (error?: string) => void;
103
104
  }
105
+ export interface SignerOptions {
106
+ /**
107
+ * Identity provider. By default, use the identity service.
108
+ */
109
+ signerProvider?: string | URL;
110
+ from?: AccountIdentifier;
111
+ message: Uint8Array | string;
112
+ maxTimeout?: number;
113
+ successTimeout?: number;
114
+ /**
115
+ * Callback once login has completed
116
+ */
117
+ onSuccess?: (value?: any) => void | Promise<void>;
118
+ /**
119
+ * Callback in case authentication fails
120
+ */
121
+ onError?: (error?: string) => void;
122
+ }
104
123
  /**
105
124
  * Interface for persisting user authentication data
106
125
  */
@@ -141,6 +160,35 @@ export declare enum PermissionsType {
141
160
  identity = "permissions-identity",
142
161
  wallet = "permissions-wallet"
143
162
  }
163
+ export declare enum SignerMessageKind {
164
+ client = "signer-client",
165
+ ready = "signer-ready",
166
+ success = "signer-client-success",
167
+ fail = "signer-client-failure"
168
+ }
169
+ export interface SignerReadyMessage {
170
+ kind: SignerMessageKind.ready;
171
+ }
172
+ export interface SignerResponseFailure {
173
+ kind: SignerMessageKind.fail;
174
+ text: string;
175
+ }
176
+ export interface SignerResponseFailure {
177
+ kind: SignerMessageKind.fail;
178
+ text: string;
179
+ }
180
+ export interface SignerResponseSuccess {
181
+ kind: SignerMessageKind.success;
182
+ payload?: {
183
+ publicKey: string;
184
+ signature: string;
185
+ originPayload: {
186
+ message: Uint8Array;
187
+ };
188
+ };
189
+ }
190
+ export declare type SignerResponseMessage = SignerReadyMessage | SignerResponse;
191
+ export declare type SignerResponse = SignerResponseSuccess | SignerResponseFailure;
144
192
  export declare enum TransactionMessageKind {
145
193
  client = "transaction-client",
146
194
  ready = "transaction-ready",
@@ -3,6 +3,13 @@ export var PermissionsType;
3
3
  PermissionsType["identity"] = "permissions-identity";
4
4
  PermissionsType["wallet"] = "permissions-wallet";
5
5
  })(PermissionsType || (PermissionsType = {}));
6
+ export var SignerMessageKind;
7
+ (function (SignerMessageKind) {
8
+ SignerMessageKind["client"] = "signer-client";
9
+ SignerMessageKind["ready"] = "signer-ready";
10
+ SignerMessageKind["success"] = "signer-client-success";
11
+ SignerMessageKind["fail"] = "signer-client-failure";
12
+ })(SignerMessageKind || (SignerMessageKind = {}));
6
13
  // Transaction Types
7
14
  export var TransactionMessageKind;
8
15
  (function (TransactionMessageKind) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAmKA,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,oDAAiC,CAAA;IACjC,gDAA6B,CAAA;AAC/B,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B;AAED,oBAAoB;AACpB,MAAM,CAAN,IAAY,sBAKX;AALD,WAAY,sBAAsB;IAChC,uDAA6B,CAAA;IAC7B,qDAA2B,CAAA;IAC3B,gEAAsC,CAAA;IACtC,6DAAmC,CAAA;AACrC,CAAC,EALW,sBAAsB,KAAtB,sBAAsB,QAKjC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAwLA,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,oDAAiC,CAAA;IACjC,gDAA6B,CAAA;AAC/B,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B;AAED,MAAM,CAAN,IAAY,iBAKX;AALD,WAAY,iBAAiB;IAC3B,6CAAwB,CAAA;IACxB,2CAAsB,CAAA;IACtB,sDAAiC,CAAA;IACjC,mDAA8B,CAAA;AAChC,CAAC,EALW,iBAAiB,KAAjB,iBAAiB,QAK5B;AA+BD,oBAAoB;AACpB,MAAM,CAAN,IAAY,sBAKX;AALD,WAAY,sBAAsB;IAChC,uDAA6B,CAAA;IAC7B,qDAA2B,CAAA;IAC3B,gEAAsC,CAAA;IACtC,6DAAmC,CAAA;AACrC,CAAC,EALW,sBAAsB,KAAtB,sBAAsB,QAKjC"}
@@ -1,9 +1,17 @@
1
+ export declare const LEDGER_CANISTER_ID = "ryjl3-tyaaa-aaaaa-aaaba-cai";
2
+ export declare const NNS_CANISTER_ID = "qoctq-giaaa-aaaaa-aaaea-cai";
1
3
  export declare const SUB_ACCOUNT_BYTE_LENGTH = 32;
2
4
  export declare const CREATE_CANISTER_MEMO: bigint;
3
5
  export declare const TOP_UP_CANISTER_MEMO: bigint;
4
6
  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";
7
+ export declare const NET_ID: {
8
+ blockchain: string;
9
+ network: string;
10
+ };
11
+ export declare const ROSETTA_URL = "https://rosetta-api.internetcomputer.org";
12
+ export declare const IC_EXPLORER = "https://dashboard.internetcomputer.org";
13
+ export declare const IC_ROCKS = "https://ic.rocks";
14
+ export declare const MAX_TRANSACTION_DECISION_MILSECONDS = 120000;
7
15
  export declare const PRINCIPAL_REGEX: RegExp;
8
16
  export declare const ALPHANUM_REGEX: RegExp;
9
17
  export declare const CANISTER_REGEX: RegExp;