@subwallet/extension-base 1.3.65-0 → 1.3.66-0

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.
@@ -13,6 +13,6 @@ const packageInfo = {
13
13
  name: '@subwallet/extension-base',
14
14
  path: typeof __dirname === 'string' ? __dirname : 'auto',
15
15
  type: 'cjs',
16
- version: '1.3.65-0'
16
+ version: '1.3.66-0'
17
17
  };
18
18
  exports.packageInfo = packageInfo;
@@ -12,7 +12,7 @@ const PRODUCTION_BRANCHES = ['master', 'webapp', 'webapp-dev'];
12
12
  const branchName = process.env.BRANCH_NAME || 'subwallet-dev';
13
13
  const fetchDomain = process.env.PATCH_CHAIN_LIST_URL || (PRODUCTION_BRANCHES.indexOf(branchName) > -1 ? 'https://chain-list-assets.subwallet.app' : 'https://dev.sw-chain-list-assets.pages.dev');
14
14
  const fetchFile = PRODUCTION_BRANCHES.indexOf(branchName) > -1 ? 'list.json' : 'preview.json';
15
- const ChainListVersion = '0.2.120'; // update this when build chain-list
15
+ const ChainListVersion = '0.2.121'; // update this when build chain-list
16
16
 
17
17
  // todo: move this interface to chainlist
18
18
  exports.ChainListVersion = ChainListVersion;
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _Base = _interopRequireDefault(require("@subwallet/extension-base/services/migration-service/Base"));
9
+ // Copyright 2019-2022 @subwallet/extension-koni authors & contributors
10
+ // SPDX-License-Identifier: Apache-2.0
11
+
12
+ class MigrateTransactionHistoryBySymbol20251107 extends _Base.default {
13
+ async run() {
14
+ const state = this.state;
15
+ try {
16
+ const changeSlugsMap = {
17
+ 'bittensor-LOCAL-ف': 'bittensor-LOCAL-ㄴ'
18
+ };
19
+ const allTxs = [];
20
+ await Promise.all(Object.entries(changeSlugsMap).map(async (_ref, i) => {
21
+ let [oldSlug, newSlug] = _ref;
22
+ const oldSlugSplit = oldSlug.split('-');
23
+ const oldChainSlug = oldSlugSplit[0];
24
+ const oldSymbolSlug = oldSlugSplit[2];
25
+ const newSlugSplit = newSlug.split('-');
26
+ const newSymbolSlug = newSlugSplit[2];
27
+ const filterTransactions = await state.dbService.stores.transaction.table.where({
28
+ chain: oldChainSlug
29
+ }).and(tx => {
30
+ var _tx$amount;
31
+ return ((_tx$amount = tx.amount) === null || _tx$amount === void 0 ? void 0 : _tx$amount.symbol) === oldSymbolSlug;
32
+ }).toArray();
33
+ if (filterTransactions.length > 0) {
34
+ for (const transaction of filterTransactions) {
35
+ if (transaction.amount && transaction.amount.symbol === oldSymbolSlug) {
36
+ transaction.amount.symbol = newSymbolSlug;
37
+ }
38
+ if (transaction.fee && transaction.fee.symbol === oldSymbolSlug) {
39
+ transaction.fee.symbol = newSymbolSlug;
40
+ }
41
+ }
42
+ }
43
+ allTxs.push(...filterTransactions);
44
+ }));
45
+ await state.dbService.stores.transaction.table.bulkPut(allTxs);
46
+ } catch (e) {
47
+ this.logger.error(e);
48
+ }
49
+ }
50
+ }
51
+ exports.default = MigrateTransactionHistoryBySymbol20251107;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _Base = _interopRequireDefault(require("@subwallet/extension-base/services/migration-service/Base"));
9
+ // Copyright 2019-2022 @subwallet/extension-koni authors & contributors
10
+ // SPDX-License-Identifier: Apache-2.0
11
+
12
+ class MigrateAssetSetting20251107 extends _Base.default {
13
+ async run() {
14
+ try {
15
+ const changeSlugsMap = {
16
+ 'bittensor-LOCAL-ف': 'bittensor-LOCAL-ㄴ'
17
+ };
18
+ const assetSetting = await this.state.chainService.getAssetSettings();
19
+ const migratedAssetSetting = {};
20
+ for (const [oldSlug, newSlug] of Object.entries(changeSlugsMap)) {
21
+ if (Object.keys(assetSetting).includes(oldSlug)) {
22
+ const isVisible = assetSetting[oldSlug].visible;
23
+ migratedAssetSetting[newSlug] = {
24
+ visible: isVisible
25
+ };
26
+ }
27
+ }
28
+ this.state.chainService.setAssetSettings({
29
+ ...assetSetting,
30
+ ...migratedAssetSetting
31
+ });
32
+ } catch (e) {
33
+ console.error(e);
34
+ }
35
+ }
36
+ }
37
+ exports.default = MigrateAssetSetting20251107;
@@ -5,11 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = exports.MYTHOS_MIGRATION_KEY = exports.EVERYTIME = void 0;
8
+ var _MigrateAssetSetting = _interopRequireDefault(require("@subwallet/extension-base/services/migration-service/scripts/databases/MigrateAssetSetting20251107"));
8
9
  var _MigrateChainPatrol = _interopRequireDefault(require("@subwallet/extension-base/services/migration-service/scripts/MigrateChainPatrol"));
