@cityofzion/bs-neox 3.1.17 → 3.1.18
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/dist/BSNeoX.js +8 -6
- package/dist/services/blockchain-data/BlockscoutBDSNeoX.js +1 -1
- package/dist/services/neo3-neox-bridge/Neo3NeoXBridgeService.js +18 -16
- package/dist/services/nft-data/GhostMarketNDSNeoX.js +1 -1
- package/dist/services/wallet-connect/WalletConnectServiceNeoX.d.ts +2 -0
- package/dist/services/wallet-connect/WalletConnectServiceNeoX.js +23 -12
- package/dist/types.d.ts +3 -3
- package/package.json +15 -14
package/dist/BSNeoX.js
CHANGED
|
@@ -36,7 +36,7 @@ class BSNeoX extends bs_ethereum_1.BSEthereum {
|
|
|
36
36
|
throw new Error('Invalid chainId');
|
|
37
37
|
}
|
|
38
38
|
transactionParams.chainId = chainId;
|
|
39
|
-
const nonce = await signer.
|
|
39
|
+
const nonce = await signer.getNonce('pending');
|
|
40
40
|
if (isNaN(nonce)) {
|
|
41
41
|
throw new Error('Invalid nonce');
|
|
42
42
|
}
|
|
@@ -104,10 +104,12 @@ class BSNeoX extends bs_ethereum_1.BSEthereum {
|
|
|
104
104
|
}
|
|
105
105
|
newParams.maxPriorityFeePerGas = gasPriceBn.toString();
|
|
106
106
|
newParams.maxFeePerGas = gasPriceBn.toString();
|
|
107
|
-
const
|
|
108
|
-
const
|
|
109
|
-
|
|
110
|
-
|
|
107
|
+
const provider = new ethers_1.JsonRpcProvider(this.network.url);
|
|
108
|
+
const signedTransaction = await signer.signTransaction(newParams);
|
|
109
|
+
const transactionHash = await provider.send('eth_sendRawTransaction', [signedTransaction]);
|
|
110
|
+
if (!transactionHash) {
|
|
111
|
+
throw new blockchain_service_1.BSError('Transaction error', 'TRANSACTION_ERROR');
|
|
112
|
+
}
|
|
111
113
|
const fee = gasPriceBn.multipliedBy(newParams.gasLimit).toHuman().toFormatted();
|
|
112
114
|
return { transactionHash, fee };
|
|
113
115
|
}
|
|
@@ -130,7 +132,7 @@ class BSNeoX extends bs_ethereum_1.BSEthereum {
|
|
|
130
132
|
this.fullTransactionsDataService = new BlockscoutFullTransactionsDataService_1.BlockscoutFullTransactionsDataService(this);
|
|
131
133
|
}
|
|
132
134
|
async transfer({ senderAccount, intents, }) {
|
|
133
|
-
const signer = await this.
|
|
135
|
+
const signer = await this._getSigner(senderAccount);
|
|
134
136
|
const { address } = senderAccount;
|
|
135
137
|
const addressUrl = this.explorerService.buildAddressUrl(address);
|
|
136
138
|
const transactions = [];
|
|
@@ -150,7 +150,7 @@ class BlockscoutBDSNeoX extends bs_ethereum_1.RpcBDSEthereum {
|
|
|
150
150
|
const rawInput = item.raw_input;
|
|
151
151
|
if (rawInput) {
|
|
152
152
|
try {
|
|
153
|
-
const ERC20Interface = new ethers_1.
|
|
153
|
+
const ERC20Interface = new ethers_1.Interface(bs_ethereum_1.ERC20_ABI);
|
|
154
154
|
const result = ERC20Interface.decodeFunctionData('transfer', rawInput);
|
|
155
155
|
if (!result)
|
|
156
156
|
throw new Error('Invalid ERC20 transfer');
|
|
@@ -43,7 +43,7 @@ class Neo3NeoXBridgeService {
|
|
|
43
43
|
}
|
|
44
44
|
async getBridgeConstants(token) {
|
|
45
45
|
try {
|
|
46
|
-
const provider = new ethers_1.
|
|
46
|
+
const provider = new ethers_1.JsonRpcProvider(__classPrivateFieldGet(this, _Neo3NeoXBridgeService_service, "f").network.url);
|
|
47
47
|
const bridgeContract = new ethers_1.ethers.Contract(_a.BRIDGE_SCRIPT_HASH, bridge_1.BRIDGE_ABI, provider);
|
|
48
48
|
const isNativeToken = __classPrivateFieldGet(this, _Neo3NeoXBridgeService_service, "f").tokenService.predicateByHash(token, BSNeoXConstants_1.BSNeoXConstants.NATIVE_ASSET);
|
|
49
49
|
const response = isNativeToken
|
|
@@ -82,15 +82,15 @@ class Neo3NeoXBridgeService {
|
|
|
82
82
|
if (isNaN(chainId)) {
|
|
83
83
|
throw new Error('Invalid chainId');
|
|
84
84
|
}
|
|
85
|
-
const signer = await __classPrivateFieldGet(this, _Neo3NeoXBridgeService_service, "f").
|
|
86
|
-
const nonce = await signer.
|
|
85
|
+
const signer = await __classPrivateFieldGet(this, _Neo3NeoXBridgeService_service, "f")._getSigner(params.account);
|
|
86
|
+
const nonce = await signer.getNonce('pending');
|
|
87
87
|
if (isNaN(nonce)) {
|
|
88
88
|
throw new Error('Invalid nonce');
|
|
89
89
|
}
|
|
90
90
|
const approvedEstimated = await signer.estimateGas({ ...populatedApproveTransaction, chainId, nonce, type: 2 });
|
|
91
|
-
const provider = new ethers_1.
|
|
92
|
-
const gasPrice = await provider.
|
|
93
|
-
return new blockchain_service_1.BSBigUnitAmount(gasPrice
|
|
91
|
+
const provider = new ethers_1.JsonRpcProvider(__classPrivateFieldGet(this, _Neo3NeoXBridgeService_service, "f").network.url);
|
|
92
|
+
const { gasPrice } = await provider.getFeeData();
|
|
93
|
+
return new blockchain_service_1.BSBigUnitAmount(gasPrice?.toString() || '0', bs_ethereum_1.BSEthereumConstants.DEFAULT_DECIMALS)
|
|
94
94
|
.multipliedBy(approvedEstimated.toString())
|
|
95
95
|
.toHuman()
|
|
96
96
|
.toFormatted();
|
|
@@ -106,17 +106,18 @@ class Neo3NeoXBridgeService {
|
|
|
106
106
|
if (__classPrivateFieldGet(this, _Neo3NeoXBridgeService_service, "f").network.type !== 'mainnet') {
|
|
107
107
|
throw new blockchain_service_1.BSError('Bridging to Neo3 is only supported on mainnet', 'UNSUPPORTED_NETWORK');
|
|
108
108
|
}
|
|
109
|
-
const signer = await __classPrivateFieldGet(this, _Neo3NeoXBridgeService_service, "f").
|
|
109
|
+
const signer = await __classPrivateFieldGet(this, _Neo3NeoXBridgeService_service, "f")._getSigner(params.account);
|
|
110
110
|
const bridgeContract = new ethers_1.ethers.Contract(_a.BRIDGE_SCRIPT_HASH, bridge_1.BRIDGE_ABI);
|
|
111
111
|
const { wallet } = bs_neo3_1.BSNeo3NeonJsSingletonHelper.getInstance();
|
|
112
112
|
const to = `0x${wallet.getScriptHashFromAddress(params.receiverAddress)}`;
|
|
113
113
|
const bridgeFee = new blockchain_service_1.BSBigHumanAmount(params.bridgeFee, BSNeoXConstants_1.BSNeoXConstants.NATIVE_ASSET.decimals).toUnit().toFixed();
|
|
114
114
|
const isNativeToken = __classPrivateFieldGet(this, _Neo3NeoXBridgeService_service, "f").tokenService.predicateByHash(params.token, BSNeoXConstants_1.BSNeoXConstants.NATIVE_ASSET);
|
|
115
|
-
const
|
|
116
|
-
const
|
|
115
|
+
const provider = new ethers_1.JsonRpcProvider(__classPrivateFieldGet(this, _Neo3NeoXBridgeService_service, "f").network.url);
|
|
116
|
+
const { gasPrice } = await provider.getFeeData();
|
|
117
|
+
const gasPriceBn = new blockchain_service_1.BSBigUnitAmount(gasPrice?.toString() || '0', bs_ethereum_1.BSEthereumConstants.DEFAULT_DECIMALS);
|
|
117
118
|
const transactionParams = { type: 2 };
|
|
118
119
|
if (isNativeToken) {
|
|
119
|
-
const populatedTransactionParams = await bridgeContract.populateTransaction
|
|
120
|
+
const populatedTransactionParams = await bridgeContract.withdrawNative.populateTransaction(to, bridgeFee);
|
|
120
121
|
const value = new blockchain_service_1.BSBigHumanAmount(params.amount, params.token.decimals).toUnit().plus(bridgeFee).toFixed();
|
|
121
122
|
Object.assign(transactionParams, populatedTransactionParams, { value });
|
|
122
123
|
}
|
|
@@ -128,12 +129,12 @@ class Neo3NeoXBridgeService {
|
|
|
128
129
|
gasPriceBn,
|
|
129
130
|
transactionParams: approveTransactionParam,
|
|
130
131
|
});
|
|
131
|
-
const provider = new ethers_1.
|
|
132
|
+
const provider = new ethers_1.JsonRpcProvider(__classPrivateFieldGet(this, _Neo3NeoXBridgeService_service, "f").network.url);
|
|
132
133
|
await provider.waitForTransaction(transactionHash);
|
|
133
134
|
}
|
|
134
135
|
const fixedAmount = new blockchain_service_1.BSBigHumanAmount(params.amount, 0).toFormatted();
|
|
135
136
|
const amount = new blockchain_service_1.BSBigHumanAmount(fixedAmount, params.token.decimals).toUnit().toFixed();
|
|
136
|
-
const populatedTransactionParams = await bridgeContract.populateTransaction
|
|
137
|
+
const populatedTransactionParams = await bridgeContract.withdrawToken.populateTransaction(params.token.hash, to, amount);
|
|
137
138
|
Object.assign(transactionParams, populatedTransactionParams, { value: bridgeFee });
|
|
138
139
|
}
|
|
139
140
|
const { transactionHash } = await __classPrivateFieldGet(this, _Neo3NeoXBridgeService_service, "f")._sendTransaction({ signer, gasPriceBn, transactionParams });
|
|
@@ -147,11 +148,12 @@ class Neo3NeoXBridgeService {
|
|
|
147
148
|
if (!transactionLogsResponse)
|
|
148
149
|
throw new blockchain_service_1.BSError('Failed to get nonce from transaction log', 'FAILED_TO_GET_NONCE', transactionLogsResponseError);
|
|
149
150
|
const [nonce, nonceError] = await blockchain_service_1.BSUtilsHelper.tryCatch(async () => {
|
|
150
|
-
const BridgeInterface = new ethers_1.
|
|
151
|
+
const BridgeInterface = new ethers_1.Interface(bridge_1.BRIDGE_ABI);
|
|
151
152
|
for (const log of transactionLogsResponse.data.items) {
|
|
152
153
|
const [parsedNonce] = await blockchain_service_1.BSUtilsHelper.tryCatch(() => {
|
|
153
154
|
const parsedLog = BridgeInterface.parseLog({ data: log.data, topics: log.topics.filter(Boolean) });
|
|
154
|
-
|
|
155
|
+
const nonce = parsedLog?.args?.nonce;
|
|
156
|
+
return nonce !== undefined && nonce !== null ? nonce.toString() : undefined;
|
|
155
157
|
});
|
|
156
158
|
if (parsedNonce)
|
|
157
159
|
return parsedNonce;
|
|
@@ -192,7 +194,7 @@ class Neo3NeoXBridgeService {
|
|
|
192
194
|
}
|
|
193
195
|
exports.Neo3NeoXBridgeService = Neo3NeoXBridgeService;
|
|
194
196
|
_a = Neo3NeoXBridgeService, _Neo3NeoXBridgeService_service = new WeakMap(), _Neo3NeoXBridgeService_instances = new WeakSet(), _Neo3NeoXBridgeService_buildApproveTransactionParam = async function _Neo3NeoXBridgeService_buildApproveTransactionParam(params) {
|
|
195
|
-
const provider = new ethers_1.
|
|
197
|
+
const provider = new ethers_1.JsonRpcProvider(__classPrivateFieldGet(this, _Neo3NeoXBridgeService_service, "f").network.url);
|
|
196
198
|
const erc20Contract = new ethers_1.ethers.Contract(params.token.hash, bs_ethereum_1.ERC20_ABI, provider);
|
|
197
199
|
const allowance = await erc20Contract.allowance(params.account.address, _a.BRIDGE_SCRIPT_HASH);
|
|
198
200
|
const allowanceNumber = new blockchain_service_1.BSBigUnitAmount(allowance.toString(), this.neoToken.decimals);
|
|
@@ -202,7 +204,7 @@ _a = Neo3NeoXBridgeService, _Neo3NeoXBridgeService_service = new WeakMap(), _Neo
|
|
|
202
204
|
if (allowanceNumber.isGreaterThanOrEqualTo(amount)) {
|
|
203
205
|
return null;
|
|
204
206
|
}
|
|
205
|
-
return await erc20Contract.populateTransaction
|
|
207
|
+
return await erc20Contract.approve.populateTransaction(_a.BRIDGE_SCRIPT_HASH, amount);
|
|
206
208
|
};
|
|
207
209
|
Neo3NeoXBridgeService.BRIDGE_SCRIPT_HASH = '0x1212000000000000000000000000000000000004';
|
|
208
210
|
Neo3NeoXBridgeService.BRIDGE_BASE_CONFIRMATION_URL = 'https://xexplorer.neo.org:8877/api/v1/transactions/deposits';
|
|
@@ -12,7 +12,7 @@ class GhostMarketNDSNeoX extends blockchain_service_1.GhostMarketNDS {
|
|
|
12
12
|
try {
|
|
13
13
|
if (!collectionHash)
|
|
14
14
|
return false;
|
|
15
|
-
const provider = new ethers_1.
|
|
15
|
+
const provider = new ethers_1.JsonRpcProvider(this._service.network.url);
|
|
16
16
|
const contract = new ethers_1.ethers.Contract(collectionHash, bs_ethereum_1.ERC20_ABI, provider);
|
|
17
17
|
const response = await contract.balanceOf(address);
|
|
18
18
|
if (!response)
|
|
@@ -2,9 +2,11 @@ import { type TWalletConnectEthereumHandlers, WalletConnectServiceEthereum } fro
|
|
|
2
2
|
import type { IBSNeoX, TBSNeoXName, TBSNeoXNetworkId, TWalletConnectServiceNeoxMethod } from '../../types';
|
|
3
3
|
import z from 'zod';
|
|
4
4
|
declare const getCachedTransactionParamsSchema: z.ZodTuple<[z.ZodString, z.ZodString], null>;
|
|
5
|
+
declare const getNonceParamsSchema: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
5
6
|
type TWalletConnectNeoXHandlers = TWalletConnectEthereumHandlers & {
|
|
6
7
|
eth_getTransactionCount: unknown;
|
|
7
8
|
eth_getCachedTransaction: z.infer<typeof getCachedTransactionParamsSchema>;
|
|
9
|
+
eth_getNonce: z.infer<typeof getNonceParamsSchema>;
|
|
8
10
|
};
|
|
9
11
|
export declare class WalletConnectServiceNeoX extends WalletConnectServiceEthereum<TBSNeoXName, TBSNeoXNetworkId, TWalletConnectServiceNeoxMethod, TWalletConnectNeoXHandlers> {
|
|
10
12
|
#private;
|
|
@@ -7,7 +7,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
7
7
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
8
8
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
9
9
|
};
|
|
10
|
-
var _WalletConnectServiceNeoX_getTransactionCountHandler, _WalletConnectServiceNeoX_getCachedTransactionHandler, _WalletConnectServiceNeoX_sendTransactionHandler;
|
|
10
|
+
var _WalletConnectServiceNeoX_getTransactionCountHandler, _WalletConnectServiceNeoX_getCachedTransactionHandler, _WalletConnectServiceNeoX_getNonce, _WalletConnectServiceNeoX_sendTransactionHandler;
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.WalletConnectServiceNeoX = void 0;
|
|
13
13
|
const blockchain_service_1 = require("@cityofzion/blockchain-service");
|
|
@@ -17,24 +17,25 @@ const viem_1 = require("viem");
|
|
|
17
17
|
const axios_1 = __importDefault(require("axios"));
|
|
18
18
|
const zod_1 = __importDefault(require("zod"));
|
|
19
19
|
const getCachedTransactionParamsSchema = zod_1.default.tuple([zod_1.default.string(), zod_1.default.string()]);
|
|
20
|
+
const getNonceParamsSchema = zod_1.default.union([zod_1.default.string(), zod_1.default.number()]).optional();
|
|
20
21
|
class WalletConnectServiceNeoX extends bs_ethereum_1.WalletConnectServiceEthereum {
|
|
21
22
|
constructor(service) {
|
|
22
23
|
super(service);
|
|
23
24
|
_WalletConnectServiceNeoX_getTransactionCountHandler.set(this, {
|
|
24
25
|
validate: async () => { },
|
|
25
26
|
process: async (args) => {
|
|
26
|
-
const wallet = await this._service.
|
|
27
|
-
const provider = new ethers_1.
|
|
27
|
+
const wallet = await this._service._getSigner(args.account);
|
|
28
|
+
const provider = new ethers_1.JsonRpcProvider(this._service.network.url);
|
|
28
29
|
const connectedWallet = wallet.connect(provider);
|
|
29
|
-
return await connectedWallet.
|
|
30
|
+
return await connectedWallet.getNonce('pending');
|
|
30
31
|
},
|
|
31
32
|
});
|
|
32
33
|
_WalletConnectServiceNeoX_getCachedTransactionHandler.set(this, {
|
|
33
34
|
validate: async (params) => await getCachedTransactionParamsSchema.parseAsync(params),
|
|
34
35
|
process: async (args) => {
|
|
35
36
|
const url = this._service.network.url;
|
|
36
|
-
const wallet = await this._service.
|
|
37
|
-
const provider = new ethers_1.
|
|
37
|
+
const wallet = await this._service._getSigner(args.account);
|
|
38
|
+
const provider = new ethers_1.JsonRpcProvider(url);
|
|
38
39
|
const connectedWallet = wallet.connect(provider);
|
|
39
40
|
const nonce = args.params[0];
|
|
40
41
|
const signature = await connectedWallet.signMessage(nonce.toString());
|
|
@@ -49,27 +50,37 @@ class WalletConnectServiceNeoX extends bs_ethereum_1.WalletConnectServiceEthereu
|
|
|
49
50
|
return cachedTransactionResponse.data.result;
|
|
50
51
|
},
|
|
51
52
|
});
|
|
53
|
+
_WalletConnectServiceNeoX_getNonce.set(this, {
|
|
54
|
+
validate: async (params) => await getNonceParamsSchema.parseAsync(params),
|
|
55
|
+
process: async (args) => {
|
|
56
|
+
const wallet = await this._service._getSigner(args.account);
|
|
57
|
+
return await wallet.getNonce(args.params || 'pending');
|
|
58
|
+
},
|
|
59
|
+
});
|
|
52
60
|
_WalletConnectServiceNeoX_sendTransactionHandler.set(this, {
|
|
53
61
|
validate: async (params) => await this._sendTransactionHandler.validate(params),
|
|
54
62
|
process: async (args) => {
|
|
55
63
|
const { transaction, connectedWallet } = await this._resolveTransactionParams(args);
|
|
56
|
-
const
|
|
57
|
-
const
|
|
64
|
+
const provider = new ethers_1.JsonRpcProvider(this._service.network.url);
|
|
65
|
+
const populatedTransaction = await connectedWallet.populateTransaction(transaction);
|
|
66
|
+
const signedTransaction = await connectedWallet.signTransaction(populatedTransaction);
|
|
67
|
+
const transactionHash = await provider.send('eth_sendRawTransaction', [signedTransaction]);
|
|
58
68
|
if (!transactionHash) {
|
|
59
|
-
throw
|
|
69
|
+
throw new blockchain_service_1.BSError('Transaction error', 'TRANSACTION_ERROR');
|
|
60
70
|
}
|
|
61
71
|
return transactionHash;
|
|
62
72
|
},
|
|
63
73
|
});
|
|
64
|
-
this.supportedMethods.push('eth_getTransactionCount', 'eth_getCachedTransaction');
|
|
65
|
-
this.autoApproveMethods.push('eth_getTransactionCount', 'eth_getCachedTransaction');
|
|
74
|
+
this.supportedMethods.push('eth_getTransactionCount', 'eth_getCachedTransaction', 'eth_getNonce');
|
|
75
|
+
this.autoApproveMethods.push('eth_getTransactionCount', 'eth_getCachedTransaction', 'eth_getNonce');
|
|
66
76
|
this.handlers = {
|
|
67
77
|
...this.handlers,
|
|
68
78
|
eth_getTransactionCount: __classPrivateFieldGet(this, _WalletConnectServiceNeoX_getTransactionCountHandler, "f"),
|
|
69
79
|
eth_getCachedTransaction: __classPrivateFieldGet(this, _WalletConnectServiceNeoX_getCachedTransactionHandler, "f"),
|
|
80
|
+
eth_getNonce: __classPrivateFieldGet(this, _WalletConnectServiceNeoX_getNonce, "f"),
|
|
70
81
|
eth_sendTransaction: __classPrivateFieldGet(this, _WalletConnectServiceNeoX_sendTransactionHandler, "f"),
|
|
71
82
|
};
|
|
72
83
|
}
|
|
73
84
|
}
|
|
74
85
|
exports.WalletConnectServiceNeoX = WalletConnectServiceNeoX;
|
|
75
|
-
_WalletConnectServiceNeoX_getTransactionCountHandler = new WeakMap(), _WalletConnectServiceNeoX_getCachedTransactionHandler = new WeakMap(), _WalletConnectServiceNeoX_sendTransactionHandler = new WeakMap();
|
|
86
|
+
_WalletConnectServiceNeoX_getTransactionCountHandler = new WeakMap(), _WalletConnectServiceNeoX_getCachedTransactionHandler = new WeakMap(), _WalletConnectServiceNeoX_getNonce = new WeakMap(), _WalletConnectServiceNeoX_sendTransactionHandler = new WeakMap();
|
package/dist/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { BSBigUnitAmount, IBSWithNeo3NeoXBridge, TBSNetworkId } from '@cityofzion/blockchain-service';
|
|
2
2
|
import { ERC20_ABI, IBSEthereum, type TWalletConnectServiceEthereumMethod } from '@cityofzion/bs-ethereum';
|
|
3
|
-
import {
|
|
3
|
+
import { Signer, type TransactionRequest } from 'ethers';
|
|
4
4
|
import type { Neo3NeoXBridgeService } from './services/neo3-neox-bridge/Neo3NeoXBridgeService';
|
|
5
5
|
export type TBSNeoXNetworkId = TBSNetworkId<'47763' | '12227332'>;
|
|
6
6
|
export type TBSNeoXName = 'neox';
|
|
@@ -94,10 +94,10 @@ export type TNeo3NeoXBridgeServiceGetTransactionByNonceApiReponse = {
|
|
|
94
94
|
export type TSendTransactionParams = {
|
|
95
95
|
signer: Signer;
|
|
96
96
|
gasPriceBn: BSBigUnitAmount;
|
|
97
|
-
transactionParams:
|
|
97
|
+
transactionParams: TransactionRequest;
|
|
98
98
|
};
|
|
99
99
|
export type TSendTransactionResponse = {
|
|
100
100
|
transactionHash: string;
|
|
101
101
|
fee: string;
|
|
102
102
|
};
|
|
103
|
-
export type TWalletConnectServiceNeoxMethod = TWalletConnectServiceEthereumMethod | 'eth_getTransactionCount' | 'eth_getCachedTransaction';
|
|
103
|
+
export type TWalletConnectServiceNeoxMethod = TWalletConnectServiceEthereumMethod | 'eth_getTransactionCount' | 'eth_getCachedTransaction' | 'eth_getNonce';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cityofzion/bs-neox",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.18",
|
|
4
4
|
"repository": "https://github.com/CityOfZion/blockchain-services",
|
|
5
5
|
"license": "GPL-3.0-only",
|
|
6
6
|
"author": "Coz",
|
|
@@ -11,23 +11,24 @@
|
|
|
11
11
|
],
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@cityofzion/dora-ts": "0.6.2",
|
|
14
|
-
"axios": "
|
|
15
|
-
"ethers": "
|
|
14
|
+
"axios": "1.16.0",
|
|
15
|
+
"ethers": "6.16.0",
|
|
16
16
|
"neox-tpke": "~1.0.5",
|
|
17
|
-
"viem": "~2.
|
|
18
|
-
"zod": "~4.3
|
|
19
|
-
"@cityofzion/
|
|
20
|
-
"@cityofzion/bs-
|
|
21
|
-
"@cityofzion/
|
|
17
|
+
"viem": "~2.48.8",
|
|
18
|
+
"zod": "~4.4.3",
|
|
19
|
+
"@cityofzion/bs-neo3": "3.1.18",
|
|
20
|
+
"@cityofzion/bs-ethereum": "3.1.18",
|
|
21
|
+
"@cityofzion/blockchain-service": "3.1.18"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
|
-
"@ledgerhq/hw-transport": "
|
|
25
|
-
"@ledgerhq/hw-transport-node-hid": "~6.
|
|
24
|
+
"@ledgerhq/hw-transport": "6.35.1",
|
|
25
|
+
"@ledgerhq/hw-transport-node-hid": "~6.33.1",
|
|
26
|
+
"@types/node": "~25.6.0",
|
|
26
27
|
"date-fns": "~4.1.0",
|
|
27
|
-
"dotenv": "~17.
|
|
28
|
-
"eslint": "~
|
|
29
|
-
"typescript": "~
|
|
30
|
-
"vitest": "~4.
|
|
28
|
+
"dotenv": "~17.4.2",
|
|
29
|
+
"eslint": "~10.3.0",
|
|
30
|
+
"typescript": "~6.0.3",
|
|
31
|
+
"vitest": "~4.1.5"
|
|
31
32
|
},
|
|
32
33
|
"scripts": {
|
|
33
34
|
"build": "rm -rf ./dist && rm -f *.tgz && npm run typecheck && tsc --project tsconfig.build.json",
|