@astrox/connection 0.0.30 → 0.0.35

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 (70) hide show
  1. package/lib/cjs/canisters/internet_identity_idl.js +1 -2
  2. package/lib/cjs/canisters/internet_identity_idl.js.map +1 -1
  3. package/lib/cjs/canisters/ledger.idl.js +1 -2
  4. package/lib/cjs/canisters/ledger.idl.js.map +1 -1
  5. package/lib/cjs/canisters/me.idl.js +1 -2
  6. package/lib/cjs/canisters/me.idl.js.map +1 -1
  7. package/lib/cjs/canisters/nns-dapp-cert.idl.js +1 -2
  8. package/lib/cjs/canisters/nns-dapp-cert.idl.js.map +1 -1
  9. package/lib/cjs/canisters/nns-dapp.idl.js +1 -2
  10. package/lib/cjs/canisters/nns-dapp.idl.js.map +1 -1
  11. package/lib/cjs/connections/baseConnection.js +3 -5
  12. package/lib/cjs/connections/baseConnection.js.map +1 -1
  13. package/lib/cjs/connections/ledgerConnection.d.ts +5 -1
  14. package/lib/cjs/connections/ledgerConnection.js +7 -8
  15. package/lib/cjs/connections/ledgerConnection.js.map +1 -1
  16. package/lib/cjs/connections/nnsConnection.d.ts +9 -1
  17. package/lib/cjs/connections/nnsConnection.js +12 -59
  18. package/lib/cjs/connections/nnsConnection.js.map +1 -1
  19. package/lib/cjs/ic/icAuthClient.js +7 -9
  20. package/lib/cjs/ic/icAuthClient.js.map +1 -1
  21. package/lib/cjs/ic/icConnect.d.ts +5 -1
  22. package/lib/cjs/ic/icConnect.js +106 -35
  23. package/lib/cjs/ic/icConnect.js.map +1 -1
  24. package/lib/cjs/ic/icWindow.js.map +1 -1
  25. package/lib/cjs/ic/index.js +0 -1
  26. package/lib/cjs/ic/index.js.map +1 -1
  27. package/lib/cjs/index.js +1 -1
  28. package/lib/cjs/services/history/rosseta.d.ts +62 -0
  29. package/lib/cjs/services/history/rosseta.js +242 -0
  30. package/lib/cjs/services/history/rosseta.js.map +1 -0
  31. package/lib/cjs/types/index.d.ts +50 -0
  32. package/lib/cjs/types/index.js +8 -1
  33. package/lib/cjs/types/index.js.map +1 -1
  34. package/lib/cjs/utils/common/types.d.ts +4 -0
  35. package/lib/cjs/utils/constants.d.ts +21 -2
  36. package/lib/cjs/utils/constants.js +22 -6
  37. package/lib/cjs/utils/constants.js.map +1 -1
  38. package/lib/cjs/utils/converter.d.ts +24 -1
  39. package/lib/cjs/utils/converter.js +111 -46
  40. package/lib/cjs/utils/converter.js.map +1 -1
  41. package/lib/cjs/utils/index.js +1 -1
  42. package/lib/esm/connections/baseConnection.js.map +1 -1
  43. package/lib/esm/connections/ledgerConnection.d.ts +5 -1
  44. package/lib/esm/connections/ledgerConnection.js +0 -1
  45. package/lib/esm/connections/ledgerConnection.js.map +1 -1
  46. package/lib/esm/connections/nnsConnection.d.ts +9 -1
  47. package/lib/esm/connections/nnsConnection.js +9 -56
  48. package/lib/esm/connections/nnsConnection.js.map +1 -1
  49. package/lib/esm/ic/icAuthClient.js +3 -5
  50. package/lib/esm/ic/icAuthClient.js.map +1 -1
  51. package/lib/esm/ic/icConnect.d.ts +5 -1
  52. package/lib/esm/ic/icConnect.js +107 -36
  53. package/lib/esm/ic/icConnect.js.map +1 -1
  54. package/lib/esm/ic/icWindow.js.map +1 -1
  55. package/lib/esm/services/history/rosseta.d.ts +62 -0
  56. package/lib/esm/services/history/rosseta.js +236 -0
  57. package/lib/esm/services/history/rosseta.js.map +1 -0
  58. package/lib/esm/types/index.d.ts +50 -0
  59. package/lib/esm/types/index.js +7 -0
  60. package/lib/esm/types/index.js.map +1 -1
  61. package/lib/esm/utils/common/types.d.ts +4 -0
  62. package/lib/esm/utils/constants.d.ts +21 -2
  63. package/lib/esm/utils/constants.js +21 -5
  64. package/lib/esm/utils/constants.js.map +1 -1
  65. package/lib/esm/utils/converter.d.ts +24 -1
  66. package/lib/esm/utils/converter.js +86 -4
  67. package/lib/esm/utils/converter.js.map +1 -1
  68. package/lib/tsconfig-cjs.tsbuildinfo +2847 -1
  69. package/lib/tsconfig.tsbuildinfo +2846 -1
  70. package/package.json +4 -3
