コード例 #1
0
 public StackItem ToStackItem(ReferenceCounter referenceCounter)
 {
     return(new Struct(referenceCounter)
     {
         Name,
         new Array(referenceCounter, Groups.Select(p => p.ToStackItem(referenceCounter))),
         new Array(referenceCounter, SupportedStandards.Select(p => (StackItem)p)),
         Abi.ToStackItem(referenceCounter),
         new Array(referenceCounter, Permissions.Select(p => p.ToStackItem(referenceCounter))),
         Trusts.IsWildcard ? StackItem.Null : new Array(referenceCounter, Trusts.Select(p => (StackItem)p.ToArray())),
         Extra is null ? "null" : Extra.ToByteArray(false)
     });
コード例 #2
0
 /// <summary
 /// To json
 /// </summary>
 public JObject ToJson()
 {
     return(new JObject
     {
         ["groups"] = Groups.Select(u => u.ToJson()).ToArray(),
         ["supportedstandards"] = SupportedStandards.Select(u => new JString(u)).ToArray(),
         ["abi"] = Abi.ToJson(),
         ["permissions"] = Permissions.Select(p => p.ToJson()).ToArray(),
         ["trusts"] = Trusts.ToJson(),
         ["safemethods"] = SafeMethods.ToJson(),
         ["extra"] = Extra
     });
 }
コード例 #3
0
        /// <summary
        /// To json
        /// </summary>
        public JObject ToJson()
        {
            var feature = new JObject();

            feature["storage"] = Features.HasFlag(ContractFeatures.HasStorage);
            feature["payable"] = Features.HasFlag(ContractFeatures.Payable);

            var json = new JObject();

            json["groups"]      = new JArray(Groups.Select(u => u.ToJson()).ToArray());
            json["features"]    = feature;
            json["abi"]         = Abi.ToJson();
            json["permissions"] = Permissions.Select(p => p.ToJson()).ToArray();
            json["trusts"]      = Trusts.ToJson();
            json["safeMethods"] = SafeMethods.ToJson();

            return(json);
        }
コード例 #4
0
ファイル: ContractManifest.cs プロジェクト: xurxogp/neo
 /// <summary
 /// To json
 /// </summary>
 public JObject ToJson()
 {
     return(new JObject
     {
         ["groups"] = Groups.Select(u => u.ToJson()).ToArray(),
         ["features"] = new JObject
         {
             ["storage"] = Features.HasFlag(ContractFeatures.HasStorage),
             ["payable"] = Features.HasFlag(ContractFeatures.Payable)
         },
         ["supportedstandards"] = SupportedStandards.Select(u => new JString(u)).ToArray(),
         ["abi"] = Abi.ToJson(),
         ["permissions"] = Permissions.Select(p => p.ToJson()).ToArray(),
         ["trusts"] = Trusts.ToJson(),
         ["safemethods"] = SafeMethods.ToJson(),
         ["extra"] = Extra
     });
 }
コード例 #5
0
ファイル: ADModel.cs プロジェクト: woundride/pingcastle
 // authoritative data is considered as coming from the AD directly
 // non authoritative is deducted data
 private void Link(GraphNode destination, HealthCheckTrustData trust, bool isAuthoritative)
 {
     //Trace.WriteLine("Linking " + Domain + " to " + destination.Domain);
     if (!Trusts.ContainsKey(destination.Domain))
     {
         GraphEdge edge = new GraphEdge(this, destination, trust, isAuthoritative);
         Trusts[destination.Domain] = edge;
         edge = new GraphEdge(destination, this, GetReverseTrust(trust), false);
         destination.Trusts[this.Domain] = edge;
     }
     else if (isAuthoritative)
     {
         Trusts[destination.Domain].SetAuthorativeTrustData(trust);
     }
     else
     {
         //Trace.WriteLine("non authoritative data & trust already exists");
     }
 }