UNPKG

@ethersphere/bee-js

Version:
53 lines (52 loc) 2.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getAllSettlements = exports.getSettlements = void 0; const cafe_utility_1 = require("cafe-utility"); const http_1 = require("../../utils/http"); const tokens_1 = require("../../utils/tokens"); const type_1 = require("../../utils/type"); const settlementsEndpoint = 'settlements'; /** * Get amount of sent and received from settlements with a peer * * @param requestOptions Options for making requests * @param peer Swarm address of peer */ async function getSettlements(requestOptions, peer) { const response = await (0, http_1.http)(requestOptions, { url: `${settlementsEndpoint}/${peer}`, responseType: 'json', }); const body = cafe_utility_1.Types.asObject(response.data, { name: 'response.data' }); return { peer: cafe_utility_1.Types.asString(body.peer, { name: 'peer' }), sent: tokens_1.BZZ.fromPLUR((0, type_1.asNumberString)(body.sent, { name: 'sent' })), received: tokens_1.BZZ.fromPLUR((0, type_1.asNumberString)(body.received, { name: 'received' })), }; } exports.getSettlements = getSettlements; /** * Get settlements with all known peers and total amount sent or received * * @param requestOptions Options for making requests */ async function getAllSettlements(requestOptions) { const response = await (0, http_1.http)(requestOptions, { url: settlementsEndpoint, responseType: 'json', }); const body = cafe_utility_1.Types.asObject(response.data, { name: 'response.data' }); const totalSent = tokens_1.BZZ.fromPLUR((0, type_1.asNumberString)(body.totalSent, { name: 'totalSent' })); const totalReceived = tokens_1.BZZ.fromPLUR((0, type_1.asNumberString)(body.totalReceived, { name: 'totalReceived' })); const settlements = cafe_utility_1.Types.asArray(body.settlements, { name: 'settlements' }).map(x => cafe_utility_1.Types.asObject(x, { name: 'settlement' })); return { totalSent, totalReceived, settlements: settlements.map(x => ({ peer: cafe_utility_1.Types.asString(x.peer, { name: 'peer' }), sent: tokens_1.BZZ.fromPLUR((0, type_1.asNumberString)(x.sent, { name: 'sent' })), received: tokens_1.BZZ.fromPLUR((0, type_1.asNumberString)(x.received, { name: 'received' })), })), }; } exports.getAllSettlements = getAllSettlements;