@@ -1,16 +1,18 @@
1
1
  "use strict";
2
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
- if (kind === "m") throw new TypeError("Private method is not writable");
4
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
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;
7
8
  };
8
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
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);
12
14
  };
13
- var _IC_authClient, _IC_agent, _IC_localLedger, _IC_walletProvider;
15
+ var _authClient, _agent, _localLedger, _walletProvider, _signerProvider, _useFrame;
14
16
  Object.defineProperty(exports, "__esModule", { value: true });
15
17
  exports.IC = void 0;
16
18
  /* eslint-disable @typescript-eslint/no-explicit-any */
@@ -26,13 +28,19 @@ const hours = BigInt(24);
26
28
  const nanoseconds = BigInt(3600000000000);
27
29
  const WALLET_PROVIDER_DEFAULT = 'https://63k2f-nyaaa-aaaah-aakla-cai.raw.ic0.app';
28
30
  const WALLET_PROVIDER_ENDPOINT = '#transaction';
31
+ const SIGNER_PROVIDER_DEFAULT = 'https://63k2f-nyaaa-aaaah-aakla-cai.raw.ic0.app';
32
+ const SIGNER_PROVIDER_ENDPOINT = '#signer';
33
+ const FRAME_SETTING = 'height=600, width=800, top=0, right=0, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no';
34
+ const FRAME_SETTING_PAYMENT = 'height=600, width=480, top=0, right=0, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no';
29
35
  class IC extends icWindow_1.ICWindow {
30
36
  constructor(authClient) {
31
37
  super();
32
- _IC_authClient.set(this, void 0);
33
- _IC_agent.set(this, void 0);
34
- _IC_localLedger.set(this, void 0);
35
- _IC_walletProvider.set(this, void 0); // a local ledger to query balance only
38
+ _authClient.set(this, void 0);
39
+ _agent.set(this, void 0);
40
+ _localLedger.set(this, void 0);
41
+ _walletProvider.set(this, void 0);
42
+ _signerProvider.set(this, void 0);
43
+ _useFrame.set(this, false); // a local ledger to query balance only
36
44
  this.disconnect = async (options = {}) => {
37
45
  await this.getAuthClient().logout(options);
38
46
  };
@@ -41,48 +49,62 @@ class IC extends icWindow_1.ICWindow {
41
49
  if (this.wallet === undefined) {
42
50
  throw Error('Wallet address is not found');
43
51
  }
44
- if (__classPrivateFieldGet(this, _IC_localLedger, "f") === undefined) {
52
+ if (__classPrivateFieldGet(this, _localLedger) === undefined) {
45
53
  throw Error('Ledger connection faild');
46
54
  }
47
- const result = await ((_a = __classPrivateFieldGet(this, _IC_localLedger, "f")) === null || _a === void 0 ? void 0 : _a.getBalance(this.wallet));
55
+ const result = await ((_a = __classPrivateFieldGet(this, _localLedger)) === null || _a === void 0 ? void 0 : _a.getBalance(this.wallet));
48
56
  return result;
49
57
  };
50
58
  this.handleAuthenticated = async (ic, { ledgerCanisterId }) => {
51
59
  const identity = ic.getAuthClient().getIdentity();
52
- __classPrivateFieldSet(this, _IC_agent, new agent_1.HttpAgent({ identity }), "f");
60
+ __classPrivateFieldSet(this, _agent, new agent_1.HttpAgent({ identity }));
53
61
  if (!process.env.isProduction) {
54
- await __classPrivateFieldGet(this, _IC_agent, "f").fetchRootKey();
62
+ await __classPrivateFieldGet(this, _agent).fetchRootKey();
55
63
  }
56
64
  const actorResult = await ledgerConnection_1.LedgerConnection.createActor(ic.getAuthClient().getDelegationIdentity(), ledgerCanisterId);
57
- __classPrivateFieldSet(this, _IC_localLedger, ledgerConnection_1.LedgerConnection.createConnection(ic.getAuthClient().getInnerKey(), ic.getAuthClient().getDelegationIdentity(), ledgerCanisterId, actorResult.actor, __classPrivateFieldGet(this, _IC_agent, "f")), "f");
65
+ __classPrivateFieldSet(this, _localLedger, ledgerConnection_1.LedgerConnection.createConnection(ic.getAuthClient().getInnerKey(), ic.getAuthClient().getDelegationIdentity(), ledgerCanisterId, actorResult.actor, __classPrivateFieldGet(this, _agent)));
58
66
  this.injectWindow();
59
67
  return new IC(ic.getAuthClient());
60
68
  };
61
69
  this.createActor = (idlFactory, canisterId) => {
62
70
  return agent_1.Actor.createActor(idlFactory, {
63
- agent: __classPrivateFieldGet(this, _IC_agent, "f"),
71
+ agent: __classPrivateFieldGet(this, _agent),
64
72
  canisterId,
65
73
  });
66
74
  };
67
75
  // requestTransfer
68
76
  this.requestTransfer = async (options) => {
69
77
  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()) || __classPrivateFieldGet(this, _IC_walletProvider, "f") || WALLET_PROVIDER_DEFAULT);
78
+ 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);
71
79
  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');
80
+ this._openWindow(walletProviderUrl.toString(), 'icWindow', __classPrivateFieldGet(this, _useFrame) ? FRAME_SETTING_PAYMENT : undefined);
73
81
  return new Promise((resolve, reject) => {
74
82
  this._eventHandler = this._getEventHandler(walletProviderUrl, resolve, reject, options);
75
83
  window.addEventListener('message', this._eventHandler);
76
84
  });
77
85
  };
