UNPKG

1.56 kBPlain TextView Raw
1import { ABIEncoding, Address, AssetId, DecString, HexString, PublicIdentifier } from "./basic";
2import {
3 MultiAssetMultiPartyCoinTransferInterpreterParamsJson,
4 OutcomeType,
5 SingleAssetTwoPartyCoinTransferInterpreterParamsJson,
6 TwoPartyFixedOutcomeInterpreterParamsJson,
7} from "./contracts";
8
9////////////////////////////////////
10// App Instances
11
12export type AppABIEncodings = {
13 actionEncoding: ABIEncoding | undefined;
14 stateEncoding: ABIEncoding;
15};
16
17export type AppInstanceJson = {
18 abiEncodings: AppABIEncodings;
19 appDefinition: Address;
20 appSeqNo: number;
21 bytecode?: HexString;
22 defaultTimeout: HexString;
23 identityHash: HexString;
24 initiatorDeposit: DecString;
25 initiatorDepositAssetId: AssetId;
26 initiatorIdentifier: PublicIdentifier;
27 latestAction?: any;
28 latestState: any;
29 latestVersionNumber: number;
30 meta?: any;
31 multisigAddress: Address;
32 outcomeInterpreterParameters:
33 | TwoPartyFixedOutcomeInterpreterParamsJson
34 | MultiAssetMultiPartyCoinTransferInterpreterParamsJson
35 | SingleAssetTwoPartyCoinTransferInterpreterParamsJson;
36 outcomeType: OutcomeType;
37 responderDeposit: DecString;
38 responderDepositAssetId: AssetId;
39 responderIdentifier: PublicIdentifier;
40 stateTimeout: HexString;
41};
42
43////////////////////////////////////
44// App Registry
45
46export type DefaultApp = {
47 actionEncoding?: ABIEncoding;
48 allowNodeInstall: boolean;
49 appDefinitionAddress: Address;
50 chainId: number;
51 name: string;
52 outcomeType: OutcomeType;
53 stateEncoding: ABIEncoding;
54};
55
56export type AppRegistry = DefaultApp[];