@tradelayerprotocol/tradelayer 1.9.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/.claude/settings.local.json +13 -0
- package/.claude/skills/tl-algo/SKILL.md +255 -0
- package/.gitattributes +2 -0
- package/.github/workflows/publish.yaml +26 -0
- package/4mm.js +163 -0
- package/LICENSE +21 -0
- package/NPMSwapRefactor.zip +0 -0
- package/README.md +217 -0
- package/address.sh +26 -0
- package/algoAPI.js +581 -0
- package/analyzepsbt.js +92 -0
- package/apiEx.js +99 -0
- package/bb_hyperscalper.js +290 -0
- package/bbo_demo.js +111 -0
- package/buyer.js +622 -0
- package/client.js +50 -0
- package/createTxTest.js +26 -0
- package/createWallet.js +75 -0
- package/daytrader.js +531 -0
- package/decodeTest.js +69 -0
- package/fundingManager.js +144 -0
- package/index.js +4 -0
- package/listener.js +27 -0
- package/litecoreTxBuilder.js +1128 -0
- package/mmEx.js +356 -0
- package/networks.js +51 -0
- package/orderbook.js +200 -0
- package/package.json +34 -0
- package/perTradeQueue.js +36 -0
- package/projectsTLNPMTLNPM/package-lock.json +162 -0
- package/projectsTLNPMTLNPM/package.json +5 -0
- package/quick.js +32 -0
- package/quickFut.js +37 -0
- package/quickSell.js +37 -0
- package/relayerClient.js +117 -0
- package/run4mm.js +80 -0
- package/run_bbo_tracker.js +241 -0
- package/seller.js +443 -0
- package/session.js +45 -0
- package/setup-lin-ltc.sh +139 -0
- package/setup-lin.sh +203 -0
- package/setup-win-ltc.bat +108 -0
- package/setup-win.bat +167 -0
- package/spam_screamer_futures.js +222 -0
- package/tradelayer.js/.gitattributes +2 -0
- package/tradelayer.js/README.md +2 -0
- package/tradelayer.js/oldTests/activationTest.js +6 -0
- package/tradelayer.js/oldTests/base58.test.js +23 -0
- package/tradelayer.js/oldTests/base64Decode.test.js +16 -0
- package/tradelayer.js/oldTests/blocksRefactor.js +140 -0
- package/tradelayer.js/oldTests/checkVestBalance.js +25 -0
- package/tradelayer.js/oldTests/consensusHashProto.js +151 -0
- package/tradelayer.js/oldTests/contractOrderbook.js +243 -0
- package/tradelayer.js/oldTests/createPayload.js +0 -0
- package/tradelayer.js/oldTests/createTestnetAddr.js +43 -0
- package/tradelayer.js/oldTests/decode.js +205 -0
- package/tradelayer.js/oldTests/decodeTest.js +50 -0
- package/tradelayer.js/oldTests/displayTallyMap.js +19 -0
- package/tradelayer.js/oldTests/encodeDecode.js +340 -0
- package/tradelayer.js/oldTests/expressTest.js +29 -0
- package/tradelayer.js/oldTests/extractBlocksVanilla.js +214 -0
- package/tradelayer.js/oldTests/extractBlocksVanillaa.js +179 -0
- package/tradelayer.js/oldTests/extractPubkeyTest.js +60 -0
- package/tradelayer.js/oldTests/fillInputCacheProto.js +111 -0
- package/tradelayer.js/oldTests/getRawTxTest.js +22 -0
- package/tradelayer.js/oldTests/indexTest.js +26 -0
- package/tradelayer.js/oldTests/initTokensTest.js +32 -0
- package/tradelayer.js/oldTests/interfaceChild.js +129 -0
- package/tradelayer.js/oldTests/listenerChild.js +112 -0
- package/tradelayer.js/oldTests/opdecode.js +26 -0
- package/tradelayer.js/oldTests/options.js +79 -0
- package/tradelayer.js/oldTests/optxtest.js +116 -0
- package/tradelayer.js/oldTests/optxtest1.js +64 -0
- package/tradelayer.js/oldTests/oracle.test.js +32 -0
- package/tradelayer.js/oldTests/orderbook.test.js +36 -0
- package/tradelayer.js/oldTests/parsing.js +93 -0
- package/tradelayer.js/oldTests/payload.js +13 -0
- package/tradelayer.js/oldTests/persistenceUnitTest.js +23 -0
- package/tradelayer.js/oldTests/property.test.js +53 -0
- package/tradelayer.js/oldTests/propertyLevel.js +75 -0
- package/tradelayer.js/oldTests/propertyTest.js +32 -0
- package/tradelayer.js/oldTests/queryAddressTest.js +17 -0
- package/tradelayer.js/oldTests/salter.js +14 -0
- package/tradelayer.js/oldTests/tally.js +81 -0
- package/tradelayer.js/oldTests/tally.test.js +48 -0
- package/tradelayer.js/oldTests/tally2.js +124 -0
- package/tradelayer.js/oldTests/tally3.js +142 -0
- package/tradelayer.js/oldTests/tallyDiag.js +38 -0
- package/tradelayer.js/oldTests/testGetRaw.js +40 -0
- package/tradelayer.js/oldTests/testHexConvert.js +47 -0
- package/tradelayer.js/oldTests/testNewEncoding.js +96 -0
- package/tradelayer.js/oldTests/testNewEncoding2.js +113 -0
- package/tradelayer.js/oldTests/testNewEncoding3 +112 -0
- package/tradelayer.js/oldTests/testNewEncoding3.js +168 -0
- package/tradelayer.js/oldTests/testOPReturn.js +102 -0
- package/tradelayer.js/oldTests/testPayload.js +23 -0
- package/tradelayer.js/oldTests/testRaw.js +50 -0
- package/tradelayer.js/oldTests/testSendTooMuch.js +20 -0
- package/tradelayer.js/oldTests/testTxBuild +28 -0
- package/tradelayer.js/oldTests/testTxBuild.js +42 -0
- package/tradelayer.js/oldTests/tokenOrderbook.js +243 -0
- package/tradelayer.js/oldTests/txUtilsA.js +515 -0
- package/tradelayer.js/oldTests/validityUnitTest.js +53 -0
- package/tradelayer.js/oldTests/vaults.js +72 -0
- package/tradelayer.js/oldTests/volumeIndex.js +117 -0
- package/tradelayer.js/oldTests/volumeIndex2.js +88 -0
- package/tradelayer.js/output_base64.txt +1 -0
- package/tradelayer.js/package-lock.json +9967 -0
- package/tradelayer.js/package.json +61 -0
- package/tradelayer.js/server/index.js +88 -0
- package/tradelayer.js/server/litecoind.exe +0 -0
- package/tradelayer.js/src/activation.js +303 -0
- package/tradelayer.js/src/adjuster.js +77 -0
- package/tradelayer.js/src/amm.js +400 -0
- package/tradelayer.js/src/base256.js +55 -0
- package/tradelayer.js/src/base94.js +79 -0
- package/tradelayer.js/src/channels.js +1163 -0
- package/tradelayer.js/src/clearing.js +3109 -0
- package/tradelayer.js/src/clearlist.js +364 -0
- package/tradelayer.js/src/client.js +295 -0
- package/tradelayer.js/src/consensus.js +613 -0
- package/tradelayer.js/src/contractRegistry.js +964 -0
- package/tradelayer.js/src/db.js +89 -0
- package/tradelayer.js/src/init.js +24 -0
- package/tradelayer.js/src/insurance.js +347 -0
- package/tradelayer.js/src/interface.js +218 -0
- package/tradelayer.js/src/interfaceExpress.js +178 -0
- package/tradelayer.js/src/iou.js +509 -0
- package/tradelayer.js/src/listener.js +226 -0
- package/tradelayer.js/src/logic.js +1702 -0
- package/tradelayer.js/src/main.js +927 -0
- package/tradelayer.js/src/marginMap.js +2165 -0
- package/tradelayer.js/src/options.js +126 -0
- package/tradelayer.js/src/oracle.js +394 -0
- package/tradelayer.js/src/orderbook.js +4123 -0
- package/tradelayer.js/src/persistence.js +554 -0
- package/tradelayer.js/src/property.js +411 -0
- package/tradelayer.js/src/reOrg.js +41 -0
- package/tradelayer.js/src/scaling.js +145 -0
- package/tradelayer.js/src/tally.js +1275 -0
- package/tradelayer.js/src/tradeHistoryManager.js +552 -0
- package/tradelayer.js/src/txDecoder.js +584 -0
- package/tradelayer.js/src/txEncoder.js +610 -0
- package/tradelayer.js/src/txIndex.js +502 -0
- package/tradelayer.js/src/txUtils.js +1392 -0
- package/tradelayer.js/src/types.js +429 -0
- package/tradelayer.js/src/validity.js +3077 -0
- package/tradelayer.js/src/vaults.js +430 -0
- package/tradelayer.js/src/vesting.js +491 -0
- package/tradelayer.js/src/volumeIndex.js +618 -0
- package/tradelayer.js/src/walletInterface.js +220 -0
- package/tradelayer.js/src/walletListener.js +665 -0
- package/tradelayer.js/tests/256decode.js +82 -0
- package/tradelayer.js/tests/UTXOracle.js +205 -0
- package/tradelayer.js/tests/base94test.js +23 -0
- package/tradelayer.js/tests/cancelTxTest.js +62 -0
- package/tradelayer.js/tests/contractInterfaceTest.js +48 -0
- package/tradelayer.js/tests/decimalTest.js +65 -0
- package/tradelayer.js/tests/decoderTest.js +100 -0
- package/tradelayer.js/tests/deltaCount.js +47 -0
- package/tradelayer.js/tests/deltaCount2.js +60 -0
- package/tradelayer.js/tests/interfaceTest.js +37 -0
- package/tradelayer.js/tests/mainTest.js +53 -0
- package/tradelayer.js/tests/makeActivationTest.js +24 -0
- package/tradelayer.js/tests/maxHeightTest.js +49 -0
- package/tradelayer.js/tests/reverseHash.js +72 -0
- package/tradelayer.js/tests/sensitiveConsoleOutput.txt +267 -0
- package/tradelayer.js/tests/tallyTest.js +40 -0
- package/tradelayer.js/tests/testBuybacks.js +46 -0
- package/tradelayer.js/tests/testCodeHash.js +49 -0
- package/tradelayer.js/tests/testConsensusHash.js +91 -0
- package/tradelayer.js/tests/testDecode.js +30 -0
- package/tradelayer.js/tests/testEncodingLengths.js +129 -0
- package/tradelayer.js/tests/testGetTx +32 -0
- package/tradelayer.js/tests/testGetTx.js +32 -0
- package/tradelayer.js/tests/testHexHash.js +32 -0
- package/tradelayer.js/tests/testIndexHash.js +35 -0
- package/tradelayer.js/tests/testInitContracts.js +38 -0
- package/tradelayer.js/tests/testMaxConsensus.js +12 -0
- package/tradelayer.js/tests/testMaxSynth.js +44 -0
- package/tradelayer.js/tests/testMint.js +21 -0
- package/tradelayer.js/tests/testNetwork.js +33 -0
- package/tradelayer.js/tests/testOrderbookLoad.js +62 -0
- package/tradelayer.js/tests/testRebates.js +32 -0
- package/tradelayer.js/tests/testRedeem.js +22 -0
- package/tradelayer.js/tests/testTokenTrade.js +39 -0
- package/tradelayer.js/tests/testTxBuild.js +42 -0
- package/tradelayer.js/tests/testUTXOTrade.js +27 -0
- package/tradelayer.js/tests/tokenTradeHistory.js +27 -0
- package/tradelayer.js/tests/tradeFutures.js +40 -0
- package/tradelayer.js/tests/tradeHistoryExample.js +35 -0
- package/tradelayer.js/tests/tradeHistoryLoad.js +15 -0
- package/tradelayer.js/tests/txScanTest.js +134 -0
- package/tradelayer.js/tests/validateTest.js +136 -0
- package/tradelayer.js/tests/vestingTest.js +37 -0
- package/tradelayer.js/utils/activateMainnet.js +59 -0
- package/tradelayer.js/utils/activateMainnetDoge.js +63 -0
- package/tradelayer.js/utils/autocompactdb.js +23 -0
- package/tradelayer.js/utils/base64toHex.js +32 -0
- package/tradelayer.js/utils/broadcastDoge.js +38 -0
- package/tradelayer.js/utils/calcRedeem.js +19 -0
- package/tradelayer.js/utils/checkNetwork.js +27 -0
- package/tradelayer.js/utils/createAddress.js +48 -0
- package/tradelayer.js/utils/createAttestation.js +133 -0
- package/tradelayer.js/utils/createContract.js +118 -0
- package/tradelayer.js/utils/createOracle.js +94 -0
- package/tradelayer.js/utils/createwallet.js +20 -0
- package/tradelayer.js/utils/crossFuturesTrades.js +57 -0
- package/tradelayer.js/utils/crossTokenTrades.js +62 -0
- package/tradelayer.js/utils/dumpPriv.js +29 -0
- package/tradelayer.js/utils/generateChannel.js +34 -0
- package/tradelayer.js/utils/getInfo.js +21 -0
- package/tradelayer.js/utils/hardWipe.js +20 -0
- package/tradelayer.js/utils/hexTo64.js +16 -0
- package/tradelayer.js/utils/importAddress.js +28 -0
- package/tradelayer.js/utils/importpriv.js +20 -0
- package/tradelayer.js/utils/issueOracleContract.js +67 -0
- package/tradelayer.js/utils/issueTokens.js +41 -0
- package/tradelayer.js/utils/listunspent.js +66 -0
- package/tradelayer.js/utils/litecoinClient.js +30 -0
- package/tradelayer.js/utils/loadwallet.js +20 -0
- package/tradelayer.js/utils/publishOracle.js +113 -0
- package/tradelayer.js/utils/sendActivation.js +21 -0
- package/tradelayer.js/utils/sendChannelContractTrade.js +34 -0
- package/tradelayer.js/utils/sendChannelTokenTrade.js +34 -0
- package/tradelayer.js/utils/sendCommit.js +24 -0
- package/tradelayer.js/utils/sendDoge.js +62 -0
- package/tradelayer.js/utils/sendDogeMain.js +67 -0
- package/tradelayer.js/utils/sendDogeTx.js +46 -0
- package/tradelayer.js/utils/sendLTC.js +63 -0
- package/tradelayer.js/utils/sendMainnet.js +62 -0
- package/tradelayer.js/utils/sendTransfer.js +19 -0
- package/tradelayer.js/utils/sendVestTest.js +88 -0
- package/tradelayer.js/utils/sendWithdrawal.js +26 -0
- package/tradelayer.js/utils/simpleStart.js +8 -0
- package/tradelayer.js/utils/startStop.js +27 -0
- package/tradelayer.js/utils/structuredTrades.js +136 -0
- package/tradelayer.js/utils/verifySignature.js +90 -0
- package/tradelayer.js/utils/verifyWitnessAndScriptPubkey.js +41 -0
- package/tradelayer.js/utils/walletCache.js +172 -0
- package/tradelayer.js/utils/walletContractInterface.js +48 -0
- package/tradelayer.js/utils/walletFetchTxs.js +66 -0
- package/tradelayer.js/utils/walletUtils.js +97 -0
- package/tradelayer.js/utils/wipeDB.js +55 -0
- package/tradelayer.js/utils/wipeDBNotTx.js +50 -0
- package/txEncoder.js +529 -0
- package/utility.js +28 -0
- package/verifymessage.js +38 -0
- package/ws-transport.js +311 -0
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
const dbInstance = require('./db');
|
|
2
|
+
|
|
3
|
+
// Load tallyMapDelta database
|
|
4
|
+
const tallyMapDeltaDB = dbInstance.getDatabase('tallyMapDelta');
|
|
5
|
+
|
|
6
|
+
// Function to tally amounts and calculate balance for each type and property ID
|
|
7
|
+
async function calculateBalanceForAddress(address) {
|
|
8
|
+
try {
|
|
9
|
+
// Find all delta records for the given address
|
|
10
|
+
const deltaRecords = await tallyMapDeltaDB.findAsync({ 'data.address': address });
|
|
11
|
+
|
|
12
|
+
// Create a map to store totals for each type, property ID, and cumulative amounts
|
|
13
|
+
const totalsByTypeAndProperty = {};
|
|
14
|
+
|
|
15
|
+
// Iterate through delta records and tally totals for each type, property ID, and cumulative amounts
|
|
16
|
+
deltaRecords.forEach(delta => {
|
|
17
|
+
const { type, property, avail, res, mar, vest } = delta.data;
|
|
18
|
+
|
|
19
|
+
// Update totals
|
|
20
|
+
totalsByTypeAndProperty[type] = totalsByTypeAndProperty[type] || {};
|
|
21
|
+
totalsByTypeAndProperty[type][property] = totalsByTypeAndProperty[type][property] || {
|
|
22
|
+
count: 0,
|
|
23
|
+
cumulativeAmounts: { avail: 0, res: 0, mar: 0, vest: 0 }
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
// Increment count
|
|
27
|
+
totalsByTypeAndProperty[type][property].count++;
|
|
28
|
+
|
|
29
|
+
// Update cumulative amounts
|
|
30
|
+
totalsByTypeAndProperty[type][property].cumulativeAmounts.avail += avail || 0;
|
|
31
|
+
totalsByTypeAndProperty[type][property].cumulativeAmounts.res += res || 0;
|
|
32
|
+
totalsByTypeAndProperty[type][property].cumulativeAmounts.mar += mar || 0;
|
|
33
|
+
totalsByTypeAndProperty[type][property].cumulativeAmounts.vest += vest || 0;
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
// Display totals by type, property ID, and cumulative amounts
|
|
37
|
+
console.log(`Totals by type, property ID, and cumulative amounts for address ${address}:`);
|
|
38
|
+
Object.entries(totalsByTypeAndProperty).forEach(([type, propertyTotals]) => {
|
|
39
|
+
console.log(`Type: ${type}`);
|
|
40
|
+
Object.entries(propertyTotals).forEach(([property, { count, cumulativeAmounts }]) => {
|
|
41
|
+
console.log(` Property ID ${property} - Count: ${count}`);
|
|
42
|
+
console.log(` Avail: ${cumulativeAmounts.avail}`);
|
|
43
|
+
console.log(` Res: ${cumulativeAmounts.res}`);
|
|
44
|
+
console.log(` Mar: ${cumulativeAmounts.mar}`);
|
|
45
|
+
console.log(` Vest: ${cumulativeAmounts.vest}`);
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
return totalsByTypeAndProperty;
|
|
50
|
+
} catch (error) {
|
|
51
|
+
console.error('Error calculating balance:', error);
|
|
52
|
+
throw error;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// Example: Replace 'your_address_here' with the actual address you want to calculate the balance for
|
|
57
|
+
const addressToCalculate = 'tltc1qa0kd2d39nmeph3hvcx8ytv65ztcywg5sazhtw8';
|
|
58
|
+
|
|
59
|
+
// Call the function to calculate and display the totals by type, property ID, and cumulative amounts
|
|
60
|
+
calculateBalanceForAddress(addressToCalculate);
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
const adminAddress = "tltc1qa0kd2d39nmeph3hvcx8ytv65ztcywg5sazhtw8";
|
|
2
|
+
|
|
3
|
+
async function delay(ms) {
|
|
4
|
+
return new Promise(resolve => setTimeout(resolve, ms));
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
const expressInterface = require('./interfaceExpress.js');
|
|
8
|
+
|
|
9
|
+
async function runTest() {
|
|
10
|
+
await expressInterface.initMain();
|
|
11
|
+
await delay(2000)
|
|
12
|
+
const balance = await expressInterface.getAllBalancesForAddress(adminAddress);
|
|
13
|
+
console.log(`Balance for ${adminAddress}:`, balance);
|
|
14
|
+
const balance2 = await expressInterface.getAllBalancesForAddress('LNmiS6p8z3KuHHx3q6Jf6x6TfcyptE68oP');
|
|
15
|
+
console.log(`Balance for LNmiS6p8z3KuHHx3q6Jf6x6TfcyptE68oP:`, balance2);
|
|
16
|
+
const properties = await expressInterface.listProperties();
|
|
17
|
+
console.log('Properties:', properties);
|
|
18
|
+
const activations = await expressInterface.getActivations()
|
|
19
|
+
console.log('Activations:', activations)
|
|
20
|
+
|
|
21
|
+
// Load order books
|
|
22
|
+
const orderBook34 = await expressInterface.getOrderBook(3, 4);
|
|
23
|
+
console.log('Order Book for Property IDs 3 and 4:', orderBook34);
|
|
24
|
+
const orderBook43 = await expressInterface.getOrderBook(4, 3);
|
|
25
|
+
console.log('Order Book for Property IDs 4 and 3:', orderBook43);
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
// New calls
|
|
29
|
+
const contractSeries = await expressInterface.listContractSeries();
|
|
30
|
+
console.log('Contract Series:', contractSeries);
|
|
31
|
+
|
|
32
|
+
const oracles = await expressInterface.listOracles();
|
|
33
|
+
console.log('Oracles:', oracles);
|
|
34
|
+
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
runTest();
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
const assert = require('assert');
|
|
2
|
+
const MainClass = require('./main.js');
|
|
3
|
+
|
|
4
|
+
describe('Main Blockchain Processing', function() {
|
|
5
|
+
let mainProcessor;
|
|
6
|
+
|
|
7
|
+
before(async function() {
|
|
8
|
+
// Initialize the main processor with the test flag set to true
|
|
9
|
+
mainProcessor = new MainClass(true);
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
describe('Initialization', function() {
|
|
13
|
+
it('should initialize or load the transaction index', async function() {
|
|
14
|
+
await mainProcessor.initOrLoadTxIndex();
|
|
15
|
+
// Add assertions to check if the txIndex is initialized correctly
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
it('should construct or load consensus', async function() {
|
|
19
|
+
let consensus = await mainProcessor.constructOrLoadConsensus();
|
|
20
|
+
// Add assertions to check if the consensus is constructed or loaded correctly
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
describe('Synchronization', function() {
|
|
25
|
+
it('should synchronize the transaction index', async function() {
|
|
26
|
+
await mainProcessor.syncIndex();
|
|
27
|
+
// Add assertions to verify synchronization
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
it('should construct consensus from index', async function() {
|
|
31
|
+
let consensus = await mainProcessor.constructConsensusFromIndex(/* startHeight */);
|
|
32
|
+
// Add assertions related to consensus construction
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
it('should check and handle block lag', async function() {
|
|
36
|
+
let blockLag = await mainProcessor.checkBlockLag();
|
|
37
|
+
// Assert block lag calculation
|
|
38
|
+
// Optionally, trigger sync and processing based on block lag
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
describe('Block Processing', function() {
|
|
43
|
+
it('should process incoming blocks', async function() {
|
|
44
|
+
// This might be a complex test depending on how `processIncomingBlocks` is implemented
|
|
45
|
+
// Mock or simulate incoming blocks and assert correct processing
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
// Additional tests for `processBlock`, `blockHandlerBegin`, `blockHandlerMiddle`, and `blockHandlerEnd`
|
|
49
|
+
// Ensure each part of the block processing is covered
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
// Additional tests for any other critical functions in your main class
|
|
53
|
+
});
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
const TxUtils = require('./txUtils.js');
|
|
2
|
+
const Encode = require('./txEncoder.js');
|
|
3
|
+
const types= require('./types.js')
|
|
4
|
+
|
|
5
|
+
const fromAddress = "tltc1qa0kd2d39nmeph3hvcx8ytv65ztcywg5sazhtw8";
|
|
6
|
+
const toAddress = "tltc1qa0kd2d39nmeph3hvcx8ytv65ztcywg5sazhtw8"; // Update this to the desired destination address
|
|
7
|
+
const amount = 0; // Set the amount for the transaction
|
|
8
|
+
|
|
9
|
+
async function makeActivationTest() {
|
|
10
|
+
try {
|
|
11
|
+
const activationParam = 15;
|
|
12
|
+
const encodedData = types.encodePayload(0,{ code: activationParam });
|
|
13
|
+
|
|
14
|
+
// Send the transaction
|
|
15
|
+
const txid = await TxUtils.sendTransaction(fromAddress, null, amount, encodedData);
|
|
16
|
+
|
|
17
|
+
// Log the transaction ID
|
|
18
|
+
console.log('Activation transaction created successfully:', txid);
|
|
19
|
+
} catch (error) {
|
|
20
|
+
console.error('Error in makeActivationTest:', error);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
makeActivationTest();
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
const Datastore = require('nedb');
|
|
2
|
+
const path = require('path');
|
|
3
|
+
const util = require('util');
|
|
4
|
+
const txIndex = require('./txIndex.js'); // Ensure this is the correct path to your TxIndex class
|
|
5
|
+
const dbInstance = require('./db.js'); // Import the dbInstance from your db.js file
|
|
6
|
+
|
|
7
|
+
async function updateMaxHeight(chainTip) {
|
|
8
|
+
try {
|
|
9
|
+
const txIndexDB = dbInstance.getDatabase('txIndex'); // Retrieve the txIndex database using dbInstance
|
|
10
|
+
console.log(`Updating MaxHeight to ${chainTip}`);
|
|
11
|
+
await txIndexDB.updateAsync(
|
|
12
|
+
{ _id: 'MaxHeight' },
|
|
13
|
+
{ _id: 'MaxHeight', value: chainTip },
|
|
14
|
+
{ upsert: true }
|
|
15
|
+
);
|
|
16
|
+
console.log('MaxHeight updated successfully.');
|
|
17
|
+
} catch (error) {
|
|
18
|
+
console.error('Error updating MaxHeight:', error);
|
|
19
|
+
throw error;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
async function fetchMaxHeight() {
|
|
24
|
+
try {
|
|
25
|
+
const txIndexDB = dbInstance.getDatabase('txIndex'); // Retrieve the txIndex database using dbInstance
|
|
26
|
+
const maxHeightDoc = await txIndexDB.findOneAsync({ _id: 'MaxHeight' });
|
|
27
|
+
if (maxHeightDoc) {
|
|
28
|
+
console.log(`MaxHeight fetched from DB: ${maxHeightDoc.value}`);
|
|
29
|
+
} else {
|
|
30
|
+
console.log('MaxHeight not found in DB.');
|
|
31
|
+
}
|
|
32
|
+
} catch (error) {
|
|
33
|
+
console.error('Error fetching MaxHeight:', error);
|
|
34
|
+
throw error;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
async function runTest() {
|
|
39
|
+
try {
|
|
40
|
+
const chainTip = await txIndex.getInstance().fetchChainTip(); // Ensure this is the correct way to get chainTip
|
|
41
|
+
await updateMaxHeight(chainTip);
|
|
42
|
+
await fetchMaxHeight();
|
|
43
|
+
console.log('Test completed successfully');
|
|
44
|
+
} catch (error) {
|
|
45
|
+
console.error('Test failed:', error);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
runTest();
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
const axios = require('axios');
|
|
2
|
+
const crypto = require('crypto');
|
|
3
|
+
|
|
4
|
+
// Litecoin Core RPC Configuration
|
|
5
|
+
const rpcConfig = {
|
|
6
|
+
url: 'http://127.0.0.1:18332', // Default Litecoin RPC port for testnet is 19332
|
|
7
|
+
auth: {
|
|
8
|
+
username: 'user', // Replace with your Litecoin RPC username
|
|
9
|
+
password: 'pass' // Replace with your Litecoin RPC password
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
// Function to make RPC calls
|
|
14
|
+
async function callRpc(method, params = []) {
|
|
15
|
+
try {
|
|
16
|
+
const response = await axios.post(rpcConfig.url, {
|
|
17
|
+
jsonrpc: '1.0',
|
|
18
|
+
id: 'curltext',
|
|
19
|
+
method,
|
|
20
|
+
params
|
|
21
|
+
}, { auth: rpcConfig.auth });
|
|
22
|
+
return response.data.result;
|
|
23
|
+
} catch (error) {
|
|
24
|
+
console.error(`RPC call error: ${error.message}`);
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// Function to compute double SHA-256 hash and derive txid
|
|
30
|
+
function doubleSHA256(buffer) {
|
|
31
|
+
const hash1 = crypto.createHash('sha256').update(buffer).digest();
|
|
32
|
+
const hash2 = crypto.createHash('sha256').update(hash1).digest();
|
|
33
|
+
return hash2;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// Function to reverse byte order for display
|
|
37
|
+
function reverseBytes(buffer) {
|
|
38
|
+
return Buffer.from(buffer).reverse();
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// Function to get txid from raw hex
|
|
42
|
+
function getTxidFromRawHex(rawHex) {
|
|
43
|
+
const rawBuffer = Buffer.from(rawHex, 'hex');
|
|
44
|
+
const hash = doubleSHA256(rawBuffer);
|
|
45
|
+
return reverseBytes(hash).toString('hex');
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// Main function to fetch, decode, and validate transaction
|
|
49
|
+
async function fetchAndDecodeTransaction(txid) {
|
|
50
|
+
// Fetch raw transaction hex
|
|
51
|
+
const rawHex = await callRpc('getrawtransaction', [txid, false]);
|
|
52
|
+
if (!rawHex) {
|
|
53
|
+
console.error('Failed to fetch raw transaction hex.');
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
// Calculate txid from raw hex
|
|
58
|
+
const calculatedTxid = getTxidFromRawHex(rawHex);
|
|
59
|
+
console.log(`Calculated Txid: ${calculatedTxid}`);
|
|
60
|
+
|
|
61
|
+
// Decode raw transaction
|
|
62
|
+
const decodedTx = await callRpc('decoderawtransaction', [rawHex]);
|
|
63
|
+
if (decodedTx) {
|
|
64
|
+
console.log('Decoded Transaction:', JSON.stringify(decodedTx, null, 2));
|
|
65
|
+
} else {
|
|
66
|
+
console.error('Failed to decode transaction.');
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// Example usage
|
|
71
|
+
const exampleTxid = 'your_transaction_id_here'; // Replace with a valid transaction ID
|
|
72
|
+
fetchAndDecodeTransaction(exampleTxid);
|
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
|
|
2
|
+
market data 746c tl 31,lfls,0,8hk,0,1
|
|
3
|
+
Pre-decoded and Decoded Payload: 6a13746c33312c6c666c732c302c38686b2c302c31 31,lfls,0,8hk,0,1 decoding the whole thing jtl31,lfls,0,8hk,0,1
|
|
4
|
+
payload 31,lfls,0,8hk,0,1[{"sender":{"senderAddress":"tltc1qvy5ku429xdrad74nlpueeft3th80s3era8y6e08uezpxpvy09rwqjwgmr3","amount":0.000056},"reference":[{"address":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","satoshis":195429520,"vout":0},{"address":"tltc1qvlwcnwlhnja7wlj685ptwxej75mms9nyv7vuy8","satoshis":11000,"vout":1}],"payload":"31,lfls,0,8hk,0,1","decodedParams":{},"marker":"tl","txId":"24b54beee90f642c0c9d2f1e500ad2481a28dee9a2c1ae33b6c3ac48229710ca"}]
|
|
5
|
+
market data 746c tl 41,lfls,ref:0
|
|
6
|
+
Pre-decoded and Decoded Payload: 6a0f746c34312c6c666c732c7265663a30 41,lfls,ref:0 decoding the whole thing jtl41,lfls,ref:0
|
|
7
|
+
payload 41,lfls,ref:0[{"sender":{"senderAddress":"tltc1qvy5ku429xdrad74nlpueeft3th80s3era8y6e08uezpxpvy09rwqjwgmr3","amount":0.000056},"reference":[{"address":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","satoshis":195429520,"vout":0},{"address":"tltc1qvlwcnwlhnja7wlj685ptwxej75mms9nyv7vuy8","satoshis":11000,"vout":1}],"payload":"31,lfls,0,8hk,0,1","decodedParams":{},"marker":"tl","txId":"24b54beee90f642c0c9d2f1e500ad2481a28dee9a2c1ae33b6c3ac48229710ca"},{"sender":{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","amount":1.9542952},"reference":[{"address":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","satoshis":5460,"vout":0},{"address":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","satoshis":195422060,"vout":1}],"payload":"41,lfls,ref:0","decodedParams":{},"marker":"tl","txId":"c45354aa2ff0e7142dde22f0e98470036006a77f9b1d7d0dcc132f5e0b82e6f8"}]
|
|
8
|
+
processing new tx [{"sender":{"senderAddress":"tltc1qvy5ku429xdrad74nlpueeft3th80s3era8y6e08uezpxpvy09rwqjwgmr3","amount":0.000056},"reference":[{"address":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","satoshis":195429520,"vout":0},{"address":"tltc1qvlwcnwlhnja7wlj685ptwxej75mms9nyv7vuy8","satoshis":11000,"vout":1}],"payload":"31,lfls,0,8hk,0,1","decodedParams":{},"marker":"tl","txId":"24b54beee90f642c0c9d2f1e500ad2481a28dee9a2c1ae33b6c3ac48229710ca"},{"sender":{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","amount":1.9542952},"reference":[{"address":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","satoshis":5460,"vout":0},{"address":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","satoshis":195422060,"vout":1}],"payload":"41,lfls,ref:0","decodedParams":{},"marker":"tl","txId":"c45354aa2ff0e7142dde22f0e98470036006a77f9b1d7d0dcc132f5e0b82e6f8"}]
|
|
9
|
+
funding tx []
|
|
10
|
+
funding tx [{"sender":{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","amount":1.9542952},"reference":[{"address":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","satoshis":5460,"vout":0},{"address":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","satoshis":195422060,"vout":1}],"payload":"41,lfls,ref:0","decodedParams":{},"marker":"tl","txId":"c45354aa2ff0e7142dde22f0e98470036006a77f9b1d7d0dcc132f5e0b82e6f8"}]
|
|
11
|
+
tx data in real-time{"sender":{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","amount":1.9542952},"reference":[{"address":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","satoshis":5460,"vout":0},{"address":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","satoshis":195422060,"vout":1}],"payload":"41,lfls,ref:0","decodedParams":{},"marker":"tl","txId":"c45354aa2ff0e7142dde22f0e98470036006a77f9b1d7d0dcc132f5e0b82e6f8"}
|
|
12
|
+
params to go in during consensus builder 4 1,lfls,ref:0 tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t3496378
|
|
13
|
+
checking that type is here 4 3496378
|
|
14
|
+
params.channelAddress tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex
|
|
15
|
+
about to check tally for commit tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t 1 0.01
|
|
16
|
+
return obj {"amount":null,"available":37.69,"reserved":0,"margin":0,"vesting":0,"channel":0}
|
|
17
|
+
Checking senderTally in has hasSufficientBalance tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t 1 0.01 {"amount":null,"available":37.69,"reserved":0,"margin":0,"vesting":0,"channel":0}
|
|
18
|
+
checking balance in commit {"hasSufficient":true,"reason":""}0.01
|
|
19
|
+
Activations list loaded successfully.
|
|
20
|
+
true
|
|
21
|
+
1
|
|
22
|
+
true true undefined
|
|
23
|
+
in getChannel 2nd hit undefined
|
|
24
|
+
valid tx going in for processing 4{"propertyId":1,"amount":0.01,"channelAddress":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","ref":"0","payEnabled":false,"clearLists":[],"isColoredOutput":false,"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","txid":"c45354aa2ff0e7142dde22f0e98470036006a77f9b1d7d0dcc132f5e0b82e6f8","block":3496378,"reason":"","valid":true} c45354aa2ff0e7142dde22f0e98470036006a77f9b1d7d0dcc132f5e0b82e6f8blockHeight 3496378
|
|
25
|
+
tx number and params 4 {
|
|
26
|
+
propertyId: 1,
|
|
27
|
+
amount: 0.01,
|
|
28
|
+
channelAddress: 'tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex',
|
|
29
|
+
ref: '0',
|
|
30
|
+
payEnabled: false,
|
|
31
|
+
clearLists: [],
|
|
32
|
+
isColoredOutput: false,
|
|
33
|
+
senderAddress: 'tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t',
|
|
34
|
+
txid: 'c45354aa2ff0e7142dde22f0e98470036006a77f9b1d7d0dcc132f5e0b82e6f8',
|
|
35
|
+
block: 3496378,
|
|
36
|
+
reason: '',
|
|
37
|
+
valid: true
|
|
38
|
+
}
|
|
39
|
+
commiting tokens 0.01 3496378
|
|
40
|
+
inside updateBalance for tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t 1 -0.01 0 0 0 commit 3496378
|
|
41
|
+
avail. balance change 37.69 37.68 -0.01
|
|
42
|
+
reserve. balance change 0 0 -0.01
|
|
43
|
+
saving delta {"address":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","block":3496378,"property":1,"total":null,"avail":-0.01,"res":0,"mar":0,"vest":0,"channel":0,"type":"commit"}
|
|
44
|
+
saving tallymap
|
|
45
|
+
saving delta {"address":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","block":3496378,"property":1,"total":null,"avail":0,"res":0,"mar":0,"vest":0,"channel":0.01,"type":"channelReceive"}
|
|
46
|
+
saving tallymap
|
|
47
|
+
inside record Commit tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t 1 0.01 3496378
|
|
48
|
+
{"participants":{"A":"","B":""},"channel":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","commits":[],"A":{},"B":{},"lastCommitmentTime":3496378,"lastUsedColumn":null}
|
|
49
|
+
last char in assign column based on last character t
|
|
50
|
+
false
|
|
51
|
+
{"participants":{"A":"","B":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t"},"channel":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","commits":[{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496378,"columnAssigned":"B","payEnabled":false}],"A":{},"B":{"1":0},"lastCommitmentTime":3496378,"lastUsedColumn":"B"}
|
|
52
|
+
Committed 0.01 of propertyId 1 to B in channel for tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t
|
|
53
|
+
Committed 0.01 tokens of propertyId 1 from tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t to channel tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex
|
|
54
|
+
Processed funding txs for block 3496378
|
|
55
|
+
tx Data for block 3496378txData[{"sender":{"senderAddress":"tltc1qvy5ku429xdrad74nlpueeft3th80s3era8y6e08uezpxpvy09rwqjwgmr3","amount":0.000056},"reference":[{"address":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","satoshis":195429520,"vout":0},{"address":"tltc1qvlwcnwlhnja7wlj685ptwxej75mms9nyv7vuy8","satoshis":11000,"vout":1}],"payload":"31,lfls,0,8hk,0,1","decodedParams":{},"marker":"tl","txId":"24b54beee90f642c0c9d2f1e500ad2481a28dee9a2c1ae33b6c3ac48229710ca"}]
|
|
56
|
+
tx data in real-time{"sender":{"senderAddress":"tltc1qvy5ku429xdrad74nlpueeft3th80s3era8y6e08uezpxpvy09rwqjwgmr3","amount":0.000056},"reference":[{"address":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","satoshis":195429520,"vout":0},{"address":"tltc1qvlwcnwlhnja7wlj685ptwxej75mms9nyv7vuy8","satoshis":11000,"vout":1}],"payload":"31,lfls,0,8hk,0,1","decodedParams":{},"marker":"tl","txId":"24b54beee90f642c0c9d2f1e500ad2481a28dee9a2c1ae33b6c3ac48229710ca"}
|
|
57
|
+
params to go in during consensus builder 3 1,lfls,0,8hk,0,1 tltc1qvy5ku429xdrad74nlpueeft3th80s3era8y6e08uezpxpvy09rwqjwgmr33496378
|
|
58
|
+
checking that type is here 3 3496378
|
|
59
|
+
inside case for type 3 1,lfls,0,8hk,0,1
|
|
60
|
+
{"propertyId":1,"amount":0.01,"columnA":false,"satsExpected":0.01,"tokenOutput":0,"payToAddress":1,"isColoredOutput":false}
|
|
61
|
+
inside type for utxo trade [object Object],[object Object]
|
|
62
|
+
inside types for UTXO {"address":"tltc1qvlwcnwlhnja7wlj685ptwxej75mms9nyv7vuy8","satoshis":11000,"vout":1} {"address":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","satoshis":195429520,"vout":0}
|
|
63
|
+
params tltc1qvlwcnwlhnja7wlj685ptwxej75mms9nyv7vuy8 0.00011 tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t
|
|
64
|
+
inside validate UTXO outputs [{"address":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","satoshis":195429520,"vout":0},{"address":"tltc1qvlwcnwlhnja7wlj685ptwxej75mms9nyv7vuy8","satoshis":11000,"vout":1}]
|
|
65
|
+
Activations list loaded successfully.
|
|
66
|
+
true
|
|
67
|
+
1
|
|
68
|
+
Checking senderTally in has hasSufficientChannel tltc1qvy5ku429xdrad74nlpueeft3th80s3era8y6e08uezpxpvy09rwqjwgmr3 1 0.01 0
|
|
69
|
+
{"hasSufficient":false,"reason":"undefined"}
|
|
70
|
+
reducing tokens to available 0.01 undefined
|
|
71
|
+
true true undefined
|
|
72
|
+
in getChannel 2nd hit undefined
|
|
73
|
+
Channel is null or undefined for sender: tltc1qvy5ku429xdrad74nlpueeft3th80s3era8y6e08uezpxpvy09rwqjwgmr3
|
|
74
|
+
invalid tx Channel not found for the sender
|
|
75
|
+
Processed block 3496378 successfully...
|
|
76
|
+
market data 746c tl 41,lfls,ref:0
|
|
77
|
+
Pre-decoded and Decoded Payload: 6a0f746c34312c6c666c732c7265663a30 41,lfls,ref:0 decoding the whole thing jtl41,lfls,ref:0
|
|
78
|
+
payload 41,lfls,ref:0[{"sender":{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","amount":1.9542206},"reference":[{"address":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","satoshis":5460,"vout":0},{"address":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","satoshis":195414600,"vout":1}],"payload":"41,lfls,ref:0","decodedParams":{},"marker":"tl","txId":"285b8bffad54bf18f729e519b83508c638be49adc28fc4e3e33e3225fc2d855b"}]
|
|
79
|
+
market data 746c tl 41,lfls,ref:0
|
|
80
|
+
Pre-decoded and Decoded Payload: 6a0f746c34312c6c666c732c7265663a30 41,lfls,ref:0 decoding the whole thing jtl41,lfls,ref:0
|
|
81
|
+
payload 41,lfls,ref:0[{"sender":{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","amount":1.9542206},"reference":[{"address":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","satoshis":5460,"vout":0},{"address":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","satoshis":195414600,"vout":1}],"payload":"41,lfls,ref:0","decodedParams":{},"marker":"tl","txId":"285b8bffad54bf18f729e519b83508c638be49adc28fc4e3e33e3225fc2d855b"},{"sender":{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","amount":1.954146},"reference":[{"address":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","satoshis":5460,"vout":0},{"address":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","satoshis":195407140,"vout":1}],"payload":"41,lfls,ref:0","decodedParams":{},"marker":"tl","txId":"630aab21d5d472c051a800bac4e00d9d66a1264ce0ef6ef7f113ac2b4ddf930a"}]
|
|
82
|
+
market data 746c tl 41,lfls,ref:0
|
|
83
|
+
Pre-decoded and Decoded Payload: 6a0f746c34312c6c666c732c7265663a30 41,lfls,ref:0 decoding the whole thing jtl41,lfls,ref:0
|
|
84
|
+
payload 41,lfls,ref:0[{"sender":{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","amount":1.9542206},"reference":[{"address":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","satoshis":5460,"vout":0},{"address":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","satoshis":195414600,"vout":1}],"payload":"41,lfls,ref:0","decodedParams":{},"marker":"tl","txId":"285b8bffad54bf18f729e519b83508c638be49adc28fc4e3e33e3225fc2d855b"},{"sender":{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","amount":1.954146},"reference":[{"address":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","satoshis":5460,"vout":0},{"address":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","satoshis":195407140,"vout":1}],"payload":"41,lfls,ref:0","decodedParams":{},"marker":"tl","txId":"630aab21d5d472c051a800bac4e00d9d66a1264ce0ef6ef7f113ac2b4ddf930a"},{"sender":{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","amount":1.9540714},"reference":[{"address":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","satoshis":5460,"vout":0},{"address":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","satoshis":195399680,"vout":1}],"payload":"41,lfls,ref:0","decodedParams":{},"marker":"tl","txId":"3b4546ad93a7d77ee684ec1ae01ad7eb3f67183459cd41da92ed0f1940eba1f1"}]
|
|
85
|
+
processing new tx [{"sender":{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","amount":1.9542206},"reference":[{"address":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","satoshis":5460,"vout":0},{"address":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","satoshis":195414600,"vout":1}],"payload":"41,lfls,ref:0","decodedParams":{},"marker":"tl","txId":"285b8bffad54bf18f729e519b83508c638be49adc28fc4e3e33e3225fc2d855b"},{"sender":{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","amount":1.954146},"reference":[{"address":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","satoshis":5460,"vout":0},{"address":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","satoshis":195407140,"vout":1}],"payload":"41,lfls,ref:0","decodedParams":{},"marker":"tl","txId":"630aab21d5d472c051a800bac4e00d9d66a1264ce0ef6ef7f113ac2b4ddf930a"},{"sender":{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","amount":1.9540714},"reference":[{"address":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","satoshis":5460,"vout":0},{"address":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","satoshis":195399680,"vout":1}],"payload":"41,lfls,ref:0","decodedParams":{},"marker":"tl","txId":"3b4546ad93a7d77ee684ec1ae01ad7eb3f67183459cd41da92ed0f1940eba1f1"}]
|
|
86
|
+
funding tx [{"sender":{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","amount":1.9542206},"reference":[{"address":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","satoshis":5460,"vout":0},{"address":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","satoshis":195414600,"vout":1}],"payload":"41,lfls,ref:0","decodedParams":{},"marker":"tl","txId":"285b8bffad54bf18f729e519b83508c638be49adc28fc4e3e33e3225fc2d855b"}]
|
|
87
|
+
funding tx [{"sender":{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","amount":1.9542206},"reference":[{"address":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","satoshis":5460,"vout":0},{"address":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","satoshis":195414600,"vout":1}],"payload":"41,lfls,ref:0","decodedParams":{},"marker":"tl","txId":"285b8bffad54bf18f729e519b83508c638be49adc28fc4e3e33e3225fc2d855b"},{"sender":{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","amount":1.954146},"reference":[{"address":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","satoshis":5460,"vout":0},{"address":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","satoshis":195407140,"vout":1}],"payload":"41,lfls,ref:0","decodedParams":{},"marker":"tl","txId":"630aab21d5d472c051a800bac4e00d9d66a1264ce0ef6ef7f113ac2b4ddf930a"}]
|
|
88
|
+
funding tx [{"sender":{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","amount":1.9542206},"reference":[{"address":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","satoshis":5460,"vout":0},{"address":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","satoshis":195414600,"vout":1}],"payload":"41,lfls,ref:0","decodedParams":{},"marker":"tl","txId":"285b8bffad54bf18f729e519b83508c638be49adc28fc4e3e33e3225fc2d855b"},{"sender":{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","amount":1.954146},"reference":[{"address":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","satoshis":5460,"vout":0},{"address":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","satoshis":195407140,"vout":1}],"payload":"41,lfls,ref:0","decodedParams":{},"marker":"tl","txId":"630aab21d5d472c051a800bac4e00d9d66a1264ce0ef6ef7f113ac2b4ddf930a"},{"sender":{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","amount":1.9540714},"reference":[{"address":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","satoshis":5460,"vout":0},{"address":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","satoshis":195399680,"vout":1}],"payload":"41,lfls,ref:0","decodedParams":{},"marker":"tl","txId":"3b4546ad93a7d77ee684ec1ae01ad7eb3f67183459cd41da92ed0f1940eba1f1"}]
|
|
89
|
+
tx data in real-time{"sender":{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","amount":1.9542206},"reference":[{"address":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","satoshis":5460,"vout":0},{"address":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","satoshis":195414600,"vout":1}],"payload":"41,lfls,ref:0","decodedParams":{},"marker":"tl","txId":"285b8bffad54bf18f729e519b83508c638be49adc28fc4e3e33e3225fc2d855b"}
|
|
90
|
+
params to go in during consensus builder 4 1,lfls,ref:0 tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t3496379
|
|
91
|
+
checking that type is here 4 3496379
|
|
92
|
+
params.channelAddress tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex
|
|
93
|
+
about to check tally for commit tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t 1 0.01
|
|
94
|
+
return obj {"amount":null,"available":37.68,"reserved":0,"margin":0,"vesting":0,"channel":0}
|
|
95
|
+
Checking senderTally in has hasSufficientBalance tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t 1 0.01 {"amount":null,"available":37.68,"reserved":0,"margin":0,"vesting":0,"channel":0}
|
|
96
|
+
checking balance in commit {"hasSufficient":true,"reason":""}0.01
|
|
97
|
+
Activations list loaded successfully.
|
|
98
|
+
true
|
|
99
|
+
1
|
|
100
|
+
false false {"participants":{"A":"","B":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t"},"channel":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","commits":[{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496378,"columnAssigned":"B","payEnabled":false}],"A":{},"B":{"1":0},"lastCommitmentTime":3496378,"lastUsedColumn":"B"}
|
|
101
|
+
{"participants":{"A":"","B":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t"},"channel":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","commits":[{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496378,"columnAssigned":"B","payEnabled":false}],"A":{},"B":{"1":0},"lastCommitmentTime":3496378,"lastUsedColumn":"B"}
|
|
102
|
+
valid tx going in for processing 4{"propertyId":1,"amount":0.01,"channelAddress":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","ref":"0","payEnabled":false,"clearLists":[],"isColoredOutput":false,"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","txid":"285b8bffad54bf18f729e519b83508c638be49adc28fc4e3e33e3225fc2d855b","block":3496379,"reason":"","valid":true} 285b8bffad54bf18f729e519b83508c638be49adc28fc4e3e33e3225fc2d855bblockHeight 3496379
|
|
103
|
+
tx number and params 4 {
|
|
104
|
+
propertyId: 1,
|
|
105
|
+
amount: 0.01,
|
|
106
|
+
channelAddress: 'tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex',
|
|
107
|
+
ref: '0',
|
|
108
|
+
payEnabled: false,
|
|
109
|
+
clearLists: [],
|
|
110
|
+
isColoredOutput: false,
|
|
111
|
+
senderAddress: 'tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t',
|
|
112
|
+
txid: '285b8bffad54bf18f729e519b83508c638be49adc28fc4e3e33e3225fc2d855b',
|
|
113
|
+
block: 3496379,
|
|
114
|
+
reason: '',
|
|
115
|
+
valid: true
|
|
116
|
+
}
|
|
117
|
+
commiting tokens 0.01 3496379
|
|
118
|
+
inside updateBalance for tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t 1 -0.01 0 0 0 commit 3496379
|
|
119
|
+
avail. balance change 37.68 37.67 -0.01
|
|
120
|
+
reserve. balance change 0 0 -0.01
|
|
121
|
+
saving delta {"address":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","block":3496379,"property":1,"total":null,"avail":-0.01,"res":0,"mar":0,"vest":0,"channel":0,"type":"commit"}
|
|
122
|
+
saving tallymap
|
|
123
|
+
saving delta {"address":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","block":3496379,"property":1,"total":null,"avail":0,"res":0,"mar":0,"vest":0,"channel":0.01,"type":"channelReceive"}
|
|
124
|
+
saving tallymap
|
|
125
|
+
inside record Commit tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t 1 0.01 3496379
|
|
126
|
+
{"participants":{"A":"","B":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t"},"channel":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","commits":[{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496378,"columnAssigned":"B","payEnabled":false}],"A":{},"B":{"1":0},"lastCommitmentTime":3496378,"lastUsedColumn":"B"}
|
|
127
|
+
last char in assign column based on last character t
|
|
128
|
+
false
|
|
129
|
+
{"participants":{"A":"","B":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t"},"channel":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","commits":[{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496378,"columnAssigned":"B","payEnabled":false},{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496379,"columnAssigned":"B","payEnabled":false}],"A":{},"B":{"1":0},"lastCommitmentTime":3496379,"lastUsedColumn":"B"}
|
|
130
|
+
Committed 0.01 of propertyId 1 to B in channel for tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t
|
|
131
|
+
Committed 0.01 tokens of propertyId 1 from tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t to channel tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex
|
|
132
|
+
tx data in real-time{"sender":{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","amount":1.954146},"reference":[{"address":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","satoshis":5460,"vout":0},{"address":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","satoshis":195407140,"vout":1}],"payload":"41,lfls,ref:0","decodedParams":{},"marker":"tl","txId":"630aab21d5d472c051a800bac4e00d9d66a1264ce0ef6ef7f113ac2b4ddf930a"}
|
|
133
|
+
params to go in during consensus builder 4 1,lfls,ref:0 tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t3496379
|
|
134
|
+
checking that type is here 4 3496379
|
|
135
|
+
params.channelAddress tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex
|
|
136
|
+
about to check tally for commit tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t 1 0.01
|
|
137
|
+
return obj {"amount":null,"available":37.67,"reserved":0,"margin":0,"vesting":0,"channel":0}
|
|
138
|
+
Checking senderTally in has hasSufficientBalance tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t 1 0.01 {"amount":null,"available":37.67,"reserved":0,"margin":0,"vesting":0,"channel":0}
|
|
139
|
+
checking balance in commit {"hasSufficient":true,"reason":""}0.01
|
|
140
|
+
Activations list loaded successfully.
|
|
141
|
+
true
|
|
142
|
+
1
|
|
143
|
+
false false {"participants":{"A":"","B":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t"},"channel":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","commits":[{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496378,"columnAssigned":"B","payEnabled":false},{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496379,"columnAssigned":"B","payEnabled":false}],"A":{},"B":{"1":0},"lastCommitmentTime":3496379,"lastUsedColumn":"B"}
|
|
144
|
+
{"participants":{"A":"","B":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t"},"channel":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","commits":[{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496378,"columnAssigned":"B","payEnabled":false},{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496379,"columnAssigned":"B","payEnabled":false}],"A":{},"B":{"1":0},"lastCommitmentTime":3496379,"lastUsedColumn":"B"}
|
|
145
|
+
valid tx going in for processing 4{"propertyId":1,"amount":0.01,"channelAddress":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","ref":"0","payEnabled":false,"clearLists":[],"isColoredOutput":false,"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","txid":"630aab21d5d472c051a800bac4e00d9d66a1264ce0ef6ef7f113ac2b4ddf930a","block":3496379,"reason":"","valid":true} 630aab21d5d472c051a800bac4e00d9d66a1264ce0ef6ef7f113ac2b4ddf930ablockHeight 3496379
|
|
146
|
+
tx number and params 4 {
|
|
147
|
+
propertyId: 1,
|
|
148
|
+
amount: 0.01,
|
|
149
|
+
channelAddress: 'tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex',
|
|
150
|
+
ref: '0',
|
|
151
|
+
payEnabled: false,
|
|
152
|
+
clearLists: [],
|
|
153
|
+
isColoredOutput: false,
|
|
154
|
+
senderAddress: 'tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t',
|
|
155
|
+
txid: '630aab21d5d472c051a800bac4e00d9d66a1264ce0ef6ef7f113ac2b4ddf930a',
|
|
156
|
+
block: 3496379,
|
|
157
|
+
reason: '',
|
|
158
|
+
valid: true
|
|
159
|
+
}
|
|
160
|
+
commiting tokens 0.01 3496379
|
|
161
|
+
inside updateBalance for tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t 1 -0.01 0 0 0 commit 3496379
|
|
162
|
+
avail. balance change 37.67 37.66 -0.01
|
|
163
|
+
reserve. balance change 0 0 -0.01
|
|
164
|
+
saving delta {"address":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","block":3496379,"property":1,"total":null,"avail":-0.01,"res":0,"mar":0,"vest":0,"channel":0,"type":"commit"}
|
|
165
|
+
saving tallymap
|
|
166
|
+
saving delta {"address":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","block":3496379,"property":1,"total":null,"avail":0,"res":0,"mar":0,"vest":0,"channel":0.01,"type":"channelReceive"}
|
|
167
|
+
saving tallymap
|
|
168
|
+
inside record Commit tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t 1 0.01 3496379
|
|
169
|
+
{"participants":{"A":"","B":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t"},"channel":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","commits":[{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496378,"columnAssigned":"B","payEnabled":false},{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496379,"columnAssigned":"B","payEnabled":false}],"A":{},"B":{"1":0},"lastCommitmentTime":3496379,"lastUsedColumn":"B"}
|
|
170
|
+
last char in assign column based on last character t
|
|
171
|
+
false
|
|
172
|
+
{"participants":{"A":"","B":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t"},"channel":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","commits":[{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496378,"columnAssigned":"B","payEnabled":false},{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496379,"columnAssigned":"B","payEnabled":false},{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496379,"columnAssigned":"B","payEnabled":false}],"A":{},"B":{"1":0},"lastCommitmentTime":3496379,"lastUsedColumn":"B"}
|
|
173
|
+
Committed 0.01 of propertyId 1 to B in channel for tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t
|
|
174
|
+
Committed 0.01 tokens of propertyId 1 from tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t to channel tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex
|
|
175
|
+
tx data in real-time{"sender":{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","amount":1.9540714},"reference":[{"address":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","satoshis":5460,"vout":0},{"address":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","satoshis":195399680,"vout":1}],"payload":"41,lfls,ref:0","decodedParams":{},"marker":"tl","txId":"3b4546ad93a7d77ee684ec1ae01ad7eb3f67183459cd41da92ed0f1940eba1f1"}
|
|
176
|
+
params to go in during consensus builder 4 1,lfls,ref:0 tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t3496379
|
|
177
|
+
checking that type is here 4 3496379
|
|
178
|
+
params.channelAddress tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex
|
|
179
|
+
about to check tally for commit tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t 1 0.01
|
|
180
|
+
return obj {"amount":null,"available":37.66,"reserved":0,"margin":0,"vesting":0,"channel":0}
|
|
181
|
+
Checking senderTally in has hasSufficientBalance tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t 1 0.01 {"amount":null,"available":37.66,"reserved":0,"margin":0,"vesting":0,"channel":0}
|
|
182
|
+
checking balance in commit {"hasSufficient":true,"reason":""}0.01
|
|
183
|
+
Activations list loaded successfully.
|
|
184
|
+
true
|
|
185
|
+
1
|
|
186
|
+
false false {"participants":{"A":"","B":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t"},"channel":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","commits":[{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496378,"columnAssigned":"B","payEnabled":false},{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496379,"columnAssigned":"B","payEnabled":false},{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496379,"columnAssigned":"B","payEnabled":false}],"A":{},"B":{"1":0},"lastCommitmentTime":3496379,"lastUsedColumn":"B"}
|
|
187
|
+
{"participants":{"A":"","B":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t"},"channel":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","commits":[{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496378,"columnAssigned":"B","payEnabled":false},{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496379,"columnAssigned":"B","payEnabled":false},{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496379,"columnAssigned":"B","payEnabled":false}],"A":{},"B":{"1":0},"lastCommitmentTime":3496379,"lastUsedColumn":"B"}
|
|
188
|
+
valid tx going in for processing 4{"propertyId":1,"amount":0.01,"channelAddress":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","ref":"0","payEnabled":false,"clearLists":[],"isColoredOutput":false,"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","txid":"3b4546ad93a7d77ee684ec1ae01ad7eb3f67183459cd41da92ed0f1940eba1f1","block":3496379,"reason":"","valid":true} 3b4546ad93a7d77ee684ec1ae01ad7eb3f67183459cd41da92ed0f1940eba1f1blockHeight 3496379
|
|
189
|
+
tx number and params 4 {
|
|
190
|
+
propertyId: 1,
|
|
191
|
+
amount: 0.01,
|
|
192
|
+
channelAddress: 'tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex',
|
|
193
|
+
ref: '0',
|
|
194
|
+
payEnabled: false,
|
|
195
|
+
clearLists: [],
|
|
196
|
+
isColoredOutput: false,
|
|
197
|
+
senderAddress: 'tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t',
|
|
198
|
+
txid: '3b4546ad93a7d77ee684ec1ae01ad7eb3f67183459cd41da92ed0f1940eba1f1',
|
|
199
|
+
block: 3496379,
|
|
200
|
+
reason: '',
|
|
201
|
+
valid: true
|
|
202
|
+
}
|
|
203
|
+
commiting tokens 0.01 3496379
|
|
204
|
+
inside updateBalance for tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t 1 -0.01 0 0 0 commit 3496379
|
|
205
|
+
avail. balance change 37.66 37.65 -0.01
|
|
206
|
+
reserve. balance change 0 0 -0.01
|
|
207
|
+
saving delta {"address":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","block":3496379,"property":1,"total":null,"avail":-0.01,"res":0,"mar":0,"vest":0,"channel":0,"type":"commit"}
|
|
208
|
+
saving tallymap
|
|
209
|
+
saving delta {"address":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","block":3496379,"property":1,"total":null,"avail":0,"res":0,"mar":0,"vest":0,"channel":0.01,"type":"channelReceive"}
|
|
210
|
+
saving tallymap
|
|
211
|
+
inside record Commit tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t 1 0.01 3496379
|
|
212
|
+
{"participants":{"A":"","B":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t"},"channel":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","commits":[{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496378,"columnAssigned":"B","payEnabled":false},{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496379,"columnAssigned":"B","payEnabled":false},{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496379,"columnAssigned":"B","payEnabled":false}],"A":{},"B":{"1":0},"lastCommitmentTime":3496379,"lastUsedColumn":"B"}
|
|
213
|
+
last char in assign column based on last character t
|
|
214
|
+
false
|
|
215
|
+
{"participants":{"A":"","B":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t"},"channel":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","commits":[{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496378,"columnAssigned":"B","payEnabled":false},{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496379,"columnAssigned":"B","payEnabled":false},{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496379,"columnAssigned":"B","payEnabled":false},{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496379,"columnAssigned":"B","payEnabled":false}],"A":{},"B":{"1":0},"lastCommitmentTime":3496379,"lastUsedColumn":"B"}
|
|
216
|
+
Committed 0.01 of propertyId 1 to B in channel for tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t
|
|
217
|
+
Committed 0.01 tokens of propertyId 1 from tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t to channel tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex
|
|
218
|
+
Processed funding txs for block 3496379
|
|
219
|
+
Processed block 3496379 successfully...
|
|
220
|
+
market data 746c tl 41,lfls,ref:0
|
|
221
|
+
Pre-decoded and Decoded Payload: 6a0f746c34312c6c666c732c7265663a30 41,lfls,ref:0 decoding the whole thing jtl41,lfls,ref:0
|
|
222
|
+
payload 41,lfls,ref:0[{"sender":{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","amount":1.9539968},"reference":[{"address":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","satoshis":5460,"vout":0},{"address":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","satoshis":195392220,"vout":1}],"payload":"41,lfls,ref:0","decodedParams":{},"marker":"tl","txId":"b9857ded99c93ebd704548598dee1f375f13f006c7d68c4864d5e144a0b0353c"}]
|
|
223
|
+
processing new tx [{"sender":{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","amount":1.9539968},"reference":[{"address":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","satoshis":5460,"vout":0},{"address":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","satoshis":195392220,"vout":1}],"payload":"41,lfls,ref:0","decodedParams":{},"marker":"tl","txId":"b9857ded99c93ebd704548598dee1f375f13f006c7d68c4864d5e144a0b0353c"}]
|
|
224
|
+
funding tx [{"sender":{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","amount":1.9539968},"reference":[{"address":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","satoshis":5460,"vout":0},{"address":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","satoshis":195392220,"vout":1}],"payload":"41,lfls,ref:0","decodedParams":{},"marker":"tl","txId":"b9857ded99c93ebd704548598dee1f375f13f006c7d68c4864d5e144a0b0353c"}]
|
|
225
|
+
tx data in real-time{"sender":{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","amount":1.9539968},"reference":[{"address":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","satoshis":5460,"vout":0},{"address":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","satoshis":195392220,"vout":1}],"payload":"41,lfls,ref:0","decodedParams":{},"marker":"tl","txId":"b9857ded99c93ebd704548598dee1f375f13f006c7d68c4864d5e144a0b0353c"}
|
|
226
|
+
params to go in during consensus builder 4 1,lfls,ref:0 tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t3496380
|
|
227
|
+
checking that type is here 4 3496380
|
|
228
|
+
params.channelAddress tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex
|
|
229
|
+
about to check tally for commit tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t 1 0.01
|
|
230
|
+
return obj {"amount":null,"available":37.65,"reserved":0,"margin":0,"vesting":0,"channel":0}
|
|
231
|
+
Checking senderTally in has hasSufficientBalance tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t 1 0.01 {"amount":null,"available":37.65,"reserved":0,"margin":0,"vesting":0,"channel":0}
|
|
232
|
+
checking balance in commit {"hasSufficient":true,"reason":""}0.01
|
|
233
|
+
Activations list loaded successfully.
|
|
234
|
+
true
|
|
235
|
+
1
|
|
236
|
+
false false {"participants":{"A":"","B":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t"},"channel":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","commits":[{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496378,"columnAssigned":"B","payEnabled":false},{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496379,"columnAssigned":"B","payEnabled":false},{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496379,"columnAssigned":"B","payEnabled":false},{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496379,"columnAssigned":"B","payEnabled":false}],"A":{},"B":{"1":0},"lastCommitmentTime":3496379,"lastUsedColumn":"B"}
|
|
237
|
+
{"participants":{"A":"","B":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t"},"channel":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","commits":[{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496378,"columnAssigned":"B","payEnabled":false},{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496379,"columnAssigned":"B","payEnabled":false},{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496379,"columnAssigned":"B","payEnabled":false},{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496379,"columnAssigned":"B","payEnabled":false}],"A":{},"B":{"1":0},"lastCommitmentTime":3496379,"lastUsedColumn":"B"}
|
|
238
|
+
valid tx going in for processing 4{"propertyId":1,"amount":0.01,"channelAddress":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","ref":"0","payEnabled":false,"clearLists":[],"isColoredOutput":false,"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","txid":"b9857ded99c93ebd704548598dee1f375f13f006c7d68c4864d5e144a0b0353c","block":3496380,"reason":"","valid":true} b9857ded99c93ebd704548598dee1f375f13f006c7d68c4864d5e144a0b0353cblockHeight 3496380
|
|
239
|
+
tx number and params 4 {
|
|
240
|
+
propertyId: 1,
|
|
241
|
+
amount: 0.01,
|
|
242
|
+
channelAddress: 'tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex',
|
|
243
|
+
ref: '0',
|
|
244
|
+
payEnabled: false,
|
|
245
|
+
clearLists: [],
|
|
246
|
+
isColoredOutput: false,
|
|
247
|
+
senderAddress: 'tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t',
|
|
248
|
+
txid: 'b9857ded99c93ebd704548598dee1f375f13f006c7d68c4864d5e144a0b0353c',
|
|
249
|
+
block: 3496380,
|
|
250
|
+
reason: '',
|
|
251
|
+
valid: true
|
|
252
|
+
}
|
|
253
|
+
commiting tokens 0.01 3496380
|
|
254
|
+
inside updateBalance for tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t 1 -0.01 0 0 0 commit 3496380
|
|
255
|
+
avail. balance change 37.65 37.64 -0.01
|
|
256
|
+
reserve. balance change 0 0 -0.01
|
|
257
|
+
saving delta {"address":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","block":3496380,"property":1,"total":null,"avail":-0.01,"res":0,"mar":0,"vest":0,"channel":0,"type":"commit"}
|
|
258
|
+
saving tallymap
|
|
259
|
+
saving delta {"address":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","block":3496380,"property":1,"total":null,"avail":0,"res":0,"mar":0,"vest":0,"channel":0.01,"type":"channelReceive"}
|
|
260
|
+
saving tallymap
|
|
261
|
+
inside record Commit tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t 1 0.01 3496380
|
|
262
|
+
{"participants":{"A":"","B":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t"},"channel":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","commits":[{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496378,"columnAssigned":"B","payEnabled":false},{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496379,"columnAssigned":"B","payEnabled":false},{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496379,"columnAssigned":"B","payEnabled":false},{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496379,"columnAssigned":"B","payEnabled":false}],"A":{},"B":{"1":0},"lastCommitmentTime":3496379,"lastUsedColumn":"B"}
|
|
263
|
+
last char in assign column based on last character t
|
|
264
|
+
false
|
|
265
|
+
{"participants":{"A":"","B":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t"},"channel":"tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex","commits":[{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496378,"columnAssigned":"B","payEnabled":false},{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496379,"columnAssigned":"B","payEnabled":false},{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496379,"columnAssigned":"B","payEnabled":false},{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496379,"columnAssigned":"B","payEnabled":false},{"senderAddress":"tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t","propertyId":1,"tokenAmount":0.01,"block":3496380,"columnAssigned":"B","payEnabled":false}],"A":{},"B":{"1":0},"lastCommitmentTime":3496380,"lastUsedColumn":"B"}
|
|
266
|
+
Committed 0.01 of propertyId 1 to B in channel for tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t
|
|
267
|
+
Committed 0.01 tokens of propertyId 1 from tltc1q89kkgaslk0lt8l90jkl3cgwg7dkkszn73u4d2t to channel tltc1qy8gyqm0hd225yq57lresv6uua68l628ukqhh86gxgl5fltls9pvsv73rex
|