@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.
- package/dist/constants/BSNeoLegacyConstants.d.ts +12 -0
- package/dist/constants/BSNeoLegacyConstants.js +5 -1
- package/dist/helpers/BSNeoLegacyHelper.d.ts +0 -1
- package/dist/helpers/BSNeoLegacyHelper.js +3 -6
- package/dist/services/BSNeoLegacy.d.ts +1 -13
- package/dist/services/BSNeoLegacy.js +18 -18
- package/dist/services/blockchain-data/DoraBDSNeoLegacy.js +24 -24
- package/dist/services/explorer/NeoTubeESNeoLegacy.js +2 -2
- package/package.json +2 -2
|
@@ -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
|
|
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
|
|
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
|
|
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
|
|
123
|
-
const nativeAsset = this.NATIVE_ASSETS.find((
|
|
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(
|
|
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({ [
|
|
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({ [
|
|
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.
|
|
219
|
-
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.
|
|
222
|
-
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.
|
|
228
|
-
response.neoMigrationReceiveAmount = blockchain_service_1.
|
|
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 }) =>
|
|
234
|
-
const neoBalance = balance.find(({ token }) =>
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
220
|
-
if (
|
|
221
|
-
return
|
|
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
|
-
|
|
226
|
-
if (!
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
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
|
-
|
|
243
|
-
|
|
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(
|
|
250
|
+
token = yield this.getTokenInfo(balance.asset);
|
|
251
251
|
}
|
|
252
252
|
catch (_a) {
|
|
253
253
|
// Empty block
|
|
254
254
|
}
|
|
255
255
|
return {
|
|
256
|
-
amount:
|
|
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/${
|
|
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.
|
|
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.
|
|
17
|
+
"@cityofzion/blockchain-service": "1.19.1",
|
|
18
18
|
"@cityofzion/bs-asteroid-sdk": "0.9.1"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|