Skip to content

Commit 4016f5a

Browse files
committed
Blockchain Services - EpicChain Lab's
1 parent 0f8d011 commit 4016f5a

File tree

19 files changed

+531
-123
lines changed

19 files changed

+531
-123
lines changed

package-lock.json

Lines changed: 408 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
"@epicchain/epicvault-api": "^1.0.1",
1717
"@epicchain/epicvault-core": "^1.0.1",
1818
"@epicchain/epicvault-dappkit-types": "^1.0.1",
19-
"@epicchain/epicvault-js": "^1.0.1"
19+
"@epicchain/epicvault-js": "^1.0.1",
20+
"@ledgerhq/hw-transport-node-hid": "^6.29.5"
2021
}
2122
}

packages/bs-epicchain/src/BSEpicChain.ts

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -19,21 +19,21 @@ import {
1919
} from '@epicchain/blockchain-service'
2020
import { keychain } from '@epicchain/bs-asteroid-sdk'
2121
import Neon from '@epicchain/epicvault-core'
22-
import { NeonInvoker, NeonParser } from '@cityofzion/neon-dappkit'
22+
import { EpicVaultInvoker, NeonParser } from '@cityofzion/neon-dappkit'
2323
import { ContractInvocation } from '@epicchain/epicvault-dappkit-types'
2424
import { api, u, wallet } from '@epicchain/epicvault-js'
25-
import { BSNeo3Helper } from './helpers/BSEpicChainHelper'
25+
import { BSEpicChainHelper } from './helpers/BSEpicChainHelper'
2626
import { DoraBDSNeo3 } from './services/blockchain-data/EpicScanBDSEpicChain'
2727
import { FlamingoEDSNeo3 } from './services/exchange-data/FlamingoEDSNeo3'
2828
import { DoraESNeo3 } from './services/explorer/EpicScanESEpicChain'
29-
import { NeonDappKitLedgerServiceNeo3 } from './services/ledger/EpicVaultDappKitLedgerServiceEpicChain'
29+
import { EpicVaultDappKitLedgerServiceEpicChain } from './services/ledger/EpicVaultDappKitLedgerServiceEpicChain'
3030
import { GhostMarketNDSNeo3 } from './services/nft-data/GhostMarketNDSEpicChain'
31-
import { BSNeo3Constants, BSNeo3NetworkId } from './constants/BSEpicChainConstants'
31+
import { BSEpicChainConstants, BSEpicChainNetworkId } from './constants/BSEpicChainConstants'
3232
import { RpcBDSNeo3 } from './services/blockchain-data/RpcBDSEpicChain'
3333

3434
export class BSNeo3<BSName extends string = string>
3535
implements
36-
BlockchainService<BSName, BSNeo3NetworkId>,
36+
BlockchainService<BSName, BSEpicChainNetworkId>,
3737
BSClaimable<BSName>,
3838
BSWithNameService,
3939
BSCalculableFee<BSName>,
@@ -51,24 +51,24 @@ export class BSNeo3<BSName extends string = string>
5151

5252
blockchainDataService!: BlockchainDataService & BDSClaimable
5353
nftDataService!: NftDataService
54-
ledgerService: NeonDappKitLedgerServiceNeo3<BSName>
54+
ledgerService: EpicVaultDappKitLedgerServiceEpicChain<BSName>
5555
exchangeDataService!: ExchangeDataService
5656
explorerService!: ExplorerService
5757

58-
network!: Network<BSNeo3NetworkId>
58+
network!: Network<BSEpicChainNetworkId>
5959

