@cityofzion/bs-neo3 0.14.3 → 1.0.1
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 +15 -14
- package/dist/BSNeo3.js +51 -45
- package/dist/BSNeo3Helper.d.ts +21 -0
- package/dist/BSNeo3Helper.js +74 -0
- package/dist/DoraBDSNeo3.d.ts +3 -1
- package/dist/DoraBDSNeo3.js +9 -12
- package/dist/DoraESNeo3.d.ts +4 -2
- package/dist/DoraESNeo3.js +16 -10
- package/dist/FlamingoEDSNeo3.d.ts +4 -2
- package/dist/FlamingoEDSNeo3.js +12 -8
- package/dist/GhostMarketNDSNeo3.d.ts +6 -4
- package/dist/GhostMarketNDSNeo3.js +51 -41
- package/dist/{LedgerServiceNeo3.d.ts → NeonDappKitLedgerServiceNeo3.d.ts} +1 -1
- package/dist/{LedgerServiceNeo3.js → NeonDappKitLedgerServiceNeo3.js} +3 -3
- package/dist/RpcBDSNeo3.d.ts +4 -2
- package/dist/RpcBDSNeo3.js +7 -4
- package/dist/RpcNDSNeo3.d.ts +2 -1
- package/dist/assets/tokens/common.json +2 -2
- package/dist/flamingo-swap/FlamingoSwapControllerService.d.ts +4 -39
- package/dist/flamingo-swap/FlamingoSwapControllerService.js +183 -225
- package/dist/flamingo-swap/FlamingoSwapHelper.d.ts +16 -2
- package/dist/flamingo-swap/FlamingoSwapHelper.js +57 -6
- package/dist/flamingo-swap/FlamingoSwapNeonDappKitInvocationBuilder.d.ts +3 -2
- package/dist/flamingo-swap/FlamingoSwapNeonDappKitInvocationBuilder.js +7 -9
- package/dist/index.d.ts +3 -4
- package/dist/index.js +3 -4
- package/package.json +6 -6
- package/dist/constants.d.ts +0 -20
- package/dist/constants.js +0 -74
- package/dist/flamingo-swap/FlamingoSwapError.d.ts +0 -12
- package/dist/flamingo-swap/FlamingoSwapError.js +0 -28
package/dist/BSNeo3.d.ts
CHANGED
|
@@ -1,21 +1,23 @@
|
|
|
1
|
-
import { BlockchainDataService, BlockchainService, BSClaimable, Account, ExchangeDataService, BDSClaimable, Token, BSWithNameService, Network,
|
|
2
|
-
import { LedgerServiceNeo3 } from './LedgerServiceNeo3';
|
|
1
|
+
import { BlockchainDataService, BlockchainService, BSClaimable, Account, ExchangeDataService, BDSClaimable, Token, BSWithNameService, Network, TransferParam, BSCalculableFee, NftDataService, BSWithNft, AccountWithDerivationPath, BSWithExplorerService, ExplorerService, BSWithLedger } from '@cityofzion/blockchain-service';
|
|
3
2
|
import Transport from '@ledgerhq/hw-transport';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
3
|
+
import { AvailableNetworkIds } from './BSNeo3Helper';
|
|
4
|
+
import { NeonDappKitLedgerServiceNeo3 } from './NeonDappKitLedgerServiceNeo3';
|
|
5
|
+
export declare class BSNeo3<BSCustomName extends string = string> implements BlockchainService<BSCustomName, AvailableNetworkIds>, BSClaimable, BSWithNameService, BSCalculableFee, BSWithNft, BSWithExplorerService, BSWithLedger {
|
|
6
|
+
#private;
|
|
7
|
+
blockchainName: BSCustomName;
|
|
8
|
+
derivationPath: string;
|
|
9
|
+
tokens: Token[];
|
|
10
|
+
feeToken: Token;
|
|
11
|
+
claimToken: Token;
|
|
12
|
+
burnToken: Token;
|
|
10
13
|
blockchainDataService: BlockchainDataService & BDSClaimable;
|
|
11
14
|
nftDataService: NftDataService;
|
|
12
|
-
ledgerService:
|
|
15
|
+
ledgerService: NeonDappKitLedgerServiceNeo3;
|
|
13
16
|
exchangeDataService: ExchangeDataService;
|
|
14
17
|
explorerService: ExplorerService;
|
|
15
|
-
|
|
16
|
-
network:
|
|
17
|
-
|
|
18
|
-
setNetwork(param: PartialBy<Network, 'url'>): void;
|
|
18
|
+
network: Network<AvailableNetworkIds>;
|
|
19
|
+
constructor(blockchainName: BSCustomName, network?: Network<AvailableNetworkIds>, getLedgerTransport?: (account: Account) => Promise<Transport>);
|
|
20
|
+
setNetwork(network: Network<AvailableNetworkIds>): void;
|
|
19
21
|
validateAddress(address: string): boolean;
|
|
20
22
|
validateEncrypted(encryptedKey: string): boolean;
|
|
21
23
|
validateKey(key: string): boolean;
|
|
@@ -29,5 +31,4 @@ export declare class BSNeo3<BSCustomName extends string = string> implements Blo
|
|
|
29
31
|
transfer(param: TransferParam): Promise<string>;
|
|
30
32
|
claim(account: Account, isLedger?: boolean): Promise<string>;
|
|
31
33
|
resolveNameServiceDomain(domainName: string): Promise<any>;
|
|
32
|
-
private buildTransferInvocation;
|
|
33
34
|
}
|
package/dist/BSNeo3.js
CHANGED
|
@@ -8,45 +8,45 @@ 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 __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
12
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
13
|
+
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
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
15
|
+
};
|
|
16
|
+
var _BSNeo3_instances, _BSNeo3_setTokens, _BSNeo3_buildTransferInvocation;
|
|
11
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
18
|
exports.BSNeo3 = void 0;
|
|
13
19
|
const neon_js_1 = require("@cityofzion/neon-js");
|
|
14
20
|
const neon_dappkit_1 = require("@cityofzion/neon-dappkit");
|
|
15
|
-
const
|
|
21
|
+
const bs_asteroid_sdk_1 = require("@cityofzion/bs-asteroid-sdk");
|
|
22
|
+
const BSNeo3Helper_1 = require("./BSNeo3Helper");
|
|
23
|
+
const NeonDappKitLedgerServiceNeo3_1 = require("./NeonDappKitLedgerServiceNeo3");
|
|
16
24
|
const DoraBDSNeo3_1 = require("./DoraBDSNeo3");
|
|
17
|
-
const
|
|
25
|
+
const RpcBDSNeo3_1 = require("./RpcBDSNeo3");
|
|
18
26
|
const FlamingoEDSNeo3_1 = require("./FlamingoEDSNeo3");
|
|
19
27
|
const GhostMarketNDSNeo3_1 = require("./GhostMarketNDSNeo3");
|
|
20
|
-
const bs_asteroid_sdk_1 = require("@cityofzion/bs-asteroid-sdk");
|
|
21
28
|
const DoraESNeo3_1 = require("./DoraESNeo3");
|
|
22
|
-
const LedgerServiceNeo3_1 = require("./LedgerServiceNeo3");
|
|
23
29
|
class BSNeo3 {
|
|
24
30
|
constructor(blockchainName, network, getLedgerTransport) {
|
|
31
|
+
_BSNeo3_instances.add(this);
|
|
32
|
+
network = network !== null && network !== void 0 ? network : BSNeo3Helper_1.BSNeo3Helper.DEFAULT_NETWORK;
|
|
25
33
|
this.blockchainName = blockchainName;
|
|
26
|
-
this.ledgerService = new
|
|
27
|
-
this.
|
|
28
|
-
this.derivationPath = constants_1.DERIVATION_PATH;
|
|
29
|
-
this.feeToken = this.tokens.find(token => token.symbol === 'GAS');
|
|
30
|
-
this.burnToken = this.tokens.find(token => token.symbol === 'NEO');
|
|
31
|
-
this.claimToken = this.tokens.find(token => token.symbol === 'GAS');
|
|
34
|
+
this.ledgerService = new NeonDappKitLedgerServiceNeo3_1.NeonDappKitLedgerServiceNeo3(getLedgerTransport);
|
|
35
|
+
this.derivationPath = BSNeo3Helper_1.BSNeo3Helper.DERIVATION_PATH;
|
|
32
36
|
this.setNetwork(network);
|
|
33
37
|
}
|
|
34
|
-
setNetwork(
|
|
35
|
-
|
|
36
|
-
const network = {
|
|
37
|
-
type: param.type,
|
|
38
|
-
url: (_a = param.url) !== null && _a !== void 0 ? _a : constants_1.DEFAULT_URL_BY_NETWORK_TYPE[param.type],
|
|
39
|
-
};
|
|
38
|
+
setNetwork(network) {
|
|
39
|
+
__classPrivateFieldGet(this, _BSNeo3_instances, "m", _BSNeo3_setTokens).call(this, network);
|
|
40
40
|
this.network = network;
|
|
41
|
-
if (network.
|
|
42
|
-
this.blockchainDataService = new
|
|
41
|
+
if (DoraBDSNeo3_1.DoraBDSNeo3.SUPPORTED_NETWORKS.includes(network.id)) {
|
|
42
|
+
this.blockchainDataService = new DoraBDSNeo3_1.DoraBDSNeo3(network, this.feeToken, this.claimToken, this.tokens);
|
|
43
43
|
}
|
|
44
44
|
else {
|
|
45
|
-
this.blockchainDataService = new
|
|
45
|
+
this.blockchainDataService = new RpcBDSNeo3_1.RPCBDSNeo3(network, this.feeToken, this.claimToken, this.tokens);
|
|
46
46
|
}
|
|
47
|
-
this.exchangeDataService = new FlamingoEDSNeo3_1.FlamingoEDSNeo3(network.
|
|
47
|
+
this.exchangeDataService = new FlamingoEDSNeo3_1.FlamingoEDSNeo3(network.id, this.tokens);
|
|
48
48
|
this.nftDataService = new GhostMarketNDSNeo3_1.GhostMarketNDSNeo3(network);
|
|
49
|
-
this.explorerService = new DoraESNeo3_1.DoraESNeo3(network.
|
|
49
|
+
this.explorerService = new DoraESNeo3_1.DoraESNeo3(network.id);
|
|
50
50
|
}
|
|
51
51
|
validateAddress(address) {
|
|
52
52
|
return neon_js_1.wallet.isAddress(address, 53);
|
|
@@ -106,7 +106,7 @@ class BSNeo3 {
|
|
|
106
106
|
rpcAddress: this.network.url,
|
|
107
107
|
account,
|
|
108
108
|
});
|
|
109
|
-
const invocations = this.
|
|
109
|
+
const invocations = __classPrivateFieldGet(this, _BSNeo3_instances, "m", _BSNeo3_buildTransferInvocation).call(this, param, account);
|
|
110
110
|
const { total } = yield invoker.calculateFee({
|
|
111
111
|
invocations,
|
|
112
112
|
signers: [],
|
|
@@ -128,7 +128,7 @@ class BSNeo3 {
|
|
|
128
128
|
account,
|
|
129
129
|
signingCallback: ledgerTransport ? this.ledgerService.getSigningCallback(ledgerTransport) : undefined,
|
|
130
130
|
});
|
|
131
|
-
const invocations = this.
|
|
131
|
+
const invocations = __classPrivateFieldGet(this, _BSNeo3_instances, "m", _BSNeo3_buildTransferInvocation).call(this, param, account);
|
|
132
132
|
const transactionHash = yield invoker.invokeFunction({
|
|
133
133
|
invocations,
|
|
134
134
|
signers: [],
|
|
@@ -162,7 +162,7 @@ class BSNeo3 {
|
|
|
162
162
|
const response = yield invoker.testInvoke({
|
|
163
163
|
invocations: [
|
|
164
164
|
{
|
|
165
|
-
scriptHash:
|
|
165
|
+
scriptHash: BSNeo3Helper_1.BSNeo3Helper.NEO_NS_HASH,
|
|
166
166
|
operation: 'ownerOf',
|
|
167
167
|
args: [{ type: 'String', value: domainName }],
|
|
168
168
|
},
|
|
@@ -178,26 +178,32 @@ class BSNeo3 {
|
|
|
178
178
|
return address;
|
|
179
179
|
});
|
|
180
180
|
}
|
|
181
|
-
buildTransferInvocation({ intent, tipIntent }, account) {
|
|
182
|
-
const intents = [intent, ...(tipIntent ? [tipIntent] : [])];
|
|
183
|
-
const invocations = intents.map(intent => {
|
|
184
|
-
return {
|
|
185
|
-
operation: 'transfer',
|
|
186
|
-
scriptHash: intent.tokenHash,
|
|
187
|
-
args: [
|
|
188
|
-
{ type: 'Hash160', value: account.address },
|
|
189
|
-
{ type: 'Hash160', value: intent.receiverAddress },
|
|
190
|
-
{
|
|
191
|
-
type: 'Integer',
|
|
192
|
-
value: intent.tokenDecimals
|
|
193
|
-
? neon_js_1.u.BigInteger.fromDecimal(intent.amount, intent.tokenDecimals).toString()
|
|
194
|
-
: intent.amount,
|
|
195
|
-
},
|
|
196
|
-
{ type: 'Any', value: '' },
|
|
197
|
-
],
|
|
198
|
-
};
|
|
199
|
-
});
|
|
200
|
-
return invocations;
|
|
201
|
-
}
|
|
202
181
|
}
|
|
203
182
|
exports.BSNeo3 = BSNeo3;
|
|
183
|
+
_BSNeo3_instances = new WeakSet(), _BSNeo3_setTokens = function _BSNeo3_setTokens(network) {
|
|
184
|
+
const tokens = BSNeo3Helper_1.BSNeo3Helper.getTokens(network);
|
|
185
|
+
this.tokens = tokens;
|
|
186
|
+
this.feeToken = tokens.find(token => token.symbol === 'GAS');
|
|
187
|
+
this.burnToken = tokens.find(token => token.symbol === 'NEO');
|
|
188
|
+
this.claimToken = tokens.find(token => token.symbol === 'GAS');
|
|
189
|
+
}, _BSNeo3_buildTransferInvocation = function _BSNeo3_buildTransferInvocation({ intent, tipIntent }, account) {
|
|
190
|
+
const intents = [intent, ...(tipIntent ? [tipIntent] : [])];
|
|
191
|
+
const invocations = intents.map(intent => {
|
|
192
|
+
return {
|
|
193
|
+
operation: 'transfer',
|
|
194
|
+
scriptHash: intent.tokenHash,
|
|
195
|
+
args: [
|
|
196
|
+
{ type: 'Hash160', value: account.address },
|
|
197
|
+
{ type: 'Hash160', value: intent.receiverAddress },
|
|
198
|
+
{
|
|
199
|
+
type: 'Integer',
|
|
200
|
+
value: intent.tokenDecimals
|
|
201
|
+
? neon_js_1.u.BigInteger.fromDecimal(intent.amount, intent.tokenDecimals).toString()
|
|
202
|
+
: intent.amount,
|
|
203
|
+
},
|
|
204
|
+
{ type: 'Any', value: '' },
|
|
205
|
+
],
|
|
206
|
+
};
|
|
207
|
+
});
|
|
208
|
+
return invocations;
|
|
209
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Network } from '@cityofzion/blockchain-service';
|
|
2
|
+
export type AvailableNetworkIds = 'mainnet' | 'testnet' | 'custom';
|
|
3
|
+
export declare class BSNeo3Helper {
|
|
4
|
+
#private;
|
|
5
|
+
static MAINNET_NETWORK_IDS: AvailableNetworkIds[];
|
|
6
|
+
static TESTNET_NETWORK_IDS: AvailableNetworkIds[];
|
|
7
|
+
static ALL_NETWORK_IDS: AvailableNetworkIds[];
|
|
8
|
+
static MAINNET_NETWORKS: Network<AvailableNetworkIds>[];
|
|
9
|
+
static TESTNET_NETWORKS: Network<AvailableNetworkIds>[];
|
|
10
|
+
static ALL_NETWORKS: Network<AvailableNetworkIds>[];
|
|
11
|
+
static DEFAULT_NETWORK: Network<AvailableNetworkIds>;
|
|
12
|
+
static NEO_NS_HASH: string;
|
|
13
|
+
static DERIVATION_PATH: string;
|
|
14
|
+
static getTokens(network: Network<AvailableNetworkIds>): {
|
|
15
|
+
symbol: string;
|
|
16
|
+
name: string;
|
|
17
|
+
hash: string;
|
|
18
|
+
decimals: number;
|
|
19
|
+
}[];
|
|
20
|
+
static getRpcList(network: Network<AvailableNetworkIds>): string[];
|
|
21
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
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
|
+
};
|
|
7
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
8
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
9
|
+
};
|
|
10
|
+
var _a, _BSNeo3Helper_EXTRA_TOKENS_BY_NETWORK_ID, _BSNeo3Helper_RPC_LIST_BY_NETWORK_ID;
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.BSNeo3Helper = void 0;
|
|
13
|
+
const mainnet_json_1 = __importDefault(require("./assets/tokens/mainnet.json"));
|
|
14
|
+
const common_json_1 = __importDefault(require("./assets/tokens/common.json"));
|
|
15
|
+
class BSNeo3Helper {
|
|
16
|
+
static getTokens(network) {
|
|
17
|
+
var _b;
|
|
18
|
+
const extraTokens = (_b = __classPrivateFieldGet(this, _a, "f", _BSNeo3Helper_EXTRA_TOKENS_BY_NETWORK_ID)[network.id]) !== null && _b !== void 0 ? _b : [];
|
|
19
|
+
return [...extraTokens, ...common_json_1.default];
|
|
20
|
+
}
|
|
21
|
+
static getRpcList(network) {
|
|
22
|
+
var _b;
|
|
23
|
+
return (_b = __classPrivateFieldGet(this, _a, "f", _BSNeo3Helper_RPC_LIST_BY_NETWORK_ID)[network.id]) !== null && _b !== void 0 ? _b : [];
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.BSNeo3Helper = BSNeo3Helper;
|
|
27
|
+
_a = BSNeo3Helper;
|
|
28
|
+
_BSNeo3Helper_EXTRA_TOKENS_BY_NETWORK_ID = { value: {
|
|
29
|
+
mainnet: mainnet_json_1.default,
|
|
30
|
+
} };
|
|
31
|
+
_BSNeo3Helper_RPC_LIST_BY_NETWORK_ID = { value: {
|
|
32
|
+
mainnet: [
|
|
33
|
+
'https://mainnet1.neo.coz.io:443',
|
|
34
|
+
'https://mainnet4.neo.coz.io:443',
|
|
35
|
+
'http://seed1.neo.org:10332',
|
|
36
|
+
'http://seed2.neo.org:10332',
|
|
37
|
+
'https://mainnet2.neo.coz.io:443',
|
|
38
|
+
'https://mainnet5.neo.coz.io:443',
|
|
39
|
+
'https://mainnet3.neo.coz.io:443',
|
|
40
|
+
'https://rpc10.n3.nspcc.ru:10331',
|
|
41
|
+
'https://neo1-nodes.ghostmarket.io:443',
|
|
42
|
+
],
|
|
43
|
+
testnet: [
|
|
44
|
+
'https://testnet1.neo.coz.io:443',
|
|
45
|
+
'https://testnet2.neo.coz.io:443',
|
|
46
|
+
'https://rpc.t5.n3.nspcc.ru:20331',
|
|
47
|
+
'http://seed1t5.neo.org:20332',
|
|
48
|
+
'http://seed2t5.neo.org:20332',
|
|
49
|
+
'http://seed3t5.neo.org:20332',
|
|
50
|
+
'http://seed4t5.neo.org:20332',
|
|
51
|
+
'http://seed5t5.neo.org:20332',
|
|
52
|
+
],
|
|
53
|
+
} };
|
|
54
|
+
BSNeo3Helper.MAINNET_NETWORK_IDS = ['mainnet'];
|
|
55
|
+
BSNeo3Helper.TESTNET_NETWORK_IDS = ['testnet'];
|
|
56
|
+
BSNeo3Helper.ALL_NETWORK_IDS = [..._a.MAINNET_NETWORK_IDS, ..._a.TESTNET_NETWORK_IDS];
|
|
57
|
+
BSNeo3Helper.MAINNET_NETWORKS = [
|
|
58
|
+
{
|
|
59
|
+
id: 'mainnet',
|
|
60
|
+
name: 'Mainnet',
|
|
61
|
+
url: __classPrivateFieldGet(_a, _a, "f", _BSNeo3Helper_RPC_LIST_BY_NETWORK_ID)['mainnet'][0],
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
BSNeo3Helper.TESTNET_NETWORKS = [
|
|
65
|
+
{
|
|
66
|
+
id: 'testnet',
|
|
67
|
+
name: 'Testnet',
|
|
68
|
+
url: __classPrivateFieldGet(_a, _a, "f", _BSNeo3Helper_RPC_LIST_BY_NETWORK_ID)['testnet'][0],
|
|
69
|
+
},
|
|
70
|
+
];
|
|
71
|
+
BSNeo3Helper.ALL_NETWORKS = [..._a.MAINNET_NETWORKS, ..._a.TESTNET_NETWORKS];
|
|
72
|
+
BSNeo3Helper.DEFAULT_NETWORK = _a.MAINNET_NETWORKS[0];
|
|
73
|
+
BSNeo3Helper.NEO_NS_HASH = '0x50ac1c37690cc2cfc594472833cf57505d5f46de';
|
|
74
|
+
BSNeo3Helper.DERIVATION_PATH = "m/44'/888'/0'/0/?";
|
package/dist/DoraBDSNeo3.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { BalanceResponse, ContractResponse, TransactionsByAddressParams, TransactionsByAddressResponse, TransactionResponse, Network, Token } from '@cityofzion/blockchain-service';
|
|
2
2
|
import { RPCBDSNeo3 } from './RpcBDSNeo3';
|
|
3
|
+
import { AvailableNetworkIds } from './BSNeo3Helper';
|
|
3
4
|
export declare class DoraBDSNeo3 extends RPCBDSNeo3 {
|
|
4
|
-
|
|
5
|
+
static SUPPORTED_NETWORKS: AvailableNetworkIds[];
|
|
6
|
+
constructor(network: Network<AvailableNetworkIds>, feeToken: Token, claimToken: Token, tokens: Token[]);
|
|
5
7
|
getTransaction(hash: string): Promise<TransactionResponse>;
|
|
6
8
|
getTransactionsByAddress({ address, page, }: TransactionsByAddressParams): Promise<TransactionsByAddressResponse>;
|
|
7
9
|
getContract(contractHash: string): Promise<ContractResponse>;
|
package/dist/DoraBDSNeo3.js
CHANGED
|
@@ -13,23 +13,19 @@ exports.DoraBDSNeo3 = void 0;
|
|
|
13
13
|
const neon_js_1 = require("@cityofzion/neon-js");
|
|
14
14
|
const api_1 = require("@cityofzion/dora-ts/dist/api");
|
|
15
15
|
const RpcBDSNeo3_1 = require("./RpcBDSNeo3");
|
|
16
|
-
const constants_1 = require("./constants");
|
|
17
16
|
const NeoRest = new api_1.NeoRESTApi({
|
|
18
17
|
doraUrl: 'https://dora.coz.io',
|
|
19
18
|
endpoint: '/api/v2/neo3',
|
|
20
19
|
});
|
|
21
20
|
class DoraBDSNeo3 extends RpcBDSNeo3_1.RPCBDSNeo3 {
|
|
22
|
-
constructor(network, feeToken, claimToken) {
|
|
23
|
-
|
|
24
|
-
throw new Error('DoraBDSNeo3 does not support custom networks');
|
|
25
|
-
}
|
|
26
|
-
super(network, feeToken, claimToken);
|
|
21
|
+
constructor(network, feeToken, claimToken, tokens) {
|
|
22
|
+
super(network, feeToken, claimToken, tokens);
|
|
27
23
|
}
|
|
28
24
|
getTransaction(hash) {
|
|
29
25
|
var _a, _b;
|
|
30
26
|
return __awaiter(this, void 0, void 0, function* () {
|
|
31
27
|
try {
|
|
32
|
-
const data = yield NeoRest.transaction(hash, this._network.
|
|
28
|
+
const data = yield NeoRest.transaction(hash, this._network.id);
|
|
33
29
|
return {
|
|
34
30
|
block: data.block,
|
|
35
31
|
time: Number(data.time),
|
|
@@ -48,7 +44,7 @@ class DoraBDSNeo3 extends RpcBDSNeo3_1.RPCBDSNeo3 {
|
|
|
48
44
|
}
|
|
49
45
|
getTransactionsByAddress({ address, page = 1, }) {
|
|
50
46
|
return __awaiter(this, void 0, void 0, function* () {
|
|
51
|
-
const data = yield NeoRest.addressTXFull(address, page, this._network.
|
|
47
|
+
const data = yield NeoRest.addressTXFull(address, page, this._network.id);
|
|
52
48
|
const promises = data.items.map((item) => __awaiter(this, void 0, void 0, function* () {
|
|
53
49
|
var _a, _b;
|
|
54
50
|
const transferPromises = [];
|
|
@@ -113,7 +109,7 @@ class DoraBDSNeo3 extends RpcBDSNeo3_1.RPCBDSNeo3 {
|
|
|
113
109
|
var _a, _b;
|
|
114
110
|
return __awaiter(this, void 0, void 0, function* () {
|
|
115
111
|
try {
|
|
116
|
-
const data = yield NeoRest.contract(contractHash, this._network.
|
|
112
|
+
const data = yield NeoRest.contract(contractHash, this._network.id);
|
|
117
113
|
return {
|
|
118
114
|
hash: data.hash,
|
|
119
115
|
methods: (_b = (_a = data.manifest.abi) === null || _a === void 0 ? void 0 : _a.methods) !== null && _b !== void 0 ? _b : [],
|
|
@@ -127,14 +123,14 @@ class DoraBDSNeo3 extends RpcBDSNeo3_1.RPCBDSNeo3 {
|
|
|
127
123
|
}
|
|
128
124
|
getTokenInfo(tokenHash) {
|
|
129
125
|
return __awaiter(this, void 0, void 0, function* () {
|
|
130
|
-
const localToken =
|
|
126
|
+
const localToken = this._tokens.find(token => token.hash === tokenHash);
|
|
131
127
|
if (localToken)
|
|
132
128
|
return localToken;
|
|
133
129
|
if (this._tokenCache.has(tokenHash)) {
|
|
134
130
|
return this._tokenCache.get(tokenHash);
|
|
135
131
|
}
|
|
136
132
|
try {
|
|
137
|
-
const { decimals, symbol, name, scripthash } = yield NeoRest.asset(tokenHash, this._network.
|
|
133
|
+
const { decimals, symbol, name, scripthash } = yield NeoRest.asset(tokenHash, this._network.id);
|
|
138
134
|
const token = {
|
|
139
135
|
decimals: Number(decimals),
|
|
140
136
|
symbol,
|
|
@@ -151,7 +147,7 @@ class DoraBDSNeo3 extends RpcBDSNeo3_1.RPCBDSNeo3 {
|
|
|
151
147
|
}
|
|
152
148
|
getBalance(address) {
|
|
153
149
|
return __awaiter(this, void 0, void 0, function* () {
|
|
154
|
-
const response = yield NeoRest.balance(address, this._network.
|
|
150
|
+
const response = yield NeoRest.balance(address, this._network.id);
|
|
155
151
|
const promises = response.map((balance) => __awaiter(this, void 0, void 0, function* () {
|
|
156
152
|
try {
|
|
157
153
|
const token = yield this.getTokenInfo(balance.asset);
|
|
@@ -175,3 +171,4 @@ class DoraBDSNeo3 extends RpcBDSNeo3_1.RPCBDSNeo3 {
|
|
|
175
171
|
}
|
|
176
172
|
}
|
|
177
173
|
exports.DoraBDSNeo3 = DoraBDSNeo3;
|
|
174
|
+
DoraBDSNeo3.SUPPORTED_NETWORKS = ['mainnet', 'testnet'];
|
package/dist/DoraESNeo3.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { ExplorerService,
|
|
1
|
+
import { ExplorerService, BuildNftUrlParams } from '@cityofzion/blockchain-service';
|
|
2
|
+
import { AvailableNetworkIds } from './BSNeo3Helper';
|
|
2
3
|
export declare class DoraESNeo3 implements ExplorerService {
|
|
3
4
|
#private;
|
|
4
|
-
constructor(networkType:
|
|
5
|
+
constructor(networkType: AvailableNetworkIds);
|
|
5
6
|
buildTransactionUrl(hash: string): string;
|
|
7
|
+
buildContractUrl(contractHash: string): string;
|
|
6
8
|
buildNftUrl({ contractHash, tokenId }: BuildNftUrlParams): string;
|
|
7
9
|
}
|
package/dist/DoraESNeo3.js
CHANGED
|
@@ -10,24 +10,30 @@ 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
|
|
13
|
+
var _DoraESNeo3_networkId;
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.DoraESNeo3 = void 0;
|
|
16
|
+
const DoraBDSNeo3_1 = require("./DoraBDSNeo3");
|
|
16
17
|
class DoraESNeo3 {
|
|
17
18
|
constructor(networkType) {
|
|
18
|
-
|
|
19
|
-
__classPrivateFieldSet(this,
|
|
19
|
+
_DoraESNeo3_networkId.set(this, void 0);
|
|
20
|
+
__classPrivateFieldSet(this, _DoraESNeo3_networkId, networkType, "f");
|
|
20
21
|
}
|
|
21
22
|
buildTransactionUrl(hash) {
|
|
22
|
-
if (__classPrivateFieldGet(this,
|
|
23
|
-
throw new Error('
|
|
24
|
-
return `https://dora.coz.io/transaction/neo3/${__classPrivateFieldGet(this,
|
|
23
|
+
if (!DoraBDSNeo3_1.DoraBDSNeo3.SUPPORTED_NETWORKS.includes(__classPrivateFieldGet(this, _DoraESNeo3_networkId, "f")))
|
|
24
|
+
throw new Error('Unsupported network');
|
|
25
|
+
return `https://dora.coz.io/transaction/neo3/${__classPrivateFieldGet(this, _DoraESNeo3_networkId, "f")}/${hash}`;
|
|
26
|
+
}
|
|
27
|
+
buildContractUrl(contractHash) {
|
|
28
|
+
if (!DoraBDSNeo3_1.DoraBDSNeo3.SUPPORTED_NETWORKS.includes(__classPrivateFieldGet(this, _DoraESNeo3_networkId, "f")))
|
|
29
|
+
throw new Error('Unsupported network');
|
|
30
|
+
return `https://dora.coz.io/contract/neo3/${__classPrivateFieldGet(this, _DoraESNeo3_networkId, "f")}/${contractHash}`;
|
|
25
31
|
}
|
|
26
32
|
buildNftUrl({ contractHash, tokenId }) {
|
|
27
|
-
if (__classPrivateFieldGet(this,
|
|
28
|
-
throw new Error('
|
|
29
|
-
return `https://dora.coz.io/nft/neo3/${__classPrivateFieldGet(this,
|
|
33
|
+
if (!DoraBDSNeo3_1.DoraBDSNeo3.SUPPORTED_NETWORKS.includes(__classPrivateFieldGet(this, _DoraESNeo3_networkId, "f")))
|
|
34
|
+
throw new Error('Unsupported network');
|
|
35
|
+
return `https://dora.coz.io/nft/neo3/${__classPrivateFieldGet(this, _DoraESNeo3_networkId, "f")}/${contractHash}/${tokenId}`;
|
|
30
36
|
}
|
|
31
37
|
}
|
|
32
38
|
exports.DoraESNeo3 = DoraESNeo3;
|
|
33
|
-
|
|
39
|
+
_DoraESNeo3_networkId = new WeakMap();
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { CryptoCompareEDS, Currency, ExchangeDataService,
|
|
1
|
+
import { CryptoCompareEDS, Currency, ExchangeDataService, GetTokenPriceHistory, Token, TokenPricesHistoryResponse, TokenPricesResponse } from '@cityofzion/blockchain-service';
|
|
2
|
+
import { AvailableNetworkIds } from './BSNeo3Helper';
|
|
2
3
|
export declare class FlamingoEDSNeo3 extends CryptoCompareEDS implements ExchangeDataService {
|
|
3
4
|
#private;
|
|
4
|
-
constructor(
|
|
5
|
+
constructor(networkId: AvailableNetworkIds, tokens: Token[]);
|
|
5
6
|
getTokenPrices(currency: Currency): Promise<TokenPricesResponse[]>;
|
|
7
|
+
getTokenPriceHistory(params: GetTokenPriceHistory): Promise<TokenPricesHistoryResponse[]>;
|
|
6
8
|
private getCurrencyRatio;
|
|
7
9
|
}
|
package/dist/FlamingoEDSNeo3.js
CHANGED
|
@@ -22,23 +22,22 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
22
22
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
23
23
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
24
24
|
};
|
|
25
|
-
var
|
|
25
|
+
var _FlamingoEDSNeo3_networkId, _FlamingoEDSNeo3_axiosInstance;
|
|
26
26
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
27
|
exports.FlamingoEDSNeo3 = void 0;
|
|
28
28
|
const blockchain_service_1 = require("@cityofzion/blockchain-service");
|
|
29
29
|
const axios_1 = __importDefault(require("axios"));
|
|
30
|
-
const constants_1 = require("./constants");
|
|
31
30
|
class FlamingoEDSNeo3 extends blockchain_service_1.CryptoCompareEDS {
|
|
32
|
-
constructor(
|
|
33
|
-
super(
|
|
34
|
-
|
|
31
|
+
constructor(networkId, tokens) {
|
|
32
|
+
super(tokens);
|
|
33
|
+
_FlamingoEDSNeo3_networkId.set(this, void 0);
|
|
35
34
|
_FlamingoEDSNeo3_axiosInstance.set(this, void 0);
|
|
36
|
-
__classPrivateFieldSet(this,
|
|
35
|
+
__classPrivateFieldSet(this, _FlamingoEDSNeo3_networkId, networkId, "f");
|
|
37
36
|
__classPrivateFieldSet(this, _FlamingoEDSNeo3_axiosInstance, axios_1.default.create({ baseURL: 'https://api.flamingo.finance' }), "f");
|
|
38
37
|
}
|
|
39
38
|
getTokenPrices(currency) {
|
|
40
39
|
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
-
if (__classPrivateFieldGet(this,
|
|
40
|
+
if (__classPrivateFieldGet(this, _FlamingoEDSNeo3_networkId, "f") !== 'mainnet')
|
|
42
41
|
throw new Error('Exchange is only available on mainnet');
|
|
43
42
|
const { data: prices } = yield __classPrivateFieldGet(this, _FlamingoEDSNeo3_axiosInstance, "f").get('/token-info/prices');
|
|
44
43
|
let currencyRatio = 1;
|
|
@@ -52,6 +51,11 @@ class FlamingoEDSNeo3 extends blockchain_service_1.CryptoCompareEDS {
|
|
|
52
51
|
}));
|
|
53
52
|
});
|
|
54
53
|
}
|
|
54
|
+
getTokenPriceHistory(params) {
|
|
55
|
+
if (__classPrivateFieldGet(this, _FlamingoEDSNeo3_networkId, "f") !== 'mainnet')
|
|
56
|
+
throw new Error('Exchange is only available on mainnet');
|
|
57
|
+
return super.getTokenPriceHistory(params);
|
|
58
|
+
}
|
|
55
59
|
getCurrencyRatio(currency) {
|
|
56
60
|
return __awaiter(this, void 0, void 0, function* () {
|
|
57
61
|
const { data } = yield __classPrivateFieldGet(this, _FlamingoEDSNeo3_axiosInstance, "f").get(`/fiat/exchange-rate?pair=USD_${currency}`);
|
|
@@ -60,4 +64,4 @@ class FlamingoEDSNeo3 extends blockchain_service_1.CryptoCompareEDS {
|
|
|
60
64
|
}
|
|
61
65
|
}
|
|
62
66
|
exports.FlamingoEDSNeo3 = FlamingoEDSNeo3;
|
|
63
|
-
|
|
67
|
+
_FlamingoEDSNeo3_networkId = new WeakMap(), _FlamingoEDSNeo3_axiosInstance = new WeakMap();
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { NftResponse, NftsResponse, GetNftParam, GetNftsByAddressParams, Network } from '@cityofzion/blockchain-service';
|
|
2
|
+
import { AvailableNetworkIds } from './BSNeo3Helper';
|
|
2
3
|
import { RpcNDSNeo3 } from './RpcNDSNeo3';
|
|
3
4
|
export declare class GhostMarketNDSNeo3 extends RpcNDSNeo3 {
|
|
4
5
|
#private;
|
|
5
|
-
|
|
6
|
+
static CONFIG_BY_NETWORK_ID: Partial<Record<AvailableNetworkIds, {
|
|
7
|
+
url: string;
|
|
8
|
+
chain: string;
|
|
9
|
+
}>>;
|
|
10
|
+
constructor(network: Network<AvailableNetworkIds>);
|
|
6
11
|
getNftsByAddress({ address, size, cursor }: GetNftsByAddressParams): Promise<NftsResponse>;
|
|
7
12
|
getNft({ contractHash, tokenId }: GetNftParam): Promise<NftResponse>;
|
|
8
|
-
private treatGhostMarketImage;
|
|
9
|
-
private getUrlWithParams;
|
|
10
|
-
private parse;
|
|
11
13
|
}
|
|
@@ -22,74 +22,84 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
22
22
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
23
23
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
24
24
|
};
|
|
25
|
-
var
|
|
25
|
+
var _GhostMarketNDSNeo3_instances, _GhostMarketNDSNeo3_network, _GhostMarketNDSNeo3_treatGhostMarketImage, _GhostMarketNDSNeo3_getUrlWithParams, _GhostMarketNDSNeo3_parse;
|
|
26
26
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
27
|
exports.GhostMarketNDSNeo3 = void 0;
|
|
28
28
|
const query_string_1 = __importDefault(require("query-string"));
|
|
29
29
|
const axios_1 = __importDefault(require("axios"));
|
|
30
|
-
const constants_1 = require("./constants");
|
|
31
30
|
const RpcNDSNeo3_1 = require("./RpcNDSNeo3");
|
|
32
31
|
class GhostMarketNDSNeo3 extends RpcNDSNeo3_1.RpcNDSNeo3 {
|
|
33
32
|
constructor(network) {
|
|
34
33
|
super(network);
|
|
35
|
-
|
|
36
|
-
|
|
34
|
+
_GhostMarketNDSNeo3_instances.add(this);
|
|
35
|
+
_GhostMarketNDSNeo3_network.set(this, void 0);
|
|
36
|
+
__classPrivateFieldSet(this, _GhostMarketNDSNeo3_network, network, "f");
|
|
37
37
|
}
|
|
38
38
|
getNftsByAddress({ address, size = 18, cursor }) {
|
|
39
39
|
var _a;
|
|
40
40
|
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
-
const url = this.
|
|
41
|
+
const url = __classPrivateFieldGet(this, _GhostMarketNDSNeo3_instances, "m", _GhostMarketNDSNeo3_getUrlWithParams).call(this, {
|
|
42
42
|
size,
|
|
43
43
|
owners: [address],
|
|
44
44
|
cursor: cursor,
|
|
45
45
|
});
|
|
46
46
|
const { data } = yield axios_1.default.get(url);
|
|
47
47
|
const nfts = (_a = data.assets) !== null && _a !== void 0 ? _a : [];
|
|
48
|
-
return { nextCursor: data.next, items: nfts.map(this.
|
|
48
|
+
return { nextCursor: data.next, items: nfts.map(__classPrivateFieldGet(this, _GhostMarketNDSNeo3_instances, "m", _GhostMarketNDSNeo3_parse).bind(this)) };
|
|
49
49
|
});
|
|
50
50
|
}
|
|
51
51
|
getNft({ contractHash, tokenId }) {
|
|
52
52
|
return __awaiter(this, void 0, void 0, function* () {
|
|
53
|
-
const url = this.
|
|
53
|
+
const url = __classPrivateFieldGet(this, _GhostMarketNDSNeo3_instances, "m", _GhostMarketNDSNeo3_getUrlWithParams).call(this, {
|
|
54
54
|
contract: contractHash,
|
|
55
55
|
tokenIds: [tokenId],
|
|
56
56
|
});
|
|
57
57
|
const { data } = yield axios_1.default.get(url);
|
|
58
|
-
return this.
|
|
58
|
+
return __classPrivateFieldGet(this, _GhostMarketNDSNeo3_instances, "m", _GhostMarketNDSNeo3_parse).call(this, data.assets[0]);
|
|
59
59
|
});
|
|
60
60
|
}
|
|
61
|
-
treatGhostMarketImage(srcImage) {
|
|
62
|
-
if (!srcImage) {
|
|
63
|
-
return;
|
|
64
|
-
}
|
|
65
|
-
if (srcImage.startsWith('ipfs://')) {
|
|
66
|
-
const [, imageId] = srcImage.split('://');
|
|
67
|
-
return `https://ghostmarket.mypinata.cloud/ipfs/${imageId}`;
|
|
68
|
-
}
|
|
69
|
-
return srcImage;
|
|
70
|
-
}
|
|
71
|
-
getUrlWithParams(params) {
|
|
72
|
-
const parameters = query_string_1.default.stringify(Object.assign({ chain: constants_1.GHOSTMARKET_CHAIN_BY_NETWORK_TYPE[__classPrivateFieldGet(this, _GhostMarketNDSNeo3_networkType, "f")] }, params), { arrayFormat: 'bracket' });
|
|
73
|
-
return `${constants_1.GHOSTMARKET_URL_BY_NETWORK_TYPE[__classPrivateFieldGet(this, _GhostMarketNDSNeo3_networkType, "f")]}/assets?${parameters}`;
|
|
74
|
-
}
|
|
75
|
-
parse(data) {
|
|
76
|
-
var _a, _b;
|
|
77
|
-
const nftResponse = {
|
|
78
|
-
collectionImage: this.treatGhostMarketImage((_a = data.collection) === null || _a === void 0 ? void 0 : _a.logoUrl),
|
|
79
|
-
id: data.tokenId,
|
|
80
|
-
contractHash: data.contract.hash,
|
|
81
|
-
symbol: data.contract.symbol,
|
|
82
|
-
collectionName: (_b = data.collection) === null || _b === void 0 ? void 0 : _b.name,
|
|
83
|
-
image: this.treatGhostMarketImage(data.metadata.mediaUri),
|
|
84
|
-
isSVG: String(data.metadata.mediaType).includes('svg+xml'),
|
|
85
|
-
name: data.metadata.name,
|
|
86
|
-
creator: {
|
|
87
|
-
address: data.creator.address,
|
|
88
|
-
name: data.creator.offchainName,
|
|
89
|
-
},
|
|
90
|
-
};
|
|
91
|
-
return nftResponse;
|
|
92
|
-
}
|
|
93
61
|
}
|
|
94
62
|
exports.GhostMarketNDSNeo3 = GhostMarketNDSNeo3;
|
|
95
|
-
|
|
63
|
+
_GhostMarketNDSNeo3_network = new WeakMap(), _GhostMarketNDSNeo3_instances = new WeakSet(), _GhostMarketNDSNeo3_treatGhostMarketImage = function _GhostMarketNDSNeo3_treatGhostMarketImage(srcImage) {
|
|
64
|
+
if (!srcImage) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
if (srcImage.startsWith('ipfs://')) {
|
|
68
|
+
const [, imageId] = srcImage.split('://');
|
|
69
|
+
return `https://ghostmarket.mypinata.cloud/ipfs/${imageId}`;
|
|
70
|
+
}
|
|
71
|
+
return srcImage;
|
|
72
|
+
}, _GhostMarketNDSNeo3_getUrlWithParams = function _GhostMarketNDSNeo3_getUrlWithParams(params) {
|
|
73
|
+
const config = GhostMarketNDSNeo3.CONFIG_BY_NETWORK_ID[__classPrivateFieldGet(this, _GhostMarketNDSNeo3_network, "f").id];
|
|
74
|
+
if (!config)
|
|
75
|
+
throw new Error('Unsupported network');
|
|
76
|
+
const parameters = query_string_1.default.stringify(Object.assign({ chain: config.chain }, params), { arrayFormat: 'bracket' });
|
|
77
|
+
return `${config.url}/assets?${parameters}`;
|
|
78
|
+
}, _GhostMarketNDSNeo3_parse = function _GhostMarketNDSNeo3_parse(data) {
|
|
79
|
+
var _a, _b;
|
|
80
|
+
const nftResponse = {
|
|
81
|
+
collectionImage: __classPrivateFieldGet(this, _GhostMarketNDSNeo3_instances, "m", _GhostMarketNDSNeo3_treatGhostMarketImage).call(this, (_a = data.collection) === null || _a === void 0 ? void 0 : _a.logoUrl),
|
|
82
|
+
id: data.tokenId,
|
|
83
|
+
contractHash: data.contract.hash,
|
|
84
|
+
symbol: data.contract.symbol,
|
|
85
|
+
collectionName: (_b = data.collection) === null || _b === void 0 ? void 0 : _b.name,
|
|
86
|
+
image: __classPrivateFieldGet(this, _GhostMarketNDSNeo3_instances, "m", _GhostMarketNDSNeo3_treatGhostMarketImage).call(this, data.metadata.mediaUri),
|
|
87
|
+
isSVG: String(data.metadata.mediaType).includes('svg+xml'),
|
|
88
|
+
name: data.metadata.name,
|
|
89
|
+
creator: {
|
|
90
|
+
address: data.creator.address,
|
|
91
|
+
name: data.creator.offchainName,
|
|
92
|
+
},
|
|
93
|
+
};
|
|
94
|
+
return nftResponse;
|
|
95
|
+
};
|
|
96
|
+
GhostMarketNDSNeo3.CONFIG_BY_NETWORK_ID = {
|
|
97
|
+
mainnet: {
|
|
98
|
+
url: 'https://api.ghostmarket.io/api/v2',
|
|
99
|
+
chain: 'n3',
|
|
100
|
+
},
|
|
101
|
+
testnet: {
|
|
102
|
+
url: 'https://api.ghostmarket.io/api/v2',
|
|
103
|
+
chain: 'n3t',
|
|
104
|
+
},
|
|
105
|
+
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Account, LedgerService, LedgerServiceEmitter } from '@cityofzion/blockchain-service';
|
|
2
2
|
import Transport from '@ledgerhq/hw-transport';
|
|
3
3
|
import { api } from '@cityofzion/neon-js';
|
|
4
|
-
export declare class
|
|
4
|
+
export declare class NeonDappKitLedgerServiceNeo3 implements LedgerService {
|
|
5
5
|
getLedgerTransport?: ((account: Account) => Promise<Transport>) | undefined;
|
|
6
6
|
emitter: LedgerServiceEmitter;
|
|
7
7
|
constructor(getLedgerTransport?: ((account: Account) => Promise<Transport>) | undefined);
|