Skip to content

Commit 180af4e

Browse files
authored
Merge pull request #2243 from oasisprotocol/lw/ts-rofl
ts-web/rt: add rofl and roflmarket modules
2 parents 48946d6 + 184501d commit 180af4e

File tree

4 files changed

+622
-0
lines changed

4 files changed

+622
-0
lines changed

client-sdk/ts-web/rt/src/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ export * as event from './event';
99
export * as evm from './evm';
1010
export * as mraeDeoxysii from './mrae/deoxysii';
1111
export * as rewards from './rewards';
12+
export * as rofl from './rofl';
13+
export * as roflmarket from './roflmarket';
1214
export * as signatureSecp256k1 from './signature_secp256k1';
1315
export * as token from './token';
1416
export * as transaction from './transaction';

client-sdk/ts-web/rt/src/rofl.ts

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
import * as oasis from '@oasisprotocol/client';
2+
import * as event from './event';
3+
import * as transaction from './transaction';
4+
import * as types from './types';
5+
import * as wrapper from './wrapper';
6+
7+
/**
8+
* Unique module name.
9+
*/
10+
export const MODULE_NAME = 'rofl';
11+
12+
// Callable methods.
13+
export const METHOD_CREATE = 'rofl.Create';
14+
export const METHOD_UPDATE = 'rofl.Update';
15+
export const METHOD_REMOVE = 'rofl.Remove';
16+
export const METHOD_REGISTER = 'rofl.Register';
17+
18+
// Queries.
19+
export const METHOD_APP = 'rofl.App';
20+
export const METHOD_APPS = 'rofl.Apps';
21+
export const METHOD_APP_INSTANCE = 'rofl.AppInstance';
22+
export const METHOD_APP_INSTANCES = 'rofl.AppInstances';
23+
export const METHOD_PARAMETERS = 'rofl.Parameters';
24+
export const METHOD_STAKE_THRESHOLDS = 'rofl.StakeThresholds';
25+
26+
// Events.
27+
export const EVENT_APP_CREATED_CODE = 1;
28+
export const EVENT_APP_UPDATED_CODE = 2;
29+
export const EVENT_APP_REMOVED_CODE = 3;
30+
export const EVENT_INSTANCE_REGISTERED_CODE = 4;
31+
32+
export const ADDRESS_PREFIX = 'rofl';
33+
export function toBech32(appID: types.AppID) {
34+
return oasis.address.toBech32(ADDRESS_PREFIX, appID);
35+
}
36+
export function fromBech32(str: string): types.AppID {
37+
return oasis.address.fromBech32(ADDRESS_PREFIX, str);
38+
}
39+
40+
export class Wrapper extends wrapper.Base {
41+
constructor(runtimeID: Uint8Array) {
42+
super(runtimeID);
43+
}
44+
45+
callCreate() {
46+
return this.call<types.RoflCreate, void>(METHOD_CREATE);
47+
}
48+
49+
callUpdate() {
50+
return this.call<types.RoflUpdate, void>(METHOD_UPDATE);
51+
}
52+
53+
callRemove() {
54+
return this.call<types.RoflRemove, void>(METHOD_REMOVE);
55+
}
56+
57+
callRegister() {
58+
return this.call<types.RoflRegister, void>(METHOD_REGISTER);
59+
}
60+
61+
queryApp() {
62+
return this.query<types.RoflAppQuery, types.RoflAppConfig>(METHOD_APP);
63+
}
64+
65+
queryApps() {
66+
return this.query<void, types.RoflAppConfig[]>(METHOD_APPS);
67+
}
68+
69+
queryAppInstance() {
70+
return this.query<types.RoflAppInstanceQuery, types.RoflRegistration>(METHOD_APP_INSTANCE);
71+
}
72+
73+
queryAppInstances() {
74+
return this.query<types.RoflAppQuery, types.RoflRegistration[]>(METHOD_APP_INSTANCES);
75+
}
76+
77+
queryStakeThresholds() {
78+
return this.query<void, types.RoflStakeThresholds>(METHOD_STAKE_THRESHOLDS);
79+
}
80+
81+
queryParameters() {
82+
return this.query<void, types.RoflParameters>(METHOD_PARAMETERS);
83+
}
84+
}
85+
86+
export function moduleEventHandler(codes: {
87+
[EVENT_APP_CREATED_CODE]?: event.Handler<types.RoflAppCreatedEvent>;
88+
[EVENT_APP_UPDATED_CODE]?: event.Handler<types.RoflAppUpdatedEvent>;
89+
[EVENT_APP_REMOVED_CODE]?: event.Handler<types.RoflAppRemovedEvent>;
90+
[EVENT_INSTANCE_REGISTERED_CODE]?: event.Handler<types.RoflInstanceRegisteredEvent>;
91+
}) {
92+
return [MODULE_NAME, codes] as event.ModuleHandler;
93+
}
94+
95+
export type TransactionCallHandlers = {
96+
[METHOD_CREATE]?: transaction.CallHandler<types.RoflCreate>;
97+
[METHOD_UPDATE]?: transaction.CallHandler<types.RoflUpdate>;
98+
[METHOD_REMOVE]?: transaction.CallHandler<types.RoflRemove>;
99+
[METHOD_REGISTER]?: transaction.CallHandler<types.RoflRegister>;
100+
};
Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
import * as event from './event';
2+
import * as transaction from './transaction';
3+
import * as types from './types';
4+
import * as wrapper from './wrapper';
5+
6+
/**
7+
* Unique module name.
8+
*/
9+
export const MODULE_NAME = 'roflmarket';
10+
11+
// Callable methods.
12+
export const METHOD_PROVIDER_CREATE = 'roflmarket.ProviderCreate';
13+
export const METHOD_PROVIDER_UPDATE = 'roflmarket.ProviderUpdate';
14+
export const METHOD_PROVIDER_UPDATE_OFFERS = 'roflmarket.ProviderUpdateOffers';
15+
export const METHOD_PROVIDER_REMOVE = 'roflmarket.ProviderRemove';
16+
export const METHOD_INSTANCE_CREATE = 'roflmarket.InstanceCreate';
17+
export const METHOD_INSTANCE_TOP_UP = 'roflmarket.InstanceTopUp';
18+
export const METHOD_INSTANCE_CANCEL = 'roflmarket.InstanceCancel';
19+
export const METHOD_INSTANCE_EXECUTE_CMDS = 'roflmarket.InstanceExecuteCmds';
20+
21+
// Queries.
22+
export const METHOD_PROVIDER = 'roflmarket.Provider';
23+
export const METHOD_PROVIDERS = 'roflmarket.Providers';
24+
export const METHOD_OFFER = 'roflmarket.Offer';
25+
export const METHOD_OFFERS = 'roflmarket.Offers';
26+
export const METHOD_INSTANCE = 'roflmarket.Instance';
27+
export const METHOD_INSTANCES = 'roflmarket.Instances';
28+
export const METHOD_INSTANCE_COMMANDS = 'roflmarket.InstanceCommands';
29+
export const METHOD_PARAMETERS = 'roflmarket.Parameters';
30+
export const METHOD_STAKE_THRESHOLDS = 'roflmarket.StakeThresholds';
31+
32+
// Events.
33+
export const EVENT_PROVIDER_CREATED_CODE = 1;
34+
export const EVENT_PROVIDER_UPDATED_CODE = 2;
35+
export const EVENT_PROVIDER_REMOVED_CODE = 3;
36+
export const EVENT_INSTANCE_CREATED_CODE = 4;
37+
export const EVENT_INSTANCE_UPDATED_CODE = 5;
38+
export const EVENT_INSTANCE_ACCEPTED_CODE = 6;
39+
export const EVENT_INSTANCE_CANCELLED_CODE = 7;
40+
export const EVENT_INSTANCE_REMOVED_CODE = 8;
41+
export const EVENT_INSTANCE_COMMAND_QUEUED_CODE = 9;
42+
43+
export class Wrapper extends wrapper.Base {
44+
constructor(runtimeID: Uint8Array) {
45+
super(runtimeID);
46+
}
47+
48+
callProviderCreate() {
49+
return this.call<types.RoflmarketProviderCreate, void>(METHOD_PROVIDER_CREATE);
50+
}
51+
52+
callProviderUpdate() {
53+
return this.call<types.RoflmarketProviderUpdate, void>(METHOD_PROVIDER_UPDATE);
54+
}
55+
56+
callProviderUpdateOffers() {
57+
return this.call<types.RoflmarketProviderUpdateOffers, void>(METHOD_PROVIDER_UPDATE_OFFERS);
58+
}
59+
60+
callProviderRemove() {
61+
return this.call<types.RoflmarketProviderRemove, void>(METHOD_PROVIDER_REMOVE);
62+
}
63+
64+
callInstanceCreate() {
65+
return this.call<types.RoflmarketInstanceCreate, void>(METHOD_INSTANCE_CREATE);
66+
}
67+
68+
callInstanceTopUp() {
69+
return this.call<types.RoflmarketInstanceTopUp, void>(METHOD_INSTANCE_TOP_UP);
70+
}
71+
72+
callInstanceCancel() {
73+
return this.call<types.RoflmarketInstanceCancel, void>(METHOD_INSTANCE_CANCEL);
74+
}
75+
76+
callInstanceExecuteCmds() {
77+
return this.call<types.RoflmarketInstanceExecuteCmds, void>(METHOD_INSTANCE_EXECUTE_CMDS);
78+
}
79+
80+
queryProvider() {
81+
return this.query<types.RoflmarketProviderQuery, types.RoflmarketProvider>(METHOD_PROVIDER);
82+
}
83+
84+
queryProviders() {
85+
return this.query<void, types.RoflmarketProvider[]>(METHOD_PROVIDERS);
86+
}
87+
88+
queryOffer() {
89+
return this.query<types.RoflmarketOfferQuery, types.RoflmarketOffer>(METHOD_OFFER);
90+
}
91+
92+
queryOffers() {
93+
return this.query<types.RoflmarketProviderQuery, types.RoflmarketOffer[]>(METHOD_OFFERS);
94+
}
95+
96+
queryInstance() {
97+
return this.query<types.RoflmarketInstanceQuery, types.RoflmarketInstance>(METHOD_INSTANCE);
98+
}
99+
100+
queryInstances() {
101+
return this.query<types.RoflmarketProviderQuery, types.RoflmarketInstance[]>(
102+
METHOD_INSTANCES,
103+
);
104+
}
105+
106+
queryInstanceCommands() {
107+
return this.query<types.RoflmarketInstanceQuery, types.RoflmarketQueuedCommand[]>(
108+
METHOD_INSTANCE_COMMANDS,
109+
);
110+
}
111+
112+
queryStakeThresholds() {
113+
return this.query<void, types.RoflmarketStakeThresholds>(METHOD_STAKE_THRESHOLDS);
114+
}
115+
116+
queryParameters() {
117+
return this.query<void, types.RoflmarketParameters>(METHOD_PARAMETERS);
118+
}
119+
}
120+
121+
export function moduleEventHandler(codes: {
122+
[EVENT_PROVIDER_CREATED_CODE]?: event.Handler<types.RoflmarketProviderCreatedEvent>;
123+
[EVENT_PROVIDER_UPDATED_CODE]?: event.Handler<types.RoflmarketProviderUpdatedEvent>;
124+
[EVENT_PROVIDER_REMOVED_CODE]?: event.Handler<types.RoflmarketProviderRemovedEvent>;
125+
[EVENT_INSTANCE_CREATED_CODE]?: event.Handler<types.RoflmarketInstanceCreatedEvent>;
126+
[EVENT_INSTANCE_UPDATED_CODE]?: event.Handler<types.RoflmarketInstanceUpdatedEvent>;
127+
[EVENT_INSTANCE_ACCEPTED_CODE]?: event.Handler<types.RoflmarketInstanceAcceptedEvent>;
128+
[EVENT_INSTANCE_CANCELLED_CODE]?: event.Handler<types.RoflmarketInstanceCancelledEvent>;
129+
[EVENT_INSTANCE_REMOVED_CODE]?: event.Handler<types.RoflmarketInstanceRemovedEvent>;
130+
[EVENT_INSTANCE_COMMAND_QUEUED_CODE]?: event.Handler<types.RoflmarketInstanceCommandQueuedEvent>;
131+
}) {
132+
return [MODULE_NAME, codes] as event.ModuleHandler;
133+
}
134+
135+
export type TransactionCallHandlers = {
136+
[METHOD_PROVIDER_CREATE]?: transaction.CallHandler<types.RoflmarketProviderCreate>;
137+
[METHOD_PROVIDER_UPDATE]?: transaction.CallHandler<types.RoflmarketProviderUpdate>;
138+
[METHOD_PROVIDER_UPDATE_OFFERS]?: transaction.CallHandler<types.RoflmarketProviderUpdateOffers>;
139+
[METHOD_PROVIDER_REMOVE]?: transaction.CallHandler<types.RoflmarketProviderRemove>;
140+
[METHOD_INSTANCE_CREATE]?: transaction.CallHandler<types.RoflmarketInstanceCreate>;
141+
[METHOD_INSTANCE_TOP_UP]?: transaction.CallHandler<types.RoflmarketInstanceTopUp>;
142+
[METHOD_INSTANCE_CANCEL]?: transaction.CallHandler<types.RoflmarketInstanceCancel>;
143+
[METHOD_INSTANCE_EXECUTE_CMDS]?: transaction.CallHandler<types.RoflmarketInstanceExecuteCmds>;
144+
};

0 commit comments

Comments
 (0)