60-
constructor(name: BSName, network?: Network<BSNeo3NetworkId>, getLedgerTransport?: GetLedgerTransport<BSName>) {
61-
network = network ?? BSNeo3Constants.DEFAULT_NETWORK
60+
constructor(name: BSName, network?: Network<BSEpicChainNetworkId>, getLedgerTransport?: GetLedgerTransport<BSName>) {
61+
network = network ?? BSEpicChainConstants.DEFAULT_NETWORK
6262

6363
this.name = name
64-
this.ledgerService = new NeonDappKitLedgerServiceNeo3(this, getLedgerTransport)
65-
this.bip44DerivationPath = BSNeo3Constants.DEFAULT_BIP44_DERIVATION_PATH
64+
this.ledgerService = new EpicVaultDappKitLedgerServiceEpicChain(this, getLedgerTransport)
65+
this.bip44DerivationPath = BSEpicChainConstants.DEFAULT_BIP44_DERIVATION_PATH
6666

6767
this.setNetwork(network)
6868
}
6969

70-
#setTokens(network: Network<BSNeo3NetworkId>) {
71-
const tokens = BSNeo3Helper.getTokens(network)
70+
#setTokens(network: Network<BSEpicChainNetworkId>) {
71+
const tokens = BSEpicChainHelper.getTokens(network)
7272

7373
this.tokens = tokens
7474
this.feeToken = tokens.find(token => token.symbol === 'XPP')!
@@ -138,13 +138,13 @@ export class BSNeo3<BSName extends string = string>
138138
return invocations
139139
}
140140

