Type and Namespace Restrictions
Nodes checks new contract code against below whitelist and if there is a usage of any type that is not covered in the whitelist, or the method access or type name is denied in below whitelist, the deployment will fail.
Assembly Dependencies
Assembly |
Trust |
---|---|
netstandard.dll |
Partial |
System.Runtime.dll |
Partial |
System.Runtime.Extensions.dll |
Partial |
System.Private.CoreLib.dll |
Partial |
System.ObjectModel.dll |
Partial |
System.Linq.dll |
Full |
System.Collections |
Full |
Google.Protobuf.dll |
Full |
AElf.Sdk.CSharp.dll |
Full |
AElf.Types.dll |
Full |
AElf.CSharp.Core.dll |
Full |
AElf.Cryptography.dll |
Full |
Types and Members Whitelist in System Namespace
Type |
Member (Field / Method) |
Allowed |
---|---|---|
|
|
Allowed |
|
ALL |
Allowed |
|
ALL |
Allowed |
|
ALL |
Allowed |
|
ALL |
Allowed |
|
|
Allowed |
|
|
Allowed |
|
ALL |
Allowed |
|
ALL |
Allowed |
|
ALL |
Allowed |
|
Partially |
Allowed |
|
|
Denied |
|
|
Allowed |
|
|
Allowed |
|
|
Allowed |
|
|
Allowed |
|
ALL |
Allowed |
|
ALL |
Allowed |
|
ALL |
Allowed |
|
ALL |
Allowed |
|
ALL |
Allowed |
|
ALL |
Allowed |
|
ALL |
Allowed |
|
ALL |
Allowed |
|
ALL |
Allowed |
|
ALL |
Allowed |
|
ALL |
Allowed |
|
ALL |
Allowed |
|
ALL |
Allowed |
|
ALL |
Allowed |
|
ALL |
Allowed |
|
ALL |
Allowed |
|
|
Denied |
|
ALL |
Allowed |
Types and Members Whitelist in System.Reflection Namespace
Type |
Member (Field / Method) |
Allowed |
---|---|---|
|
ALL |
Allowed |
|
ALL |
Allowed |
|
ALL |
Allowed |
|
ALL |
Allowed |
|
ALL |
Allowed |
|
ALL |
Allowed |
Other Whitelisted Namespaces
Namespace |
Type |
Member |
Allowed |
---|---|---|---|
|
ALL |
ALL |
Allowed |
|
ALL |
ALL |
Allowed |
|
ALL |
ALL |
Allowed |
|
ALL |
ALL |
Allowed |
|
|
|
Allowed |
|
|
|
Allowed |
|
|
|
Allowed |
Allowed Types for Arrays
Type |
Array Size Limit |
---|---|
|
40960 |
|
20480 |
|
10240 |
|
5120 |
|
20480 |
|
10240 |
|
5120 |
|
2560 |
|
20480 |
|
320 |
|
5 |
|
5 |
|
10 |
|
100 |