package Ġsite . glob ex . fe erate kit Ċ Ċ import Ġandroidx . room . Entity Ċ import Ġandroidx . room . PrimaryKey Ċ import Ġandroidx . room . Type Converters Ċ import Ġsite . glob ex . fe erate kit . storage . Enum Converter Ċ Ċ @ Entity Ċ @ Type Converters ( Enum Converter :: class ) Ċ Ċ data Ġclass ĠF ee Rate ( ĊĠĠĠ Ġ@ PrimaryKey ĊĠĠĠ Ġval Ġcoin : ĠCoin , ĊĠĠĠ Ġval Ġlow Priority : ĠLong , ĊĠĠĠ Ġval Ġmedium Priority : ĠLong , ĊĠĠĠ Ġval Ġhigh Priority : ĠLong , ĊĠĠĠ Ġval Ġdate : ĠLong Ċ ) Ġ{ ĊĠĠĠ Ġfun Ġsafe Low (): ĠLong Ġ= ĠMath . max ( coin . min Rate (), ĠMath . min ( low Priority , Ġcoin . max Rate ())) ĊĠĠĠ Ġfun Ġsafe Medium (): ĠLong Ġ= ĠMath . max ( coin . min Rate (), ĠMath . min ( medium Priority , Ġcoin . max Rate ())) ĊĠĠĠ Ġfun Ġsafe High (): ĠLong Ġ= ĠMath . max ( coin . min Rate (), ĠMath . min ( high Priority , Ġcoin . max Rate ())) Ċ } Ċ Ċ enum Ġclass ĠCoin ( val Ġcode : ĠString ) Ġ{ ĊĠĠĠ ĠBIT CO IN (" BTC "), ĊĠĠĠ ĠBIT CO IN _ C ASH (" B CH "), ĊĠĠĠ ĠD ASH (" DASH "), ĊĠĠĠ ĠE THER E UM (" ETH "); ĊĊĠĠĠ Ġfun Ġdefault Rate (): ĠF ee Rate Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( this ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBIT CO IN Ġ-> ĠF ee Rate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcoin Ġ= Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlow Priority Ġ= Ġ 2 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmedium Priority Ġ= Ġ 4 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhigh Priority Ġ= Ġ 8 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdate Ġ= Ġ 1 5 4 3 2 1 1 2 9 9 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBIT CO IN _ C ASH Ġ-> ĠF ee Rate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcoin Ġ= Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlow Priority Ġ= Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmedium Priority Ġ= Ġ 3 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhigh Priority Ġ= Ġ 5 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdate Ġ= Ġ 1 5 4 3 2 1 1 2 9 9 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠD ASH Ġ-> ĠF ee Rate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcoin Ġ= Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlow Priority Ġ= Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmedium Priority Ġ= Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhigh Priority Ġ= Ġ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdate Ġ= Ġ 1 5 5 7 2 2 4 1 3 3 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠE THER E UM Ġ-> ĠF ee Rate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcoin Ġ= Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlow Priority Ġ= Ġ 1 3 _ 0 0 0 _ 0 0 0 _ 0 0 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmedium Priority Ġ= Ġ 1 6 _ 0 0 0 _ 0 0 0 _ 0 0 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhigh Priority Ġ= Ġ 1 9 _ 0 0 0 _ 0 0 0 _ 0 0 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdate Ġ= Ġ 1 5 4 3 2 1 1 2 9 9 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġmax Rate (): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( this ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBIT CO IN Ġ-> Ġ 5 _ 0 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBIT CO IN _ C ASH Ġ-> Ġ 5 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠD ASH Ġ-> Ġ 5 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠE THER E UM Ġ-> Ġ 3 _ 0 0 0 _ 0 0 0 _ 0 0 0 _ 0 0 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġmin Rate (): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( this ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBIT CO IN Ġ-> Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBIT CO IN _ C ASH Ġ-> Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠD ASH Ġ-> Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠE THER E UM Ġ-> Ġ 1 0 0 _ 0 0 0 _ 0 0 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