@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.
- package/lib/cjs/connections/ledgerConnection.d.ts +5 -1
- package/lib/cjs/connections/ledgerConnection.js +0 -1
- package/lib/cjs/connections/ledgerConnection.js.map +1 -1
- package/lib/cjs/connections/nnsConnection.d.ts +9 -1
- package/lib/cjs/connections/nnsConnection.js +9 -56
- package/lib/cjs/connections/nnsConnection.js.map +1 -1
- package/lib/cjs/ic/icAuthClient.js +0 -1
- package/lib/cjs/ic/icAuthClient.js.map +1 -1
- package/lib/cjs/ic/icConnect.d.ts +5 -2
- package/lib/cjs/ic/icConnect.js +65 -8
- package/lib/cjs/ic/icConnect.js.map +1 -1
- package/lib/cjs/services/history/rosseta.d.ts +62 -0
- package/lib/cjs/services/history/rosseta.js +242 -0
- package/lib/cjs/services/history/rosseta.js.map +1 -0
- package/lib/cjs/types/index.d.ts +49 -1
- package/lib/cjs/types/index.js +8 -1
- package/lib/cjs/types/index.js.map +1 -1
- package/lib/cjs/utils/constants.d.ts +10 -2
- package/lib/cjs/utils/constants.js +11 -3
- package/lib/cjs/utils/constants.js.map +1 -1
- package/lib/esm/connections/ledgerConnection.d.ts +5 -1
- package/lib/esm/connections/ledgerConnection.js +0 -1
- package/lib/esm/connections/ledgerConnection.js.map +1 -1
- package/lib/esm/connections/nnsConnection.d.ts +9 -1
- package/lib/esm/connections/nnsConnection.js +9 -56
- package/lib/esm/connections/nnsConnection.js.map +1 -1
- package/lib/esm/ic/icAuthClient.js +0 -1
- package/lib/esm/ic/icAuthClient.js.map +1 -1
- package/lib/esm/ic/icConnect.d.ts +5 -2
- package/lib/esm/ic/icConnect.js +66 -9
- package/lib/esm/ic/icConnect.js.map +1 -1
- package/lib/esm/services/history/rosseta.d.ts +62 -0
- package/lib/esm/services/history/rosseta.js +236 -0
- package/lib/esm/services/history/rosseta.js.map +1 -0
- package/lib/esm/types/index.d.ts +49 -1
- package/lib/esm/types/index.js +7 -0
- package/lib/esm/types/index.js.map +1 -1
- package/lib/esm/utils/constants.d.ts +10 -2
- package/lib/esm/utils/constants.js +10 -2
- package/lib/esm/utils/constants.js.map +1 -1
- package/lib/tsconfig-cjs.tsbuildinfo +46 -11
- package/lib/tsconfig.tsbuildinfo +46 -11
- 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<
|
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;
|
package/lib/esm/ic/icConnect.js
CHANGED
@@ -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: (
|
167
|
-
successTimeout: (
|
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
|
-
(
|
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, (
|
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;
|
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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"}
|
package/lib/esm/types/index.d.ts
CHANGED
@@ -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
|
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",
|
package/lib/esm/types/index.js
CHANGED
@@ -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":"
|
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
|
6
|
-
|
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;
|