141-
async testNetwork(network: Network<BSNeo3NetworkId>) {
141+
async testNetwork(network: Network<BSEpicChainNetworkId>) {
142142
const blockchainDataServiceClone = new RpcBDSNeo3(network, this.feeToken, this.claimToken, this.tokens)
143143

144144
await blockchainDataServiceClone.getBlockHeight()
145145
}
146146

147-
setNetwork(network: Network<BSNeo3NetworkId>) {
147+
setNetwork(network: Network<BSEpicChainNetworkId>) {
148148
this.#setTokens(network)
149149
this.network = network
150150

@@ -212,7 +212,7 @@ export class BSNeo3<BSName extends string = string>
212212
async calculateTransferFee(param: TransferParam<BSName>): Promise<string> {
213213
const { neonJsAccount } = await this.generateSigningCallback(param.senderAccount)
214214

215-
const invoker = await NeonInvoker.init({
215+
const invoker = await EpicVaultInvoker.init({
216216
rpcAddress: this.network.url,
217217
account: neonJsAccount,
218218
})
@@ -230,7 +230,7 @@ export class BSNeo3<BSName extends string = string>
230230
async transfer(param: TransferParam<BSName>): Promise<string[]> {
231231
const { neonJsAccount, signingCallback } = await this.generateSigningCallback(param.senderAccount)
232232

233-
const invoker = await NeonInvoker.init({
233+
const invoker = await EpicVaultInvoker.init({
234234
rpcAddress: this.network.url,
235235
account: neonJsAccount,
236236
signingCallback: signingCallback,
@@ -258,11 +258,11 @@ export class BSNeo3<BSName extends string = string>
258258

259259
async resolveNameServiceDomain(domainName: string): Promise<any> {
260260
const parser = NeonParser
261-
const invoker = await NeonInvoker.init({ rpcAddress: this.network.url })
261+
const invoker = await EpicVaultInvoker.init({ rpcAddress: this.network.url })
262262
const response = await invoker.testInvoke({
263263
invocations: [
264264
{
265-
scriptHash: BSNeo3Constants.NEO_NS_HASH,
265+
scriptHash: BSEpicChainConstants.NEO_NS_HASH,
266266
operation: 'ownerOf',
267267
args: [{ type: 'String', value: domainName }],
268268
},

packages/bs-epicchain/src/__tests__/services/BSNeo3.spec.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@ import { Network } from '@epicchain/blockchain-service'
22
import { generateMnemonic } from '@epicchain/bs-asteroid-sdk'
33
import TransportNodeHid from '@ledgerhq/hw-transport-node-hid'
44
import { BSNeo3 } from '../../BSEpicChain'
5-
import { BSNeo3Constants, BSNeo3NetworkId } from '../../constants/BSEpicChainConstants'
6-
import { BSNeo3Helper } from '../../helpers/BSEpicChainHelper'
5+
import { BSEpicChainConstants, BSEpicChainNetworkId } from '../../constants/BSEpicChainConstants'
6+
import { BSEpicChainHelper } from '../../helpers/BSEpicChainHelper'
77

88
let bsNeo3: BSNeo3<'neo3'>
9-
let network: Network<BSNeo3NetworkId>
9+
let network: Network<BSEpicChainNetworkId>
1010

1111
describe('BSNeo3', () => {
1212
beforeAll(async () => {
13-
network = BSNeo3Constants.TESTNET_NETWORKS[0]
13+
network = BSEpicChainConstants.TESTNET_NETWORKS[0]
1414
bsNeo3 = new BSNeo3('neo3', network)
1515
}, 60000)
1616

@@ -170,8 +170,8 @@ describe('BSNeo3', () => {
170170

171171
it.skip('Should be able to calculate transfer fee more than one intent', async () => {
172172
const account = bsNeo3.generateAccountFromKey(process.env.TESTNET_PRIVATE_KEY as string)
173-
const NEO = BSNeo3Helper.getTokens(network).find(token => token.symbol === 'NEO')!
174-
const GAS = BSNeo3Helper.getTokens(network).find(token => token.symbol === 'GAS')!
173+
const NEO = BSEpicChainHelper.getTokens(network).find(token => token.symbol === 'XPR')!
174+
const GAS = BSEpicChainHelper.getTokens(network).find(token => token.symbol === 'XPP')!
175175

176176
const fee = await bsNeo3.calculateTransferFee({
177177
senderAccount: account,
@@ -198,8 +198,8 @@ describe('BSNeo3', () => {
198198
const account = bsNeo3.generateAccountFromKey(process.env.TESTNET_PRIVATE_KEY as string)
199199
const balance = await bsNeo3.blockchainDataService.getBalance(account.address)
200200

201-
const NEO = BSNeo3Helper.getTokens(network).find(token => token.symbol === 'NEO')!
202-
const GAS = BSNeo3Helper.getTokens(network).find(token => token.symbol === 'GAS')!
201+
const NEO = BSEpicChainHelper.getTokens(network).find(token => token.symbol === 'XPR')!
202+
const GAS = BSEpicChainHelper.getTokens(network).find(token => token.symbol === 'XPP')!
203203

204204
const gasBalance = balance.find(b => b.token.symbol === GAS.symbol)
205205
expect(Number(gasBalance?.amount)).toBeGreaterThan(0.00000001)
@@ -236,8 +236,8 @@ describe('BSNeo3', () => {
236236

237237
const balance = await service.blockchainDataService.getBalance(account.address)
238238

239-
const NEO = BSNeo3Helper.getTokens(network).find(token => token.symbol === 'NEO')!
240-
const GAS = BSNeo3Helper.getTokens(network).find(token => token.symbol === 'GAS')!
239+
const NEO = BSEpicChainHelper.getTokens(network).find(token => token.symbol === 'XPR')!
240+
const GAS = BSEpicChainHelper.getTokens(network).find(token => token.symbol === 'XPP')!
241241

242242
const gasBalance = balance.find(b => b.token.symbol === GAS.symbol)
243243
expect(Number(gasBalance?.amount)).toBeGreaterThan(0.00000001)

packages/bs-epicchain/src/__tests__/services/blockchain-data/EpicScanBDSEpicChain.spec.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
import { BSNeo3Constants } from '../../../constants/BSEpicChainConstants'
2-
import { BSNeo3Helper } from '../../../helpers/BSEpicChainHelper'
1+
import { BSEpicChainConstants } from '../../../constants/BSEpicChainConstants'
2+
import { BSEpicChainHelper } from '../../../helpers/BSEpicChainHelper'
33
import { DoraBDSNeo3 } from '../../../services/blockchain-data/EpicScanBDSEpicChain'
44

5-
const network = BSNeo3Constants.TESTNET_NETWORKS[0]
6-
const tokens = BSNeo3Helper.getTokens(network)
5+
const network = BSEpicChainConstants.TESTNET_NETWORKS[0]
6+
const tokens = BSEpicChainHelper.getTokens(network)
77

8-
const GAS = tokens.find(token => token.symbol === 'GAS')!
8+
const GAS = tokens.find(token => token.symbol === 'XPP')!
99

1010
let doraBDSNeo3: DoraBDSNeo3
1111

@@ -91,7 +91,7 @@ describe('DoraBDSNeo3', () => {
9191
decimals: 8,
9292
hash,
9393
name: 'GasToken',
94-
symbol: 'GAS',
94+
symbol: 'XPP',
9595
})
9696
})
9797

packages/bs-epicchain/src/__tests__/services/blockchain-data/RpcBDSEpicChain.spec.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
import { BSNeo3Constants } from '../../../constants/BSEpicChainConstants'
2-
import { BSNeo3Helper } from '../../../helpers/BSEpicChainHelper'
1+
import { BSEpicChainConstants } from '../../../constants/BSEpicChainConstants'
2+
import { BSEpicChainHelper } from '../../../helpers/BSEpicChainHelper'
33
import { RpcBDSNeo3 } from '../../../services/blockchain-data/RpcBDSEpicChain'
44

5-
const network = BSNeo3Constants.TESTNET_NETWORKS[0]
6-
const tokens = BSNeo3Helper.getTokens(network)
5+
const network = BSEpicChainConstants.TESTNET_NETWORKS[0]
6+
const tokens = BSEpicChainHelper.getTokens(network)
77

8-
const GAS = tokens.find(token => token.symbol === 'GAS')!
8+
const GAS = tokens.find(token => token.symbol === 'XPP')!
99

1010
let rpcBDSNeo3: RpcBDSNeo3
1111

@@ -55,8 +55,8 @@ describe('RpcBDSNeo3', () => {
5555
expect(token).toEqual({
5656
decimals: 8,
5757
hash: 'd2a4cff31913016155e38e474a2c06d08be276cf',
58-
name: 'GAS',
59-
symbol: 'GAS',
58+
name: 'XPP',
59+
symbol: 'XPP',
6060
})
6161
})
6262

packages/bs-epicchain/src/__tests__/services/exchange-data/FlamingoEDSNeo3.spec.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
import { Network } from '@epicchain/blockchain-service'
2-
import { BSNeo3Constants, BSNeo3NetworkId } from '../../../constants/BSEpicChainConstants'
3-
import { BSNeo3Helper } from '../../../helpers/BSEpicChainHelper'
2+
import { BSEpicChainConstants, BSEpicChainNetworkId } from '../../../constants/BSEpicChainConstants'
3+
import { BSEpicChainHelper } from '../../../helpers/BSEpicChainHelper'
44
import { FlamingoEDSNeo3 } from '../../../services/exchange-data/FlamingoEDSNeo3'
55

66
let flamingoEDSNeo3: FlamingoEDSNeo3
7-
let network: Network<BSNeo3NetworkId>
7+
let network: Network<BSEpicChainNetworkId>
88

99
describe('FlamingoEDSNeo3', () => {
1010
beforeAll(() => {
11-
network = BSNeo3Constants.DEFAULT_NETWORK
11+
network = BSEpicChainConstants.DEFAULT_NETWORK
1212
flamingoEDSNeo3 = new FlamingoEDSNeo3(network)
1313
})
1414

1515
it('Should return a list with prices of tokens using USD', async () => {
16-
const tokenPriceList = await flamingoEDSNeo3.getTokenPrices({ tokens: BSNeo3Helper.getTokens(network) })
16+
const tokenPriceList = await flamingoEDSNeo3.getTokenPrices({ tokens: BSEpicChainHelper.getTokens(network) })
1717

1818
tokenPriceList.forEach(tokenPrice => {
1919
expect(tokenPrice).toEqual({
@@ -41,7 +41,7 @@ describe('FlamingoEDSNeo3', () => {
4141
})
4242

4343
it("Should return the token's price history", async () => {
44-
const token = BSNeo3Helper.getTokens(network).find(token => token.symbol === 'GAS')!
44+
const token = BSEpicChainHelper.getTokens(network).find(token => token.symbol === 'XPP')!
4545
const tokenPriceHistory = await flamingoEDSNeo3.getTokenPriceHistory({
4646
token,
4747
limit: 24,

packages/bs-epicchain/src/__tests__/services/explorer/DoraESNeo3.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
import { BSNeo3Constants } from '../../../constants/BSEpicChainConstants'
1+
import { BSEpicChainConstants } from '../../../constants/BSEpicChainConstants'
22
import { DoraESNeo3 } from '../../../services/explorer/EpicScanESEpicChain'
33

44
let doraESNeo3: DoraESNeo3
55

66
describe('DoraESNeo3', () => {
77
beforeAll(() => {
8-
doraESNeo3 = new DoraESNeo3(BSNeo3Constants.DEFAULT_NETWORK)
8+
doraESNeo3 = new DoraESNeo3(BSEpicChainConstants.DEFAULT_NETWORK)
99
})
1010
it('Should return a transaction url', async () => {
1111
const hash = '0x775d824a54d4e9bebf3c522a7d8dede550348323d833ce68fbcf0ab953d579e8'

packages/bs-epicchain/src/__tests__/services/ledger/NeonDappKitLedgerServiceNeo3.spec.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
import Transport from '@ledgerhq/hw-transport'
2-
import { NeonDappKitLedgerServiceNeo3 } from '../../../services/ledger/EpicVaultDappKitLedgerServiceEpicChain'
2+
import { EpicVaultDappKitLedgerServiceEpicChain } from '../../../services/ledger/EpicVaultDappKitLedgerServiceEpicChain'
33
import { BSNeo3 } from '../../../BSEpicChain'
44
import TransportNodeHid from '@ledgerhq/hw-transport-node-hid'
5-
import { BSNeo3Constants } from '../../../constants/BSEpicChainConstants'
5+
import { BSEpicChainConstants } from '../../../constants/BSEpicChainConstants'
66

7-
let ledgerService: NeonDappKitLedgerServiceNeo3
7+
let ledgerService: EpicVaultDappKitLedgerServiceEpicChain
88
let transport: Transport
99
let bsNeo3: BSNeo3
1010

11-
describe.skip('NeonDappKitLedgerServiceNeo3.spec', () => {
11+
describe.skip('EpicVaultDappKitLedgerServiceEpicChain.spec', () => {
1212
beforeAll(async () => {
13-
const network = BSNeo3Constants.TESTNET_NETWORKS[0]!
13+
const network = BSEpicChainConstants.TESTNET_NETWORKS[0]!
1414
bsNeo3 = new BSNeo3('neo3', network)
1515

1616
transport = await TransportNodeHid.create()
17-
ledgerService = new NeonDappKitLedgerServiceNeo3(bsNeo3, async () => transport)
17+
ledgerService = new EpicVaultDappKitLedgerServiceEpicChain(bsNeo3, async () => transport)
1818
}, 60000)
1919

2020
it('Should be able to get all accounts', async () => {

packages/bs-epicchain/src/__tests__/services/nft-data/GhostMarketNDSNeo3.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
import { BSNeo3Constants } from '../../../constants/BSEpicChainConstants'
1+
import { BSEpicChainConstants } from '../../../constants/BSEpicChainConstants'
22
import { GhostMarketNDSNeo3 } from '../../../services/nft-data/GhostMarketNDSEpicChain'
33

44
let ghostMarketNDSNeo3: GhostMarketNDSNeo3
55

66
describe('GhostMarketNDSNeo3', () => {
77
beforeAll(() => {
8-
ghostMarketNDSNeo3 = new GhostMarketNDSNeo3(BSNeo3Constants.DEFAULT_NETWORK)
8+
ghostMarketNDSNeo3 = new GhostMarketNDSNeo3(BSEpicChainConstants.DEFAULT_NETWORK)
99
})
1010

1111
describe('TTM', () => {

0 commit comments

Comments
 (0)