78
- __classPrivateFieldSet(this, _IC_authClient, authClient, "f");
86
+ this.signMessage = async (options) => {
87
+ var _a;
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
+ };
96
+ __classPrivateFieldSet(this, _authClient, authClient);
79
97
  }
80
98
  static async connect(connectOptions) {
81
99
  var _a, _b, _c, _d;
82
- const authClient = await icAuthClient_1.AuthClient.create(connectOptions);
100
+ const authClient = await icAuthClient_1.AuthClient.create(Object.assign(Object.assign({}, connectOptions), { idpWindowOption: connectOptions.useFrame === true
101
+ ? FRAME_SETTING
102
+ : undefined }));
83
103
  const newIC = new this(authClient);
84
104
  const provider = (_a = connectOptions === null || connectOptions === void 0 ? void 0 : connectOptions.identityProvider) !== null && _a !== void 0 ? _a : icStorage_1.IDENTITY_PROVIDER_DEFAULT;
85
105
  newIC._setWalletProvider(connectOptions === null || connectOptions === void 0 ? void 0 : connectOptions.walletProviderUrl);
106
+ newIC._setSignerProvider(connectOptions === null || connectOptions === void 0 ? void 0 : connectOptions.signerProviderUrl);
107
+ newIC._setUseFrame(connectOptions === null || connectOptions === void 0 ? void 0 : connectOptions.useFrame);
86
108
  if (await newIC.isAuthenticated()) {
87
109
  await newIC.handleAuthenticated(newIC, { ledgerCanisterId: connectOptions.ledgerCanisterId });
88
110
  await ((_b = connectOptions === null || connectOptions === void 0 ? void 0 : connectOptions.onAuthenticated) === null || _b === void 0 ? void 0 : _b.call(connectOptions, newIC));
@@ -105,23 +127,29 @@ class IC extends icWindow_1.ICWindow {
105
127
  return newIC;
106
128
  }
107
129
  async isAuthenticated() {
108
- const result = await __classPrivateFieldGet(this, _IC_authClient, "f").isAuthenticated();
130
+ const result = await __classPrivateFieldGet(this, _authClient).isAuthenticated();
109
131
  return result;
110
132
  }
111
133
  get identity() {
112
- return __classPrivateFieldGet(this, _IC_authClient, "f").getIdentity();
134
+ return __classPrivateFieldGet(this, _authClient).getIdentity();
113
135
  }
114
136
  get principal() {
115
137
  return this.identity.getPrincipal();
116
138
  }
117
139
  get wallet() {
118
- return __classPrivateFieldGet(this, _IC_authClient, "f").wallet;
140
+ return __classPrivateFieldGet(this, _authClient).wallet;
119
141
  }
120
142
  _setWalletProvider(provider) {
121
- __classPrivateFieldSet(this, _IC_walletProvider, provider, "f");
143
+ __classPrivateFieldSet(this, _walletProvider, provider);
144
+ }
145
+ _setSignerProvider(provider) {
146
+ __classPrivateFieldSet(this, _signerProvider, provider);
147
+ }
148
+ _setUseFrame(useFrame) {
149
+ __classPrivateFieldSet(this, _useFrame, useFrame);
122
150
  }
123
151
  getAuthClient() {
124
- return __classPrivateFieldGet(this, _IC_authClient, "f");
152
+ return __classPrivateFieldGet(this, _authClient);
125
153
  }
126
154
  injectWindow(ic) {
127
155
  if (window.ic !== undefined) {
@@ -139,9 +167,45 @@ class IC extends icWindow_1.ICWindow {
139
167
  handleError(error) {
140
168
  throw new Error(error);
141
169
  }
170
+ _getSignerHandler(walletProviderUrl, resolve, reject, options) {
171
+ return async (event) => {
172
+ var _a, _b, _c, _d;
173
+ if (event.origin !== walletProviderUrl.origin) {
174
+ return;
175
+ }
176
+ const message = event.data;
177
+ switch (message.kind) {
178
+ case types_1.SignerMessageKind.ready: {
179
+ // IDP is ready. Send a message to request authorization.
180
+ const request = {
181
+ kind: types_1.SignerMessageKind.client,
182
+ message: options.message,
183
+ maxTimeout: (_a = options.maxTimeout) !== null && _a !== void 0 ? _a : 90,
184
+ successTimeout: (_b = options.successTimeout) !== null && _b !== void 0 ? _b : 10
185
+ };
186
+ (_c = this._window) === null || _c === void 0 ? void 0 : _c.postMessage(request, walletProviderUrl.origin);
187
+ break;
188
+ }
189
+ case types_1.SignerMessageKind.success:
190
+ // Create the delegation chain and store it.
191
+ try {
192
+ resolve(this._handleSuccess(message, options.onSuccess, (_d = options.successTimeout) !== null && _d !== void 0 ? _d : 10));
193
+ }
194
+ catch (err) {
195
+ reject(this._handleFailure(err.message, options.onError));
196
+ }
197
+ break;
198
+ case types_1.SignerMessageKind.fail:
199
+ reject(this._handleFailure(message.text, options.onError));
200
+ break;
201
+ default:
202
+ break;
203
+ }
204
+ };
205
+ }
142
206
  _getEventHandler(walletProviderUrl, resolve, reject, options) {
143
207
  return async (event) => {
144
- var _a;
208
+ var _a, _b, _c, _d;
145
209
  if (event.origin !== walletProviderUrl.origin) {
146
210
  return;
147
211
  }
@@ -155,14 +219,16 @@ class IC extends icWindow_1.ICWindow {
155
219
  to: options.to,
156
220
  amount: options.amount,
157
221
  sendOpts: options.sendOpts,
222
+ maxTimeout: (_a = options.maxTimeout) !== null && _a !== void 0 ? _a : 90,
223
+ successTimeout: (_b = options.successTimeout) !== null && _b !== void 0 ? _b : 10
158
224
  };
159
- (_a = this._window) === null || _a === void 0 ? void 0 : _a.postMessage(request, walletProviderUrl.origin);
225
+ (_c = this._window) === null || _c === void 0 ? void 0 : _c.postMessage(request, walletProviderUrl.origin);
160
226
  break;
161
227
  }
162
228
  case types_1.TransactionMessageKind.success:
163
229
  // Create the delegation chain and store it.
164
230
  try {
165
- resolve(this._handleSuccess(message, options.onSuccess));
231
+ resolve(this._handleSuccess(message, options.onSuccess, (_d = options.successTimeout) !== null && _d !== void 0 ? _d : 10));
166
232
  }
167
233
  catch (err) {
168
234
  reject(this._handleFailure(err.message, options.onError));
@@ -181,12 +247,17 @@ class IC extends icWindow_1.ICWindow {
181
247
  onError === null || onError === void 0 ? void 0 : onError(errorMessage);
182
248
  return errorMessage;
183
249
  }
184
- _handleSuccess(value, onSuccess) {
185
- this._remove();
250
+ _handleSuccess(value, onSuccess, delay) {
251
+ if (delay) {
252
+ setTimeout(() => this._remove(), delay * 1000);
253
+ }
254
+ else {
255
+ this._remove();
256
+ }
186
257
  onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(value);
187
258
  return value;
188
259
  }
189
260
  }
190
261
  exports.IC = IC;
191
- _IC_authClient = new WeakMap(), _IC_agent = new WeakMap(), _IC_localLedger = new WeakMap(), _IC_walletProvider = new WeakMap();
262
+ _authClient = new WeakMap(), _agent = new WeakMap(), _localLedger = new WeakMap(), _walletProvider = new WeakMap(), _signerProvider = new WeakMap(), _useFrame = new WeakMap();
192
263
  //# sourceMappingURL=icConnect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"icConnect.js","sourceRoot":"","sources":["../../../src/ic/icConnect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"icConnect.js","sourceRoot":"","sources":["../../../src/ic/icConnect.ts"],"names":[],"mappings":"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"}
@@ -1 +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,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,2CAA2C;QAC3C,IAAI,CAAC,OAAO,GAAG,MAAA,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,UAAU,EAAE,OAAO,CAAC,mCAAI,SAAS,CAAC;IAC9E,CAAC;IAES,OAAO;;QACf,MAAA,IAAI,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;CACF;AArBD,4BAqBC"}
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,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,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;IAES,OAAO;;QACf,MAAA,IAAI,CAAC,OAAO,0CAAE,KAAK,GAAG;QACtB,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;CACF;AArBD,4BAqBC"}
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.IC = exports.ICAuthClient = void 0;
4
3
  var icAuthClient_1 = require("./icAuthClient");
5
4
  Object.defineProperty(exports, "ICAuthClient", { enumerable: true, get: function () { return icAuthClient_1.AuthClient; } });
6
5
  var icConnect_1 = require("./icConnect");
@@ -1 +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"}
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"}
package/lib/cjs/index.js CHANGED
@@ -7,7 +7,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
7
7
  o[k2] = m[k];
8
8
  }));
9
9
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
10
+ for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  __exportStar(require("./connections/baseConnection"), exports);
@@ -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,242 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getTransactionFromRosseta = exports.getExactTransaction = exports.getICPTransactionsByBlock = exports.getTransactions = exports.getICPTransactions = exports.RosettaTransactionType = exports.RosettaTransactionStatus = exports.MILI_PER_SECOND = void 0;
7
+ const cross_fetch_1 = __importDefault(require("cross-fetch"));
8
+ // import {
9
+ // GetTransactionsResponse,
10
+ // Send,
11
+ // Timestamp,
12
+ // } from 'src/frontend/generated/nns-dapp';
13
+ const constants_1 = require("../../utils/constants");
14
+ const converter_1 = require("../../utils/converter");
15
+ const nnsConnection_1 = require("../../connections/nnsConnection");
16
+ exports.MILI_PER_SECOND = 1000000;
17
+ var RosettaTransactionStatus;
18
+ (function (RosettaTransactionStatus) {
19
+ RosettaTransactionStatus["COMPLETED"] = "COMPLETED";
20
+ RosettaTransactionStatus["REVERTED"] = "REVERTED";
21
+ RosettaTransactionStatus["PENDING"] = "PENDING";
22
+ })(RosettaTransactionStatus = exports.RosettaTransactionStatus || (exports.RosettaTransactionStatus = {}));
23
+ var RosettaTransactionType;
24
+ (function (RosettaTransactionType) {
25
+ RosettaTransactionType["TRANSACTION"] = "TRANSACTION";
26
+ RosettaTransactionType["FEE"] = "FEE";
27
+ RosettaTransactionType["RECEIVE"] = "RECEIVE";
28
+ RosettaTransactionType["SEND"] = "SEND";
29
+ })(RosettaTransactionType = exports.RosettaTransactionType || (exports.RosettaTransactionType = {}));
30
+ const getTransactionInfo = (accountId, rosettaTransaction) => {
31
+ const { operations, metadata: { timestamp: ts, block_height: bh, memo: mm, lockTime: lt }, transaction_identifier: { hash }, } = rosettaTransaction;
32
+ // console.log('------ getting rosetta transaction start -------');
33
+ // console.log({ rosettaTransaction });
34
+ // console.log('------ getting rosetta transaction end -------');
35
+ const transaction = {
36
+ type: RosettaTransactionType.SEND,
37
+ details: {
38
+ status: RosettaTransactionStatus.COMPLETED,
39
+ fee: {},
40
+ from: accountId,
41
+ },
42
+ };
43
+ operations.forEach((operation) => {
44
+ const value = BigInt(operation.amount.value);
45
+ const { decimals } = operation.amount.currency;
46
+ const amount = converter_1.parseBalance({ value: value.toString(), decimals });
47
+ if (operation.type === RosettaTransactionType.FEE) {
48
+ transaction.details.fee.amount = amount;
49
+ transaction.details.fee.currency = operation.amount.currency;
50
+ return;
51
+ }
52
+ if (value >= 0)
53
+ transaction.details.to = operation.account.address;
54
+ if (value <= 0)
55
+ transaction.details.from = operation.account.address;
56
+ if (transaction.details.status === RosettaTransactionStatus.COMPLETED &&
57
+ operation.status !== RosettaTransactionStatus.COMPLETED)
58
+ transaction.details.status = operation.status;
59
+ transaction.type =
60
+ transaction.details.to === accountId
61
+ ? RosettaTransactionType.RECEIVE
62
+ : RosettaTransactionType.SEND;
63
+ transaction.details.amount = amount;
64
+ transaction.details.currency = operation.amount.currency;
65
+ });
66
+ return Object.assign(Object.assign({}, transaction), { caller: transaction.details.from, hash, timestamp: ts !== undefined ? (BigInt(ts) / BigInt(exports.MILI_PER_SECOND)).toString() : '', block_height: bh !== undefined ? BigInt(bh).toString() : '', memo: mm !== undefined ? BigInt(mm).toString() : '', lockTime: lt !== undefined ? BigInt(lt).toString() : '' });
67
+ };
68
+ exports.getICPTransactions = async (accountId) => {
69
+ const response = await cross_fetch_1.default(`${constants_1.ROSETTA_URL}/search/transactions`, {
70
+ method: 'POST',
71
+ body: JSON.stringify({
72
+ network_identifier: constants_1.NET_ID,
73
+ account_identifier: {
74
+ address: accountId,
75
+ },
76
+ }),
77
+ headers: {
78
+ 'Content-Type': 'application/json',
79
+ Accept: '*/*',
80
+ },
81
+ });
82
+ if (!response.ok)
83
+ throw Error(`GET_TRANSACTIONS_FAILS: ${response.statusText}`);
84
+ const { transactions, total_count } = await response.json();
85
+ const transactionsInfo = transactions.map(({ transaction }) => getTransactionInfo(accountId, transaction));
86
+ return {
87
+ total: total_count,
88
+ transactions: transactionsInfo,
89
+ };
90
+ };
91
+ exports.getTransactions = async (localDelegationIdentity, fromAccount) => {
92
+ const result = await nnsConnection_1.NNSConnection.getTransactions({ delegationIdentity: localDelegationIdentity }, { page_size: 10, offset: 0, account_identifier: fromAccount });
93
+ return result;
94
+ };
95
+ exports.getICPTransactionsByBlock = async (fromAccount, blockHeight) => {
96
+ try {
97
+ const response = await cross_fetch_1.default(`${constants_1.ROSETTA_URL}/block`, {
98
+ method: 'POST',
99
+ body: JSON.stringify({
100
+ network_identifier: constants_1.NET_ID,
101
+ block_identifier: { index: parseInt(blockHeight.toString()) },
102
+ }),
103
+ headers: {
104
+ 'Content-Type': 'application/json',
105
+ Accept: '*/*',
106
+ },
107
+ });
108
+ if (!response.ok)
109
+ throw Error(`GET_TRANSACTIONS_FAILS: ${response.statusText}`);
110
+ const { block } = await response.json();
111
+ const { transactions } = block;
112
+ if (transactions === undefined || block === undefined) {
113
+ return {
114
+ total: transactions.length,
115
+ transactions: [],
116
+ };
117
+ }
118
+ const transactionsInfo = transactions.map((transaction) => getTransactionInfo(fromAccount, transaction));
119
+ return {
120
+ total: transactions.length,
121
+ transactions: transactionsInfo,
122
+ };
123
+ }
124
+ catch (error) {
125
+ throw error;
126
+ }
127
+ };
128
+ exports.getExactTransaction = (fromAccount, singleResponse, txns) => {
129
+ const { sendArgs } = singleResponse;
130
+ const { amount, created_at_time, memo, to } = sendArgs;
131
+ const { blockHeight } = singleResponse;
132
+ const { transactions } = txns;
133
+ console.log({ singleResponse, txns });
134
+ const found = transactions.find((val) => {
135
+ return created_at_time[0] !== undefined
136
+ ? val.timestamp.timestamp_nanos >
137
+ created_at_time[0].timestamp_nanos
138
+ : true &&
139
+ val.block_height === blockHeight &&
140
+ val.memo === memo &&
141
+ JSON.stringify(val.transaction_type[0]) ===
142
+ JSON.stringify({ Send: null }) &&
143
+ val.transfer.Send.amount.e8s === amount.e8s &&
144
+ val.transfer.Send.to === to;
145
+ });
146
+ if (found) {
147
+ const res = {
148
+ hash: '',
149
+ timestamp: (BigInt(found.timestamp.timestamp_nanos) / BigInt(1000000)).toString(),
150
+ type: RosettaTransactionType.SEND,
151
+ details: {
152
+ to,
153
+ from: fromAccount,
154
+ status: RosettaTransactionStatus.COMPLETED,
155
+ amount: amount.e8s.toString(),
156
+ currency: {
157
+ symbol: converter_1.TokenSymbol.ICP,
158
+ decimals: 10,
159
+ },
160
+ fee: {
161
+ amount: found.transfer.Send.fee.e8s.toString(),
162
+ currency: {
163
+ symbol: converter_1.TokenSymbol.ICP,
164
+ decimals: 10,
165
+ },
166
+ },
167
+ },
168
+ caller: fromAccount,
169
+ block_height: blockHeight.toString(),
170
+ memo: memo.toString(),
171
+ lockTime: '',
172
+ };
173
+ return res;
174
+ }
175
+ return undefined;
176
+ };
177
+ // use Rosseta API to fetch transaction list, and return
178
+ // This API works on mainnet, however not in local testnet
179
+ exports.getTransactionFromRosseta = (fromAccount, singleResponse, txns) => {
180
+ const { sendArgs } = singleResponse;
181
+ const { amount, created_at_time, memo, to } = sendArgs;
182
+ const { blockHeight } = singleResponse;
183
+ const { transactions } = txns;
184
+ console.log({ singleResponse, transactions });
185
+ const found = transactions.find((val) => {
186
+ var _a;
187
+ return created_at_time[0] !== undefined
188
+ ? val.timestamp.length <
189
+ created_at_time[0].timestamp_nanos.toString().length
190
+ ? BigInt(val.timestamp) * BigInt(1000000) >
191
+ created_at_time[0].timestamp_nanos
192
+ : BigInt(val.timestamp) >
193
+ created_at_time[0].timestamp_nanos
194
+ : true &&
195
+ BigInt(val.block_height) === blockHeight &&
196
+ BigInt(val.memo) === memo &&
197
+ val.details.to === to &&
198
+ val.details.amount === ((_a = converter_1.formatAssetBySymbol(amount.e8s, val.details.currency.symbol)) === null || _a === void 0 ? void 0 : _a.amount.toString()) &&
199
+ val.caller === fromAccount;
200
+ });
201
+ return found;
202
+ };
203
+ const aaa = {
204
+ transaction_identifier: {
205
+ hash: 'df8576aa9be05b561dae1b7f706d109789cf25b895d29b3a1d7da2df92247d97',
206
+ },
207
+ operations: [
208
+ {
209
+ type: 'TRANSACTION',
210
+ operation_identifier: { index: 0 },
211
+ status: 'COMPLETED',
212
+ account: {
213
+ address: 'da5fd722e22c4970b4347d41873ba86c51f87ee32f271d6762fc49627eeecb71',
214
+ },
215
+ amount: { value: -100000, currency: { symbol: 'ICP', decimals: 8 } },
216
+ },
217
+ {
218
+ type: 'TRANSACTION',
219
+ operation_identifier: { index: 1 },
220
+ status: 'COMPLETED',
221
+ account: {
222
+ address: '848753b6fac50019dffc34ead1af095863405b3cce463352c1ecf3109ada4b23',
223
+ },
224
+ amount: { value: 100000, currency: { symbol: 'ICP', decimals: 8 } },
225
+ },
226
+ {
227
+ type: 'FEE',
228
+ operation_identifier: { index: 2 },
229
+ status: 'COMPLETED',
230
+ account: {
231
+ address: 'da5fd722e22c4970b4347d41873ba86c51f87ee32f271d6762fc49627eeecb71',
232
+ },
233
+ amount: { value: -10000, currency: { symbol: 'ICP', decimals: 8 } },
234
+ },
235
+ ],
236
+ metadata: {
237
+ block_height: 1680083,
238
+ memo: 22380256,
239
+ timestamp: 1639810289340003912,
240
+ },
241
+ };
242
+ //# 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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"}