-
Notifications
You must be signed in to change notification settings - Fork 15
/
util.ts
39 lines (32 loc) · 1.06 KB
/
util.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
import {bool, False, int, str, True} from "../types/_python_types_";
import {Condition, ConditionValidTimes} from "../wallet/conditions";
import {TXConfigLoader, TXEndpointForCompat} from "../wallet/util/tx_config";
import {UnsignedTransaction} from "../wallet/signer_protocol";
export type ExtraCondition = {
opcode: str | int;
args: Condition;
};
export type TranslationLayerKey = "CHIP-0028";
export type CHIP0029 = { "CHIP-0029"?: True } | { "CHIP-0029"?: False };
export type Marshall = {
translation?: TranslationLayerKey;
} & CHIP0029;
export type TXEndpointRequest = {
wallet_type: str;
extra_conditions?: ExtraCondition[];
push?: bool;
merge_spends?: bool;
sign?: bool;
translation?: TranslationLayerKey;
}
& CHIP0029
& TXConfigLoader
& TXEndpointForCompat
& Partial<ConditionValidTimes>
;
export type CHIP0029UnsignedTransaction<T extends TXEndpointRequest> = T extends {"CHIP-0029"?: True}
? str[] : UnsignedTransaction[];
export type TxeResp<Req extends TXEndpointRequest, Res> = Res &
{
unsigned_transactions: CHIP0029UnsignedTransaction<Req>;
};