package Ġorg . kin . stell ar fork Ċ Ċ import Ġorg . kin . stell ar fork . xd r . AccountID Ċ import Ġorg . kin . stell ar fork . xd r . Operation . Operation Body Ċ import Ġorg . kin . stell ar fork . xd r . Operation Type Ċ import Ġorg . kin . stell ar fork . xd r . Set Options Op Ċ import Ġorg . kin . stell ar fork . xd r . Signer Ċ import Ġorg . kin . stell ar fork . xd r . Signer Key Ċ import Ġorg . kin . stell ar fork . xd r . String 3 2 Ċ import Ġorg . kin . stell ar fork . xd r . Uint 3 2 Ċ Ċ /** Ċ Ġ* ĠRepresents Ġ[ Set Options ]( https :// www . stell ar . org / developers / learn / concepts / list - of - operations . html # set - options ) Ġoperation . Ċ Ġ* Ċ Ġ* Ġ@ see Ġ[ List Ġof ĠOperations ]( https :// www . stell ar . org / developers / learn / concepts / list - of - operations . html ) Ċ Ġ*/ Ċ class ĠSet Options Operation Ġprivate Ġconstructor ( ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠAccount Ġof Ġthe Ġinfl ation Ġdestination . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġinfl ation Destination : ĠKey Pair ?, ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠIndicates Ġwhich Ġflags Ġto Ġclear . ĠFor Ġdetails Ġabout Ġthe Ġflags , Ġplease Ġrefer Ġto Ġthe Ġ[ accounts Ġdoc ]( https :// www . stell ar . org / developers / learn / concepts / accounts . html ). ĊĠĠĠĠ Ġ* ĠYou Ġcan Ġalso Ġuse Ġ[ Account Flag ] Ġenum . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġclear Flags : ĠInt ?, ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠIndicates Ġwhich Ġflags Ġto Ġset . ĠFor Ġdetails Ġabout Ġthe Ġflags , Ġplease Ġrefer Ġto Ġthe Ġ[ accounts Ġdoc ]( https :// www . stell ar . org / developers / learn / concepts / accounts . html ). ĊĠĠĠĠ Ġ* ĠYou Ġcan Ġalso Ġuse Ġ[ Account Flag ] Ġenum . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġset Flags : ĠInt ?, ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠWeight Ġof Ġthe Ġmaster Ġkey . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġmaster Key Weight : ĠInt ?, ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠA Ġnumber Ġfrom Ġ 0 - 2 5 5 Ġrepresenting Ġthe Ġthreshold Ġthis Ġaccount Ġsets Ġon Ġall Ġoperations Ġit Ġperforms Ġthat Ġhave Ġ[ a Ġlow Ġthreshold ]( https :// www . stell ar . org / developers / learn / concepts / multi - sig . html ). ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġlow Threshold : ĠInt ?, ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠA Ġnumber Ġfrom Ġ 0 - 2 5 5 Ġrepresenting Ġthe Ġthreshold Ġthis Ġaccount Ġsets Ġon Ġall Ġoperations Ġit Ġperforms Ġthat Ġhave Ġ[ a Ġmedium Ġthreshold ]( https :// www . stell ar . org / developers / learn / concepts / multi - sig . html ). ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġmedium Threshold : ĠInt ?, ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠA Ġnumber Ġfrom Ġ 0 - 2 5 5 Ġrepresenting Ġthe Ġthreshold Ġthis Ġaccount Ġsets Ġon Ġall Ġoperations Ġit Ġperforms Ġthat Ġhave Ġ[ a Ġhigh Ġthreshold ]( https :// www . stell ar . org / developers / learn / concepts / multi - sig . html ). ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġhigh Threshold : ĠInt ?, ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġhome Ġdomain Ġof Ġan Ġaccount . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġhome Domain : ĠString ?, ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠAdditional Ġsigner Ġadded / removed Ġin Ġthis Ġoperation . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġsigner : ĠSign er Key ?, ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠAdditional Ġsigner Ġweight . ĠThe Ġsigner Ġis Ġdeleted Ġif Ġthe Ġweight Ġis Ġ 0 . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġsigner Weight : ĠInt ? Ċ ) Ġ: ĠOperation () Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġto Operation Body (): ĠOperation Body Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġop Ġ= ĠSet Options Op () ĊĠĠĠĠĠĠĠ Ġif Ġ( in fl ation Destination Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinfl ation Destination Ġ= ĠAccount ID () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinfl ation Destination . account ID Ġ= Ġthis . in fl ation Destination . xd r PublicKey ĊĠĠĠĠĠĠĠĠĠĠĠ Ġop . in fl ation Dest Ġ= Ġinfl ation Destination ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( clear Flags Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġclear Flags Ġ= ĠUint 3 2 () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclear Flags . uint 3 2 Ġ= Ġthis . clear Flags ĊĠĠĠĠĠĠĠĠĠĠĠ Ġop . clear Flags Ġ= Ġclear Flags ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( set Flags Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġset Flags Ġ= ĠUint 3 2 () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Flags . uint 3 2 Ġ= Ġthis . set Flags ĊĠĠĠĠĠĠĠĠĠĠĠ Ġop . set Flags Ġ= Ġset Flags ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( master Key Weight Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuint 3 2 Ġ= ĠUint 3 2 () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuint 3 2 . uint 3 2 Ġ= Ġmaster Key Weight ĊĠĠĠĠĠĠĠĠĠĠĠ Ġop . master Weight Ġ= Ġuint 3 2 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( low Threshold Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuint 3 2 Ġ= ĠUint 3 2 () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuint 3 2 . uint 3 2 Ġ= Ġlow Threshold ĊĠĠĠĠĠĠĠĠĠĠĠ Ġop . low Threshold Ġ= Ġuint 3 2 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( medium Threshold Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuint 3 2 Ġ= ĠUint 3 2 () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuint 3 2 . uint 3 2 Ġ= Ġmedium Threshold ĊĠĠĠĠĠĠĠĠĠĠĠ Ġop . med Threshold Ġ= Ġuint 3 2 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( high Threshold Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuint 3 2 Ġ= ĠUint 3 2 () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuint 3 2 . uint 3 2 Ġ= Ġhigh Threshold ĊĠĠĠĠĠĠĠĠĠĠĠ Ġop . high Threshold Ġ= Ġuint 3 2 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( home Domain Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhome Domain Ġ= ĠString 3 2 () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhome Domain . string 3 2 Ġ= Ġthis . home Domain ĊĠĠĠĠĠĠĠĠĠĠĠ Ġop . home Domain Ġ= Ġhome Domain ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( signer Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsigner Ġ= ĠSign er () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġweight Ġ= ĠUint 3 2 () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġweight . uint 3 2 Ġ= Ġsigner Weight !! Ġand Ġ 0 xFF ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsigner . key Ġ= Ġthis . signer ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsigner . weight Ġ= Ġweight ĊĠĠĠĠĠĠĠĠĠĠĠ Ġop . signer Ġ= Ġsigner ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠOperation Body (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdis crimin ant Ġ= ĠOperation Type . SET _ OPTIONS ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Options Op Ġ= Ġop ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠBuilds ĠSet Options Ġoperation . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ see ĠSet Options Operation ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġclass ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġinfl ation Destination : ĠKey Pair ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġclear Flags : ĠInt ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġset Flags : ĠInt ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġmaster Key Weight : ĠInt ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġlow Threshold : ĠInt ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġmedium Threshold : ĠInt ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġhigh Threshold : ĠInt ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġhome Domain : ĠString ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġsigner : ĠSign er Key ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġsigner Weight : ĠInt ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġsource Account : ĠKey Pair ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġinternal Ġconstructor ( op : ĠSet Options Op ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( op . in fl ation Dest Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinfl ation Destination Ġ= ĠKey Pair . from X dr PublicKey ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġop . in fl ation Dest !!. account ID !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( op . clear Flags Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclear Flags Ġ= Ġop . clear Flags !!. uint 3 2 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( op . set Flags Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Flags Ġ= Ġop . set Flags !!. uint 3 2 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( op . master Weight Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmaster Key Weight Ġ= Ġop . master Weight !!. uint 3 2 !!. toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( op . low Threshold Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlow Threshold Ġ= Ġop . low Threshold !!. uint 3 2 !!. toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( op . med Threshold Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmedium Threshold Ġ= Ġop . med Threshold !!. uint 3 2 !!. toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( op . high Threshold Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhigh Threshold Ġ= Ġop . high Threshold !!. uint 3 2 !!. toInt () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( op . home Domain Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhome Domain Ġ= Ġop . home Domain !!. string 3 2 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( op . signer Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsigner Ġ= Ġop . signer !!. key ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsigner Weight Ġ= Ġop . signer !!. weight !!. uint 3 2 !!. toInt () Ġand Ġ 0 xFF ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠCreates Ġa Ġnew ĠSet Options Operation Ġbuilder . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġconstructor () Ġ{} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠSets Ġthe Ġinfl ation Ġdestination Ġfor Ġthe Ġaccount . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġinfl ation Destination ĠThe Ġinfl ation Ġdestination Ġaccount . ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return ĠBuilder Ġobject Ġso Ġyou Ġcan Ġchain Ġmethods . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġset In fl ation Destination ( in fl ation Destination : ĠKey Pair ?): ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . in fl ation Destination Ġ= Ġinfl ation Destination ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠClear s Ġthe Ġgiven Ġflags Ġfrom Ġthe Ġaccount . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġclear Flags ĠFor Ġdetails Ġabout Ġthe Ġflags , Ġplease Ġrefer Ġto Ġthe Ġ[ accounts Ġdoc ]( https :// www . stell ar . org / developers / learn / concepts / accounts . html ). ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return ĠBuilder Ġobject Ġso Ġyou Ġcan Ġchain Ġmethods . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġset Clear Flags ( clear Flags : ĠInt ): ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . clear Flags Ġ= Ġclear Flags ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠSets Ġthe Ġgiven Ġflags Ġon Ġthe Ġaccount . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġset Flags ĠFor Ġdetails Ġabout Ġthe Ġflags , Ġplease Ġrefer Ġto Ġthe Ġ[ accounts Ġdoc ]( https :// www . stell ar . org / developers / learn / concepts / accounts . html ). ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return ĠBuilder Ġobject Ġso Ġyou Ġcan Ġchain Ġmethods . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġset Set Flags ( set Flags : ĠInt ): ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . set Flags Ġ= Ġset Flags ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠWeight Ġof Ġthe Ġmaster Ġkey . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġmaster Key Weight ĠNumber Ġbetween Ġ 0 Ġand Ġ 2 5 5 ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return ĠBuilder Ġobject Ġso Ġyou Ġcan Ġchain Ġmethods . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġset Master Key Weight ( master Key Weight : ĠInt ): ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . master Key Weight Ġ= Ġmaster Key Weight ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠA Ġnumber Ġfrom Ġ 0 - 2 5 5 Ġrepresenting Ġthe Ġthreshold Ġthis Ġaccount Ġsets Ġon Ġall Ġoperations Ġit Ġperforms Ġthat Ġhave Ġa Ġlow Ġthreshold . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġlow Threshold ĠNumber Ġbetween Ġ 0 Ġand Ġ 2 5 5 ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return ĠBuilder Ġobject Ġso Ġyou Ġcan Ġchain Ġmethods . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġset Low Threshold ( low Threshold : ĠInt ): ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . low Threshold Ġ= Ġlow Threshold ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠA Ġnumber Ġfrom Ġ 0 - 2 5 5 Ġrepresenting Ġthe Ġthreshold Ġthis Ġaccount Ġsets Ġon Ġall Ġoperations Ġit Ġperforms Ġthat Ġhave Ġa Ġmedium Ġthreshold . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġmedium Threshold ĠNumber Ġbetween Ġ 0 Ġand Ġ 2 5 5 ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return ĠBuilder Ġobject Ġso Ġyou Ġcan Ġchain Ġmethods . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġset Medium Threshold ( medium Threshold : ĠInt ): ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . medium Threshold Ġ= Ġmedium Threshold ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠA Ġnumber Ġfrom Ġ 0 - 2 5 5 Ġrepresenting Ġthe Ġthreshold Ġthis Ġaccount Ġsets Ġon Ġall Ġoperations Ġit Ġperforms Ġthat Ġhave Ġa Ġhigh Ġthreshold . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġhigh Threshold ĠNumber Ġbetween Ġ 0 Ġand Ġ 2 5 5 ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return ĠBuilder Ġobject Ġso Ġyou Ġcan Ġchain Ġmethods . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġset High Threshold ( high Threshold : ĠInt ): ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . high Threshold Ġ= Ġhigh Threshold ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠSets Ġthe Ġaccount 's Ġhome Ġdomain Ġaddress Ġused Ġin Ġ[ Federation ]( https :// www . stell ar . org / developers / learn / concepts / fed eration . html ). ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġhome Domain ĠA Ġstring Ġof Ġthe Ġaddress Ġwhich Ġcan Ġbe Ġup Ġto Ġ 3 2 Ġcharacters . ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return ĠBuilder Ġobject Ġso Ġyou Ġcan Ġchain Ġmethods . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġset Home Domain ( home Domain : ĠString ): ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequire ( home Domain . length Ġ<= Ġ 3 2 ) Ġ{ Ġ" Home Ġdomain Ġmust Ġbe Ġ<= Ġ 3 2 Ġcharacters " Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . home Domain Ġ= Ġhome Domain ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠAdd , Ġupdate , Ġor Ġremove Ġa Ġsigner Ġfrom Ġthe Ġaccount . ĠSign er Ġis Ġdeleted Ġif Ġthe Ġweight Ġ= Ġ 0 ; ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġsigner ĠThe Ġsigner Ġkey . ĠUse Ġ[ Signer ] Ġhelper Ġto Ġcreate Ġthis Ġobject . ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġweight ĠThe Ġweight Ġto Ġattach Ġto Ġthe Ġsigner Ġ( 0 - 2 5 5 ). ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return ĠBuilder Ġobject Ġso Ġyou Ġcan Ġchain Ġmethods . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġset Signer ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsigner : ĠSign er Key , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġweight : ĠInt ĊĠĠĠĠĠĠĠ Ġ): ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . signer Ġ= Ġsigner ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsigner Weight Ġ= Ġweight Ġand Ġ 0 xFF ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠSets Ġthe Ġsource Ġaccount Ġfor Ġthis Ġoperation . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġsource Account ĠThe Ġoperation 's Ġsource Ġaccount . ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return ĠBuilder Ġobject Ġso Ġyou Ġcan Ġchain Ġmethods . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġset Source Account ( source Account : ĠKey Pair ?): ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . source Account Ġ= Ġsource Account ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠBuilds Ġan Ġoperation ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġbuild (): ĠSet Options Operation Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġoperation Ġ= ĠSet Options Operation ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinfl ation Destination , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclear Flags , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Flags , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmaster Key Weight , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlow Threshold , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmedium Threshold , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhigh Threshold , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhome Domain , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsigner , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsigner Weight ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( source Account Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoperation . source Account Ġ= Ġsource Account ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġoperation ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } Ċ