10
+ var _MigrateTransactionHistoryBySymbol = _interopRequireDefault(require("@subwallet/extension-base/services/migration-service/scripts/MigrateTransactionHistoryBySymbol20251107"));
9
11
  var _ClearMetadataDatabase = _interopRequireDefault(require("./databases/ClearMetadataDatabase"));
10
12
  var _ClearMetadataForMythos = _interopRequireDefault(require("./databases/ClearMetadataForMythos"));
11
- var _MigrateAssetSetting = _interopRequireDefault(require("./databases/MigrateAssetSetting"));
12
- var _MigrateAssetSetting2 = _interopRequireDefault(require("./databases/MigrateAssetSetting20251027"));
13
+ var _MigrateAssetSetting2 = _interopRequireDefault(require("./databases/MigrateAssetSetting"));
14
+ var _MigrateAssetSetting3 = _interopRequireDefault(require("./databases/MigrateAssetSetting20251027"));
13
15
  var _MigrateEarningVersion = _interopRequireDefault(require("./databases/MigrateEarningVersion"));
14
16
  var _ReloadMetadata = _interopRequireDefault(require("./databases/ReloadMetadata"));
15
17
  var _MigrateLedgerAccount = _interopRequireDefault(require("./keyring/MigrateLedgerAccount"));
