Skip to content

Commit 5bc1530

Browse files
committedMay 13, 2019
chain and xybase build
1 parent 0238e6d commit 5bc1530

39 files changed

+167
-6368
lines changed
 

‎.vscode/settings.json

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
{
22
"typescript.tsdk": "node_modules/typescript/lib",
3+
"tslint.autoFixOnSave": true,
34
"psi-header.changes-tracking": {
45
"isActive": true,
56
"autoHeader": "manualSave"

‎bin/xyo-archivist

-6
This file was deleted.

‎package.json

+6-35
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@xyo-network/sdk-diviner-nodejs",
3-
"version": "0.2.62",
3+
"version": "0.2.63",
44
"description": "XYO Archivist SDK",
55
"main": "dist/index.js",
66
"types": "dist/index.d.ts",
@@ -22,11 +22,10 @@
2222
"pretest": "yarn install",
2323
"lint": "tslint --config tslint.json --project tsconfig.json",
2424
"test": "yarn lint",
25-
"build": "tsc && yarn copy",
25+
"build": "yarn xybuild && yarn copy",
2626
"copy": "copyfiles -u 1 src/**/*.sql dist/",
2727
"develop": "ts-node --files src/cli.ts",
28-
"license": "yarn license-checker --onlyAllow 'MIT;BSD;BSD-2-Clause;BSD-3-Clause;Apache-2.0;ISC;Unlicense;UNKNOWN;BSD*;CC0-1.0' --excludePackages 'colors@0.6.2'",
29-
"mock-data": "node packages/data-generator/dist/index.js --host=127.0.0.1 --user=admin --password=password --database=Xyo --port=3306"
28+
"license": "yarn license-checker --onlyAllow 'MIT;BSD;BSD-2-Clause;BSD-3-Clause;Apache-2.0;ISC;Unlicense;UNKNOWN;BSD*;CC0-1.0' --excludePackages 'colors@0.6.2'"
3029
},
3130
"devDependencies": {
3231
"@types/ethereumjs-abi": "^0.6.3",
@@ -49,39 +48,15 @@
4948
"typescript": "^3.4.5"
5049
},
5150
"dependencies": {
52-
"@xyo-network/base": "^0.55.9-alpha.0",
53-
"@xyo-network/bound-witness": "^0.55.9-alpha.0",
54-
"@xyo-network/errors": "^0.55.9-alpha.0",
55-
"@xyo-network/hashing": "^0.55.9-alpha.0",
56-
"@xyo-network/heuristics-common": "^0.55.9-alpha.0",
57-
"@xyo-network/meta-list": "^0.55.9-alpha.0",
58-
"@xyo-network/network": "^0.55.9-alpha.0",
59-
"@xyo-network/network.tcp": "^0.55.9-alpha.0",
60-
"@xyo-network/node-network": "^0.55.9-alpha.0",
61-
"@xyo-network/origin-block-repository": "^0.55.9-alpha.0",
62-
"@xyo-network/origin-chain": "^0.55.9-alpha.0",
63-
"@xyo-network/p2p": "^0.55.9-alpha.0",
64-
"@xyo-network/peer-connections": "^0.55.9-alpha.0",
65-
"@xyo-network/peer-discovery": "^0.55.9-alpha.0",
66-
"@xyo-network/peer-interaction": "^0.55.9-alpha.0",
67-
"@xyo-network/peer-interaction-handlers": "^0.55.9-alpha.0",
68-
"@xyo-network/peer-interaction-router": "^0.55.9-alpha.0",
69-
"@xyo-network/serialization": "^0.55.9-alpha.0",
70-
"@xyo-network/serialization-schema": "^0.55.9-alpha.0",
71-
"@xyo-network/serializer": "^0.55.9-alpha.0",
72-
"@xyo-network/signing": "^0.55.9-alpha.0",
73-
"@xyo-network/signing.ecdsa": "^0.55.9-alpha.0",
74-
"@xyo-network/storage": "^0.55.9-alpha.0",
75-
"@xyo-network/storage.leveldb": "^0.60.2",
76-
"@xyo-network/utils": "^0.55.9-alpha.0",
51+
"@xyo-network/object-model": "^0.5.10",
52+
"@xyo-network/sdk-base-nodejs": "^0.3.10",
53+
"@xyo-network/sdk-core-nodejs": "^0.64.2",
7754
"abstract-leveldown": "^6.0.2",
7855
"apollo-cache-inmemory": "^1.5.1",
7956
"apollo-client": "^2.5.1",
8057
"apollo-link-http": "^1.5.14",
8158
"apollo-server": "^2.4.8",
8259
"aws-sdk": "^2.441.0",
83-
"ethereumjs-abi": "^0.6.7",
84-
"ethereumjs-tx": "^1.3.7",
8560
"graphql": "^14.2.1",
8661
"graphql-tag": "^2.10.1",
8762
"graphql-type-json": "^0.3.0",
@@ -90,10 +65,6 @@
9065
"levelup": "^4.0.1",
9166
"lodash": "^4.17.11",
9267
"lru-cache": "^5.1.1",
93-
"mysql": "^2.17.1",
94-
"web3": "^1.0.0-beta.52",
95-
"web3-eth-contract": "^1.0.0-beta.52",
96-
"web3-providers": "^1.0.0-beta.52",
9768
"yargs": "^13.2.2"
9869
}
9970
}

