1+ import { OperatorKitI } from '@agoric/fast-usdc/src/operator-kit-interface.js' ;
12import { makeTracer } from '@agoric/internal' ;
3+ import type { Zone } from '@agoric/zone' ;
24import { Fail } from '@endo/errors' ;
3- import { OperatorKitI } from '@agoric/fast-usdc/src/operator-kit-interface.js' ;
4-
5- const trace = makeTracer ( 'TxOperator' ) ;
5+ import type {
6+ CctpTxEvidence ,
7+ RiskAssessment ,
8+ } from '@agoric/fast-usdc/src/types.js' ;
69
7- /**
8- * @import {Zone} from '@agoric/zone';
9- * @import {CctpTxEvidence, RiskAssessment} from '@agoric/fast-usdc/src/types.js';
10- */
10+ const trace : ( ...args : unknown [ ] ) => void = makeTracer ( 'TxOperator' ) ;
1111
12- /**
13- * @typedef {object } OperatorPowers
14- * @property {(evidence: CctpTxEvidence, riskAssessment: RiskAssessment, operatorId: string) => void } attest
15- */
12+ interface OperatorPowers {
13+ attest : (
14+ evidence : CctpTxEvidence ,
15+ riskAssessment : RiskAssessment ,
16+ operatorId : string ,
17+ ) => void ;
18+ }
1619
17- /**
18- * @typedef {object } OperatorStatus
19- * @property {boolean } [disabled]
20- * @property {string } operatorId
21- */
20+ interface OperatorStatus {
21+ disabled ?: boolean ;
22+ operatorId : string ;
23+ }
2224
23- /**
24- * @typedef {Readonly<{ operatorId: string, powers: OperatorPowers }> & {disabled: boolean} } State
25- */
25+ interface State {
26+ operatorId : string ;
27+ powers : OperatorPowers ;
28+ disabled : boolean ;
29+ }
2630
27- /**
28- * @param {Zone } zone
29- * @param {{ makeInertInvitation: Function } } staticPowers
30- */
31- export const prepareOperatorKit = ( zone , staticPowers ) =>
31+ export const prepareOperatorKit = (
32+ zone : Zone ,
33+ staticPowers : { makeInertInvitation : ( ) => Promise < Invitation > } ,
34+ ) =>
3235 zone . exoClassKit (
3336 'Operator Kit' ,
3437 OperatorKitI ,
3538 /**
36- * @param {string } operatorId
37- * @param {OperatorPowers } powers facet of the durable transaction feed
38- * @returns {State }
39+ * @param operatorId
40+ * @param powers facet of the durable transaction feed
3941 */
40- ( operatorId , powers ) => {
42+ ( operatorId : string , powers : OperatorPowers ) : State => {
4143 return {
4244 operatorId,
4345 powers,
@@ -64,33 +66,34 @@ export const prepareOperatorKit = (zone, staticPowers) =>
6466 * place, rather than as a means of performing it as in the
6567 * fluxAggregator contract used for price oracles.
6668 *
67- * @param {CctpTxEvidence } evidence
68- * @param {RiskAssessment } [riskAssessment]
69- * @returns {Promise<Invitation> }
69+ * @param evidence
70+ * @param riskAssessment
7071 */
71- async SubmitEvidence ( evidence , riskAssessment ) {
72+ async SubmitEvidence (
73+ evidence : CctpTxEvidence ,
74+ riskAssessment : RiskAssessment ,
75+ ) : Promise < Invitation > {
7276 const { operator } = this . facets ;
7377 operator . submitEvidence ( evidence , riskAssessment ) ;
74- return staticPowers . makeInertInvitation (
75- 'evidence was pushed in the invitation maker call' ,
76- ) ;
78+ return staticPowers . makeInertInvitation ( ) ;
7779 } ,
7880 } ,
7981 operator : {
8082 /**
8183 * submit evidence from this operator
8284 *
83- * @param {CctpTxEvidence } evidence
84- * @param {RiskAssessment } [riskAssessment]
85- * @returns {void }
85+ * @param evidence
86+ * @param riskAssessment
8687 */
87- submitEvidence ( evidence , riskAssessment = { } ) {
88+ submitEvidence (
89+ evidence : CctpTxEvidence ,
90+ riskAssessment : RiskAssessment = { } ,
91+ ) : void {
8892 const { state } = this ;
8993 ! state . disabled || Fail `submitEvidence for disabled operator` ;
9094 state . powers . attest ( evidence , riskAssessment , state . operatorId ) ;
9195 } ,
92- /** @returns {OperatorStatus } */
93- getStatus ( ) {
96+ getStatus ( ) : OperatorStatus {
9497 const { state } = this ;
9598 return {
9699 operatorId : state . operatorId ,
@@ -101,4 +104,4 @@ export const prepareOperatorKit = (zone, staticPowers) =>
101104 } ,
102105 ) ;
103106
104- /** @typedef { ReturnType<ReturnType<typeof prepareOperatorKit>> } OperatorKit */
107+ export type OperatorKit = ReturnType < ReturnType < typeof prepareOperatorKit > > ;
0 commit comments