algodex-service's Issues
π¨ The automated release from the main
branch failed. π¨
I recommend you give this issue a high priority, so other packages depending on you can benefit from your bug fixes and new features again.
You can find below the list of errors reported by semantic-release. Each one of them has to be resolved in order to automatically publish your package. Iβm sure you can fix this πͺ.
Errors are usually caused by a misconfiguration or an authentication problem. With each error reported below you will find explanation and guidance to help you to resolve it.
Once all the errors are resolved, semantic-release will release your package the next time you push a commit to the main
branch. You can also manually restart the failed CI job that runs semantic-release.
If you are not sure how to resolve this, here are some links that can help you:
If those donβt help, or if this issue is reporting something you think isnβt right, you can always ask the humans behind semantic-release.
Cannot push to the Git repository.
semantic-release cannot push the version tag to the branch main
on the remote Git repository with URL https://github.com/algodex/algodex-node-gradation.git
.
This can be caused by:
Good luck with your project β¨
Your semantic-release bot π¦π
βΉ Overview
π Related Issues
βΉ Overview
Right now it does nothing if the record is already there.
π Related Issues
βΉ Overview
π Related Issues
π¨ The automated release from the main
branch failed. π¨
I recommend you give this issue a high priority, so other packages depending on you can benefit from your bug fixes and new features again.
You can find below the list of errors reported by semantic-release. Each one of them has to be resolved in order to automatically publish your package. Iβm sure you can fix this πͺ.
Errors are usually caused by a misconfiguration or an authentication problem. With each error reported below you will find explanation and guidance to help you to resolve it.
Once all the errors are resolved, semantic-release will release your package the next time you push a commit to the main
branch. You can also manually restart the failed CI job that runs semantic-release.
If you are not sure how to resolve this, here are some links that can help you:
If those donβt help, or if this issue is reporting something you think isnβt right, you can always ask the humans behind semantic-release.
Cannot push to the Git repository.
semantic-release cannot push the version tag to the branch main
on the remote Git repository with URL https://x-access-token:[secure]@github.com/algodex/algodex-node-gradation.git
.
This can be caused by:
Good luck with your project β¨
Your semantic-release bot π¦π
βΉ Overview
π Related Issues
βΉ Overview
Worker: For reach block
Update asset analytics
const block = 12345; // From Event/Queue
const blockDirtyAssets = []; // From Event/Queue, should include information about new orders or dirty accounts
// Fetch from Account Analytics
const previousState = getAssetsAnalytics(blockDirtyAssets, block - 1 ); // Last saved state
const state = [];
// Merge dirty records with previous state and fetch missing information from Algorand Indexer and Explorer
blockDirtyAssets.forEach(()=>{
// update state and calculate rewards
});
// Return the assets state
// This can be sent to db.bulkDocs()
return [{
_id: `0-${block}`, // <Asset Id/Index>-<Block Round>
type: 'asset_analytics',
created: 12, // Block the asset was added
modified: block, // Last changed block
asset: {
index: 0,
decimals: 6,
params: {},
},
analytics: {
price: {
algo: 20,
usd: 10,
},
spread: {
buy: {algo: 10},
sell: {algo: 20},
price: {algo: 15},
},
tvl: {
algo: 100,
usd: 50,
},
},
}];
π Related Issues
βΉ Overview
π Related Issues
βΉ Overview
π Related Issues
βΉ Overview
Testnet
ALGODEX_ALGO_ESCROW_APP=22045503
ALGODEX_ASA_ESCROW_APP=22045522
Mainnet
ALGODEX_ALGO_ESCROW_APP=354073718
ALGODEX_ASA_ESCROW_APP=354073834
π Related Issues
βΉ Overview
Launch mainnet price data feeds.
βΉ Overview
π Related Issues
βΉ Overview
π Related Issues
βΉ Overview
π Related Issues
βΉ Overview
π Related Issues
βΉ Overview
π Related Issues
βΉ Overview
π Related Issues
βΉ Overview
π Related Issues
βΉ Overview
π Related Issues
βΉ Overview
For Each Block
Keep track of all escrow accounts state
// Run After Asset Worker Completes
const block = 12345; // From Event/Queue
const blockDirtyAccounts = []; // From Event/Queue, should include information about new orders or dirty accounts
// Fetch from Account Analytics for the previous block
const epochs = getAccountsAnalyticsEpochs(block - 20, block -1 ); // All Epochs in the range
const previousState = epochs[epochs.length - 1] // Last saved state
// Asset Analytics includes latest spreads since it is run before. Dirty accounts come from the Asset Worker
const assetsInfo= getAssetAnalytics(blockDirtyAccounts.map((acct)=>acct.assetId));
const state = [];
// Merge dirty records with previous state and fetch missing information
// Use threading or Low Level Language to calculate state:
assetsInfo.forEach(()=>{
// update state and calculate rewards
});
// Return the assets state
// This can be sent to db.bulkDocs()
return [{
_id: `WYWRYK42XADLY3O62N52BOLT27DMPRA3WNBT2OBRT65N6OEZQWD4OSH6PI-${block}`, // <OwnerAddress>-<Block Round>
type: 'account_analytics',
created: 12, // Block the account was added
modified: block, // Last changed block
owner: 'WYWRYK42XADLY3O62N52BOLT27DMPRA3WNBT2OBRT65N6OEZQWD4OSH6PI',
"orders":{
"6Z4EP6IGHFVPAVPD7MAKNCSB53X2FV4N23RSQATC5IGZGCAK5YX2OXOX2A": { } // Escrow Order State
}
analytics: {
'qFinal': 6, // Overall Account Score for this block, Qfinal
'qEpoch': 5, // Sum of all qMin's for a range. Fetch from index of account_analytics
'qBid': 1, // Show Bid Score for this block
'qAsk': 2, // Show Ask Score for this block
'qMin': 5, // Show Result of Bid/Ask Score for this block
'volume_algo': 100, // On Balance Volume for Block?
'volume_assets': {
1234: 20, // On Balance Volume?
},
},
}];
π Related Issues
βΉ Overview
5|broker | (Use `node --trace-warnings ...` to show where the warning was created)
5|broker | TypeError: Cannot read properties of undefined (reading 'value')
5|broker | at getMaxBlock (/home/ubuntu/algodex-service/src/sync-parallel/sync-parallel.js:58:27)
5|broker | at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
π Related Issues
βΉ Overview
π Related Issues
βΉ Overview
π Related Issues
βΉ Overview
π Related Issues
βΉ Overview
π Related Issues
βΉ Overview
π Related Issues
βΉ Overview
π Related Issues
βΉ Overview
π Related Issues
βΉ Overview
Add timezones via TZ
key to any images that are missing tzdata
π Related Issues
βΉ Overview
π Related Issues
βΉ Overview
This new DB will allow us to separate the state machine DBs from the append-only DBs. Basically, we can clear out this new block_sync_complete DB to allow it to know to resync all the "state machine" state. While preserving the append-only DBs instead of deleting them as well.
π Related Issues
βΉ Overview
Allow for toggling of performance metrics
βΉ Overview
The swagger file is currently no longer available. Migrate Sync to use algosdk.Indexer
π Related Issues
βΉ Overview
π Related Issues
βΉ Overview
For Tinyman:
const txns = getTinymanSwapTxns(
process.env.ALGORAND_NETWORK === 'testnet' ?
62368684 :
552635992
, block)
For Algodex:
Mainnet:
ALGODEX_ALGO_ESCROW_APP=354073718
ALGODEX_ASA_ESCROW_APP=354073834
Testnet:
ALGODEX_ALGO_ESCROW_APP=22045503
ALGODEX_ASA_ESCROW_APP=22045522
π Related Issues
βΉ Overview
Throw exceptions if not set.
π Related Issues
βΉ Overview
π Related Issues
Orderbook Display for Orderbook Component
Data from algodex-backend/orders.php?assetid=24891477 is currently aggregated in the frontend using this map function: https://github.com/algodex/algodex-react/blob/development/hooks/useAlgodex.js#L232 and displayed here in the Orderbook:
![Capture](https://user-images.githubusercontent.com/3400442/168667241-b41b42ac-4c5f-4190-ab74-f4ffe1b7722e.PNG)
Reduce data sent to client in the <Orderbook />
Component. The component will fetch both sides of the Orderbook summary.
Orderbook Buy/Sell will be our first to include a page= and limit= query parameter. They also should optionally contain a valid Response Object for Infinite Scroll
Notes:
This should also add size filter for orderbook display. Size is the minimum amount a order can have to be displayed in the orderbook.
- SIze filter comes before aggregation to limit small orders from being aggregated
- Pagination comes after aggregation
API Route
./public-api/orderbook.php?id={assetId}&type="buy"&page=0&limit=100&size=100
Example Response:
{
"ok": true,
"rows": 1,
"offset": 0,
"data": [{
"price": 1234,
"amount": 23,
"total": 100000
}]
}
Stretch Goals:
The reduction in API responses and separation of Business/Presentation layers gets us ready for Infinite Queries (aka Infinite Scroll). This would be subsetting the responses with pagination and adding Infinite Scroll to the components.
React-Query Docs:
https://react-query.tanstack.com/guides/infinite-queries
Working Example:
https://react-query.tanstack.com/examples/load-more-infinite-scroll
βΉ Overview
π Related Issues
βΉ Overview
π Related Issues
βΉ Overview
π Related Issues
βΉ Overview
π Related Issues
βΉ Overview
Make sure the escrows are legitimate Algodex ones before adding into the escrow DB.
π Related Issues
βΉ Overview
π Related Issues
βΉ Overview
π Related Issues
βΉ Overview
π Related Issues
βΉ Overview
π Related Issues
βΉ Overview
π Related Issues
βΉ Overview
π Related Issues
βΉ Overview
Adds algosdk Algodv2 instance to services
π Related Issues