@cityofzion/bs-neo3 1.4.3 → 1.6.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.
package/dist/BSNeo3.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { Account, BDSClaimable, BlockchainDataService, BlockchainService, BSCalculableFee, BSClaimable, BSWithExplorerService, BSWithLedger, BSWithNameService, BSWithNft, BSWithSwap, ExchangeDataService, ExplorerService, Network, NftDataService, SwapService, Token, TransferParam } from '@cityofzion/blockchain-service';
|
|
1
|
+
import { Account, BDSClaimable, BlockchainDataService, BlockchainService, BSCalculableFee, BSClaimable, BSWithExplorerService, BSWithLedger, BSWithNameService, BSWithNft, BSWithSwap, ExchangeDataService, ExplorerService, GetLedgerTransport, Network, NftDataService, SwapService, Token, TransferParam } from '@cityofzion/blockchain-service';
|
|
2
2
|
import Neon from '@cityofzion/neon-core';
|
|
3
3
|
import { api } from '@cityofzion/neon-js';
|
|
4
|
-
import Transport from '@ledgerhq/hw-transport';
|
|
5
4
|
import { NeonDappKitLedgerServiceNeo3 } from './services/ledger/NeonDappKitLedgerServiceNeo3';
|
|
6
5
|
import { BSNeo3NetworkId } from './constants/BSNeo3Constants';
|
|
7
6
|
export declare class BSNeo3<BSCustomName extends string = string> implements BlockchainService<BSCustomName, BSNeo3NetworkId>, BSClaimable, BSWithNameService, BSCalculableFee, BSWithNft, BSWithExplorerService, BSWithLedger, BSWithSwap<BSNeo3NetworkId> {
|
|
@@ -18,12 +17,13 @@ export declare class BSNeo3<BSCustomName extends string = string> implements Blo
|
|
|
18
17
|
exchangeDataService: ExchangeDataService;
|
|
19
18
|
explorerService: ExplorerService;
|
|
20
19
|
network: Network<BSNeo3NetworkId>;
|
|
21
|
-
constructor(blockchainName: BSCustomName, network?: Network<BSNeo3NetworkId>, getLedgerTransport?:
|
|
20
|
+
constructor(blockchainName: BSCustomName, network?: Network<BSNeo3NetworkId>, getLedgerTransport?: GetLedgerTransport);
|
|
22
21
|
generateSigningCallback(account: Account, isLedger?: boolean): Promise<{
|
|
23
22
|
neonJsAccount: Neon.wallet.Account;
|
|
24
23
|
signingCallback: api.SigningFunction;
|
|
25
24
|
}>;
|
|
26
25
|
createSwapService(): SwapService<BSNeo3NetworkId>;
|
|
26
|
+
testNetwork(network: Network<BSNeo3NetworkId>): Promise<void>;
|
|
27
27
|
setNetwork(network: Network<BSNeo3NetworkId>): void;
|
|
28
28
|
validateAddress(address: string): boolean;
|
|
29
29
|
validateEncrypted(encryptedKey: string): boolean;
|
package/dist/BSNeo3.js
CHANGED
|
@@ -8,12 +8,18 @@ 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 __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
12
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
13
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
14
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
15
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
16
|
+
};
|
|
11
17
|
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
12
18
|
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
13
19
|
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");
|
|
14
20
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
15
21
|
};
|
|
16
|
-
var _BSNeo3_instances, _BSNeo3_setTokens, _BSNeo3_buildTransferInvocation;
|
|
22
|
+
var _BSNeo3_instances, _BSNeo3_getLedgerTransport, _BSNeo3_setTokens, _BSNeo3_buildTransferInvocation;
|
|
17
23
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
24
|
exports.BSNeo3 = void 0;
|
|
19
25
|
const bs_asteroid_sdk_1 = require("@cityofzion/bs-asteroid-sdk");
|
|
@@ -27,12 +33,15 @@ const NeonDappKitLedgerServiceNeo3_1 = require("./services/ledger/NeonDappKitLed
|
|
|
27
33
|
const GhostMarketNDSNeo3_1 = require("./services/nft-data/GhostMarketNDSNeo3");
|
|
28
34
|
const FlamingoSwapServiceNeo3_1 = require("./services/swap/FlamingoSwapServiceNeo3");
|
|
29
35
|
const BSNeo3Constants_1 = require("./constants/BSNeo3Constants");
|
|
36
|
+
const RpcBDSNeo3_1 = require("./services/blockchain-data/RpcBDSNeo3");
|
|
30
37
|
class BSNeo3 {
|
|
31
38
|
constructor(blockchainName, network, getLedgerTransport) {
|
|
32
39
|
_BSNeo3_instances.add(this);
|
|
40
|
+
_BSNeo3_getLedgerTransport.set(this, void 0);
|
|
33
41
|
network = network !== null && network !== void 0 ? network : BSNeo3Constants_1.BSNeo3Constants.DEFAULT_NETWORK;
|
|
34
42
|
this.blockchainName = blockchainName;
|
|
35
43
|
this.ledgerService = new NeonDappKitLedgerServiceNeo3_1.NeonDappKitLedgerServiceNeo3(this, getLedgerTransport);
|
|
44
|
+
__classPrivateFieldSet(this, _BSNeo3_getLedgerTransport, getLedgerTransport, "f");
|
|
36
45
|
this.bip44DerivationPath = BSNeo3Constants_1.BSNeo3Constants.DEFAULT_BIP44_DERIVATION_PATH;
|
|
37
46
|
this.setNetwork(network);
|
|
38
47
|
}
|
|
@@ -59,6 +68,12 @@ class BSNeo3 {
|
|
|
59
68
|
createSwapService() {
|
|
60
69
|
return new FlamingoSwapServiceNeo3_1.FlamingoSwapServiceNeo3(this.network, this);
|
|
61
70
|
}
|
|
71
|
+
testNetwork(network) {
|
|
72
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
73
|
+
const blockchainDataServiceClone = new RpcBDSNeo3_1.RpcBDSNeo3(network, this.feeToken, this.claimToken, this.tokens);
|
|
74
|
+
yield blockchainDataServiceClone.getBlockHeight();
|
|
75
|
+
});
|
|
76
|
+
}
|
|
62
77
|
setNetwork(network) {
|
|
63
78
|
__classPrivateFieldGet(this, _BSNeo3_instances, "m", _BSNeo3_setTokens).call(this, network);
|
|
64
79
|
this.network = network;
|
|
@@ -77,9 +92,7 @@ class BSNeo3 {
|
|
|
77
92
|
return neon_js_1.wallet.isWIF(key) || neon_js_1.wallet.isPrivateKey(key);
|
|
78
93
|
}
|
|
79
94
|
validateNameServiceDomainFormat(domainName) {
|
|
80
|
-
|
|
81
|
-
return false;
|
|
82
|
-
return true;
|
|
95
|
+
return domainName.endsWith('.neo');
|
|
83
96
|
}
|
|
84
97
|
generateAccountFromMnemonic(mnemonic, index) {
|
|
85
98
|
bs_asteroid_sdk_1.keychain.importMnemonic(Array.isArray(mnemonic) ? mnemonic.join(' ') : mnemonic);
|
|
@@ -114,8 +127,7 @@ class BSNeo3 {
|
|
|
114
127
|
}
|
|
115
128
|
encrypt(key, password) {
|
|
116
129
|
return __awaiter(this, void 0, void 0, function* () {
|
|
117
|
-
|
|
118
|
-
return encryptedKey;
|
|
130
|
+
return yield neon_js_1.wallet.encrypt(key, password);
|
|
119
131
|
});
|
|
120
132
|
}
|
|
121
133
|
calculateTransferFee(param) {
|
|
@@ -146,17 +158,16 @@ class BSNeo3 {
|
|
|
146
158
|
invocations,
|
|
147
159
|
signers: [],
|
|
148
160
|
});
|
|
149
|
-
return
|
|
161
|
+
return param.intents.map(() => transactionHash);
|
|
150
162
|
});
|
|
151
163
|
}
|
|
152
164
|
claim(account, isLedger) {
|
|
153
165
|
return __awaiter(this, void 0, void 0, function* () {
|
|
154
166
|
const { neonJsAccount, signingCallback } = yield this.generateSigningCallback(account, isLedger);
|
|
155
167
|
const facade = yield neon_js_1.api.NetworkFacade.fromConfig({ node: this.network.url });
|
|
156
|
-
|
|
168
|
+
return yield facade.claimGas(neonJsAccount, {
|
|
157
169
|
signingCallback: signingCallback,
|
|
158
170
|
});
|
|
159
|
-
return transactionHash;
|
|
160
171
|
});
|
|
161
172
|
}
|
|
162
173
|
resolveNameServiceDomain(domainName) {
|
|
@@ -179,13 +190,12 @@ class BSNeo3 {
|
|
|
179
190
|
const parsed = parser.parseRpcResponse(response.stack[0], {
|
|
180
191
|
type: 'Hash160',
|
|
181
192
|
});
|
|
182
|
-
|
|
183
|
-
return address;
|
|
193
|
+
return parser.accountInputToAddress(parsed.replace('0x', ''));
|
|
184
194
|
});
|
|
185
195
|
}
|
|
186
196
|
}
|
|
187
197
|
exports.BSNeo3 = BSNeo3;
|
|
188
|
-
_BSNeo3_instances = new WeakSet(), _BSNeo3_setTokens = function _BSNeo3_setTokens(network) {
|
|
198
|
+
_BSNeo3_getLedgerTransport = new WeakMap(), _BSNeo3_instances = new WeakSet(), _BSNeo3_setTokens = function _BSNeo3_setTokens(network) {
|
|
189
199
|
const tokens = BSNeo3Helper_1.BSNeo3Helper.getTokens(network);
|
|
190
200
|
this.tokens = tokens;
|
|
191
201
|
this.feeToken = tokens.find(token => token.symbol === 'GAS');
|
|
@@ -193,7 +203,7 @@ _BSNeo3_instances = new WeakSet(), _BSNeo3_setTokens = function _BSNeo3_setToken
|
|
|
193
203
|
this.claimToken = tokens.find(token => token.symbol === 'GAS');
|
|
194
204
|
}, _BSNeo3_buildTransferInvocation = function _BSNeo3_buildTransferInvocation({ intents, tipIntent }, account) {
|
|
195
205
|
const concatIntents = [...intents, ...(tipIntent ? [tipIntent] : [])];
|
|
196
|
-
|
|
206
|
+
return concatIntents.map(intent => {
|
|
197
207
|
return {
|
|
198
208
|
operation: 'transfer',
|
|
199
209
|
scriptHash: intent.tokenHash,
|
|
@@ -210,5 +220,4 @@ _BSNeo3_instances = new WeakSet(), _BSNeo3_setTokens = function _BSNeo3_setToken
|
|
|
210
220
|
],
|
|
211
221
|
};
|
|
212
222
|
});
|
|
213
|
-
return invocations;
|
|
214
223
|
};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { Account, LedgerService, LedgerServiceEmitter } from '@cityofzion/blockchain-service';
|
|
1
|
+
import { Account, LedgerService, LedgerServiceEmitter, GetLedgerTransport } from '@cityofzion/blockchain-service';
|
|
2
2
|
import { api } from '@cityofzion/neon-js';
|
|
3
3
|
import Transport from '@ledgerhq/hw-transport';
|
|
4
4
|
import { BSNeo3 } from '../../BSNeo3';
|
|
5
5
|
export declare class NeonDappKitLedgerServiceNeo3 implements LedgerService {
|
|
6
6
|
#private;
|
|
7
7
|
emitter: LedgerServiceEmitter;
|
|
8
|
-
getLedgerTransport?:
|
|
9
|
-
constructor(blockchainService: BSNeo3, getLedgerTransport?:
|
|
8
|
+
getLedgerTransport?: GetLedgerTransport;
|
|
9
|
+
constructor(blockchainService: BSNeo3, getLedgerTransport?: GetLedgerTransport);
|
|
10
10
|
getAccount(transport: Transport, index: number): Promise<Account>;
|
|
11
11
|
getAccounts(transport: Transport): Promise<Account[]>;
|
|
12
12
|
getSigningCallback(transport: Transport, account: Account): api.SigningFunction;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cityofzion/bs-neo3",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"repository": "https://github.com/CityOfZion/blockchain-services",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"bignumber.js": "^9.1.2",
|
|
21
21
|
"isomorphic-ws": "^5.0.0",
|
|
22
22
|
"lodash.clonedeep": "^4.5.0",
|
|
23
|
-
"@cityofzion/blockchain-service": "1.
|
|
23
|
+
"@cityofzion/blockchain-service": "1.6.0",
|
|
24
24
|
"@cityofzion/bs-asteroid-sdk": "0.9.0"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|