@cityofzion/bs-neo-legacy 1.12.2 → 1.12.4

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.
@@ -8,6 +8,18 @@ export declare class BSNeoLegacyConstants {
8
8
  hash: string;
9
9
  decimals: number;
10
10
  }[];
11
+ static GAS_ASSET: {
12
+ symbol: string;
13
+ name: string;
14
+ hash: string;
15
+ decimals: number;
16
+ };
17
+ static NEO_ASSET: {
18
+ symbol: string;
19
+ name: string;
20
+ hash: string;
21
+ decimals: number;
22
+ };
11
23
  static RPC_LIST_BY_NETWORK_ID: Record<BSNeoLegacyNetworkId, string[]>;
12
24
  static LEGACY_NETWORK_BY_NETWORK_ID: Record<BSNeoLegacyNetworkId, string>;
13
25
  static MAINNET_NETWORK_IDS: BSNeoLegacyNetworkId[];
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.BSNeoLegacyConstants = void 0;
8
8
  const mainnet_json_1 = __importDefault(require("../assets/tokens/mainnet.json"));
9
9
  const native_json_1 = __importDefault(require("../assets/tokens/native.json"));
10
+ const blockchain_service_1 = require("@cityofzion/blockchain-service");
10
11
  class BSNeoLegacyConstants {
11
12
  }
12
13
  exports.BSNeoLegacyConstants = BSNeoLegacyConstants;
@@ -14,7 +15,9 @@ _a = BSNeoLegacyConstants;
14
15
  BSNeoLegacyConstants.EXTRA_TOKENS_BY_NETWORK_ID = {
15
16
  mainnet: mainnet_json_1.default,
16
17
  };
