-
Notifications
You must be signed in to change notification settings - Fork 41
/
Copy pathbasetypes.json
105 lines (105 loc) · 3.38 KB
/
basetypes.json
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
97
98
99
100
101
102
103
104
105
{
"$schema": "http://json-schema.org/schema#",
"title": "Private Contract Requests",
"id": "http://tradenet.org/pcontract/basetypes",
"definitions": {
"ecdsa-public-key": {
"id": "#ecdsa-public-key",
"description": [
"an ECDSA public key from the SECP256k1 curve"
],
"type": "string",
"minLength": 22,
"maxLength": 22,
"format": "PEM format"
},
"rsa-public-key": {
"id": "#rsa-public-key",
"description": [
"a 2048-bit RSA public key"
],
"type": "string",
"minLength": 22,
"maxLength": 22,
"format": "PEM format"
},
"encoded-hash": {
"id": "#encoded-hash",
"description": [
"encoded sha256 hash"
],
"type": "string",
"minLength": 22,
"maxLength": 22,
"format": "base64, urlsafe encoded 64 byte array"
},
"ecdsa-signature": {
"id": "#ecdsa-signature",
"description": [
"an encoded signature generated by an ECDSA key"
],
"type": "string",
"minLength": 22,
"maxLength": 22,
"format": "base64 url encoded ECDSA signature"
},
"contract-id": {
"id": "#contract-id",
"description": [
"the identifier for a contract"
],
"type": "string",
"minLength": 22,
"maxLength": 22,
"format": "base64, urlsafe encoded 64 byte array"
},
"transactor-id": {
"id": "#transactor-id",
"description": [
"the identifier for a user",
"for now this is equivalent to an ECDSA public key"
],
"$ref": "#ecdsa-public-key"
},
"state-encryption-key": {
"id": "#state-encryption-key",
"description": [
"an AES key encrypted with the enclaves private key",
"used by an enclave to protect the state of a contract"
],
"type": "string",
"minLength": 22,
"maxLength": 22,
"format": "base64 urlsafe encoded, no padding"
},
"contract-secret": {
"id": "#contract-secret",
"description": [
"the concatenation of a 32 byte secret and a hex encoded 64 byte signature",
"encrypted with the enclave's RSA key"
],
"type": "string",
"minLength": 22,
"maxLength": 22,
"format": "base64 urlsafe encoded, no padding"
},
"state-reference": {
"id": "#state-reference",
"description": [
"a contract-id, state-hash pair that references a specific contract state",
"used in contract dependencies"
],
"type": "object",
"properties": {
"ContractID": {
"$ref": "#/pdo/basetypes/contract-id",
"required": true
},
"StateHash": {
"$ref": "#/pdo/basetypes/encoded-hash",
"required": true
}
}
}
}
}