@fairmint/canton-node-sdk
Version:
Canton Node SDK
38 lines • 1.7 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.GetMemberTrafficStatus = void 0;
const ApiOperation_1 = require("../../../../../core/operations/ApiOperation");
const mining_rounds_1 = require("../../../../../utils/mining/mining-rounds");
/**
* @description Get a member's traffic status as reported by the sequencer
* @example
* ```typescript
* // Get traffic status for current party in current mining round domain
* const status = await client.getMemberTrafficStatus();
*
* // Get traffic status for specific member in current mining round domain
* const status = await client.getMemberTrafficStatus({
* memberId: 'PAR::id::fingerprint'
* });
*
* // Get traffic status for specific member in specific domain
* const status = await client.getMemberTrafficStatus({
* domainId: 'domain123',
* memberId: 'PAR::id::fingerprint'
* });
*
* console.log(`Total consumed: ${status.traffic_status.actual.total_consumed}`);
* ```
*/
class GetMemberTrafficStatus extends ApiOperation_1.ApiOperation {
async execute(params) {
// Auto-determine domainId if not provided
const domainId = params.domainId || await (0, mining_rounds_1.getCurrentMiningRoundDomainId)(this.client);
// Auto-determine memberId if not provided
const memberId = params.memberId || this.client.getPartyId();
const url = `${this.getApiUrl()}/api/validator/v0/scan-proxy/v0/domains/${encodeURIComponent(domainId)}/members/${encodeURIComponent(memberId)}/traffic-status`;
return this.makeGetRequest(url);
}
}
exports.GetMemberTrafficStatus = GetMemberTrafficStatus;
//# sourceMappingURL=get-member-traffic-status.js.map