‎src/block-producer/@types/index.ts

Whitespace-only changes.

‎src/block-producer/index.ts

-11
This file was deleted.

‎src/block-producer/spec/xyo-block-producer.spec.ts

-438
This file was deleted.

‎src/block-producer/xyo-block-producer.ts

-384
This file was deleted.

‎src/block-witness/@types/index.ts

-4
This file was deleted.

‎src/block-witness/index.ts

-46
This file was deleted.

‎src/block-witness/spec/xyo-block-witness-validator.spec.ts

-343
This file was deleted.

‎src/block-witness/xyo-block-witness-validator.ts

-192
This file was deleted.

‎src/chain/index.ts

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export * from './xyo-chain-tracer'

‎src/chain/xyo-chain-tracer.ts

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
2+
export interface IXyoChainTracer {
3+
traceChain(publicKey: Buffer, limit: number, offsetHash: Buffer | undefined, up: boolean): Promise<Buffer[]>
4+
}

‎src/chain/xyo-hash-tracer.ts

+66
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
import { IXyoOriginBlockGetter, XyoBoundWitness, XyoBoundWitnessOriginGetter, IXyoBoundWitnessOrigin } from '@xyo-network/sdk-core-nodejs'
2+
3+
export class XyoHashTracer {
4+
private blockGetter: IXyoOriginBlockGetter
5+
6+
constructor (blockGetter: IXyoOriginBlockGetter) {
7+
this.blockGetter = blockGetter
8+
}
9+
10+
public async getBlocksDown (hash: Buffer, n: number, publicKey: Buffer): Promise<Buffer[]> {
11+
let lookingPublicKeys = [publicKey]
12+
let offset: Buffer = hash
13+
const blocks: Buffer[] = []
14+
15+
while (blocks.length !== n) {
16+
const block = await this.blockGetter.getOriginBlock(offset)
17+
18+
if (block) {
19+
const newOffset = this.getBlockPreviousHash(lookingPublicKeys, block)
20+
21+
if (newOffset && newOffset.origin.previousHash) {
22+
lookingPublicKeys = newOffset.publicKeys
23+
offset = newOffset.origin.previousHash
24+
blocks.push(block)
25+
} else {
26+
// if we are here, the chain is invalid, or we have hit the genesis block, so we break out
27+
break
28+
}
29+
30+
} else {
31+
// stop looking for blocks if we have reached the end of the chain
32+
break
33+
}
34+
}
35+
36+
return blocks
37+
}
38+
39+
private getBlockPreviousHash (publicKeysOfParent: Buffer[], boundWitnessBytes: Buffer): {origin: IXyoBoundWitnessOrigin, publicKeys: Buffer[]} | undefined {
40+
const boundWitness = new XyoBoundWitness(boundWitnessBytes)
41+
const publicKeys = boundWitness.getPublicKeys()
42+
const origins = XyoBoundWitnessOriginGetter.getOriginInformation(boundWitness)
43+
44+
// we look to see if the public keys match so that we can get the right previous hash
45+
// tslint:disable-next-line:prefer-for-of
46+
for (let i = 0; i < publicKeys.length; i++) {
47+
const origin = origins[i]
48+
49+
for (const publicKeyLooking of publicKeysOfParent) {
50+
for (const publicKey of publicKeys[i]) {
51+
52+
if (publicKeyLooking.equals(publicKey.getAll().getContentsCopy())) {
53+
return { origin, publicKeys: publicKeys[i].map(pub => publicKey.getAll().getContentsCopy()) }
54+
}
55+
56+
if (origin.nextPublicKey && origin.nextPublicKey.equals(publicKeyLooking)) {
57+
return { origin, publicKeys: publicKeys[i].map(pub => publicKey.getAll().getContentsCopy()) }
58+
}
59+
}
60+
}
61+
}
62+
63+
return undefined
64+
65+
}
66+
}

