@astrox/connection 0.0.29 → 0.0.33
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/canisters/internet_identity_idl.js +1 -2
- package/lib/cjs/canisters/internet_identity_idl.js.map +1 -1
- package/lib/cjs/canisters/ledger.idl.js +1 -2
- package/lib/cjs/canisters/ledger.idl.js.map +1 -1
- package/lib/cjs/canisters/me.idl.js +1 -2
- package/lib/cjs/canisters/me.idl.js.map +1 -1
- package/lib/cjs/canisters/nns-dapp-cert.idl.js +1 -2
- package/lib/cjs/canisters/nns-dapp-cert.idl.js.map +1 -1
- package/lib/cjs/canisters/nns-dapp.idl.js +1 -2
- package/lib/cjs/canisters/nns-dapp.idl.js.map +1 -1
- package/lib/cjs/connections/baseConnection.js +3 -5
- package/lib/cjs/connections/baseConnection.js.map +1 -1
- package/lib/cjs/connections/ledgerConnection.d.ts +5 -1
- package/lib/cjs/connections/ledgerConnection.js +7 -8
- package/lib/cjs/connections/ledgerConnection.js.map +1 -1
- package/lib/cjs/connections/nnsConnection.d.ts +9 -1
- package/lib/cjs/connections/nnsConnection.js +12 -59
- package/lib/cjs/connections/nnsConnection.js.map +1 -1
- package/lib/cjs/ic/icAuthClient.js +7 -9
- package/lib/cjs/ic/icAuthClient.js.map +1 -1
- package/lib/cjs/ic/icConnect.d.ts +1 -0
- package/lib/cjs/ic/icConnect.js +53 -35
- package/lib/cjs/ic/icConnect.js.map +1 -1
- package/lib/cjs/ic/icWindow.js.map +1 -1
- package/lib/cjs/ic/index.js +0 -1
- package/lib/cjs/ic/index.js.map +1 -1
- package/lib/cjs/index.js +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 +3 -0
- package/lib/cjs/types/index.js.map +1 -1
- package/lib/cjs/utils/common/types.d.ts +4 -0
- package/lib/cjs/utils/constants.d.ts +21 -2
- package/lib/cjs/utils/constants.js +22 -6
- package/lib/cjs/utils/constants.js.map +1 -1
- package/lib/cjs/utils/converter.d.ts +24 -1
- package/lib/cjs/utils/converter.js +111 -46
- package/lib/cjs/utils/converter.js.map +1 -1
- package/lib/cjs/utils/index.js +1 -1
- package/lib/esm/connections/baseConnection.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 +3 -5
- package/lib/esm/ic/icAuthClient.js.map +1 -1
- package/lib/esm/ic/icConnect.d.ts +1 -0
- package/lib/esm/ic/icConnect.js +53 -35
- package/lib/esm/ic/icConnect.js.map +1 -1
- package/lib/esm/ic/icWindow.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 +3 -0
- package/lib/esm/types/index.js.map +1 -1
- package/lib/esm/utils/common/types.d.ts +4 -0
- package/lib/esm/utils/constants.d.ts +21 -2
- package/lib/esm/utils/constants.js +21 -5
- package/lib/esm/utils/constants.js.map +1 -1
- package/lib/esm/utils/converter.d.ts +24 -1
- package/lib/esm/utils/converter.js +86 -4
- package/lib/esm/utils/converter.js.map +1 -1
- package/lib/tsconfig-cjs.tsbuildinfo +2846 -1
- package/lib/tsconfig.tsbuildinfo +2845 -1
- package/package.json +4 -3
@@ -1,6 +1,25 @@
|
|
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;
|
15
|
+
export declare const PRINCIPAL_REGEX: RegExp;
|
16
|
+
export declare const ALPHANUM_REGEX: RegExp;
|
17
|
+
export declare const CANISTER_REGEX: RegExp;
|
18
|
+
export declare const CANISTER_MAX_LENGTH = 27;
|
19
|
+
export declare const ADDRESS_TYPES: {
|
20
|
+
PRINCIPAL: string;
|
21
|
+
ACCOUNT: string;
|
22
|
+
CANISTER: string;
|
23
|
+
ERC20: string;
|
24
|
+
UNKNOWN: string;
|
25
|
+
};
|
@@ -1,10 +1,26 @@
|
|
1
|
+
export const LEDGER_CANISTER_ID = 'ryjl3-tyaaa-aaaaa-aaaba-cai';
|
2
|
+
export const NNS_CANISTER_ID = 'qoctq-giaaa-aaaaa-aaaea-cai';
|
1
3
|
export const SUB_ACCOUNT_BYTE_LENGTH = 32;
|
2
4
|
export const CREATE_CANISTER_MEMO = BigInt(0x41455243); // CREA,
|
3
5
|
export const TOP_UP_CANISTER_MEMO = BigInt(0x50555054); // TPUP
|
4
6
|
export const TRANSACTION_FEE = BigInt(10000);
|
5
|
-
export const
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
7
|
+
export const NET_ID = {
|
8
|
+
blockchain: 'Internet Computer',
|
9
|
+
network: '00000000000000020101',
|
10
|
+
};
|
11
|
+
export const ROSETTA_URL = 'https://rosetta-api.internetcomputer.org';
|
12
|
+
export const IC_EXPLORER = 'https://dashboard.internetcomputer.org';
|
13
|
+
export const IC_ROCKS = 'https://ic.rocks';
|
14
|
+
export const MAX_TRANSACTION_DECISION_MILSECONDS = 120000;
|
15
|
+
export const PRINCIPAL_REGEX = /(\w{5}-){10}\w{3}/;
|
16
|
+
export const ALPHANUM_REGEX = /^[a-zA-Z0-9]+$/;
|
17
|
+
export const CANISTER_REGEX = /(\w{5}-){4}\w{3}/;
|
18
|
+
export const CANISTER_MAX_LENGTH = 27;
|
19
|
+
export const ADDRESS_TYPES = {
|
20
|
+
PRINCIPAL: 'principal',
|
21
|
+
ACCOUNT: 'accountId',
|
22
|
+
CANISTER: 'canister',
|
23
|
+
ERC20: 'erc20',
|
24
|
+
UNKNOWN: 'unknown',
|
25
|
+
};
|
10
26
|
//# sourceMappingURL=constants.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAC1C,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ;AAChE,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO;AAE/D,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,KAAM,CAAC,CAAC;AAE9C,MAAM,CAAC,MAAM,kBAAkB,GAAG,
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG,6BAA6B,CAAC;AAChE,MAAM,CAAC,MAAM,eAAe,GAAG,6BAA6B,CAAC;AAI7D,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAC1C,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ;AAChE,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO;AAE/D,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,KAAM,CAAC,CAAC;AAE9C,MAAM,CAAC,MAAM,MAAM,GAAG;IAClB,UAAU,EAAE,mBAAmB;IAC/B,OAAO,EAAE,sBAAsB;CAClC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,0CAA0C,CAAC;AACtE,MAAM,CAAC,MAAM,WAAW,GAAG,wCAAwC,CAAC;AACpE,MAAM,CAAC,MAAM,QAAQ,GAAG,kBAAkB,CAAC;AAE3C,MAAM,CAAC,MAAM,mCAAmC,GAAG,MAAM,CAAC;AAE1D,MAAM,CAAC,MAAM,eAAe,GAAG,mBAAmB,CAAC;AACnD,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAgB,CAAC;AAC/C,MAAM,CAAC,MAAM,cAAc,GAAG,kBAAkB,CAAC;AACjD,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAEtC,MAAM,CAAC,MAAM,aAAa,GAAG;IACzB,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,WAAW;IACpB,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;CACrB,CAAC"}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { Principal } from '@dfinity/principal';
|
2
|
-
import { AccountIdentifier, SubAccount } from './common/types';
|
2
|
+
import { AccountIdentifier, Balance, SubAccount } from './common/types';
|
3
3
|
export declare const uint8ArrayToBigInt: (array: Uint8Array) => bigint;
|
4
4
|
export declare const bigIntToUint8Array: (value: bigint) => Uint8Array;
|
5
5
|
export declare const arrayBufferToArrayOfNumber: (buffer: ArrayBuffer) => Array<number>;
|
@@ -20,13 +20,36 @@ export declare const E8S_PER_ICP = 100000000;
|
|
20
20
|
export declare enum TokenSymbol {
|
21
21
|
ICP = "ICP"
|
22
22
|
}
|
23
|
+
export declare const getDecimalFromSymbol: (sym: string) => number;
|
23
24
|
export interface TokenMapItem {
|
24
25
|
[key: string]: {
|
25
26
|
amount: number;
|
26
27
|
symbol: string;
|
28
|
+
balanceString: BalanceString;
|
27
29
|
};
|
28
30
|
}
|
29
31
|
export declare const formatAssetBySymbol: (_amount: bigint, symbol: string) => {
|
30
32
|
amount: number;
|
31
33
|
symbol: string;
|
34
|
+
balanceString: BalanceString;
|
32
35
|
} | undefined;
|
36
|
+
export declare const parseBalance: (balance: Balance) => string;
|
37
|
+
export declare const balanceFromString: (balance: string, decimal?: number) => bigint;
|
38
|
+
export interface BalanceString {
|
39
|
+
total: string;
|
40
|
+
aboveZero: string;
|
41
|
+
belowZero: string;
|
42
|
+
formatAboveZero: string;
|
43
|
+
}
|
44
|
+
export declare const balanceToString: (balance: bigint, decimal?: number) => BalanceString;
|
45
|
+
export declare const validateAccountId: (text: string) => boolean;
|
46
|
+
export declare const validatePrincipalId: (text: string) => boolean;
|
47
|
+
export declare const validateCanisterId: (text: string) => boolean;
|
48
|
+
export declare enum AddressType {
|
49
|
+
PRINCIPAL = "principal",
|
50
|
+
ACCOUNT = "accountId",
|
51
|
+
CANISTER = "canister",
|
52
|
+
ERC20 = "erc20",
|
53
|
+
INVALID = "invalid"
|
54
|
+
}
|
55
|
+
export declare const getAddressType: (text: string) => AddressType.PRINCIPAL | AddressType.ACCOUNT | AddressType.CANISTER | AddressType.INVALID;
|
@@ -1,8 +1,9 @@
|
|
1
|
+
/* eslint-disable no-useless-catch */
|
1
2
|
import { Principal } from '@dfinity/principal';
|
2
3
|
import { sha224 } from 'js-sha256';
|
3
4
|
import { Buffer } from 'buffer';
|
4
5
|
import crc from 'crc';
|
5
|
-
import { SUB_ACCOUNT_BYTE_LENGTH } from './constants';
|
6
|
+
import { ALPHANUM_REGEX, CANISTER_MAX_LENGTH, SUB_ACCOUNT_BYTE_LENGTH } from './constants';
|
6
7
|
export const uint8ArrayToBigInt = (array) => {
|
7
8
|
const view = new DataView(array.buffer, array.byteOffset, array.byteLength);
|
8
9
|
if (typeof view.getBigUint64 === 'function') {
|
@@ -108,17 +109,98 @@ export var TokenSymbol;
|
|
108
109
|
(function (TokenSymbol) {
|
109
110
|
TokenSymbol["ICP"] = "ICP";
|
110
111
|
})(TokenSymbol || (TokenSymbol = {}));
|
112
|
+
export const getDecimalFromSymbol = (sym) => {
|
113
|
+
switch (sym) {
|
114
|
+
case TokenSymbol.ICP:
|
115
|
+
return 8;
|
116
|
+
default:
|
117
|
+
return 8;
|
118
|
+
}
|
119
|
+
};
|
111
120
|
export const formatAssetBySymbol = (_amount, symbol) => {
|
112
|
-
const
|
121
|
+
const balanceString = balanceToString(_amount, getDecimalFromSymbol(symbol));
|
122
|
+
const amount = Number(balanceString.total);
|
113
123
|
const tokenMap = [
|
114
124
|
{
|
115
125
|
ICP: {
|
116
|
-
amount: amount
|
126
|
+
amount: amount,
|
127
|
+
balanceString,
|
117
128
|
symbol: 'ICP',
|
118
129
|
},
|
119
130
|
},
|
120
131
|
];
|
121
|
-
const found = tokenMap.find(v => v[symbol] !== undefined);
|
132
|
+
const found = tokenMap.find((v) => v[symbol] !== undefined);
|
122
133
|
return found === null || found === void 0 ? void 0 : found[symbol];
|
123
134
|
};
|
135
|
+
export const parseBalance = (balance) => {
|
136
|
+
return (parseInt(balance.value, 10) / 10 ** balance.decimals).toString();
|
137
|
+
};
|
138
|
+
export const balanceFromString = (balance, decimal = 8) => {
|
139
|
+
const list = balance.split('.');
|
140
|
+
const aboveZero = list[0];
|
141
|
+
const aboveZeroBigInt = BigInt(aboveZero) * BigInt(1 * 10 ** decimal);
|
142
|
+
let belowZeroBigInt = BigInt(0);
|
143
|
+
const belowZero = list[1];
|
144
|
+
if (belowZero !== undefined) {
|
145
|
+
belowZeroBigInt = BigInt(belowZero.substring(0, decimal).padEnd(decimal, '0'));
|
146
|
+
}
|
147
|
+
return aboveZeroBigInt + belowZeroBigInt;
|
148
|
+
};
|
149
|
+
export const balanceToString = (balance, decimal = 8) => {
|
150
|
+
const balanceString = balance.toString(10);
|
151
|
+
const balanceStringLength = balanceString.length;
|
152
|
+
let aboveZero = '0';
|
153
|
+
let belowZero = '0'.padEnd(decimal, '0');
|
154
|
+
if (balanceStringLength > decimal) {
|
155
|
+
belowZero = balanceString.substring(balanceStringLength - decimal, balanceStringLength);
|
156
|
+
aboveZero = balanceString.substring(0, balanceStringLength - decimal);
|
157
|
+
}
|
158
|
+
else {
|
159
|
+
belowZero = balanceString.padStart(decimal, '0');
|
160
|
+
}
|
161
|
+
const formatAboveZero = String(aboveZero).replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
162
|
+
return { total: aboveZero + '.' + belowZero, aboveZero, belowZero, formatAboveZero };
|
163
|
+
};
|
164
|
+
export const validateAccountId = (text) => text.length === 64 && ALPHANUM_REGEX.test(text);
|
165
|
+
export const validatePrincipalId = (text) => {
|
166
|
+
try {
|
167
|
+
return text === Principal.fromText(text).toString();
|
168
|
+
}
|
169
|
+
catch (e) {
|
170
|
+
return false;
|
171
|
+
}
|
172
|
+
};
|
173
|
+
export const validateCanisterId = (text) => {
|
174
|
+
try {
|
175
|
+
return text.length <= CANISTER_MAX_LENGTH && validatePrincipalId(text);
|
176
|
+
}
|
177
|
+
catch (e) {
|
178
|
+
return false;
|
179
|
+
}
|
180
|
+
};
|
181
|
+
export var AddressType;
|
182
|
+
(function (AddressType) {
|
183
|
+
AddressType["PRINCIPAL"] = "principal";
|
184
|
+
AddressType["ACCOUNT"] = "accountId";
|
185
|
+
AddressType["CANISTER"] = "canister";
|
186
|
+
AddressType["ERC20"] = "erc20";
|
187
|
+
AddressType["INVALID"] = "invalid";
|
188
|
+
})(AddressType || (AddressType = {}));
|
189
|
+
export const getAddressType = (text) => {
|
190
|
+
try {
|
191
|
+
if (validateAccountId(text)) {
|
192
|
+
return AddressType.ACCOUNT;
|
193
|
+
}
|
194
|
+
else if (validatePrincipalId(text)) {
|
195
|
+
return AddressType.PRINCIPAL;
|
196
|
+
}
|
197
|
+
else if (validateCanisterId(text)) {
|
198
|
+
return AddressType.CANISTER;
|
199
|
+
}
|
200
|
+
return AddressType.INVALID;
|
201
|
+
}
|
202
|
+
catch (error) {
|
203
|
+
throw error;
|
204
|
+
}
|
205
|
+
};
|
124
206
|
//# sourceMappingURL=converter.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"converter.js","sourceRoot":"","sources":["../../../src/utils/converter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;
|
1
|
+
{"version":3,"file":"converter.js","sourceRoot":"","sources":["../../../src/utils/converter.ts"],"names":[],"mappings":"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"}
|