@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?: (account: Account) => Promise<Transport>);
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
- if (!domainName.endsWith('.neo'))
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
- const encryptedKey = yield neon_js_1.wallet.encrypt(key, password);
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 [transactionHash];
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
- const transactionHash = yield facade.claimGas(neonJsAccount, {
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
- const address = parser.accountInputToAddress(parsed.replace('0x', ''));
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
- const invocations = concatIntents.map(intent => {
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?: (account: Account) => Promise<Transport>;
9
- constructor(blockchainService: BSNeo3, getLedgerTransport?: (account: Account) => Promise<Transport>);
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.4.3",
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.4.0",
23
+ "@cityofzion/blockchain-service": "1.6.0",
24
24
  "@cityofzion/bs-asteroid-sdk": "0.9.0"
25
25
  },
26
26
  "devDependencies": {