-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathgeneratedClassFromGSDL.ts
96 lines (76 loc) · 2.05 KB
/
generatedClassFromGSDL.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
/** ------------------------------------------------------
* THIS FILE WAS AUTOMATICALLY GENERATED (DO NOT MODIFY)
* -------------------------------------------------------
*/
import { Ledger } from '@castframework/models';
export class ForgeInputs {
enchantement: string;
description?: string;
}
export class NewTrade {
kek: string;
}
export class Armor {
name: string;
enchantements: string[];
description: string;
armorClass: number;
}
export class Equipment {
name: string;
enchantements: string[];
description: string;
}
export abstract class IMutation {
abstract post(newTrade: NewTrade): Trade | Promise<Trade>;
abstract burn(): boolean | Promise<boolean>;
abstract forge(): Weapon | Promise<Weapon>;
abstract forgeMagick(magickArgs: ForgeInputs): Weapon | Promise<Weapon>;
abstract smith(): Armor | Promise<Armor>;
}
export abstract class IQuery {
abstract trade(id?: string): Trade[] | Promise<Trade[]>;
abstract shop(): Equipment[] | Promise<Equipment[]>;
abstract shopWeapon(): Weapon[] | Promise<Weapon[]>;
abstract rollDmg(
strengthMod: number,
weaponName: string,
): number | Promise<number>;
abstract shopArmor(): Armor[] | Promise<Armor[]>;
abstract tradesCSV(): string | Promise<string>;
}
export abstract class ISubscription {
abstract newWeapon(): Weapon | Promise<Weapon>;
abstract newArmor(): Armor | Promise<Armor>;
}
export class Trade {
id: string;
operationId: number;
instrumentId: number;
ledger: Ledger;
contractAddress: string;
buyerId: number;
sellerId: number;
quantity: number;
price: number;
amount: number;
amountCurrency: string;
fees: number;
feesCurrency: string;
executionDate: string;
settlementDate: string;
settlementType: string;
transactionType: string;
buyerCashAccount: string;
buyerLedgerAddress: string;
sellerCashAddress: string;
sellerLedgerAddress: string;
settlementCashAccount: string;
}
export class Weapon {
name: string;
enchantements: string[];
description: string;
diceType: number;
numberOfDice: number;
}