‎src/consensus/@types/index.ts

-366
This file was deleted.

‎src/consensus/index.ts

-23
This file was deleted.

‎src/consensus/spec/xyo-scsc-consensus-provider.spec.ts

-170
This file was deleted.

‎src/consensus/xyo-scsc-consensus-provider.ts

-572
This file was deleted.

‎src/content-addressable-service/@types/index.ts

-32
This file was deleted.

‎src/content-addressable-service/index.ts

-75
This file was deleted.

‎src/index.ts

+1-46
Original file line numberDiff line numberDiff line change
@@ -10,49 +10,4 @@
1010
* Copyright 2017 - 2019 XY - The Persistent Company
1111
*/
1212

13-
import { XyoNode } from './base-node'
14-
import { DEFAULT_NODE_OPTIONS_MYSQL, DEFAULT_NODE_OPTIONS_DYNAMODB, DEFAULT_NODE_OPTIONS } from './base-node/default-node-options'
15-
16-
export { IXyoArchivistNetwork, XyoArchivistNetwork, CatalogueItem } from './network/'
17-
export { createArchivistDynamoDBRepository, IDynamoDBArchivistRepositoryConfig } from './repository/dynamodb'
18-
export { createArchivistLevelDBRepository, ILevelDBArchivistRepositoryConfig } from './repository/leveldb '
19-
export { createArchivistNeo4jRepository, INeo4jArchivistRepositoryConfig } from './repository/neo4j'
20-
export { createArchivistSqlRepository, ISqlArchivistRepositoryConfig } from './repository/sql'
21-
export {
22-
IXyoArchivistRepository,
23-
IXyoEntitiesList,
24-
IXyoEntity,
25-
IXyoEntityType,
26-
IXyoOriginBlockResult,
27-
IXyoOriginBlocksByPublicKeyResult,
28-
IXyoIntersectionsList,
29-
IArchivistRepositoryConfig
30-
} from './repository'
31-
export { IXyoComponentArchivistFeatureDetail } from './@types'
32-
export { XyoNode } from './base-node'
33-
34-
// function to launch for testing. Should never be used in production
35-
async function main() {
36-
let node
37-
const db = process.argv.length > 2 ? process.argv[2] : 'unknown'
38-
switch (db) {
39-
case 'mysql': {
40-
node = new XyoNode(DEFAULT_NODE_OPTIONS_MYSQL)
41-
break
42-
}
43-
case 'dynamodb': {
44-
node = new XyoNode(DEFAULT_NODE_OPTIONS_DYNAMODB)
45-
break
46-
}
47-
default: {
48-
node = new XyoNode(DEFAULT_NODE_OPTIONS)
49-
break
50-
}
51-
}
52-
await node.initialize()
53-
await node.start()
54-
}
55-
56-
if (require.main === module) {
57-
main()
58-
}
13+
console.log('hello world')

‎src/ipfs-client/@types/ipfs-http-client.d.ts

-46
This file was deleted.

‎src/ipfs-client/index.ts

-91
This file was deleted.

‎src/questions/@types/index.ts

-110
This file was deleted.

‎src/questions/index.ts

-27
This file was deleted.

‎src/questions/questions-worker.ts

-92
This file was deleted.

‎src/questions/spec/xyo-questions-service.spec.ts

-316
This file was deleted.

‎src/questions/xyo-proof-of-intersection-validator.ts

-36
This file was deleted.

‎src/questions/xyo-question-service.ts

-245
This file was deleted.

‎src/transaction-pool/@types/index.ts

-36
This file was deleted.

‎src/transaction-pool/index.ts

-22
This file was deleted.

‎src/transaction-pool/xyo-transaction-repository.ts

-78
This file was deleted.

‎src/web3-question-service/index.ts

-104
This file was deleted.

0 commit comments

Comments
 (0)
Please sign in to comment.