@astrox/connection 0.0.28 → 0.0.32

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 (55) 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.js +7 -7
  14. package/lib/cjs/connections/ledgerConnection.js.map +1 -1
  15. package/lib/cjs/connections/nnsConnection.js +3 -3
  16. package/lib/cjs/connections/nnsConnection.js.map +1 -1
  17. package/lib/cjs/ic/icAuthClient.js +7 -8
  18. package/lib/cjs/ic/icAuthClient.js.map +1 -1
  19. package/lib/cjs/ic/icConnect.d.ts +1 -0
  20. package/lib/cjs/ic/icConnect.js +53 -35
  21. package/lib/cjs/ic/icConnect.js.map +1 -1
  22. package/lib/cjs/ic/icWindow.js.map +1 -1
  23. package/lib/cjs/ic/index.js +0 -1
  24. package/lib/cjs/ic/index.js.map +1 -1
  25. package/lib/cjs/index.js +1 -1
  26. package/lib/cjs/types/index.d.ts +3 -0
  27. package/lib/cjs/types/index.js.map +1 -1
  28. package/lib/cjs/utils/common/types.d.ts +4 -0
  29. package/lib/cjs/utils/constants.d.ts +11 -0
  30. package/lib/cjs/utils/constants.js +12 -4
  31. package/lib/cjs/utils/constants.js.map +1 -1
  32. package/lib/cjs/utils/converter.d.ts +24 -1
  33. package/lib/cjs/utils/converter.js +111 -46
  34. package/lib/cjs/utils/converter.js.map +1 -1
  35. package/lib/cjs/utils/index.js +1 -1
  36. package/lib/esm/connections/baseConnection.js.map +1 -1
  37. package/lib/esm/connections/ledgerConnection.js.map +1 -1
  38. package/lib/esm/ic/icAuthClient.js +3 -4
  39. package/lib/esm/ic/icAuthClient.js.map +1 -1
  40. package/lib/esm/ic/icConnect.d.ts +1 -0
  41. package/lib/esm/ic/icConnect.js +53 -35
  42. package/lib/esm/ic/icConnect.js.map +1 -1
  43. package/lib/esm/ic/icWindow.js.map +1 -1
  44. package/lib/esm/types/index.d.ts +3 -0
  45. package/lib/esm/types/index.js.map +1 -1
  46. package/lib/esm/utils/common/types.d.ts +4 -0
  47. package/lib/esm/utils/constants.d.ts +11 -0
  48. package/lib/esm/utils/constants.js +11 -3
  49. package/lib/esm/utils/constants.js.map +1 -1
  50. package/lib/esm/utils/converter.d.ts +24 -1
  51. package/lib/esm/utils/converter.js +86 -4
  52. package/lib/esm/utils/converter.js.map +1 -1
  53. package/lib/tsconfig-cjs.tsbuildinfo +2813 -1
  54. package/lib/tsconfig.tsbuildinfo +2812 -1
  55. package/package.json +2 -2
@@ -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 amount = parseInt(_amount === null || _amount === void 0 ? void 0 : _amount.toString(), 10);
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 / E8S_PER_ICP,
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":"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"}
1
+ {"version":3,"file":"converter.js","sourceRoot":"","sources":["../../../src/utils/converter.ts"],"names":[],"mappings":"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"}