X-Git-Url: https://git.josue.xyz/?a=blobdiff_plain;f=types.js;h=3e40fd829a21375b03e0b69d599e1e89690f4112;hb=473b04472b7bc1a4f92cb79da80a2ac60c76a828;hp=01d4b429682169881d4494bbe6afdede6e72a7cf;hpb=0c7a9f49334a3c111f731d8d5ca0a9bd569ffea3;p=crowdnode.js%2F.git diff --git a/types.js b/types.js index 01d4b42..3e40fd8 100644 --- a/types.js +++ b/types.js @@ -1,5 +1,5 @@ /** - * @typedef {Object} Utxo + * @typedef {Object} CoreUtxo * @property {String} txId * @property {Number} outputIndex * @property {String} address @@ -18,3 +18,134 @@ * @property {Number} height * @property {Number} confirmations */ + +/** + * @typedef {Object} SocketIoConnect + * @property {String} sid + * @property {Array} upgrades + * @property {Number} pingInterval + * @property {Number} pingTimeout + */ + +/** + * @typedef {[InsightSocketEventName, InsightSocketEventData]} InsightPush + */ + +/** + * @typedef {String} InsightSocketEventName + */ + +/** + * @typedef {String} Base58CheckAddr + */ + +/** + * @typedef InstantBalance + * @property {String} addrStr + * @property {Number} balance + * @property {Number} balanceSat + * @property {Number} _utxoCount + * @property {Array} _utxoAmounts + */ + +/** + * @typedef InsightBalance + * @property {String} addrStr + * @property {Number} balance + * @property {Number} balanceSat + * @property {Number} totalReceived + * @property {Number} totalReceivedSat + * @property {Number} totalSent + * @property {Number} totalSentSat + * @property {Number} unconfirmedBalance + * @property {Number} unconfirmedBalanceSat + * @property {Number} unconfirmedAppearances + * @property {Number} txAppearances + */ + +/** + * @typedef {Object} InsightSocketEventData + * @property {String} txid - hex + * @property {Number} valueOut - float + * @property {Array>} vout - addr and duffs + * @property {Boolean} isRBF + * @property {Boolean} txlock + * + * @example + * { + * txid: 'd2cc7cb8e8d2149f8c4475aee6797b4732eab020f8eb24e8912d0054787b0966', + * valueOut: 0.00099775, + * vout: [ + * { XcacUoyPYLokA1fZjc9ZfpV7hvALrDrERA: 40000 }, + * { Xo6M4MxnHWzrksja6JnFjHuSa35SMLQ9J3: 59775 } + * ], + * isRBF: false, + * txlock: true + * } + */ + +/** + * @typedef {Object} InsightTxResponse + * @property {Number} pagesTotal + * @property {Array} txs + */ + +/** + * @typedef {Object} InsightTx + * @property {Number} confirmations + * @property {Number} time + * @property {Boolean} txlock + * @property {Number} version + * @property {Array} vin + * @property {Array} vout + */ + +/** + * @typedef {Object} InsightTxVin + * @property {String} addr + */ + +/** + * @typedef {Object} InsightTxVout + * @property {String} value + * @property {Object} scriptPubKey + * @property {Array} scriptPubKey.addresses + */ + +/** + * @typedef {Object} SocketPayment + * @property {String} address - base58check pay-to address + * @property {Number} satoshis - duffs, duh + * @property {Number} timestamp - in milliseconds since epoch + * @property {String} txid - in hex + * @property {Boolean} txlock + */ + +/** + * @typedef {Object} CrowdNodeBalance + * @property {String} DashAddress - base58check + * @property {Number} TotalBalance - float, on hot or cold wallet + * @property {Number} TotalActiveBalance - float, on cold wallet + * @property {Number} TotalDividend - staking interest earned + * @property {String} UpdatedOn - ISO timestamp + * @property {Number} UpdateOnUnixTime - seconds since Unix epoch + */ + +/** + * @typedef {Object} CookieStore + * @property {CookieStoreSet} set + * @property {CookieStoreGet} get + */ + +/** + * @typedef {Function} CookieStoreSet + * @param {String} url + * @param {import('http').IncomingMessage} resp + * @returns {Promise} + */ + +/** + * @typedef {Function} CookieStoreGet + * @param {String} url + * @returns {Promise} + */