17
- BSNeoLegacyConstants.NATIVE_ASSETS = native_json_1.default;
18
+ BSNeoLegacyConstants.NATIVE_ASSETS = blockchain_service_1.BSTokenHelper.normalizeToken(native_json_1.default);
19
+ BSNeoLegacyConstants.GAS_ASSET = _a.NATIVE_ASSETS.find(blockchain_service_1.BSTokenHelper.predicateBySymbol('GAS'));
20
+ BSNeoLegacyConstants.NEO_ASSET = _a.NATIVE_ASSETS.find(blockchain_service_1.BSTokenHelper.predicateBySymbol('NEO'));
18
21
  BSNeoLegacyConstants.RPC_LIST_BY_NETWORK_ID = {
19
22
  mainnet: [
20
23
  'https://mainnet1.neo2.coz.io:443',
@@ -57,6 +60,7 @@ BSNeoLegacyConstants.TESTNET_NETWORKS = [
57
60
  ];
58
61
  BSNeoLegacyConstants.ALL_NETWORKS = [..._a.MAINNET_NETWORKS, ..._a.TESTNET_NETWORKS];
59
62
  BSNeoLegacyConstants.DEFAULT_BIP44_DERIVATION_PATH = "m/44'/888'/0'/0/?";
63
+ // If tou change this, make sure to update the tests accordingly
60
64
  BSNeoLegacyConstants.DEFAULT_NETWORK = _a.MAINNET_NETWORKS[0];
61
65
  BSNeoLegacyConstants.MIGRATION_COZ_LEGACY_ADDRESS = 'AaT27thuyPaqERPwERhk7QhfKrbj4xoyAV';
62
66
  BSNeoLegacyConstants.MIGRATION_COZ_FEE = 0.01; // 1%
@@ -16,7 +16,6 @@ export declare class BSNeoLegacyHelper {
16
16
  }[];
17
17
  static getRpcList(network: Network<BSNeoLegacyNetworkId>): string[];
18
18
  static isMainnet(network: Network<BSNeoLegacyNetworkId>): boolean;
19
- static normalizeHash(hash: string): string;
20
19
  static waitForMigration(params: WaitForMigrationParams): Promise<{
21
20
  isTransactionConfirmed: boolean;
22
21
  isNeo3TransactionConfirmed: boolean;
@@ -26,7 +26,7 @@ class BSNeoLegacyHelper {
26
26
  static getTokens(network) {
27
27
  var _a;
28
28
  const extraTokens = (_a = BSNeoLegacyConstants_1.BSNeoLegacyConstants.EXTRA_TOKENS_BY_NETWORK_ID[network.id]) !== null && _a !== void 0 ? _a : [];
29
- return [...extraTokens, ...native_json_1.default];
29
+ return blockchain_service_1.BSTokenHelper.normalizeToken([...extraTokens, ...native_json_1.default]);
30
30
  }
31
31
  static getRpcList(network) {
32
32
  var _a;
@@ -35,9 +35,6 @@ class BSNeoLegacyHelper {
35
35
  static isMainnet(network) {
36
36
  return BSNeoLegacyConstants_1.BSNeoLegacyConstants.MAINNET_NETWORK_IDS.includes(network.id);
37
37
  }
38
- static normalizeHash(hash) {
39
- return (0, blockchain_service_1.normalizeHash)(hash, { lowercase: false });
40
- }
41
38
  static waitForMigration(params) {
42
39
  return __awaiter(this, void 0, void 0, function* () {
43
40
  const { neo3Address, neo3Service, transactionHash, neoLegacyService } = params;
@@ -49,7 +46,7 @@ class BSNeoLegacyHelper {
49
46
  };
50
47
  let transactionResponse;
51
48
  for (let i = 0; i < MAX_ATTEMPTS; i++) {
52
- yield (0, blockchain_service_1.wait)(30000);
49
+ yield blockchain_service_1.BSUtilsHelper.wait(30000);
53
50
  try {
54
51
  transactionResponse = yield neoLegacyService.blockchainDataService.getTransaction(transactionHash);
55
52
  response.isTransactionConfirmed = true;
@@ -62,7 +59,7 @@ class BSNeoLegacyHelper {
62
59
  if (!response.isTransactionConfirmed)
63
60
  return response;
64
61
  for (let i = 0; i < NEO3_MAX_ATTEMPTS; i++) {
65
- yield (0, blockchain_service_1.wait)(60000);
62
+ yield blockchain_service_1.BSUtilsHelper.wait(60000);
66
63
  try {
67
64
  const neo3Response = yield neo3Service.blockchainDataService.getTransactionsByAddress({
68
65
  address: neo3Address,
@@ -21,23 +21,11 @@ export type CalculateNeoLegacyMigrationAmountsResponse = {
21
21
  export declare class BSNeoLegacy<BSName extends string = string> implements BlockchainService<BSName, BSNeoLegacyNetworkId>, BSClaimable<BSName>, BSWithExplorerService, BSWithLedger<BSName> {
22
22
  #private;
23
23
  NATIVE_ASSETS: {
24
- hash: string;
25
- symbol: string;
26
- name: string;
27
- decimals: number;
28
- }[];
29
- GAS_ASSET: {
30
- hash: string;
31
24
  symbol: string;
32
25
  name: string;
33
- decimals: number;
34
- };
35
- NEO_ASSET: {
36
26
  hash: string;
37
- symbol: string;
38
- name: string;
39
27
  decimals: number;
40
- };
28
+ }[];
41
29
  readonly name: BSName;
42
30
  readonly bip44DerivationPath: string;
43
31
  nativeTokens: Token[];
@@ -39,9 +39,7 @@ const NeonJsLedgerServiceNeoLegacy_1 = require("./ledger/NeonJsLedgerServiceNeoL
39
39
  class BSNeoLegacy {
40
40
  constructor(name, network, getLedgerTransport) {
41
41
  _BSNeoLegacy_instances.add(this);
42
- this.NATIVE_ASSETS = BSNeoLegacyConstants_1.BSNeoLegacyConstants.NATIVE_ASSETS.map(asset => (Object.assign(Object.assign({}, asset), { hash: (0, blockchain_service_1.normalizeHash)(asset.hash) })));
43
- this.GAS_ASSET = this.NATIVE_ASSETS.find(({ symbol }) => symbol === 'GAS');
44
- this.NEO_ASSET = this.NATIVE_ASSETS.find(({ symbol }) => symbol === 'NEO');
42
+ this.NATIVE_ASSETS = BSNeoLegacyConstants_1.BSNeoLegacyConstants.NATIVE_ASSETS;
45
43
  network = network !== null && network !== void 0 ? network : BSNeoLegacyConstants_1.BSNeoLegacyConstants.DEFAULT_NETWORK;
46
44
  this.name = name;
47
45
  this.legacyNetwork = BSNeoLegacyConstants_1.BSNeoLegacyConstants.LEGACY_NETWORK_BY_NETWORK_ID[network.id];
@@ -119,13 +117,13 @@ class BSNeoLegacy {
119
117
  const nep5ScriptBuilder = new neon_js_1.sc.ScriptBuilder();
120
118
  const concatIntents = [...intents, ...(tipIntent ? [tipIntent] : [])];
121
119
  for (const intent of concatIntents) {
122
- const tokenHashFixed = BSNeoLegacyHelper_1.BSNeoLegacyHelper.normalizeHash(intent.tokenHash);
123
- const nativeAsset = this.NATIVE_ASSETS.find(({ hash }) => hash === tokenHashFixed);
120
+ const normalizeTokenHash = blockchain_service_1.BSTokenHelper.normalizeHash(intent.tokenHash);
121
+ const nativeAsset = this.NATIVE_ASSETS.find(blockchain_service_1.BSTokenHelper.predicateByHash(normalizeTokenHash));
124
122
  if (nativeAsset) {
125
123
  nativeIntents.push(...neon_js_1.api.makeIntent({ [nativeAsset.symbol]: Number(intent.amount) }, intent.receiverAddress));
126
124
  continue;
127
125
  }
128
- nep5ScriptBuilder.emitAppCall(tokenHashFixed, 'transfer', [
126
+ nep5ScriptBuilder.emitAppCall(normalizeTokenHash, 'transfer', [
129
127
  neon_js_1.u.reverseHex(neon_js_1.wallet.getScriptHashFromAddress(neonJsAccount.address)),
130
128
  neon_js_1.u.reverseHex(neon_js_1.wallet.getScriptHashFromAddress(intent.receiverAddress)),
131
129
  neon_js_1.sc.ContractParam.integer(new neon_js_1.u.Fixed8(intent.amount)
@@ -169,9 +167,9 @@ class BSNeoLegacy {
169
167
  const provider = new neon_js_1.api.neoCli.instance(this.network.url);
170
168
  const intents = [];
171
169
  if (neoLegacyMigrationAmounts.gasBalance)
172
- intents.push(...neon_js_1.api.makeIntent({ [this.GAS_ASSET.symbol]: Number(neoLegacyMigrationAmounts.gasBalance.amount) }, BSNeoLegacyConstants_1.BSNeoLegacyConstants.MIGRATION_COZ_LEGACY_ADDRESS));
170
+ intents.push(...neon_js_1.api.makeIntent({ [BSNeoLegacyConstants_1.BSNeoLegacyConstants.GAS_ASSET.symbol]: Number(neoLegacyMigrationAmounts.gasBalance.amount) }, BSNeoLegacyConstants_1.BSNeoLegacyConstants.MIGRATION_COZ_LEGACY_ADDRESS));
173
171
  if (neoLegacyMigrationAmounts.neoBalance)
174
- intents.push(...neon_js_1.api.makeIntent({ [this.NEO_ASSET.symbol]: Number(neoLegacyMigrationAmounts.neoBalance.amount) }, BSNeoLegacyConstants_1.BSNeoLegacyConstants.MIGRATION_COZ_LEGACY_ADDRESS));
172
+ intents.push(...neon_js_1.api.makeIntent({ [BSNeoLegacyConstants_1.BSNeoLegacyConstants.NEO_ASSET.symbol]: Number(neoLegacyMigrationAmounts.neoBalance.amount) }, BSNeoLegacyConstants_1.BSNeoLegacyConstants.MIGRATION_COZ_LEGACY_ADDRESS));
175
173
  return yield __classPrivateFieldGet(this, _BSNeoLegacy_instances, "m", _BSNeoLegacy_sendTransfer).call(this, {
176
174
  url: this.network.url,
177
175
  api: provider,
@@ -215,30 +213,32 @@ class BSNeoLegacy {
215
213
  const gasAmountNumberLessCozFee = gasAmountNumberLessAllNep17TransfersFee - cozFee;
216
214
  const allGasFeeNumberThatUserWillPay = cozFee + BSNeoLegacyConstants_1.BSNeoLegacyConstants.MIGRATION_NEP_17_TRANSFER_FEE * 2;
217
215
  const allGasAmountNumberThatUserWillReceive = gasAmountNumberLessCozFee + BSNeoLegacyConstants_1.BSNeoLegacyConstants.MIGRATION_NEP_17_TRANSFER_FEE;
218
- response.gasMigrationTotalFees = blockchain_service_1.BSNumberHelper.formatNumber(allGasFeeNumberThatUserWillPay, {
219
- decimals: this.GAS_ASSET.decimals,
216
+ response.gasMigrationTotalFees = blockchain_service_1.BSBigNumberHelper.format(allGasFeeNumberThatUserWillPay, {
217
+ decimals: BSNeoLegacyConstants_1.BSNeoLegacyConstants.GAS_ASSET.decimals,
220
218
  });
221
- response.gasMigrationReceiveAmount = blockchain_service_1.BSNumberHelper.formatNumber(allGasAmountNumberThatUserWillReceive, {
222
- decimals: this.GAS_ASSET.decimals,
219
+ response.gasMigrationReceiveAmount = blockchain_service_1.BSBigNumberHelper.format(allGasAmountNumberThatUserWillReceive, {
220
+ decimals: BSNeoLegacyConstants_1.BSNeoLegacyConstants.GAS_ASSET.decimals,
223
221
  });
224
222
  }
225
223
  if (neoLegacyMigrationAmounts.neoBalance && neoLegacyMigrationAmounts.hasEnoughNeoBalance) {
226
224
  const neoMigrationAmountNumber = Number(neoLegacyMigrationAmounts.neoBalance.amount);
227
- response.neoMigrationTotalFees = blockchain_service_1.BSNumberHelper.formatNumber(Math.ceil(neoMigrationAmountNumber * BSNeoLegacyConstants_1.BSNeoLegacyConstants.MIGRATION_COZ_FEE), { decimals: this.NEO_ASSET.decimals });
228
- response.neoMigrationReceiveAmount = blockchain_service_1.BSNumberHelper.formatNumber(neoMigrationAmountNumber - Number(response.neoMigrationTotalFees), { decimals: this.NEO_ASSET.decimals });
225
+ response.neoMigrationTotalFees = blockchain_service_1.BSBigNumberHelper.format(Math.ceil(neoMigrationAmountNumber * BSNeoLegacyConstants_1.BSNeoLegacyConstants.MIGRATION_COZ_FEE), { decimals: BSNeoLegacyConstants_1.BSNeoLegacyConstants.NEO_ASSET.decimals });
226
+ response.neoMigrationReceiveAmount = blockchain_service_1.BSBigNumberHelper.format(neoMigrationAmountNumber - Number(response.neoMigrationTotalFees), { decimals: BSNeoLegacyConstants_1.BSNeoLegacyConstants.NEO_ASSET.decimals });
229
227
  }
230
228
  return response;
231
229
  }
232
230
  calculateNeoLegacyMigrationAmounts(balance) {
233
- const gasBalance = balance.find(({ token }) => (0, blockchain_service_1.normalizeHash)(token.hash) === this.GAS_ASSET.hash);
234
- const neoBalance = balance.find(({ token }) => (0, blockchain_service_1.normalizeHash)(token.hash) === this.NEO_ASSET.hash);
231
+ const gasBalance = balance.find(({ token }) => blockchain_service_1.BSTokenHelper.predicateByHash(BSNeoLegacyConstants_1.BSNeoLegacyConstants.GAS_ASSET)(token));
232
+ const neoBalance = balance.find(({ token }) => blockchain_service_1.BSTokenHelper.predicateByHash(BSNeoLegacyConstants_1.BSNeoLegacyConstants.NEO_ASSET)(token));
235
233
  let hasEnoughGasBalance = false;
236
234
  let hasEnoughNeoBalance = false;
237
235
  if (gasBalance) {
238
- hasEnoughGasBalance = Number(gasBalance.amount) >= BSNeoLegacyConstants_1.BSNeoLegacyConstants.MIGRATION_MIN_GAS;
236
+ const gasBalanceNumber = blockchain_service_1.BSBigNumberHelper.fromNumber(gasBalance.amount);
237
+ hasEnoughGasBalance = gasBalanceNumber.isGreaterThanOrEqualTo(BSNeoLegacyConstants_1.BSNeoLegacyConstants.MIGRATION_MIN_GAS);
239
238
  }
240
239
  if (neoBalance) {
241
- hasEnoughNeoBalance = Number(neoBalance.amount) >= BSNeoLegacyConstants_1.BSNeoLegacyConstants.MIGRATION_MIN_NEO;
240
+ const neoBalanceNumber = blockchain_service_1.BSBigNumberHelper.fromNumber(neoBalance.amount);
241
+ hasEnoughNeoBalance = neoBalanceNumber.isGreaterThanOrEqualTo(BSNeoLegacyConstants_1.BSNeoLegacyConstants.MIGRATION_MIN_NEO);
242
242
  }
243
243
  return {
244
244
  gasBalance,
@@ -151,10 +151,10 @@ class DoraBDSNeoLegacy {
151
151
  invocationCount: item.invocationCount,
152
152
  notificationCount: item.notificationCount,
153
153
  networkFeeAmount: networkFeeAmount
154
- ? blockchain_service_1.BSNumberHelper.formatNumber(networkFeeAmount, { decimals: __classPrivateFieldGet(this, _DoraBDSNeoLegacy_feeToken, "f").decimals })
154
+ ? blockchain_service_1.BSBigNumberHelper.format(networkFeeAmount, { decimals: __classPrivateFieldGet(this, _DoraBDSNeoLegacy_feeToken, "f").decimals })
155
155
  : undefined,
156
156
  systemFeeAmount: systemFeeAmount
157
- ? blockchain_service_1.BSNumberHelper.formatNumber(systemFeeAmount, { decimals: __classPrivateFieldGet(this, _DoraBDSNeoLegacy_feeToken, "f").decimals })
157
+ ? blockchain_service_1.BSBigNumberHelper.format(systemFeeAmount, { decimals: __classPrivateFieldGet(this, _DoraBDSNeoLegacy_feeToken, "f").decimals })
158
158
  : undefined,
159
159
  events: [],
160
160
  };
@@ -170,7 +170,7 @@ class DoraBDSNeoLegacy {
170
170
  const assetEvent = {
171
171
  eventType: 'token',
172
172
  amount: amount
173
- ? blockchain_service_1.BSNumberHelper.formatNumber(amount, { decimals: (_h = token === null || token === void 0 ? void 0 : token.decimals) !== null && _h !== void 0 ? _h : event.tokenDecimals })
173
+ ? blockchain_service_1.BSBigNumberHelper.format(amount, { decimals: (_h = token === null || token === void 0 ? void 0 : token.decimals) !== null && _h !== void 0 ? _h : event.tokenDecimals })
174
174
  : undefined,
175
175
  methodName: event.methodName,
176
176
  from: from !== null && from !== void 0 ? from : undefined,
@@ -216,22 +216,23 @@ class DoraBDSNeoLegacy {
216
216
  }
217
217
  getTokenInfo(tokenHash) {
218
218
  return __awaiter(this, void 0, void 0, function* () {
219
- const localToken = __classPrivateFieldGet(this, _DoraBDSNeoLegacy_tokens, "f").find(token => BSNeoLegacyHelper_1.BSNeoLegacyHelper.normalizeHash(token.hash) === BSNeoLegacyHelper_1.BSNeoLegacyHelper.normalizeHash(tokenHash));
220
- if (localToken)
221
- return localToken;
222
- if (__classPrivateFieldGet(this, _DoraBDSNeoLegacy_tokenCache, "f").has(tokenHash)) {
223
- return __classPrivateFieldGet(this, _DoraBDSNeoLegacy_tokenCache, "f").get(tokenHash);
219
+ const cachedToken = __classPrivateFieldGet(this, _DoraBDSNeoLegacy_tokenCache, "f").get(tokenHash);
220
+ if (cachedToken) {
221
+ return cachedToken;
224
222
  }
225
- const data = yield dora_ts_1.api.NeoLegacyREST.asset(tokenHash, __classPrivateFieldGet(this, _DoraBDSNeoLegacy_network, "f").id);
226
- if (!data || 'error' in data)
227
- throw new Error(`Token ${tokenHash} not found`);
228
- const token = {
229
- decimals: Number(data.decimals),
230
- symbol: data.symbol,
231
- hash: data.scripthash,
232
- name: data.name,
233
- };
234
- __classPrivateFieldGet(this, _DoraBDSNeoLegacy_tokenCache, "f").set(tokenHash, token);
223
+ let token = __classPrivateFieldGet(this, _DoraBDSNeoLegacy_tokens, "f").find(blockchain_service_1.BSTokenHelper.predicateByHash(tokenHash));
224
+ if (!token) {
225
+ const data = yield dora_ts_1.api.NeoLegacyREST.asset(tokenHash, __classPrivateFieldGet(this, _DoraBDSNeoLegacy_network, "f").id);
226
+ if (!data || 'error' in data)
227
+ throw new Error(`Token ${tokenHash} not found`);
228
+ token = {
229
+ decimals: Number(data.decimals),
230
+ symbol: data.symbol,
231
+ hash: data.scripthash,
232
+ name: data.name,
233
+ };
234
+ }
235
+ __classPrivateFieldGet(this, _DoraBDSNeoLegacy_tokenCache, "f").set(tokenHash, blockchain_service_1.BSTokenHelper.normalizeToken(token));
235
236
  return token;
236
237
  });
237
238
  }
@@ -239,21 +240,20 @@ class DoraBDSNeoLegacy {
239
240
  return __awaiter(this, void 0, void 0, function* () {
240
241
  const data = yield dora_ts_1.api.NeoLegacyREST.balance(address, __classPrivateFieldGet(this, _DoraBDSNeoLegacy_network, "f").id);
241
242
  const promises = data.map((balance) => __awaiter(this, void 0, void 0, function* () {
242
- const hash = BSNeoLegacyHelper_1.BSNeoLegacyHelper.normalizeHash(balance.asset);
243
- let token = {
244
- hash,
243
+ let token = blockchain_service_1.BSTokenHelper.normalizeToken({
244
+ hash: balance.asset,
245
245
  name: balance.asset_name,
246
246
  symbol: balance.symbol,
247
247
  decimals: 8,
248
- };
248
+ });
249
249
  try {
250
- token = yield this.getTokenInfo(hash);
250
+ token = yield this.getTokenInfo(balance.asset);
251
251
  }
252
252
  catch (_a) {
253
253
  // Empty block
254
254
  }
255
255
  return {
256
- amount: Number(balance.balance).toFixed(token.decimals),
256
+ amount: blockchain_service_1.BSBigNumberHelper.format(balance.balance, { decimals: token.decimals }),
257
257
  token,
258
258
  };
259
259
  }));
@@ -24,12 +24,12 @@ class NeoTubeESNeoLegacy {
24
24
  buildTransactionUrl(hash) {
25
25
  if (!BSNeoLegacyHelper_1.BSNeoLegacyHelper.isMainnet(__classPrivateFieldGet(this, _NeoTubeESNeoLegacy_network, "f")))
26
26
  throw new Error('NeoTube is only available on mainnet');
27
- return `${__classPrivateFieldGet(this, _NeoTubeESNeoLegacy_BASE_URL, "f")}/transaction/${(0, blockchain_service_1.denormalizeHash)(hash)}`;
27
+ return `${__classPrivateFieldGet(this, _NeoTubeESNeoLegacy_BASE_URL, "f")}/transaction/${blockchain_service_1.BSTokenHelper.normalizeHash(hash)}`;
28
28
  }
29
29
  buildContractUrl(contractHash) {
30
30
  if (!BSNeoLegacyHelper_1.BSNeoLegacyHelper.isMainnet(__classPrivateFieldGet(this, _NeoTubeESNeoLegacy_network, "f")))
31
31
  throw new Error('NeoTube is only available on mainnet');
32
- return `${__classPrivateFieldGet(this, _NeoTubeESNeoLegacy_BASE_URL, "f")}/asset/${contractHash}/page/1`;
32
+ return `${__classPrivateFieldGet(this, _NeoTubeESNeoLegacy_BASE_URL, "f")}/asset/${blockchain_service_1.BSTokenHelper.normalizeHash(contractHash)}/page/1`;
33
33
  }
34
34
  buildNftUrl(_params) {
35
35
  throw new Error('NeoTube does not support nft');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cityofzion/bs-neo-legacy",
3
- "version": "1.12.2",
3
+ "version": "1.12.4",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "author": "Coz",
@@ -14,7 +14,7 @@
14
14
  "@ledgerhq/hw-transport": "~6.30.5",
15
15
  "axios": "1.8.2",
16
16
  "date-fns": "~4.1.0",
17
- "@cityofzion/blockchain-service": "1.18.2",
17
+ "@cityofzion/blockchain-service": "1.19.1",
18
18
  "@cityofzion/bs-asteroid-sdk": "0.9.1"
19
19
  },
20
20
  "devDependencies": {