Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
T
tangled
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
eriksson monteiro
tangled
Commits
ae060b67
Commit
ae060b67
authored
Feb 18, 2022
by
Eriksson Monteiro
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update millix node: fix wallet transaction sync
parent
a1f33a95
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
4 additions
and
143 deletions
+4
-143
millix_node/core/config/config.js
millix_node/core/config/config.js
+1
-1
millix_node/core/genesis/generator.js
millix_node/core/genesis/generator.js
+0
-93
millix_node/core/genesis/genesis.js
millix_node/core/genesis/genesis.js
+0
-46
millix_node/core/wallet/wallet-sync.js
millix_node/core/wallet/wallet-sync.js
+2
-2
millix_node/index.js
millix_node/index.js
+1
-1
No files found.
millix_node/core/config/config.js
View file @
ae060b67
...
...
@@ -772,7 +772,7 @@ export const DATABASE_ENGINE = 'sqlite';
export
const
DATABASE_CONNECTION
=
{};
export
const
MILLIX_CIRCULATION
=
9
e15
;
export
const
NODE_MILLIX_BUILD_DATE
=
1640009160
;
export
const
NODE_MILLIX_VERSION
=
'
1.14.
9
-tangled
'
;
export
const
NODE_MILLIX_VERSION
=
'
1.14.
10
-tangled
'
;
export
const
DATA_BASE_DIR_MAIN_NETWORK
=
'
./millix-tangled
'
;
export
const
DATA_BASE_DIR_TEST_NETWORK
=
'
./millix-tangled
'
;
let
DATA_BASE_DIR
=
MODE_TEST_NETWORK
?
DATA_BASE_DIR_TEST_NETWORK
:
DATA_BASE_DIR_MAIN_NETWORK
;
...
...
millix_node/core/genesis/generator.js
deleted
100644 → 0
View file @
a1f33a95
import
config
from
'
../config/config
'
;
import
genesisConfig
from
'
./genesis-config
'
;
import
objectHash
from
'
../crypto/object-hash
'
;
import
wallet
from
'
../wallet/wallet
'
;
import
ntp
from
'
../ntp
'
;
import
api
from
'
../../api/server
'
;
import
database
from
'
../../database/database
'
;
export
function
generateGenesisUnit
(
genesisAddressObj
,
outputAddressList
=
[])
{
const
defaultAddressVersion
=
database
.
getRepository
(
'
address
'
).
getDefaultAddressVersion
();
const
genesisAddress
=
genesisAddressObj
.
address_base
;
console
.
log
(
'
>> composing genesis unit
'
);
console
.
log
(
'
>> payout address:
'
+
genesisAddressObj
.
address
);
let
arrOutputs
=
[];
let
remainingAmount
=
config
.
MILLIX_CIRCULATION
;
let
budget
=
Math
.
round
(
config
.
MILLIX_CIRCULATION
/
outputAddressList
.
length
);
let
outputIndex
=
0
;
for
(
let
address
of
outputAddressList
)
{
arrOutputs
.
push
({
address_base
:
address
,
address_version
:
defaultAddressVersion
.
version
,
address_key_identifier
:
address
,
amount
:
budget
,
output_position
:
outputIndex
});
remainingAmount
-=
budget
;
outputIndex
++
;
}
if
(
remainingAmount
>
0
)
{
arrOutputs
.
push
({
address_base
:
genesisAddress
,
address_version
:
defaultAddressVersion
.
version
,
'
address_key_identifier
'
:
genesisAddress
,
amount
:
remainingAmount
,
output_position
:
outputIndex
});
}
let
generateGenesisTransaction
=
{
transaction_input_list
:
[
{
type
:
'
issue
'
,
input_position
:
0
,
address_base
:
genesisAddress
,
address_version
:
defaultAddressVersion
.
version
,
'
address_key_identifier
'
:
genesisAddress
}
],
transaction_output_list
:
arrOutputs
,
transaction_signature_list
:
[
{
address_base
:
genesisAddress
,
address_attribute
:
genesisAddressObj
.
address_attribute
}
]
};
let
nowTimestamp
=
Math
.
round
(
ntp
.
now
().
getTime
()
/
1000
);
let
nodeID
=
api
.
nodeID
;
let
baseShardInfo
=
{
node_id_origin
:
nodeID
,
shard_date
:
nowTimestamp
,
shard_type
:
'
protocol
'
};
let
shardInfo
=
{
...
baseShardInfo
,
node_signature
:
wallet
.
sign
(
genesisAddressObj
,
baseShardInfo
)
};
genesisConfig
.
genesis_shard_id
=
objectHash
.
getCHash288
(
shardInfo
);
//node_id_origin,
// shard_date,
// shard_type,
// node_signature
shardInfo
[
'
shard_id
'
]
=
genesisConfig
.
genesis_shard_id
;
generateGenesisTransaction
[
'
payload_hash
'
]
=
objectHash
.
getCHash288
(
generateGenesisTransaction
);
generateGenesisTransaction
[
'
transaction_date
'
]
=
new
Date
(
nowTimestamp
*
1000
).
toISOString
();
generateGenesisTransaction
[
'
node_id_origin
'
]
=
nodeID
;
generateGenesisTransaction
[
'
shard_id
'
]
=
genesisConfig
.
genesis_shard_id
;
generateGenesisTransaction
[
'
version
'
]
=
config
.
WALLET_TRANSACTION_DEFAULT_VERSION
;
generateGenesisTransaction
.
transaction_signature_list
[
0
][
'
signature
'
]
=
wallet
.
sign
(
genesisAddressObj
,
generateGenesisTransaction
);
let
transactionID
=
objectHash
.
getCHash288
(
generateGenesisTransaction
);
generateGenesisTransaction
[
'
transaction_id
'
]
=
transactionID
;
generateGenesisTransaction
[
'
transaction_parent_list
'
]
=
[];
genesisConfig
.
genesis_transaction
=
transactionID
;
console
.
log
(
'
>> genesis unit input assembled:
'
,
JSON
.
stringify
(
generateGenesisTransaction
,
null
,
'
\t
'
));
console
.
log
(
'
>> shard info:
'
,
shardInfo
);
return
generateGenesisTransaction
;
}
millix_node/core/genesis/genesis.js
deleted
100644 → 0
View file @
a1f33a95
import
{
generateGenesisUnit
}
from
'
./generator
'
;
import
database
from
'
../../database/database
'
;
import
config
from
'
../config/config
'
;
import
request
from
'
request
'
;
import
genesisConfig
from
'
./genesis-config
'
;
import
peer
from
'
../../net/peer
'
;
import
walletUtils
from
'
../wallet/wallet-utils
'
;
class
Genesis
{
constructor
()
{
}
store
(
transaction
)
{
return
walletUtils
.
verifyTransaction
(
transaction
)
.
then
(
isValid
=>
{
if
(
!
isValid
)
{
throw
Error
(
'
Invalid genesis transaction
'
);
}
const
transactionRepository
=
database
.
getRepository
(
'
transaction
'
);
return
transactionRepository
.
addTransactionFromObject
(
transaction
)
.
then
(
t
=>
peer
.
transactionSend
(
t
))
.
then
(()
=>
transactionRepository
.
setTransactionAsStable
(
transaction
.
transaction_id
))
.
then
(()
=>
transactionRepository
.
setOutputAsStable
(
transaction
.
transaction_id
));
});
}
initialize
(
walletID
)
{
return
database
.
getRepository
(
'
keychain
'
).
getWalletAddresses
(
walletID
)
.
then
(
addresses
=>
this
.
store
(
generateGenesisUnit
(
addresses
[
0
])))
.
then
(()
=>
{
if
(
config
.
MODE_TEST
)
{
request
.
post
(
'
http://
'
+
config
.
NODE_TEST_HOST
+
'
:
'
+
config
.
NODE_TEST_PORT
+
'
/genesis
'
,
{
json
:
true
,
body
:
{
genesis
:
genesisConfig
.
genesis_transaction
}
});
}
});
}
}
export
default
new
Genesis
();
millix_node/core/wallet/wallet-sync.js
View file @
ae060b67
...
...
@@ -318,12 +318,12 @@ export class WalletSync {
const
transactionOutput
=
transaction
.
transaction_output_list
[
outputPosition
];
if
(
walletKeyIdentifierSet
.
has
(
transactionOutput
.
address_key_identifier
))
{
this
.
transactionSpendWalletQueue
.
push
({
transaction_output_id
:
`
${
transaction
Output
.
transaction_id
}
_
${
transactionOutput
.
shard_id
}
_
${
transactionOutput
.
output_position
}
`
transaction_output_id
:
`
${
transaction
.
transaction_id
}
_
${
transaction
.
shard_id
}
_
${
transactionOutput
.
output_position
}
`
});
}
else
{
this
.
transactionSpendQueue
.
push
({
transaction_output_id
:
`
${
transaction
Output
.
transaction_id
}
_
${
transactionOutput
.
shard_id
}
_
${
transactionOutput
.
output_position
}
`
transaction_output_id
:
`
${
transaction
.
transaction_id
}
_
${
transaction
.
shard_id
}
_
${
transactionOutput
.
output_position
}
`
});
}
}
...
...
millix_node/index.js
View file @
ae060b67
...
...
@@ -125,6 +125,6 @@ db.initialize()
});
}
});
//millix v1.14.
9
-tangled
//millix v1.14.
10
-tangled
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment