@cityofzion/bs-neo-legacy 1.13.0 → 1.13.2
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/{services/BSNeoLegacy.d.ts → BSNeoLegacy.d.ts} +5 -4
- package/dist/{services/BSNeoLegacy.js → BSNeoLegacy.js} +16 -14
- package/dist/constants/BSNeoLegacyConstants.d.ts +1 -0
- package/dist/constants/BSNeoLegacyConstants.js +12 -6
- package/dist/helpers/BSNeoLegacyHelper.d.ts +1 -0
- package/dist/helpers/BSNeoLegacyHelper.js +12 -11
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -1
- package/dist/services/blockchain-data/DoraBDSNeoLegacy.d.ts +2 -2
- package/dist/services/blockchain-data/DoraBDSNeoLegacy.js +13 -11
- package/dist/services/explorer/NeoTubeESNeoLegacy.d.ts +2 -2
- package/dist/services/explorer/NeoTubeESNeoLegacy.js +7 -6
- package/dist/services/ledger/NeonJsLedgerServiceNeoLegacy.d.ts +1 -1
- package/dist/services/token/TokenServiceNeoLegacy.d.ts +4 -0
- package/dist/services/token/TokenServiceNeoLegacy.js +11 -0
- package/package.json +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Account, BDSClaimable, BlockchainDataService, BlockchainService, BSClaimable, ExchangeDataService, Token, Network, TransferParam, BSWithExplorerService, ExplorerService, BSWithLedger, GetLedgerTransport, BalanceResponse } from '@cityofzion/blockchain-service';
|
|
2
|
-
import { BSNeoLegacyNetworkId } from '
|
|
3
|
-
import { NeonJsLedgerServiceNeoLegacy } from './ledger/NeonJsLedgerServiceNeoLegacy';
|
|
1
|
+
import { Account, BDSClaimable, BlockchainDataService, BlockchainService, BSClaimable, ExchangeDataService, Token, Network, TransferParam, BSWithExplorerService, ExplorerService, BSWithLedger, GetLedgerTransport, BalanceResponse, BSWithEncryption, ITokenService } from '@cityofzion/blockchain-service';
|
|
2
|
+
import { BSNeoLegacyNetworkId } from './constants/BSNeoLegacyConstants';
|
|
3
|
+
import { NeonJsLedgerServiceNeoLegacy } from './services/ledger/NeonJsLedgerServiceNeoLegacy';
|
|
4
4
|
export type MigrateParams<BSName extends string = string> = {
|
|
5
5
|
account: Account<BSName>;
|
|
6
6
|
neo3Address: string;
|
|
@@ -18,7 +18,7 @@ export type CalculateNeoLegacyMigrationAmountsResponse = {
|
|
|
18
18
|
gasBalance?: BalanceResponse;
|
|
19
19
|
neoBalance?: BalanceResponse;
|
|
20
20
|
};
|
|
21
|
-
export declare class BSNeoLegacy<BSName extends string = string> implements BlockchainService<BSName, BSNeoLegacyNetworkId>, BSClaimable<BSName>, BSWithExplorerService, BSWithLedger<BSName> {
|
|
21
|
+
export declare class BSNeoLegacy<BSName extends string = string> implements BlockchainService<BSName, BSNeoLegacyNetworkId>, BSClaimable<BSName>, BSWithExplorerService, BSWithLedger<BSName>, BSWithEncryption<BSName> {
|
|
22
22
|
#private;
|
|
23
23
|
NATIVE_ASSETS: {
|
|
24
24
|
symbol: string;
|
|
@@ -36,6 +36,7 @@ export declare class BSNeoLegacy<BSName extends string = string> implements Bloc
|
|
|
36
36
|
exchangeDataService: ExchangeDataService;
|
|
37
37
|
ledgerService: NeonJsLedgerServiceNeoLegacy<BSName>;
|
|
38
38
|
explorerService: ExplorerService;
|
|
39
|
+
tokenService: ITokenService;
|
|
39
40
|
tokens: Token[];
|
|
40
41
|
network: Network<BSNeoLegacyNetworkId>;
|
|
41
42
|
legacyNetwork: string;
|
|
@@ -30,12 +30,13 @@ exports.BSNeoLegacy = void 0;
|
|
|
30
30
|
const blockchain_service_1 = require("@cityofzion/blockchain-service");
|
|
31
31
|
const neon_js_1 = require("@cityofzion/neon-js");
|
|
32
32
|
const bs_asteroid_sdk_1 = require("@cityofzion/bs-asteroid-sdk");
|
|
33
|
-
const BSNeoLegacyConstants_1 = require("
|
|
34
|
-
const BSNeoLegacyHelper_1 = require("
|
|
35
|
-
const CryptoCompareEDSNeoLegacy_1 = require("./exchange-data/CryptoCompareEDSNeoLegacy");
|
|
36
|
-
const DoraBDSNeoLegacy_1 = require("./blockchain-data/DoraBDSNeoLegacy");
|
|
37
|
-
const NeoTubeESNeoLegacy_1 = require("./explorer/NeoTubeESNeoLegacy");
|
|
38
|
-
const NeonJsLedgerServiceNeoLegacy_1 = require("./ledger/NeonJsLedgerServiceNeoLegacy");
|
|
33
|
+
const BSNeoLegacyConstants_1 = require("./constants/BSNeoLegacyConstants");
|
|
34
|
+
const BSNeoLegacyHelper_1 = require("./helpers/BSNeoLegacyHelper");
|
|
35
|
+
const CryptoCompareEDSNeoLegacy_1 = require("./services/exchange-data/CryptoCompareEDSNeoLegacy");
|
|
36
|
+
const DoraBDSNeoLegacy_1 = require("./services/blockchain-data/DoraBDSNeoLegacy");
|
|
37
|
+
const NeoTubeESNeoLegacy_1 = require("./services/explorer/NeoTubeESNeoLegacy");
|
|
38
|
+
const NeonJsLedgerServiceNeoLegacy_1 = require("./services/ledger/NeonJsLedgerServiceNeoLegacy");
|
|
39
|
+
const TokenServiceNeoLegacy_1 = require("./services/token/TokenServiceNeoLegacy");
|
|
39
40
|
class BSNeoLegacy {
|
|
40
41
|
constructor(name, network, getLedgerTransport) {
|
|
41
42
|
_BSNeoLegacy_instances.add(this);
|
|
@@ -49,7 +50,7 @@ class BSNeoLegacy {
|
|
|
49
50
|
}
|
|
50
51
|
testNetwork(network) {
|
|
51
52
|
return __awaiter(this, void 0, void 0, function* () {
|
|
52
|
-
const blockchainDataServiceClone = new DoraBDSNeoLegacy_1.DoraBDSNeoLegacy(network, this.feeToken, this.claimToken, this.tokens, this.explorerService);
|
|
53
|
+
const blockchainDataServiceClone = new DoraBDSNeoLegacy_1.DoraBDSNeoLegacy(network, this.feeToken, this.claimToken, this.tokens, this.explorerService, this.tokenService);
|
|
53
54
|
yield blockchainDataServiceClone.getBlockHeight();
|
|
54
55
|
});
|
|
55
56
|
}
|
|
@@ -58,8 +59,9 @@ class BSNeoLegacy {
|
|
|
58
59
|
throw new Error('Custom network is not supported');
|
|
59
60
|
__classPrivateFieldGet(this, _BSNeoLegacy_instances, "m", _BSNeoLegacy_setTokens).call(this, network);
|
|
60
61
|
this.network = network;
|
|
61
|
-
this.
|
|
62
|
-
this.
|
|
62
|
+
this.tokenService = new TokenServiceNeoLegacy_1.TokenServiceNeoLegacy();
|
|
63
|
+
this.explorerService = new NeoTubeESNeoLegacy_1.NeoTubeESNeoLegacy(network, this.tokenService);
|
|
64
|
+
this.blockchainDataService = new DoraBDSNeoLegacy_1.DoraBDSNeoLegacy(network, this.feeToken, this.claimToken, this.tokens, this.explorerService, this.tokenService);
|
|
63
65
|
this.exchangeDataService = new CryptoCompareEDSNeoLegacy_1.CryptoCompareEDSNeoLegacy(network);
|
|
64
66
|
}
|
|
65
67
|
validateAddress(address) {
|
|
@@ -117,8 +119,8 @@ class BSNeoLegacy {
|
|
|
117
119
|
const nep5ScriptBuilder = new neon_js_1.sc.ScriptBuilder();
|
|
118
120
|
const concatIntents = [...intents, ...(tipIntent ? [tipIntent] : [])];
|
|
119
121
|
for (const intent of concatIntents) {
|
|
120
|
-
const normalizeTokenHash =
|
|
121
|
-
const nativeAsset = this.NATIVE_ASSETS.find(
|
|
122
|
+
const normalizeTokenHash = this.tokenService.normalizeHash(intent.tokenHash);
|
|
123
|
+
const nativeAsset = this.NATIVE_ASSETS.find(token => this.tokenService.predicateByHash(normalizeTokenHash, token));
|
|
122
124
|
if (nativeAsset) {
|
|
123
125
|
nativeIntents.push(...neon_js_1.api.makeIntent({ [nativeAsset.symbol]: Number(intent.amount) }, intent.receiverAddress));
|
|
124
126
|
continue;
|
|
@@ -229,8 +231,8 @@ class BSNeoLegacy {
|
|
|
229
231
|
return response;
|
|
230
232
|
}
|
|
231
233
|
calculateNeoLegacyMigrationAmounts(balance) {
|
|
232
|
-
const gasBalance = balance.find(({ token }) =>
|
|
233
|
-
const neoBalance = balance.find(({ token }) =>
|
|
234
|
+
const gasBalance = balance.find(({ token }) => this.tokenService.predicateByHash(BSNeoLegacyConstants_1.BSNeoLegacyConstants.GAS_ASSET, token));
|
|
235
|
+
const neoBalance = balance.find(({ token }) => this.tokenService.predicateByHash(BSNeoLegacyConstants_1.BSNeoLegacyConstants.NEO_ASSET, token));
|
|
234
236
|
let hasEnoughGasBalance = false;
|
|
235
237
|
let hasEnoughNeoBalance = false;
|
|
236
238
|
if (gasBalance) {
|
|
@@ -288,7 +290,7 @@ _BSNeoLegacy_instances = new WeakSet(), _BSNeoLegacy_generateSigningCallback = f
|
|
|
288
290
|
}, _BSNeoLegacy_getRequiredTransactionFeeConfig = function _BSNeoLegacy_getRequiredTransactionFeeConfig(config) {
|
|
289
291
|
var _a, _b, _c;
|
|
290
292
|
config.fees = BSNeoLegacyConstants_1.BSNeoLegacyConstants.FEE_APPLIED_TO_PLAYABLE_TRANSACTION;
|
|
291
|
-
const gasIntent = (_c = (_b = (_a = config.intents) === null || _a === void 0 ? void 0 : _a.filter((intent) =>
|
|
293
|
+
const gasIntent = (_c = (_b = (_a = config.intents) === null || _a === void 0 ? void 0 : _a.filter((intent) => this.tokenService.normalizeHash(intent.assetId) === BSNeoLegacyConstants_1.BSNeoLegacyConstants.GAS_ASSET.hash)) === null || _b === void 0 ? void 0 : _b.sort((a, b) => { var _a; return (_a = b.value.comparedTo(a.value)) !== null && _a !== void 0 ? _a : 0; })) === null || _c === void 0 ? void 0 : _c[0];
|
|
292
294
|
if (gasIntent === null || gasIntent === void 0 ? void 0 : gasIntent.value) {
|
|
293
295
|
gasIntent.value = gasIntent.value.sub(BSNeoLegacyConstants_1.BSNeoLegacyConstants.FEE_APPLIED_TO_PLAYABLE_TRANSACTION);
|
|
294
296
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Network, NetworkId, Token } from '@cityofzion/blockchain-service';
|
|
2
2
|
export type BSNeoLegacyNetworkId = NetworkId<'mainnet' | 'testnet'>;
|
|
3
3
|
export declare class BSNeoLegacyConstants {
|
|
4
|
+
#private;
|
|
4
5
|
static EXTRA_TOKENS_BY_NETWORK_ID: Partial<Record<BSNeoLegacyNetworkId, Token[]>>;
|
|
5
6
|
static NATIVE_ASSETS: {
|
|
6
7
|
symbol: string;
|
|
@@ -1,23 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
3
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
4
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
5
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
6
|
+
};
|
|
2
7
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
8
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
9
|
};
|
|
5
|
-
var _a;
|
|
10
|
+
var _a, _BSNeoLegacyConstants_tokenService;
|
|
6
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
12
|
exports.BSNeoLegacyConstants = void 0;
|
|
8
13
|
const mainnet_json_1 = __importDefault(require("../assets/tokens/mainnet.json"));
|
|
9
14
|
const native_json_1 = __importDefault(require("../assets/tokens/native.json"));
|
|
10
|
-
const
|
|
15
|
+
const TokenServiceNeoLegacy_1 = require("../services/token/TokenServiceNeoLegacy");
|
|
11
16
|
class BSNeoLegacyConstants {
|
|
12
17
|
}
|
|
13
18
|
exports.BSNeoLegacyConstants = BSNeoLegacyConstants;
|
|
14
19
|
_a = BSNeoLegacyConstants;
|
|
20
|
+
_BSNeoLegacyConstants_tokenService = { value: new TokenServiceNeoLegacy_1.TokenServiceNeoLegacy() };
|
|
15
21
|
BSNeoLegacyConstants.EXTRA_TOKENS_BY_NETWORK_ID = {
|
|
16
|
-
mainnet: mainnet_json_1.default,
|
|
22
|
+
mainnet: __classPrivateFieldGet(_a, _a, "f", _BSNeoLegacyConstants_tokenService).normalizeToken(mainnet_json_1.default),
|
|
17
23
|
};
|
|
18
|
-
BSNeoLegacyConstants.NATIVE_ASSETS =
|
|
19
|
-
BSNeoLegacyConstants.GAS_ASSET = _a.NATIVE_ASSETS.find(
|
|
20
|
-
BSNeoLegacyConstants.NEO_ASSET = _a.NATIVE_ASSETS.find(
|
|
24
|
+
BSNeoLegacyConstants.NATIVE_ASSETS = __classPrivateFieldGet(_a, _a, "f", _BSNeoLegacyConstants_tokenService).normalizeToken(native_json_1.default);
|
|
25
|
+
BSNeoLegacyConstants.GAS_ASSET = _a.NATIVE_ASSETS.find(token => __classPrivateFieldGet(_a, _a, "f", _BSNeoLegacyConstants_tokenService).predicateBySymbol('GAS', token));
|
|
26
|
+
BSNeoLegacyConstants.NEO_ASSET = _a.NATIVE_ASSETS.find(token => __classPrivateFieldGet(_a, _a, "f", _BSNeoLegacyConstants_tokenService).predicateBySymbol('NEO', token));
|
|
21
27
|
BSNeoLegacyConstants.RPC_LIST_BY_NETWORK_ID = {
|
|
22
28
|
mainnet: [
|
|
23
29
|
'https://mainnet1.neo2.coz.io:443',
|
|
@@ -7,6 +7,7 @@ export type WaitForMigrationParams = {
|
|
|
7
7
|
neoLegacyService: BlockchainService;
|
|
8
8
|
};
|
|
9
9
|
export declare class BSNeoLegacyHelper {
|
|
10
|
+
#private;
|
|
10
11
|
static getLegacyNetwork(network: Network<BSNeoLegacyNetworkId>): string;
|
|
11
12
|
static getTokens(network: Network<BSNeoLegacyNetworkId>): {
|
|
12
13
|
symbol: string;
|
|
@@ -8,14 +8,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
-
var
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
11
|
+
var _a, _BSNeoLegacyHelper_tokenService;
|
|
14
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
13
|
exports.BSNeoLegacyHelper = void 0;
|
|
16
14
|
const blockchain_service_1 = require("@cityofzion/blockchain-service");
|
|
17
|
-
const native_json_1 = __importDefault(require("../assets/tokens/native.json"));
|
|
18
15
|
const BSNeoLegacyConstants_1 = require("../constants/BSNeoLegacyConstants");
|
|
16
|
+
const TokenServiceNeoLegacy_1 = require("../services/token/TokenServiceNeoLegacy");
|
|
19
17
|
class BSNeoLegacyHelper {
|
|
20
18
|
static getLegacyNetwork(network) {
|
|
21
19
|
const legacyNetwork = BSNeoLegacyConstants_1.BSNeoLegacyConstants.LEGACY_NETWORK_BY_NETWORK_ID[network.id];
|
|
@@ -24,13 +22,14 @@ class BSNeoLegacyHelper {
|
|
|
24
22
|
return legacyNetwork;
|
|
25
23
|
}
|
|
26
24
|
static getTokens(network) {
|
|
27
|
-
var
|
|
28
|
-
const extraTokens = (
|
|
29
|
-
|
|
25
|
+
var _b;
|
|
26
|
+
const extraTokens = (_b = BSNeoLegacyConstants_1.BSNeoLegacyConstants.EXTRA_TOKENS_BY_NETWORK_ID[network.id]) !== null && _b !== void 0 ? _b : [];
|
|
27
|
+
const nativeTokens = BSNeoLegacyConstants_1.BSNeoLegacyConstants.NATIVE_ASSETS;
|
|
28
|
+
return nativeTokens.concat(extraTokens);
|
|
30
29
|
}
|
|
31
30
|
static getRpcList(network) {
|
|
32
|
-
var
|
|
33
|
-
return (
|
|
31
|
+
var _b;
|
|
32
|
+
return (_b = BSNeoLegacyConstants_1.BSNeoLegacyConstants.RPC_LIST_BY_NETWORK_ID[network.id]) !== null && _b !== void 0 ? _b : [];
|
|
34
33
|
}
|
|
35
34
|
static isMainnet(network) {
|
|
36
35
|
return BSNeoLegacyConstants_1.BSNeoLegacyConstants.MAINNET_NETWORK_IDS.includes(network.id);
|
|
@@ -52,7 +51,7 @@ class BSNeoLegacyHelper {
|
|
|
52
51
|
response.isTransactionConfirmed = true;
|
|
53
52
|
break;
|
|
54
53
|
}
|
|
55
|
-
catch (
|
|
54
|
+
catch (_b) {
|
|
56
55
|
// Empty block
|
|
57
56
|
}
|
|
58
57
|
}
|
|
@@ -71,7 +70,7 @@ class BSNeoLegacyHelper {
|
|
|
71
70
|
break;
|
|
72
71
|
}
|
|
73
72
|
}
|
|
74
|
-
catch (
|
|
73
|
+
catch (_c) {
|
|
75
74
|
// Empty block
|
|
76
75
|
}
|
|
77
76
|
}
|
|
@@ -80,3 +79,5 @@ class BSNeoLegacyHelper {
|
|
|
80
79
|
}
|
|
81
80
|
}
|
|
82
81
|
exports.BSNeoLegacyHelper = BSNeoLegacyHelper;
|
|
82
|
+
_a = BSNeoLegacyHelper;
|
|
83
|
+
_BSNeoLegacyHelper_tokenService = { value: new TokenServiceNeoLegacy_1.TokenServiceNeoLegacy() };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
export * from './
|
|
1
|
+
export * from './BSNeoLegacy';
|
|
2
2
|
export * from './constants/BSNeoLegacyConstants';
|
|
3
3
|
export * from './helpers/BSNeoLegacyHelper';
|
|
4
4
|
export * from './services/blockchain-data/DoraBDSNeoLegacy';
|
|
5
5
|
export * from './services/exchange-data/CryptoCompareEDSNeoLegacy';
|
|
6
6
|
export * from './services/explorer/NeoTubeESNeoLegacy';
|
|
7
7
|
export * from './services/ledger/NeonJsLedgerServiceNeoLegacy';
|
|
8
|
+
export * from './services/token/TokenServiceNeoLegacy';
|
package/dist/index.js
CHANGED
|
@@ -14,10 +14,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./
|
|
17
|
+
__exportStar(require("./BSNeoLegacy"), exports);
|
|
18
18
|
__exportStar(require("./constants/BSNeoLegacyConstants"), exports);
|
|
19
19
|
__exportStar(require("./helpers/BSNeoLegacyHelper"), exports);
|
|
20
20
|
__exportStar(require("./services/blockchain-data/DoraBDSNeoLegacy"), exports);
|
|
21
21
|
__exportStar(require("./services/exchange-data/CryptoCompareEDSNeoLegacy"), exports);
|
|
22
22
|
__exportStar(require("./services/explorer/NeoTubeESNeoLegacy"), exports);
|
|
23
23
|
__exportStar(require("./services/ledger/NeonJsLedgerServiceNeoLegacy"), exports);
|
|
24
|
+
__exportStar(require("./services/token/TokenServiceNeoLegacy"), exports);
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { BalanceResponse, BDSClaimable, BlockchainDataService, ContractResponse, ExplorerService, ExportTransactionsByAddressParams, FullTransactionsByAddressParams, FullTransactionsByAddressResponse, Network, RpcResponse, Token, TransactionResponse, TransactionsByAddressParams, TransactionsByAddressResponse } from '@cityofzion/blockchain-service';
|
|
1
|
+
import { BalanceResponse, BDSClaimable, BlockchainDataService, ContractResponse, ExplorerService, ExportTransactionsByAddressParams, FullTransactionsByAddressParams, FullTransactionsByAddressResponse, Network, RpcResponse, Token, TokenService, TransactionResponse, TransactionsByAddressParams, TransactionsByAddressResponse } from '@cityofzion/blockchain-service';
|
|
2
2
|
import { BSNeoLegacyNetworkId } from '../../constants/BSNeoLegacyConstants';
|
|
3
3
|
export declare class DoraBDSNeoLegacy implements BlockchainDataService, BDSClaimable {
|
|
4
4
|
#private;
|
|
5
5
|
maxTimeToConfirmTransactionInMs: number;
|
|
6
|
-
constructor(network: Network<BSNeoLegacyNetworkId>, feeToken: Token, claimToken: Token, tokens: Token[], explorerService: ExplorerService);
|
|
6
|
+
constructor(network: Network<BSNeoLegacyNetworkId>, feeToken: Token, claimToken: Token, tokens: Token[], explorerService: ExplorerService, tokenService: TokenService);
|
|
7
7
|
getTransaction(hash: string): Promise<TransactionResponse>;
|
|
8
8
|
getTransactionsByAddress({ address, nextPageParams, }: TransactionsByAddressParams): Promise<TransactionsByAddressResponse>;
|
|
9
9
|
getFullTransactionsByAddress({ nextCursor, ...params }: FullTransactionsByAddressParams): Promise<FullTransactionsByAddressResponse>;
|
|
@@ -30,7 +30,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
30
30
|
}
|
|
31
31
|
return t;
|
|
32
32
|
};
|
|
33
|
-
var _DoraBDSNeoLegacy_instances, _DoraBDSNeoLegacy_supportedNep5Standards, _DoraBDSNeoLegacy_network, _DoraBDSNeoLegacy_claimToken, _DoraBDSNeoLegacy_feeToken, _DoraBDSNeoLegacy_tokens, _DoraBDSNeoLegacy_tokenCache, _DoraBDSNeoLegacy_explorerService, _DoraBDSNeoLegacy_validateFullTransactionsByAddressParams, _DoraBDSNeoLegacy_validateGetFullTransactionsByAddressParams;
|
|
33
|
+
var _DoraBDSNeoLegacy_instances, _DoraBDSNeoLegacy_supportedNep5Standards, _DoraBDSNeoLegacy_network, _DoraBDSNeoLegacy_claimToken, _DoraBDSNeoLegacy_feeToken, _DoraBDSNeoLegacy_tokens, _DoraBDSNeoLegacy_tokenCache, _DoraBDSNeoLegacy_explorerService, _DoraBDSNeoLegacy_tokenService, _DoraBDSNeoLegacy_validateFullTransactionsByAddressParams, _DoraBDSNeoLegacy_validateGetFullTransactionsByAddressParams;
|
|
34
34
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
35
|
exports.DoraBDSNeoLegacy = void 0;
|
|
36
36
|
const blockchain_service_1 = require("@cityofzion/blockchain-service");
|
|
@@ -38,7 +38,7 @@ const dora_ts_1 = require("@cityofzion/dora-ts");
|
|
|
38
38
|
const neon_js_1 = require("@cityofzion/neon-js");
|
|
39
39
|
const BSNeoLegacyHelper_1 = require("../../helpers/BSNeoLegacyHelper");
|
|
40
40
|
class DoraBDSNeoLegacy {
|
|
41
|
-
constructor(network, feeToken, claimToken, tokens, explorerService) {
|
|
41
|
+
constructor(network, feeToken, claimToken, tokens, explorerService, tokenService) {
|
|
42
42
|
_DoraBDSNeoLegacy_instances.add(this);
|
|
43
43
|
_DoraBDSNeoLegacy_supportedNep5Standards.set(this, ['nep5', 'nep-5']);
|
|
44
44
|
_DoraBDSNeoLegacy_network.set(this, void 0);
|
|
@@ -47,12 +47,14 @@ class DoraBDSNeoLegacy {
|
|
|
47
47
|
_DoraBDSNeoLegacy_tokens.set(this, void 0);
|
|
48
48
|
_DoraBDSNeoLegacy_tokenCache.set(this, new Map());
|
|
49
49
|
_DoraBDSNeoLegacy_explorerService.set(this, void 0);
|
|
50
|
+
_DoraBDSNeoLegacy_tokenService.set(this, void 0);
|
|
50
51
|
this.maxTimeToConfirmTransactionInMs = 1000 * 60 * 2;
|
|
51
52
|
__classPrivateFieldSet(this, _DoraBDSNeoLegacy_network, network, "f");
|
|
52
53
|
__classPrivateFieldSet(this, _DoraBDSNeoLegacy_claimToken, claimToken, "f");
|
|
53
54
|
__classPrivateFieldSet(this, _DoraBDSNeoLegacy_feeToken, feeToken, "f");
|
|
54
55
|
__classPrivateFieldSet(this, _DoraBDSNeoLegacy_tokens, tokens, "f");
|
|
55
56
|
__classPrivateFieldSet(this, _DoraBDSNeoLegacy_explorerService, explorerService, "f");
|
|
57
|
+
__classPrivateFieldSet(this, _DoraBDSNeoLegacy_tokenService, tokenService, "f");
|
|
56
58
|
}
|
|
57
59
|
getTransaction(hash) {
|
|
58
60
|
var _a, _b, _c;
|
|
@@ -163,13 +165,13 @@ class DoraBDSNeoLegacy {
|
|
|
163
165
|
};
|
|
164
166
|
const eventPromises = item.events.map((event, eventIndex) => __awaiter(this, void 0, void 0, function* () {
|
|
165
167
|
var _e, _f, _g, _h;
|
|
166
|
-
const { contractHash
|
|
167
|
-
const [token] = yield blockchain_service_1.BSPromisesHelper.tryCatch(() => this.getTokenInfo(
|
|
168
|
+
const { contractHash, amount, from, to } = event;
|
|
169
|
+
const [token] = yield blockchain_service_1.BSPromisesHelper.tryCatch(() => this.getTokenInfo(contractHash));
|
|
168
170
|
const standard = (_g = (_f = (_e = event.supportedStandards) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.toLowerCase()) !== null && _g !== void 0 ? _g : '';
|
|
169
171
|
const isNep5 = __classPrivateFieldGet(this, _DoraBDSNeoLegacy_supportedNep5Standards, "f").includes(standard);
|
|
170
172
|
const fromUrl = from ? addressTemplateUrl === null || addressTemplateUrl === void 0 ? void 0 : addressTemplateUrl.replace('{address}', from) : undefined;
|
|
171
173
|
const toUrl = to ? addressTemplateUrl === null || addressTemplateUrl === void 0 ? void 0 : addressTemplateUrl.replace('{address}', to) : undefined;
|
|
172
|
-
const
|
|
174
|
+
const contractHashUrl = contractHash ? contractTemplateUrl === null || contractTemplateUrl === void 0 ? void 0 : contractTemplateUrl.replace('{hash}', contractHash) : undefined;
|
|
173
175
|
const assetEvent = {
|
|
174
176
|
eventType: 'token',
|
|
175
177
|
amount: amount
|
|
@@ -180,8 +182,8 @@ class DoraBDSNeoLegacy {
|
|
|
180
182
|
fromUrl,
|
|
181
183
|
to: to !== null && to !== void 0 ? to : undefined,
|
|
182
184
|
toUrl,
|
|
183
|
-
|
|
184
|
-
|
|
185
|
+
contractHash,
|
|
186
|
+
contractHashUrl,
|
|
185
187
|
token: token !== null && token !== void 0 ? token : undefined,
|
|
186
188
|
tokenType: isNep5 ? 'nep-5' : 'generic',
|
|
187
189
|
};
|
|
@@ -223,7 +225,7 @@ class DoraBDSNeoLegacy {
|
|
|
223
225
|
if (cachedToken) {
|
|
224
226
|
return cachedToken;
|
|
225
227
|
}
|
|
226
|
-
let token = __classPrivateFieldGet(this, _DoraBDSNeoLegacy_tokens, "f").find(
|
|
228
|
+
let token = __classPrivateFieldGet(this, _DoraBDSNeoLegacy_tokens, "f").find(currentToken => __classPrivateFieldGet(this, _DoraBDSNeoLegacy_tokenService, "f").predicateByHash(tokenHash, currentToken));
|
|
227
229
|
if (!token) {
|
|
228
230
|
const data = yield dora_ts_1.api.NeoLegacyREST.asset(tokenHash, __classPrivateFieldGet(this, _DoraBDSNeoLegacy_network, "f").id);
|
|
229
231
|
if (!data || 'error' in data)
|
|
@@ -235,7 +237,7 @@ class DoraBDSNeoLegacy {
|
|
|
235
237
|
name: data.name,
|
|
236
238
|
};
|
|
237
239
|
}
|
|
238
|
-
__classPrivateFieldGet(this, _DoraBDSNeoLegacy_tokenCache, "f").set(tokenHash,
|
|
240
|
+
__classPrivateFieldGet(this, _DoraBDSNeoLegacy_tokenCache, "f").set(tokenHash, __classPrivateFieldGet(this, _DoraBDSNeoLegacy_tokenService, "f").normalizeToken(token));
|
|
239
241
|
return token;
|
|
240
242
|
});
|
|
241
243
|
}
|
|
@@ -243,7 +245,7 @@ class DoraBDSNeoLegacy {
|
|
|
243
245
|
return __awaiter(this, void 0, void 0, function* () {
|
|
244
246
|
const data = yield dora_ts_1.api.NeoLegacyREST.balance(address, __classPrivateFieldGet(this, _DoraBDSNeoLegacy_network, "f").id);
|
|
245
247
|
const promises = data.map((balance) => __awaiter(this, void 0, void 0, function* () {
|
|
246
|
-
let token =
|
|
248
|
+
let token = __classPrivateFieldGet(this, _DoraBDSNeoLegacy_tokenService, "f").normalizeToken({
|
|
247
249
|
hash: balance.asset,
|
|
248
250
|
name: balance.asset_name,
|
|
249
251
|
symbol: balance.symbol,
|
|
@@ -306,7 +308,7 @@ class DoraBDSNeoLegacy {
|
|
|
306
308
|
}
|
|
307
309
|
}
|
|
308
310
|
exports.DoraBDSNeoLegacy = DoraBDSNeoLegacy;
|
|
309
|
-
_DoraBDSNeoLegacy_supportedNep5Standards = new WeakMap(), _DoraBDSNeoLegacy_network = new WeakMap(), _DoraBDSNeoLegacy_claimToken = new WeakMap(), _DoraBDSNeoLegacy_feeToken = new WeakMap(), _DoraBDSNeoLegacy_tokens = new WeakMap(), _DoraBDSNeoLegacy_tokenCache = new WeakMap(), _DoraBDSNeoLegacy_explorerService = new WeakMap(), _DoraBDSNeoLegacy_instances = new WeakSet(), _DoraBDSNeoLegacy_validateFullTransactionsByAddressParams = function _DoraBDSNeoLegacy_validateFullTransactionsByAddressParams(params) {
|
|
311
|
+
_DoraBDSNeoLegacy_supportedNep5Standards = new WeakMap(), _DoraBDSNeoLegacy_network = new WeakMap(), _DoraBDSNeoLegacy_claimToken = new WeakMap(), _DoraBDSNeoLegacy_feeToken = new WeakMap(), _DoraBDSNeoLegacy_tokens = new WeakMap(), _DoraBDSNeoLegacy_tokenCache = new WeakMap(), _DoraBDSNeoLegacy_explorerService = new WeakMap(), _DoraBDSNeoLegacy_tokenService = new WeakMap(), _DoraBDSNeoLegacy_instances = new WeakSet(), _DoraBDSNeoLegacy_validateFullTransactionsByAddressParams = function _DoraBDSNeoLegacy_validateFullTransactionsByAddressParams(params) {
|
|
310
312
|
if (!BSNeoLegacyHelper_1.BSNeoLegacyHelper.isMainnet(__classPrivateFieldGet(this, _DoraBDSNeoLegacy_network, "f")))
|
|
311
313
|
throw new Error('Only Mainnet is supported');
|
|
312
314
|
blockchain_service_1.BSFullTransactionsByAddressHelper.validateFullTransactionsByAddressParams(params);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { BuildNftUrlParams, ExplorerService, Network } from '@cityofzion/blockchain-service';
|
|
1
|
+
import { BuildNftUrlParams, ExplorerService, Network, TokenService } from '@cityofzion/blockchain-service';
|
|
2
2
|
import { BSNeoLegacyNetworkId } from '../../constants/BSNeoLegacyConstants';
|
|
3
3
|
export declare class NeoTubeESNeoLegacy implements ExplorerService {
|
|
4
4
|
#private;
|
|
5
|
-
constructor(network: Network<BSNeoLegacyNetworkId
|
|
5
|
+
constructor(network: Network<BSNeoLegacyNetworkId>, tokenService: TokenService);
|
|
6
6
|
buildTransactionUrl(hash: string): string;
|
|
7
7
|
buildContractUrl(contractHash: string): string;
|
|
8
8
|
buildNftUrl(_params: BuildNftUrlParams): string;
|
|
@@ -10,26 +10,27 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
10
10
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
11
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
12
|
};
|
|
13
|
-
var _NeoTubeESNeoLegacy_BASE_URL, _NeoTubeESNeoLegacy_network;
|
|
13
|
+
var _NeoTubeESNeoLegacy_BASE_URL, _NeoTubeESNeoLegacy_network, _NeoTubeESNeoLegacy_tokenService;
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.NeoTubeESNeoLegacy = void 0;
|
|
16
|
-
const blockchain_service_1 = require("@cityofzion/blockchain-service");
|
|
17
16
|
const BSNeoLegacyHelper_1 = require("../../helpers/BSNeoLegacyHelper");
|
|
18
17
|
class NeoTubeESNeoLegacy {
|
|
19
|
-
constructor(network) {
|
|
18
|
+
constructor(network, tokenService) {
|
|
20
19
|
_NeoTubeESNeoLegacy_BASE_URL.set(this, 'https://neo2.neotube.io');
|
|
21
20
|
_NeoTubeESNeoLegacy_network.set(this, void 0);
|
|
21
|
+
_NeoTubeESNeoLegacy_tokenService.set(this, void 0);
|
|
22
22
|
__classPrivateFieldSet(this, _NeoTubeESNeoLegacy_network, network, "f");
|
|
23
|
+
__classPrivateFieldSet(this, _NeoTubeESNeoLegacy_tokenService, tokenService, "f");
|
|
23
24
|
}
|
|
24
25
|
buildTransactionUrl(hash) {
|
|
25
26
|
if (!BSNeoLegacyHelper_1.BSNeoLegacyHelper.isMainnet(__classPrivateFieldGet(this, _NeoTubeESNeoLegacy_network, "f")))
|
|
26
27
|
throw new Error('NeoTube is only available on mainnet');
|
|
27
|
-
return `${__classPrivateFieldGet(this, _NeoTubeESNeoLegacy_BASE_URL, "f")}/transaction/${
|
|
28
|
+
return `${__classPrivateFieldGet(this, _NeoTubeESNeoLegacy_BASE_URL, "f")}/transaction/${__classPrivateFieldGet(this, _NeoTubeESNeoLegacy_tokenService, "f").normalizeHash(hash)}`;
|
|
28
29
|
}
|
|
29
30
|
buildContractUrl(contractHash) {
|
|
30
31
|
if (!BSNeoLegacyHelper_1.BSNeoLegacyHelper.isMainnet(__classPrivateFieldGet(this, _NeoTubeESNeoLegacy_network, "f")))
|
|
31
32
|
throw new Error('NeoTube is only available on mainnet');
|
|
32
|
-
return `${__classPrivateFieldGet(this, _NeoTubeESNeoLegacy_BASE_URL, "f")}/asset/${
|
|
33
|
+
return `${__classPrivateFieldGet(this, _NeoTubeESNeoLegacy_BASE_URL, "f")}/asset/${__classPrivateFieldGet(this, _NeoTubeESNeoLegacy_tokenService, "f").normalizeHash(contractHash)}/page/1`;
|
|
33
34
|
}
|
|
34
35
|
buildNftUrl(_params) {
|
|
35
36
|
throw new Error('NeoTube does not support nft');
|
|
@@ -54,4 +55,4 @@ class NeoTubeESNeoLegacy {
|
|
|
54
55
|
}
|
|
55
56
|
}
|
|
56
57
|
exports.NeoTubeESNeoLegacy = NeoTubeESNeoLegacy;
|
|
57
|
-
_NeoTubeESNeoLegacy_BASE_URL = new WeakMap(), _NeoTubeESNeoLegacy_network = new WeakMap();
|
|
58
|
+
_NeoTubeESNeoLegacy_BASE_URL = new WeakMap(), _NeoTubeESNeoLegacy_network = new WeakMap(), _NeoTubeESNeoLegacy_tokenService = new WeakMap();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Account, GetLedgerTransport, LedgerService, LedgerServiceEmitter, UntilIndexRecord } from '@cityofzion/blockchain-service';
|
|
2
|
-
import { BSNeoLegacy } from '
|
|
2
|
+
import { BSNeoLegacy } from '../../BSNeoLegacy';
|
|
3
3
|
import Transport from '@ledgerhq/hw-transport';
|
|
4
4
|
export declare class NeonJsLedgerServiceNeoLegacy<BSName extends string = string> implements LedgerService<BSName> {
|
|
5
5
|
#private;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TokenServiceNeoLegacy = void 0;
|
|
4
|
+
const blockchain_service_1 = require("@cityofzion/blockchain-service");
|
|
5
|
+
class TokenServiceNeoLegacy extends blockchain_service_1.TokenService {
|
|
6
|
+
normalizeHash(hash) {
|
|
7
|
+
const fixed = hash.startsWith('0x') ? hash : `0x${hash}`;
|
|
8
|
+
return fixed.toLowerCase();
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.TokenServiceNeoLegacy = TokenServiceNeoLegacy;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cityofzion/bs-neo-legacy",
|
|
3
|
-
"version": "1.13.
|
|
3
|
+
"version": "1.13.2",
|
|
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.31.8",
|
|
15
15
|
"axios": "~1.8.2",
|
|
16
16
|
"date-fns": "~4.1.0",
|
|
17
|
-
"@cityofzion/blockchain-service": "1.
|
|
17
|
+
"@cityofzion/blockchain-service": "1.21.1",
|
|
18
18
|
"@cityofzion/bs-asteroid-sdk": "0.9.1"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|