Skip to main content

sharesight_types/
codes.rs

1use serde::{Deserialize, Serialize};
2
3#[allow(clippy::upper_case_acronyms)]
4#[derive(Clone, Copy, Debug, PartialEq, Eq, Deserialize, Serialize)]
5pub enum Market {
6    /// New Zealand Stock Exchange
7    NZX,
8    /// Australian Stock Exchange
9    ASX,
10    /// New York Stock Exchange
11    NYSE,
12    /// NASDAQ
13    NASDAQ,
14    /// London Stock Exchange
15    LSE,
16    /// Australian Fund
17    FundAU,
18    /// New Zealand Fund
19    FundNZ,
20    /// ASX mFund
21    #[serde(rename = "mFund")]
22    MFund,
23    /// Euronext St
24    EURONEXT,
25    /// Canadian Securities Exchange
26    CNSX,
27    /// Toronto Stock Exchange
28    TSE,
29    /// Toronto Venture Exchange
30    CVE,
31    /// Hong Kong Stock Exchange
32    HKG,
33    /// Other Market
34    OTHER,
35    /// Singapore Exchange
36    SGX,
37    /// Johannesburg Stock Exchange
38    JSE,
39    /// Deutsche Boerse
40    FRA,
41    /// Swiss Exchange
42    SWX,
43    /// Tokyo Stock Exchange
44    TYO,
45    /// Borsa Italiana Milan
46    BIT,
47    /// Bolsa de Madrid
48    BME,
49    /// Bombay Stock Exchange
50    BSE,
51    /// National Stock Exchange of India
52    NSE,
53    /// Foreign Exchange Currency
54    FX,
55    /// Canadian Fund
56    FundCA,
57    /// NYSE American (AMEX)
58    AMEX,
59    /// OTC Bulletin Board
60    OTCBB,
61    /// Other OTC
62    OTC,
63    /// Shenzhen Stock Exchange
64    SHE,
65    /// Korea Exchange
66    KRX,
67    /// Taiwan Stock Exchange
68    TAI,
69    /// NASDAQ OMX Group MFQS
70    MFQS,
71    /// CBOE BATS
72    BATS,
73    /// UK Fund
74    FundUK,
75    /// Nasdaq Nordic Stockholm
76    STO,
77    /// Nasdaq Nordic Copenhagen
78    CSE,
79    /// Nasdaq Nordic Iceland
80    ICE,
81    /// Nasdaq Nordic Helsinki
82    HEL,
83    /// Oslo Stock Exchange
84    OSL,
85    /// Bursa Malaysia
86    KLS,
87    /// Shanghai Stock Exchange
88    SHG,
89    /// Euronext Dublin
90    DUB,
91    /// Moscow Exchange
92    MISX,
93    /// Stock Exchange of Thailand
94    BKK,
95    /// Warsaw Stock Exchange
96    WAR,
97    /// Korea Exchange (KOSDAQ)
98    KOSDAQ,
99    /// Tel Aviv Stock Exchange
100    TLV,
101    /// Budapest Stock Exchange
102    BDP,
103    /// NEO Exchange
104    NEO,
105    /// US Fund
106    FundUS,
107    /// Prague Stock Exchange
108    PSE,
109    /// Athens Stock Exchange
110    ASE,
111    /// B3 BOVESPA
112    BVMF,
113    /// Bolsa Mexicana de Valores
114    BMV,
115    /// Bolsa de Valores de Lima
116    BVL,
117    /// Cryptocurrency
118    CRYPTO,
119    /// Indonesia Stock Exchange
120    IDX,
121    /// Bucharest Stock Exchange
122    BVB,
123    /// Irish Fund
124    FundIE,
125    /// Vienna Stock Exchange
126    VIE,
127    /// Luxembourg Fund
128    FundLU,
129    /// Philippine Stock Exchange
130    PHS,
131    /// Goldie Wealth
132    GOLDIE,
133    /// Borsa Istanbul
134    BIST,
135    /// CBOE Australia - Limit Venue
136    CXA,
137    /// Deutsche Börse Xetra
138    XETR,
139    /// Precious Metals
140    METAL,
141}
142
143#[derive(Clone, Copy, Debug, PartialEq, Eq, Deserialize, Serialize)]
144#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
145pub enum TradeDescription {
146    /// Buy
147    Buy,
148    /// Sell
149    Sell,
150    /// Split
151    Split,
152    /// Bonus
153    Bonus,
154    /// Consolidation
155    Consold,
156    /// Cancellation
157    Cancel,
158    /// Return of Capital
159    CapitalReturn,
160    /// Opening Balance
161    OpeningBalance,
162    /// Adjust Cost Base
163    AdjustCostBase,
164    /// Merge (Cancel)
165    MergeCancel,
166    /// Merge (Buy)
167    MergeBuy,
168    /// Capital Call
169    CapitalCall,
170}
171
172#[derive(Clone, Copy, Debug, PartialEq, Eq, Deserialize, Serialize)]
173pub enum PayoutDescription {
174    /// Dividend
175    #[serde(rename = "DIV")]
176    Dividend,
177    /// Capital Repayment
178    #[serde(rename = "REP")]
179    CapitalRepayment,
180    /// Interest Payment
181    #[serde(rename = "INT")]
182    InterestPayment,
183    /// Distribution
184    #[serde(rename = "DIS")]
185    Distribution,
186}
187
188#[derive(Clone, Copy, Debug, PartialEq, Eq, Deserialize, Serialize)]
189pub enum Country {
190    /// Afghanistan
191    #[serde(rename = "AF")]
192    Afghanistan,
193    /// Albania
194    #[serde(rename = "AL")]
195    Albania,
196    /// Algeria
197    #[serde(rename = "DZ")]
198    Algeria,
199    /// American Samoa
200    #[serde(rename = "AS")]
201    AmericanSamoa,
202    /// Andorra
203    #[serde(rename = "AD")]
204    Andorra,
205    /// Angola
206    #[serde(rename = "AO")]
207    Angola,
208    /// Anguilla
209    #[serde(rename = "AI")]
210    Anguilla,
211    /// Antarctica
212    #[serde(rename = "AQ")]
213    Antarctica,
214    /// Antigua and Barbuda
215    #[serde(rename = "AG")]
216    AntiguaAndBarbuda,
217    /// Argentina
218    #[serde(rename = "AR")]
219    Argentina,
220    /// Armenia
221    #[serde(rename = "AM")]
222    Armenia,
223    /// Aruba
224    #[serde(rename = "AW")]
225    Aruba,
226    /// Asia
227    #[serde(rename = "_AS")]
228    Asia,
229    /// Australia
230    #[serde(rename = "AU")]
231    Australia,
232    /// Austria
233    #[serde(rename = "AT")]
234    Austria,
235    /// Azerbaijan
236    #[serde(rename = "AZ")]
237    Azerbaijan,
238    /// Bahamas
239    #[serde(rename = "BS")]
240    Bahamas,
241    /// Bahrain
242    #[serde(rename = "BH")]
243    Bahrain,
244    /// Bangladesh
245    #[serde(rename = "BD")]
246    Bangladesh,
247    /// Barbados
248    #[serde(rename = "BB")]
249    Barbados,
250    /// Belarus
251    #[serde(rename = "BY")]
252    Belarus,
253    /// Belgium
254    #[serde(rename = "BE")]
255    Belgium,
256    /// Belize
257    #[serde(rename = "BZ")]
258    Belize,
259    /// Benin
260    #[serde(rename = "BJ")]
261    Benin,
262    /// Bermuda
263    #[serde(rename = "BM")]
264    Bermuda,
265    /// Bhutan
266    #[serde(rename = "BT")]
267    Bhutan,
268    /// Bitcoin
269    #[serde(rename = "XB")]
270    Bitcoin,
271    /// Bolivia
272    #[serde(rename = "BO")]
273    Bolivia,
274    /// Bonaire, Sint Eustatius and Saba
275    #[serde(rename = "BQ")]
276    BonaireSintEustatiusAndSaba,
277    /// Bosnia and Herzegovina
278    #[serde(rename = "BA")]
279    BosniaAndHerzegovina,
280    /// Botswana
281    #[serde(rename = "BW")]
282    Botswana,
283    /// Bouvet Island
284    #[serde(rename = "BV")]
285    BouvetIsland,
286    /// Brazil
287    #[serde(rename = "BR")]
288    Brazil,
289    /// British Indian Ocean Territory
290    #[serde(rename = "IO")]
291    BritishIndianOceanTerritory,
292    /// Brunei
293    #[serde(rename = "BN")]
294    Brunei,
295    /// Bulgaria
296    #[serde(rename = "BG")]
297    Bulgaria,
298    /// Burkina Faso
299    #[serde(rename = "BF")]
300    BurkinaFaso,
301    /// Burundi
302    #[serde(rename = "BI")]
303    Burundi,
304    /// Cambodia
305    #[serde(rename = "KH")]
306    Cambodia,
307    /// Cameroon
308    #[serde(rename = "CM")]
309    Cameroon,
310    /// Canada
311    #[serde(rename = "CA")]
312    Canada,
313    /// Cape Verde
314    #[serde(rename = "CV")]
315    CapeVerde,
316    /// Cayman Islands
317    #[serde(rename = "KY")]
318    CaymanIslands,
319    /// Central African Republic
320    #[serde(rename = "CF")]
321    CentralAfricanRepublic,
322    /// Chad
323    #[serde(rename = "TD")]
324    Chad,
325    /// Chile
326    #[serde(rename = "CL")]
327    Chile,
328    /// China
329    #[serde(rename = "CN")]
330    China,
331    /// China, (Offshore)
332    #[serde(rename = "_CN")]
333    ChinaOffshore,
334    /// Christmas Island
335    #[serde(rename = "CX")]
336    ChristmasIsland,
337    /// Cocos (Keeling) Islands
338    #[serde(rename = "CC")]
339    CocosKeelingIslands,
340    /// Colombia
341    #[serde(rename = "CO")]
342    Colombia,
343    /// Comoros
344    #[serde(rename = "KM")]
345    Comoros,
346    /// Congo Republic of the Democratic
347    #[serde(rename = "CG")]
348    CongoRepublicOfTheDemocratic,
349    /// Congo-Brazzaville
350    #[serde(rename = "CD")]
351    CongoBrazzaville,
352    /// Cook Islands
353    #[serde(rename = "CK")]
354    CookIslands,
355    /// Costa Rica
356    #[serde(rename = "CR")]
357    CostaRica,
358    /// Croatia (Hrvatska)
359    #[serde(rename = "HR")]
360    Croatia,
361    /// Cuba
362    #[serde(rename = "CU")]
363    Cuba,
364    /// Curaçao
365    #[serde(rename = "CW")]
366    Curaçao,
367    /// Cyprus
368    #[serde(rename = "CY")]
369    Cyprus,
370    /// Cyprus (pre-Euro)
371    #[serde(rename = "XCY")]
372    CyprusPreEuro,
373    /// Czech Republic
374    #[serde(rename = "CZ")]
375    CzechRepublic,
376    /// Denmark
377    #[serde(rename = "DK")]
378    Denmark,
379    /// Djibouti
380    #[serde(rename = "DJ")]
381    Djibouti,
382    /// Dominica
383    #[serde(rename = "DM")]
384    Dominica,
385    /// Dominican Republic
386    #[serde(rename = "DO")]
387    DominicanRepublic,
388    /// East Timor
389    #[serde(rename = "TP")]
390    EastTimorP,
391    /// East Timor
392    #[serde(rename = "TL")]
393    EastTimorL,
394    /// Ecuador
395    #[serde(rename = "EC")]
396    Ecuador,
397    /// Egypt
398    #[serde(rename = "EG")]
399    Egypt,
400    /// El Salvador
401    #[serde(rename = "SV")]
402    ElSalvador,
403    /// Equatorial Guinea
404    #[serde(rename = "GQ")]
405    EquatorialGuinea,
406    /// Eritrea
407    #[serde(rename = "ER")]
408    Eritrea,
409    /// Estonia
410    #[serde(rename = "EE")]
411    Estonia,
412    /// Estonia (pre-Euro)
413    #[serde(rename = "XEE")]
414    EstoniaPreEuro,
415    /// Ethiopia
416    #[serde(rename = "ET")]
417    Ethiopia,
418    /// Europe
419    #[serde(rename = "XS")]
420    Europe,
421    /// Falkland Islands (Malvinas)
422    #[serde(rename = "FK")]
423    FalklandIslands,
424    /// Faroe Islands
425    #[serde(rename = "FO")]
426    FaroeIslands,
427    /// Fiji
428    #[serde(rename = "FJ")]
429    Fiji,
430    /// Finland
431    #[serde(rename = "FI")]
432    Finland,
433    /// France
434    #[serde(rename = "FR")]
435    France,
436    /// French Guiana
437    #[serde(rename = "GF")]
438    FrenchGuiana,
439    /// French Polynesia
440    #[serde(rename = "PF")]
441    FrenchPolynesia,
442    /// French Southern Territories
443    #[serde(rename = "TF")]
444    FrenchSouthernTerritories,
445    /// Gabon
446    #[serde(rename = "GA")]
447    Gabon,
448    /// Gambia
449    #[serde(rename = "GM")]
450    Gambia,
451    /// Georgia
452    #[serde(rename = "GE")]
453    Georgia,
454    /// Germany
455    #[serde(rename = "DE")]
456    Germany,
457    /// Ghana
458    #[serde(rename = "GH")]
459    Ghana,
460    /// Gibraltar
461    #[serde(rename = "GI")]
462    Gibraltar,
463    /// Greece
464    #[serde(rename = "GR")]
465    Greece,
466    /// Greenland
467    #[serde(rename = "GL")]
468    Greenland,
469    /// Grenada
470    #[serde(rename = "GD")]
471    Grenada,
472    /// Guadeloupe
473    #[serde(rename = "GP")]
474    Guadeloupe,
475    /// Guam
476    #[serde(rename = "GU")]
477    Guam,
478    /// Guatemala
479    #[serde(rename = "GT")]
480    Guatemala,
481    /// Guernsey
482    #[serde(rename = "GG")]
483    Guernsey,
484    /// Guinea
485    #[serde(rename = "GN")]
486    Guinea,
487    /// Guinea-Bissau
488    #[serde(rename = "GW")]
489    GuineaBissau,
490    /// Guyana
491    #[serde(rename = "GY")]
492    Guyana,
493    /// Haiti
494    #[serde(rename = "HT")]
495    Haiti,
496    /// Heard and Mc Donald Islands
497    #[serde(rename = "HM")]
498    HeardAndMcDonaldIslands,
499    /// Honduras
500    #[serde(rename = "HN")]
501    Honduras,
502    /// Hong Kong
503    #[serde(rename = "HK")]
504    HongKong,
505    /// Hungary
506    #[serde(rename = "HU")]
507    Hungary,
508    /// Iceland
509    #[serde(rename = "IS")]
510    Iceland,
511    /// India
512    #[serde(rename = "IN")]
513    India,
514    /// Indonesia
515    #[serde(rename = "ID")]
516    Indonesia,
517    /// International
518    #[serde(rename = "_IN")]
519    International,
520    /// Iran (Islamic Republic of)
521    #[serde(rename = "IR")]
522    Iran,
523    /// Iraq
524    #[serde(rename = "IQ")]
525    Iraq,
526    /// Ireland
527    #[serde(rename = "IE")]
528    Ireland,
529    /// Isle of Man
530    #[serde(rename = "IM")]
531    IsleOfMan,
532    /// Israel
533    #[serde(rename = "IL")]
534    Israel,
535    /// Italy
536    #[serde(rename = "IT")]
537    Italy,
538    /// Ivory Coast
539    #[serde(rename = "CI")]
540    IvoryCoast,
541    /// Jamaica
542    #[serde(rename = "JM")]
543    Jamaica,
544    /// Japan
545    #[serde(rename = "JP")]
546    Japan,
547    /// Jersey
548    #[serde(rename = "JE")]
549    Jersey,
550    /// Jordan
551    #[serde(rename = "JO")]
552    Jordan,
553    /// Kazakhstan
554    #[serde(rename = "KZ")]
555    Kazakhstan,
556    /// Kenya
557    #[serde(rename = "KE")]
558    Kenya,
559    /// Kiribati
560    #[serde(rename = "KI")]
561    Kiribati,
562    /// Kuwait
563    #[serde(rename = "KW")]
564    Kuwait,
565    /// Kyrgyzstan
566    #[serde(rename = "KG")]
567    Kyrgyzstan,
568    /// Lao Peoples Democratic Republic
569    #[serde(rename = "LA")]
570    LaoPeoplesDemocraticRepublic,
571    /// Latin America
572    #[serde(rename = "_LA")]
573    LatinAmerica,
574    /// Latvia
575    #[serde(rename = "LV")]
576    Latvia,
577    /// Latvia (pre-Euro)
578    #[serde(rename = "XLV")]
579    LatviaPreEuro,
580    /// Lebanon
581    #[serde(rename = "LB")]
582    Lebanon,
583    /// Lesotho
584    #[serde(rename = "LS")]
585    Lesotho,
586    /// Liberia
587    #[serde(rename = "LR")]
588    Liberia,
589    /// Libyan Arab Jamahiriya
590    #[serde(rename = "LY")]
591    LibyanArabJamahiriya,
592    /// Liechtenstein
593    #[serde(rename = "LI")]
594    Liechtenstein,
595    /// Lithuania
596    #[serde(rename = "LT")]
597    Lithuania,
598    /// Lithuania (pre-Euro)
599    #[serde(rename = "XLT")]
600    LithuaniaPreEuro,
601    /// Luxembourg
602    #[serde(rename = "LU")]
603    Luxembourg,
604    /// Macau
605    #[serde(rename = "MO")]
606    Macau,
607    /// Madagascar
608    #[serde(rename = "MG")]
609    Madagascar,
610    /// Malawi
611    #[serde(rename = "MW")]
612    Malawi,
613    /// Malaysia
614    #[serde(rename = "MY")]
615    Malaysia,
616    /// Maldives
617    #[serde(rename = "MV")]
618    Maldives,
619    /// Mali
620    #[serde(rename = "ML")]
621    Mali,
622    /// Malta
623    #[serde(rename = "MT")]
624    Malta,
625    /// Malta (pre-Euro)
626    #[serde(rename = "XMT")]
627    MaltaPreEuro,
628    /// Marshall Islands
629    #[serde(rename = "MH")]
630    MarshallIslands,
631    /// Martinique
632    #[serde(rename = "MQ")]
633    Martinique,
634    /// Mauritania
635    #[serde(rename = "MR")]
636    Mauritania,
637    /// Mauritius
638    #[serde(rename = "MU")]
639    Mauritius,
640    /// Mayotte
641    #[serde(rename = "YT")]
642    Mayotte,
643    /// Mexico
644    #[serde(rename = "MX")]
645    Mexico,
646    /// Micronesia (Federated States of)
647    #[serde(rename = "FM")]
648    Micronesia,
649    /// Middle East
650    #[serde(rename = "_ME")]
651    MiddleEast,
652    /// Moldova (Republic of)
653    #[serde(rename = "MD")]
654    MoldovaRepublicOf,
655    /// Monaco
656    #[serde(rename = "MC")]
657    Monaco,
658    /// Mongolia
659    #[serde(rename = "MN")]
660    Mongolia,
661    /// Montenegro
662    #[serde(rename = "ME")]
663    Montenegro,
664    /// Montserrat
665    #[serde(rename = "MS")]
666    Montserrat,
667    /// Morocco
668    #[serde(rename = "MA")]
669    Morocco,
670    /// Mozambique
671    #[serde(rename = "MZ")]
672    Mozambique,
673    /// Myanmar
674    #[serde(rename = "MM")]
675    Myanmar,
676    /// Namibia
677    #[serde(rename = "NA")]
678    Namibia,
679    /// Nauru
680    #[serde(rename = "NR")]
681    Nauru,
682    /// Nepal
683    #[serde(rename = "NP")]
684    Nepal,
685    /// Netherlands
686    #[serde(rename = "NL")]
687    Netherlands,
688    /// Netherlands Antilles
689    #[serde(rename = "AN")]
690    NetherlandsAntilles,
691    /// New Caledonia
692    #[serde(rename = "NC")]
693    NewCaledonia,
694    /// New Zealand
695    #[serde(rename = "NZ")]
696    NewZealand,
697    /// Nicaragua
698    #[serde(rename = "NI")]
699    Nicaragua,
700    /// Niger
701    #[serde(rename = "NE")]
702    Niger,
703    /// Nigeria
704    #[serde(rename = "NG")]
705    Nigeria,
706    /// Niue
707    #[serde(rename = "NU")]
708    Niue,
709    /// Norfolk Island
710    #[serde(rename = "NF")]
711    NorfolkIsland,
712    /// North Korea
713    #[serde(rename = "KP")]
714    NorthKorea,
715    /// North Macedonia
716    #[serde(rename = "MK")]
717    NorthMacedonia,
718    /// Northern Mariana Islands
719    #[serde(rename = "MP")]
720    NorthernMarianaIslands,
721    /// Norway
722    #[serde(rename = "NO")]
723    Norway,
724    /// Oman
725    #[serde(rename = "OM")]
726    Oman,
727    /// Pakistan
728    #[serde(rename = "PK")]
729    Pakistan,
730    /// Palau
731    #[serde(rename = "PW")]
732    Palau,
733    /// Panama
734    #[serde(rename = "PA")]
735    Panama,
736    /// Papua New Guinea
737    #[serde(rename = "PG")]
738    PapuaNewGuinea,
739    /// Paraguay
740    #[serde(rename = "PY")]
741    Paraguay,
742    /// Peru
743    #[serde(rename = "PE")]
744    Peru,
745    /// Philippines
746    #[serde(rename = "PH")]
747    Philippines,
748    /// Pitcairn
749    #[serde(rename = "PN")]
750    Pitcairn,
751    /// Poland
752    #[serde(rename = "PL")]
753    Poland,
754    /// Portugal
755    #[serde(rename = "PT")]
756    Portugal,
757    /// Puerto Rico
758    #[serde(rename = "PR")]
759    PuertoRico,
760    /// Qatar
761    #[serde(rename = "QA")]
762    Qatar,
763    /// Reunion
764    #[serde(rename = "RE")]
765    Reunion,
766    /// Romania
767    #[serde(rename = "RO")]
768    Romania,
769    /// Russian Federation
770    #[serde(rename = "RU")]
771    RussianFederation,
772    /// Rwanda
773    #[serde(rename = "RW")]
774    Rwanda,
775    /// Saint Barthélemy
776    #[serde(rename = "BL")]
777    SaintBarthélemy,
778    /// Saint Helena, Ascension and Tristan da Cunha
779    #[serde(rename = "SH")]
780    SaintHelena,
781    /// Saint Kitts
782    #[serde(rename = "KN")]
783    SaintKitts,
784    /// Saint Lucia
785    #[serde(rename = "LC")]
786    SaintLucia,
787    /// Saint Martin
788    #[serde(rename = "MF")]
789    SaintMartin,
790    /// Saint Pierre and Miquelon
791    #[serde(rename = "PM")]
792    SaintPierreAndMiquelon,
793    /// Saint Vincent Grenadines
794    #[serde(rename = "VC")]
795    SaintVincentGrenadines,
796    /// Samoa
797    #[serde(rename = "WS")]
798    Samoa,
799    /// San Marino
800    #[serde(rename = "SM")]
801    SanMarino,
802    /// Sao Tome and Principe
803    #[serde(rename = "ST")]
804    SaoTomeAndPrincipe,
805    /// Saudi Arabia
806    #[serde(rename = "SA")]
807    SaudiArabia,
808    /// Senegal
809    #[serde(rename = "SN")]
810    Senegal,
811    /// Serbia
812    #[serde(rename = "RS")]
813    Serbia,
814    /// Seychelles
815    #[serde(rename = "SC")]
816    Seychelles,
817    /// Sierra Leone
818    #[serde(rename = "SL")]
819    SierraLeone,
820    /// Singapore
821    #[serde(rename = "SG")]
822    Singapore,
823    /// Sint Maarten
824    #[serde(rename = "SX")]
825    SintMaarten,
826    /// Slovakia (Slovak Republic)
827    #[serde(rename = "SK")]
828    Slovakia,
829    /// Slovakia (pre-Euro)
830    #[serde(rename = "XSK")]
831    SlovakiaPreEuro,
832    /// Slovenia
833    #[serde(rename = "SI")]
834    Slovenia,
835    /// Solomon Islands
836    #[serde(rename = "SB")]
837    SolomonIslands,
838    /// Somalia
839    #[serde(rename = "SO")]
840    Somalia,
841    /// South Africa
842    #[serde(rename = "ZA")]
843    SouthAfrica,
844    /// South Georgia and the South Sandwich Islands
845    #[serde(rename = "GS")]
846    SouthGeorgiaAndTheSouthSandwichIslands,
847    /// South Korea
848    #[serde(rename = "KR")]
849    SouthKorea,
850    /// South Sudan
851    #[serde(rename = "SS")]
852    SouthSudan,
853    /// Spain
854    #[serde(rename = "ES")]
855    Spain,
856    /// Sri Lanka
857    #[serde(rename = "LK")]
858    SriLanka,
859    /// State of Palestine
860    #[serde(rename = "PS")]
861    StateOfPalestine,
862    /// Sudan
863    #[serde(rename = "SD")]
864    Sudan,
865    /// Suriname
866    #[serde(rename = "SR")]
867    Suriname,
868    /// Svalbard and Jan Mayen Islands
869    #[serde(rename = "SJ")]
870    SvalbardAndJanMayenIslands,
871    /// Swaziland
872    #[serde(rename = "SZ")]
873    Swaziland,
874    /// Sweden
875    #[serde(rename = "SE")]
876    Sweden,
877    /// Switzerland
878    #[serde(rename = "CH")]
879    Switzerland,
880    /// Syrian Arab Republic
881    #[serde(rename = "SY")]
882    SyrianArabRepublic,
883    /// Taiwan
884    #[serde(rename = "TW")]
885    Taiwan,
886    /// Tajikistan
887    #[serde(rename = "TJ")]
888    Tajikistan,
889    /// Tanzania
890    #[serde(rename = "TZ")]
891    Tanzania,
892    /// Thailand
893    #[serde(rename = "TH")]
894    Thailand,
895    /// Togo
896    #[serde(rename = "TG")]
897    Togo,
898    /// Tokelau
899    #[serde(rename = "TK")]
900    Tokelau,
901    /// Tonga
902    #[serde(rename = "TO")]
903    Tonga,
904    /// Trinidad and Tobago
905    #[serde(rename = "TT")]
906    TrinidadAndTobago,
907    /// Tunisia
908    #[serde(rename = "TN")]
909    Tunisia,
910    /// Turkey
911    #[serde(rename = "TR")]
912    Turkey,
913    /// Turkmenistan
914    #[serde(rename = "TM")]
915    Turkmenistan,
916    /// Turks and Caicos Islands
917    #[serde(rename = "TC")]
918    TurksAndCaicosIslands,
919    /// Tuvalu
920    #[serde(rename = "TV")]
921    Tuvalu,
922    /// Uganda
923    #[serde(rename = "UG")]
924    Uganda,
925    /// Ukraine
926    #[serde(rename = "UA")]
927    Ukraine,
928    /// United Arab Emirates
929    #[serde(rename = "AE")]
930    UnitedArabEmirates,
931    /// United Kingdom
932    #[serde(rename = "GB")]
933    UnitedKingdom,
934    /// United States
935    #[serde(rename = "US")]
936    UnitedStates,
937    /// United States Minor Outlying Islands
938    #[serde(rename = "UM")]
939    UnitedStatesMinorOutlyingIslands,
940    /// Unknown
941    #[serde(rename = "UN")]
942    Unknown,
943    /// Uruguay
944    #[serde(rename = "UY")]
945    Uruguay,
946    /// Uzbekistan
947    #[serde(rename = "UZ")]
948    Uzbekistan,
949    /// Vanuatu
950    #[serde(rename = "VU")]
951    Vanuatu,
952    /// Vatican City State (Holy See)
953    #[serde(rename = "VA")]
954    VaticanCityState,
955    /// Venezuela
956    #[serde(rename = "VE")]
957    Venezuela,
958    /// Vietnam
959    #[serde(rename = "VN")]
960    Vietnam,
961    /// Virgin Islands (British)
962    #[serde(rename = "VG")]
963    VirginIslandsBritish,
964    /// Virgin Islands (US)
965    #[serde(rename = "VI")]
966    VirginIslandsUS,
967    /// Wallis and Futuna Islands
968    #[serde(rename = "WF")]
969    WallisAndFutunaIslands,
970    /// Western Sahara
971    #[serde(rename = "EH")]
972    WesternSahara,
973    /// Yemen
974    #[serde(rename = "YE")]
975    Yemen,
976    /// Zambia
977    #[serde(rename = "ZM")]
978    Zambia,
979    /// Zimbabwe
980    #[serde(rename = "ZW")]
981    Zimbabwe,
982    /// Åland Islands
983    #[serde(rename = "AX")]
984    ÅlandIslands,
985}
986
987#[allow(clippy::upper_case_acronyms)]
988#[derive(Clone, Copy, Debug, PartialEq, Eq, Deserialize, Serialize)]
989pub enum Currency {
990    /// Afghani
991    AFN,
992    /// Albanian Lek
993    ALL,
994    /// Algerian Dinar
995    DZD,
996    /// Argentine Peso
997    ARS,
998    /// Armenian Dram
999    AMD,
1000    /// Australian Dollars
1001    AUD,
1002    /// Azerbaijani Manat
1003    AZN,
1004    /// Bahamian Dollar
1005    BSD,
1006    /// Bahraini Dinar
1007    BHD,
1008    /// Baht
1009    THB,
1010    /// Barbadian Dollar
1011    BBD,
1012    /// Belarusian Ruble
1013    BYN,
1014    /// Belizean Dollar
1015    BZD,
1016    /// Bermudian Dollar
1017    BMD,
1018    /// Bitcoin
1019    #[serde(alias = "XBT")]
1020    BTC,
1021    /// Bitshares
1022    BTS,
1023    /// Bolivar
1024    VEF,
1025    /// Boliviano
1026    BOB,
1027    /// Bosnia and Herzegovina Convertible Mark
1028    BAM,
1029    /// Brazil Real
1030    BRL,
1031    /// Brunei Dollar
1032    BND,
1033    /// Burundi Franc
1034    BIF,
1035    /// CFA Franc BCEAO
1036    XOF,
1037    /// CFA Franc BEAC
1038    XAF,
1039    /// CFP Franc
1040    XPF,
1041    /// Canadian Dollar
1042    CAD,
1043    /// Caymanian Dollar
1044    KYD,
1045    /// Chilean Peso
1046    CLP,
1047    /// Chinese Yuan (Offshore)
1048    CNH,
1049    /// Colombian Peso
1050    COP,
1051    /// Comoran Franc
1052    KMF,
1053    /// Congolese Frank
1054    CDF,
1055    /// Cordoba Oro
1056    NIO,
1057    /// Costa Rican Colon
1058    CRC,
1059    /// Croatian Kuna
1060    HRK,
1061    /// Cuban Peso
1062    CUP,
1063    /// Cypriot Pound
1064    CYP,
1065    /// Dalasi
1066    GMD,
1067    /// Danish Krone
1068    DKK,
1069    /// Dash
1070    DAS,
1071    /// Dinar
1072    SDG,
1073    /// Dirham
1074    MAD,
1075    /// Dirham
1076    AED,
1077    /// Djiboutian Franc
1078    DJF,
1079    /// Dobra
1080    STD,
1081    /// Dominican Peso
1082    DOP,
1083    /// Dong
1084    VND,
1085    /// East Caribbean Dollar
1086    XCD,
1087    /// Egyptian Pound
1088    EGP,
1089    /// Escudo
1090    CVE,
1091    /// Estonian Kroon
1092    EEK,
1093    /// Ethereum
1094    ETH,
1095    /// Ethiopian Birr
1096    ETB,
1097    /// Euros
1098    EUR,
1099    /// Falkland Pound
1100    FKP,
1101    /// Fijian Dollar
1102    FJD,
1103    /// Forint
1104    HUF,
1105    /// Gibraltar Pound
1106    GIP,
1107    /// Gourde
1108    HTG,
1109    /// Guinean Franc
1110    GNF,
1111    /// Guyanaese Dollar
1112    GYD,
1113    /// Hong Kong Dollar
1114    HKD,
1115    /// Hryvnia
1116    UAH,
1117    /// Icelandic Krona
1118    ISK,
1119    /// Indian Rupee
1120    INR,
1121    /// Indonesian Rupiah
1122    IDR,
1123    /// Iranian Rial
1124    IRR,
1125    /// Iraqi Dinar
1126    IQD,
1127    /// Jamaican Dollar
1128    JMD,
1129    /// Japanese Yen
1130    JPY,
1131    /// Jordanian Dinar
1132    JOD,
1133    /// Kazahstani Tenge
1134    KZT,
1135    /// Kenyan Shilling
1136    KES,
1137    /// Kina
1138    PGK,
1139    /// Kip
1140    LAK,
1141    /// Koruna
1142    CZK,
1143    /// Koruna
1144    SKK,
1145    /// Krona
1146    SEK,
1147    /// Kuwaiti Dinar
1148    KWD,
1149    /// Kwacha
1150    ZMK,
1151    /// Kyat
1152    MMK,
1153    /// Lari
1154    GEL,
1155    /// Lat
1156    LVL,
1157    /// Lebanese Pound
1158    LBP,
1159    /// Lempira
1160    HNL,
1161    /// Leone
1162    SLL,
1163    /// Leu
1164    MDL,
1165    /// Leu
1166    RON,
1167    /// Lev
1168    BGN,
1169    /// Liberian Dollar
1170    LRD,
1171    /// Libyan Dinar
1172    LYD,
1173    /// Lilangeni
1174    SZL,
1175    /// Lira
1176    TRY,
1177    /// Lita
1178    LTL,
1179    /// Litecoin
1180    LTC,
1181    /// Loti
1182    LSL,
1183    /// Macanese Pataca
1184    MOP,
1185    /// Macedonian Denar
1186    MKD,
1187    /// Malagasy Franc
1188    MGA,
1189    /// Malawian Kwacha
1190    MWK,
1191    /// Maldivian Rufiyaa
1192    MVR,
1193    /// Maltese Lira
1194    MTL,
1195    /// Manat
1196    TMT,
1197    /// Mauritian Rupee
1198    MUR,
1199    /// Metical
1200    MZN,
1201    /// Mexican Peso
1202    MXN,
1203    /// Monero
1204    XMR,
1205    /// Naira
1206    NGN,
1207    /// Namibian Dollar
1208    NAD,
1209    /// Nepalese Rupee
1210    NPR,
1211    /// Netherlands Antilles Guilder
1212    ANG,
1213    /// New Taiwan Dollar
1214    TWD,
1215    /// New Zealand Dollars
1216    NZD,
1217    /// North Korean Won
1218    KPW,
1219    /// Norwegian Krone
1220    NOK,
1221    /// Nuevo Sol
1222    PEN,
1223    /// Omani Rial
1224    OMR,
1225    /// Ouguiya
1226    MRO,
1227    /// Pakistani Rupee
1228    PKR,
1229    /// Palanga
1230    TOP,
1231    /// Panamaian Balboa
1232    PAB,
1233    /// Paraguayan Guaraní
1234    PYG,
1235    /// Philippine Peso
1236    PHP,
1237    /// Pounds Sterling
1238    GBP,
1239    /// Pula
1240    BWP,
1241    /// Qatari Riyal
1242    QAR,
1243    /// Quetzal
1244    GTQ,
1245    /// Rand
1246    ZAR,
1247    /// Rial
1248    YER,
1249    /// Riel
1250    KHR,
1251    /// Ringgit
1252    MYR,
1253    /// Ripple
1254    XRP,
1255    /// Riyal
1256    SAR,
1257    /// Ruble
1258    RUB,
1259    /// Rwanda Franc
1260    RWF,
1261    /// Salvadoran Colon
1262    SVC,
1263    /// Serbian Dinar
1264    RSD,
1265    /// Seychellois Rupee
1266    SCR,
1267    /// Shekel
1268    ILS,
1269    /// Shilling
1270    SOS,
1271    /// Shilling
1272    TZS,
1273    /// Shilling
1274    UGX,
1275    /// Singapore Dollar
1276    SGD,
1277    /// Solomon Islands Dollar
1278    SBD,
1279    /// Som
1280    KGS,
1281    /// South Korean Won
1282    KRW,
1283    /// Sri Lankan Rupee
1284    LKR,
1285    /// Stellar
1286    XLM,
1287    /// Sucre
1288    ECS,
1289    /// Surinamese Guilder
1290    SRD,
1291    /// Swiss Franc
1292    CHF,
1293    /// Syrian Pound
1294    SYP,
1295    /// Tajikistan Ruble
1296    TJS,
1297    /// Taka
1298    BDT,
1299    /// Trinidad and Tobago Dollar
1300    TTD,
1301    /// Tugrik
1302    MNT,
1303    /// Tunisian Dinar
1304    TND,
1305    /// United States Dollar
1306    USD,
1307    /// Uruguayan Peso
1308    UYU,
1309    /// Uzbekistani Soʻm
1310    UZS,
1311    /// Vanuatu Vatu
1312    VUV,
1313    /// Yuan Renminbi
1314    CNY,
1315    /// Zimbabwe Dollar
1316    ZWD,
1317    /// Zloty
1318    PLN,
1319    // Tether (USDT)
1320    USDT,
1321}
1322
1323#[derive(Clone, Copy, Debug, PartialEq, Eq, Deserialize, Serialize)]
1324pub enum SaleAllocationMethod {
1325    /// Average Cost
1326    #[serde(rename = "average")]
1327    AverageCost,
1328    /// Portfolio Default
1329    #[serde(rename = "default")]
1330    PortfolioDefault,
1331    /// First In, First Out
1332    #[serde(rename = "fifo")]
1333    FirstInFirstOut,
1334    /// Last In, First Out
1335    #[serde(rename = "lifo")]
1336    LastInFirstOut,
1337    /// Maximise Gain
1338    #[serde(rename = "maximise_cr")]
1339    MaximiseGain,
1340    /// Minimise Gain
1341    #[serde(rename = "minimise_cr")]
1342    MinimiseGain,
1343    /// Minimise CGT
1344    #[serde(rename = "ss_minimise")]
1345    MinimiseCgt,
1346}
1347
1348#[derive(Clone, Copy, Debug, PartialEq, Eq, Deserialize, Serialize)]
1349#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
1350pub enum CashAccountTransactionType {
1351    #[serde(rename = "OPENING BALANCE")]
1352    OpeningBalance,
1353    Deposit,
1354    Withdrawal,
1355    InterestPayment,
1356    Fee,
1357    FeeReimbursement,
1358}
1359
1360#[cfg(test)]
1361mod test {
1362    use serde::de::value;
1363
1364    use super::*;
1365
1366    type StrDeserializer<'a> = value::StrDeserializer<'a, value::Error>;
1367
1368    #[test]
1369    fn test_deserialize_btc_currency() {
1370        assert_eq!(
1371            Currency::BTC,
1372            Currency::deserialize(StrDeserializer::new("BTC")).unwrap(),
1373        );
1374    }
1375}