@@ -34,8 +36,8 @@ var _MigrateNewUnifiedAccount = _interopRequireDefault(require("./MigrateNewUnif
34
36
  var _MigrateTokenDecimals = _interopRequireDefault(require("./MigrateTokenDecimals"));
35
37
  var _MigrateTransactionHistory = _interopRequireDefault(require("./MigrateTransactionHistory"));
36
38
  var _MigrateTransactionHistoryBridge = _interopRequireDefault(require("./MigrateTransactionHistoryBridge"));
37
- var _MigrateTransactionHistoryBySymbol = _interopRequireDefault(require("./MigrateTransactionHistoryBySymbol"));
38
- var _MigrateTransactionHistoryBySymbol2 = _interopRequireDefault(require("./MigrateTransactionHistoryBySymbol20251027"));
39
+ var _MigrateTransactionHistoryBySymbol2 = _interopRequireDefault(require("./MigrateTransactionHistoryBySymbol"));
40
+ var _MigrateTransactionHistoryBySymbol3 = _interopRequireDefault(require("./MigrateTransactionHistoryBySymbol20251027"));
39
41
  var _MigrateWalletReference = _interopRequireDefault(require("./MigrateWalletReference"));
40
42
  var _OptimizeEnableToken = _interopRequireDefault(require("./OptimizeEnableToken"));
41
43
  // Copyright 2019-2022 @subwallet/extension-koni authors & contributors
@@ -69,8 +71,8 @@ var _default = {
69
71
  '1.1.33-01': _MigrateLedgerAccountV.default,
70
72
  '1.1.41-01': _DeleteChainStaking.default,
71
73
  // '1.1.46-01': AutoEnableSomeTokens,
72
- '1.3.55-01': _MigrateAssetSetting.default,
73
- '1.3.55-02': _MigrateTransactionHistoryBySymbol.default,
74
+ '1.3.55-01': _MigrateAssetSetting2.default,
75
+ '1.3.55-02': _MigrateTransactionHistoryBySymbol2.default,
74
76
  '1.2.69-01': _MigrateRemoveGenesisHash.default,
75
77
  '1.2.13-01': _ReloadMetadata.default,
76
78
  '1.2.32-01': _MigratePairData.default,
@@ -84,8 +86,10 @@ var _default = {
84
86
  '1.3.54-01': _MigrateChainPatrol.default,
85
87
  '1.3.62-01': _DeleteEarningData2.default,
86
88
  '1.3.58-01': _OptimizeEnableToken.default,
87
- '1.3.64-01': _MigrateAssetSetting2.default,
88
- '1.3.64-02': _MigrateTransactionHistoryBySymbol2.default,
89
- '1.3.65-01': _DeleteEarningData3.default
89
+ '1.3.64-01': _MigrateAssetSetting3.default,
90
+ '1.3.64-02': _MigrateTransactionHistoryBySymbol3.default,
91
+ '1.3.65-01': _DeleteEarningData3.default,
92
+ '1.3.66-01': _MigrateAssetSetting.default,
93
+ '1.3.66-02': _MigrateTransactionHistoryBySymbol.default
90
94
  };
91
95
  exports.default = _default;
@@ -205,7 +205,7 @@ class EvmRequestHandler {
205
205
  const params = {
206
206
  ...transaction,
207
207
  gas: (0, _eth.anyNumberToBN)(gas).toNumber(),
208
- value: (0, _eth.anyNumberToBN)(value).toNumber(),
208
+ value: (0, _eth.anyNumberToBN)(value).toFixed(),
209
209
  gasPrice: (0, _eth.anyNumberToBN)(gasPrice).toNumber(),
210
210
  gasLimit: (0, _eth.anyNumberToBN)(estimateGas).toNumber(),
211
211
  maxFeePerGas: (0, _eth.anyNumberToBN)(maxFeePerGas).toNumber(),
@@ -1430,7 +1430,7 @@ class TransactionService {
1430
1430
  maxPriorityFeePerGas: (0, _utils4.anyNumberToBN)(payload.maxPriorityFeePerGas).toNumber(),
1431
1431
  gasLimit: (0, _utils4.anyNumberToBN)(payload.gas).toNumber(),
1432
1432
  to: payload.to,
1433
- value: (0, _utils4.anyNumberToBN)(payload.value).toNumber(),
1433
+ value: (0, _utils4.anyNumberToBN)(payload.value).toFixed(),
1434
1434
  data: payload.data,
1435
1435
  chainId: payload.chainId
1436
1436
  };
package/cjs/utils/eth.js CHANGED
@@ -33,12 +33,13 @@ class Transaction {
33
33
  }
34
34
  exports.Transaction = Transaction;
35
35
  const anyNumberToBN = value => {
36
+ // TODO: Be careful when using .toNumber() outside this function. It may not round exactly for very large numbers.
36
37
  if (typeof value === 'string' || typeof value === 'number') {
37
38
  return new _bignumber.default(value);
38
39
  } else if (typeof value === 'undefined') {
39
40
  return new _bignumber.default(0);
40
41
  } else {
41
- return new _bignumber.default(value.toNumber());
42
+ return new _bignumber.default(value.toString());
42
43
  }
43
44
  };
44
45
  exports.anyNumberToBN = anyNumberToBN;
package/package.json CHANGED
@@ -17,7 +17,7 @@
17
17
  "./cjs/detectPackage.js"
18
18
  ],
19
19
  "type": "module",
20
- "version": "1.3.65-0",
20
+ "version": "1.3.66-0",
21
21
  "main": "./cjs/index.js",
22
22
  "module": "./index.js",
23
23
  "types": "./index.d.ts",
@@ -1491,6 +1491,11 @@
1491
1491
  "require": "./cjs/services/migration-service/scripts/databases/MigrateAssetSetting20251027.js",
1492
1492
  "default": "./services/migration-service/scripts/databases/MigrateAssetSetting20251027.js"
1493
1493
  },
1494
+ "./services/migration-service/scripts/databases/MigrateAssetSetting20251107": {
1495
+ "types": "./services/migration-service/scripts/databases/MigrateAssetSetting20251107.d.ts",
1496
+ "require": "./cjs/services/migration-service/scripts/databases/MigrateAssetSetting20251107.js",
1497
+ "default": "./services/migration-service/scripts/databases/MigrateAssetSetting20251107.js"
1498
+ },
1494
1499
  "./services/migration-service/scripts/databases/MigrateEarningHistory": {
1495
1500
  "types": "./services/migration-service/scripts/databases/MigrateEarningHistory.d.ts",
1496
1501
  "require": "./cjs/services/migration-service/scripts/databases/MigrateEarningHistory.js",
@@ -1631,6 +1636,11 @@
1631
1636
  "require": "./cjs/services/migration-service/scripts/MigrateTransactionHistoryBySymbol20251027.js",
1632
1637
  "default": "./services/migration-service/scripts/MigrateTransactionHistoryBySymbol20251027.js"
1633
1638
  },
1639
+ "./services/migration-service/scripts/MigrateTransactionHistoryBySymbol20251107": {
1640
+ "types": "./services/migration-service/scripts/MigrateTransactionHistoryBySymbol20251107.d.ts",
1641
+ "require": "./cjs/services/migration-service/scripts/MigrateTransactionHistoryBySymbol20251107.js",
1642
+ "default": "./services/migration-service/scripts/MigrateTransactionHistoryBySymbol20251107.js"
1643
+ },
1634
1644
  "./services/migration-service/scripts/MigrateWalletReference": {
1635
1645
  "types": "./services/migration-service/scripts/MigrateWalletReference.d.ts",
1636
1646
  "require": "./cjs/services/migration-service/scripts/MigrateWalletReference.js",
@@ -2908,16 +2918,16 @@
2908
2918
  "@polkadot/util-crypto": "^13.5.3",
2909
2919
  "@polkadot/x-global": "^13.5.3",
2910
2920
  "@reduxjs/toolkit": "^1.9.1",
2911
- "@snowbridge/api": "^0.2.0",
2921
+ "@snowbridge/api": "^0.2.13",
2912
2922
  "@snowbridge/registry": "^0.2.0",
2913
2923
  "@sora-substrate/type-definitions": "^1.17.7",
2914
2924
  "@substrate/connect": "^0.8.9",
2915
2925
  "@subwallet-monorepos/subwallet-services-sdk": "0.1.13",
2916
- "@subwallet/chain-list": "0.2.120",
2917
- "@subwallet/extension-base": "^1.3.65-0",
2918
- "@subwallet/extension-chains": "^1.3.65-0",
2919
- "@subwallet/extension-dapp": "^1.3.65-0",
2920
- "@subwallet/extension-inject": "^1.3.65-0",
2926
+ "@subwallet/chain-list": "0.2.121",
2927
+ "@subwallet/extension-base": "^1.3.66-0",
2928
+ "@subwallet/extension-chains": "^1.3.66-0",
2929
+ "@subwallet/extension-dapp": "^1.3.66-0",
2930
+ "@subwallet/extension-inject": "^1.3.66-0",
2921
2931
  "@subwallet/keyring": "^0.1.13",
2922
2932
  "@subwallet/ui-keyring": "^0.1.13",
2923
2933
  "@ton/core": "^0.56.3",
package/packageInfo.js CHANGED
@@ -7,5 +7,5 @@ export const packageInfo = {
7
7
  name: '@subwallet/extension-base',
8
8
  path: (import.meta && import.meta.url) ? new URL(import.meta.url).pathname.substring(0, new URL(import.meta.url).pathname.lastIndexOf('/') + 1) : 'auto',
9
9
  type: 'esm',
10
- version: '1.3.65-0'
10
+ version: '1.3.66-0'
11
11
  };
@@ -1,5 +1,5 @@
1
1
  import { _ChainAsset, _ChainInfo, _MultiChainAsset } from '@subwallet/chain-list/types';
2
- export declare const ChainListVersion = "0.2.120";
2
+ export declare const ChainListVersion = "0.2.121";
3
3
  export interface PatchInfo {
4
4
  patchVersion: string;
5
5
  appliedVersion: string;
@@ -5,7 +5,7 @@ const PRODUCTION_BRANCHES = ['master', 'webapp', 'webapp-dev'];
5
5
  const branchName = process.env.BRANCH_NAME || 'subwallet-dev';
6
6
  const fetchDomain = process.env.PATCH_CHAIN_LIST_URL || (PRODUCTION_BRANCHES.indexOf(branchName) > -1 ? 'https://chain-list-assets.subwallet.app' : 'https://dev.sw-chain-list-assets.pages.dev');
7
7
  const fetchFile = PRODUCTION_BRANCHES.indexOf(branchName) > -1 ? 'list.json' : 'preview.json';
8
- export const ChainListVersion = '0.2.120'; // update this when build chain-list
8
+ export const ChainListVersion = '0.2.121'; // update this when build chain-list
9
9
 
10
10
  // todo: move this interface to chainlist
11
11
 
@@ -0,0 +1,4 @@
1
+ import BaseMigrationJob from '@subwallet/extension-base/services/migration-service/Base';
2
+ export default class MigrateTransactionHistoryBySymbol20251107 extends BaseMigrationJob {
3
+ run(): Promise<void>;
4
+ }
@@ -0,0 +1,42 @@
1
+ // Copyright 2019-2022 @subwallet/extension-koni authors & contributors
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ import BaseMigrationJob from '@subwallet/extension-base/services/migration-service/Base';
5
+ export default class MigrateTransactionHistoryBySymbol20251107 extends BaseMigrationJob {
6
+ async run() {
7
+ const state = this.state;
8
+ try {
9
+ const changeSlugsMap = {
10
+ 'bittensor-LOCAL-ف': 'bittensor-LOCAL-ㄴ'
11
+ };
12
+ const allTxs = [];
13
+ await Promise.all(Object.entries(changeSlugsMap).map(async ([oldSlug, newSlug], i) => {
14
+ const oldSlugSplit = oldSlug.split('-');
15
+ const oldChainSlug = oldSlugSplit[0];
16
+ const oldSymbolSlug = oldSlugSplit[2];
17
+ const newSlugSplit = newSlug.split('-');
18
+ const newSymbolSlug = newSlugSplit[2];
19
+ const filterTransactions = await state.dbService.stores.transaction.table.where({
20
+ chain: oldChainSlug
21
+ }).and(tx => {
22
+ var _tx$amount;
23
+ return ((_tx$amount = tx.amount) === null || _tx$amount === void 0 ? void 0 : _tx$amount.symbol) === oldSymbolSlug;
24
+ }).toArray();
25
+ if (filterTransactions.length > 0) {
26
+ for (const transaction of filterTransactions) {
27
+ if (transaction.amount && transaction.amount.symbol === oldSymbolSlug) {
28
+ transaction.amount.symbol = newSymbolSlug;
29
+ }
30
+ if (transaction.fee && transaction.fee.symbol === oldSymbolSlug) {
31
+ transaction.fee.symbol = newSymbolSlug;
32
+ }
33
+ }
34
+ }
35
+ allTxs.push(...filterTransactions);
36
+ }));
37
+ await state.dbService.stores.transaction.table.bulkPut(allTxs);
38
+ } catch (e) {
39
+ this.logger.error(e);
40
+ }
41
+ }
42
+ }
@@ -0,0 +1,4 @@
1
+ import BaseMigrationJob from '@subwallet/extension-base/services/migration-service/Base';
2
+ export default class MigrateAssetSetting20251107 extends BaseMigrationJob {
3
+ run(): Promise<void>;
4
+ }
@@ -0,0 +1,29 @@
1
+ // Copyright 2019-2022 @subwallet/extension-koni authors & contributors
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ import BaseMigrationJob from '@subwallet/extension-base/services/migration-service/Base';
5
+ export default class MigrateAssetSetting20251107 extends BaseMigrationJob {
6
+ async run() {
7
+ try {
8
+ const changeSlugsMap = {
9
+ 'bittensor-LOCAL-ف': 'bittensor-LOCAL-ㄴ'
10
+ };
11
+ const assetSetting = await this.state.chainService.getAssetSettings();
12
+ const migratedAssetSetting = {};
13
+ for (const [oldSlug, newSlug] of Object.entries(changeSlugsMap)) {
14
+ if (Object.keys(assetSetting).includes(oldSlug)) {
15
+ const isVisible = assetSetting[oldSlug].visible;
16
+ migratedAssetSetting[newSlug] = {
17
+ visible: isVisible
18
+ };
19
+ }
20
+ }
21
+ this.state.chainService.setAssetSettings({
22
+ ...assetSetting,
23
+ ...migratedAssetSetting
24
+ });
25
+ } catch (e) {
26
+ console.error(e);
27
+ }
28
+ }
29
+ }
@@ -1,7 +1,9 @@
1
1
  // Copyright 2019-2022 @subwallet/extension-koni authors & contributors
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
+ import MigrateAssetSetting20251107 from '@subwallet/extension-base/services/migration-service/scripts/databases/MigrateAssetSetting20251107';
4
5
  import MigrateChainPatrol from '@subwallet/extension-base/services/migration-service/scripts/MigrateChainPatrol';
6
+ import MigrateTransactionHistoryBySymbol20251107 from '@subwallet/extension-base/services/migration-service/scripts/MigrateTransactionHistoryBySymbol20251107';
5
7
  import ClearMetadataDatabase from "./databases/ClearMetadataDatabase.js";
6
8
  import ClearMetadataForMythos from "./databases/ClearMetadataForMythos.js";
7
9
  import MigrateAssetSetting from "./databases/MigrateAssetSetting.js";
@@ -77,5 +79,7 @@ export default {
77
79
  '1.3.58-01': OptimizeEnableToken,
78
80
  '1.3.64-01': MigrateAssetSetting20251027,
79
81
  '1.3.64-02': MigrateTransactionHistoryBySymbol20251027,
80
- '1.3.65-01': DeleteEarningData20251105
82
+ '1.3.65-01': DeleteEarningData20251105,
83
+ '1.3.66-01': MigrateAssetSetting20251107,
84
+ '1.3.66-02': MigrateTransactionHistoryBySymbol20251107
81
85
  };
@@ -194,7 +194,7 @@ export default class EvmRequestHandler {
194
194
  const params = {
195
195
  ...transaction,
196
196
  gas: anyNumberToBN(gas).toNumber(),
197
- value: anyNumberToBN(value).toNumber(),
197
+ value: anyNumberToBN(value).toFixed(),
198
198
  gasPrice: anyNumberToBN(gasPrice).toNumber(),
199
199
  gasLimit: anyNumberToBN(estimateGas).toNumber(),
200
200
  maxFeePerGas: anyNumberToBN(maxFeePerGas).toNumber(),
@@ -1416,7 +1416,7 @@ export default class TransactionService {
1416
1416
  maxPriorityFeePerGas: anyNumberToBN(payload.maxPriorityFeePerGas).toNumber(),
1417
1417
  gasLimit: anyNumberToBN(payload.gas).toNumber(),
1418
1418
  to: payload.to,
1419
- value: anyNumberToBN(payload.value).toNumber(),
1419
+ value: anyNumberToBN(payload.value).toFixed(),
1420
1420
  data: payload.data,
1421
1421
  chainId: payload.chainId
1422
1422
  };
@@ -10,7 +10,7 @@ export interface Web3TransactionBase {
10
10
  nonce: number;
11
11
  chainId: number;
12
12
  data?: string;
13
- value: number;
13
+ value: number | string;
14
14
  }
15
15
  export interface Web3Transaction extends Web3TransactionBase {
16
16
  from: string;
package/utils/eth.js CHANGED
@@ -25,12 +25,13 @@ export class Transaction {
25
25
  }
26
26
  }
27
27
  export const anyNumberToBN = value => {
28
+ // TODO: Be careful when using .toNumber() outside this function. It may not round exactly for very large numbers.
28
29
  if (typeof value === 'string' || typeof value === 'number') {
29
30
  return new BigN(value);
30
31
  } else if (typeof value === 'undefined') {
31
32
  return new BigN(0);
32
33
  } else {
33
- return new BigN(value.toNumber());
34
+ return new BigN(value.toString());
34
35
  }
35
36
  };
36
37
  export const createTransactionFromRLP = rlp => {