@fairmint/canton-node-sdk
Version:
Canton Node SDK
43 lines • 1.87 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");
const operations_1 = require("../../../schemas/operations");
/**
* 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'
* });
*
*
* ```;
*/
class GetMemberTrafficStatus extends ApiOperation_1.ApiOperation {
async execute(params = {}) {
const validatedParams = this.validateParams(params, operations_1.GetMemberTrafficStatusParamsSchema);
// Auto-determine domainId if not provided
const domainId = validatedParams.domainId ?? (await (0, mining_rounds_1.getCurrentMiningRoundDomainId)(this.client));
// Auto-determine memberId if not provided
const memberId = validatedParams.memberId ?? this.client.getPartyId();
const url = `${this.getApiUrl()}/api/validator/v0/scan-proxy/domains/${encodeURIComponent(domainId)}/members/${encodeURIComponent(memberId)}/traffic-status`;
return this.makeGetRequest(url, {
includeBearerToken: true,
});
}
}
exports.GetMemberTrafficStatus = GetMemberTrafficStatus;
//# sourceMappingURL=get-member-traffic-status.js.map