diff --git a/Runtime/CareBoo.AlgoSdk/Blockchain/BlockHeader.cs b/Runtime/CareBoo.AlgoSdk/Blockchain/BlockHeader.cs index 5dae2fa65..b9aa713da 100644 --- a/Runtime/CareBoo.AlgoSdk/Blockchain/BlockHeader.cs +++ b/Runtime/CareBoo.AlgoSdk/Blockchain/BlockHeader.cs @@ -100,6 +100,13 @@ public partial struct BlockHeader [AlgoApiField("cc")] public AlgoApiObject Cc; + /// + /// StateProofTracking tracks the status of the state proofs, potentially + /// for multiple types of ASPs (Algorand's State Proofs). + /// + [AlgoApiField("spt")] + public StateProofTrackingDataMap StateProofTracking; + /// [AlgoApiField("fees")] public Address FeeSink diff --git a/Runtime/CareBoo.AlgoSdk/Blockchain/StateProofs.meta b/Runtime/CareBoo.AlgoSdk/Blockchain/StateProofs.meta new file mode 100644 index 000000000..a7d6dcc18 --- /dev/null +++ b/Runtime/CareBoo.AlgoSdk/Blockchain/StateProofs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 804c3c38579324b93ab6fbe0658babe4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/CareBoo.AlgoSdk/Blockchain/StateProofs/StateProofTrackingData.cs b/Runtime/CareBoo.AlgoSdk/Blockchain/StateProofs/StateProofTrackingData.cs new file mode 100644 index 000000000..420e1e79b --- /dev/null +++ b/Runtime/CareBoo.AlgoSdk/Blockchain/StateProofs/StateProofTrackingData.cs @@ -0,0 +1,92 @@ +using System; +using UnityEngine; + +namespace AlgoSdk +{ + public interface IStateProofTrackingData + { + /// + /// StateProofVotersCommitment is the root of a vector commitment containing the + /// online accounts that will help sign a state proof. The + /// VC root, and the state proof, happen on blocks that + /// are a multiple of ConsensusParams.StateProofRounds. For blocks + /// that are not a multiple of ConsensusParams.StateProofRounds, + /// this value is zero. + /// + byte[] StateProofVotersCommitment { get; set; } + + /// + /// StateProofOnlineTotalWeight is the total number of microalgos held by the online accounts + /// during the StateProof round (or zero, if the merkle root is zero - no commitment for StateProof voters). + /// This is intended for computing the threshold of votes to expect from StateProofVotersCommitment. + /// + MicroAlgos StateProofOnlineTotalWeight { get; set; } + + /// + /// StateProofNextRound is the next round for which we will accept + /// a StateProof transaction. + /// + ulong StateProofNextRound { get; set; } + } + + /// + /// StateProofTrackingData tracks the status of state proofs. + /// + [AlgoApiObject] + [Serializable] + public partial struct StateProofTrackingData + : IStateProofTrackingData + , IEquatable + { + [SerializeField] + [Tooltip("StateProofVotersCommitment is the root of a vector commitment containing the " + + "online accounts that will help sign a state proof. The " + + "VC root, and the state proof, happen on blocks that " + + "are a multiple of ConsensusParams.StateProofRounds. For blocks " + + "that are not a multiple of ConsensusParams.StateProofRounds, " + + "this value is zero.")] + private byte[] stateProofVotersCommitment; + + [SerializeField] + [Tooltip("StateProofOnlineTotalWeight is the total number of microalgos held by the online accounts " + + "during the StateProof round (or zero, if the merkle root is zero - no commitment for StateProof voters). " + + "This is intended for computing the threshold of votes to expect from StateProofVotersCommitment.")] + private MicroAlgos stateProofOnlineTotalWeight; + + [SerializeField] + [Tooltip("StateProofNextRound is the next round for which we will accept a StateProof transaction.")] + private ulong stateProofNextRound; + + /// + [AlgoApiField("v")] + public byte[] StateProofVotersCommitment + { + get => stateProofVotersCommitment; + set => stateProofVotersCommitment = value; + } + + /// + [AlgoApiField("t")] + public MicroAlgos StateProofOnlineTotalWeight + { + get => stateProofOnlineTotalWeight; + set => stateProofOnlineTotalWeight = value; + } + + /// + [AlgoApiField("n")] + public ulong StateProofNextRound + { + get => stateProofNextRound; + set => stateProofNextRound = value; + } + + public bool Equals(StateProofTrackingData other) + { + return ArrayComparer.Equals(StateProofVotersCommitment, other.StateProofVotersCommitment) + && StateProofOnlineTotalWeight.Equals(other.StateProofOnlineTotalWeight) + && StateProofNextRound.Equals(other.StateProofNextRound) + ; + } + } +} diff --git a/Runtime/CareBoo.AlgoSdk/Formatters.gen/Multisig.Formatters.gen.cs.meta b/Runtime/CareBoo.AlgoSdk/Blockchain/StateProofs/StateProofTrackingData.cs.meta similarity index 83% rename from Runtime/CareBoo.AlgoSdk/Formatters.gen/Multisig.Formatters.gen.cs.meta rename to Runtime/CareBoo.AlgoSdk/Blockchain/StateProofs/StateProofTrackingData.cs.meta index 0f2d86ad0..7ec337da7 100644 --- a/Runtime/CareBoo.AlgoSdk/Formatters.gen/Multisig.Formatters.gen.cs.meta +++ b/Runtime/CareBoo.AlgoSdk/Blockchain/StateProofs/StateProofTrackingData.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 783169bb059f94d42a467bacd0cd7fa1 +guid: f17d52c7539ad450097610b5a9701856 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Runtime/CareBoo.AlgoSdk/Blockchain/StateProofs/StateProofTrackingDataMap.cs b/Runtime/CareBoo.AlgoSdk/Blockchain/StateProofs/StateProofTrackingDataMap.cs new file mode 100644 index 000000000..1c8e54e6d --- /dev/null +++ b/Runtime/CareBoo.AlgoSdk/Blockchain/StateProofs/StateProofTrackingDataMap.cs @@ -0,0 +1,43 @@ +using System; + +namespace AlgoSdk +{ + [AlgoApiObject] + [Serializable] + public partial struct StateProofTrackingDataMap + : IEquatable + { + [AlgoApiField("0")] + public StateProofTrackingData StateProofBasicData; + + public StateProofTrackingData this[StateProofType type] + { + get + { + switch (type) + { + case StateProofType.StateProofBasic: + return StateProofBasicData; + default: + throw new System.NotSupportedException(type.ToString()); + } + } + set + { + switch (type) + { + case StateProofType.StateProofBasic: + StateProofBasicData = value; + break; + default: + throw new System.NotSupportedException(type.ToString()); + } + } + } + + public bool Equals(StateProofTrackingDataMap other) + { + return StateProofBasicData.Equals(other.StateProofBasicData); + } + } +} diff --git a/Runtime/CareBoo.AlgoSdk/Blockchain/StateProofs/StateProofTrackingDataMap.cs.meta b/Runtime/CareBoo.AlgoSdk/Blockchain/StateProofs/StateProofTrackingDataMap.cs.meta new file mode 100644 index 000000000..3704491e2 --- /dev/null +++ b/Runtime/CareBoo.AlgoSdk/Blockchain/StateProofs/StateProofTrackingDataMap.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7de6eb47f02e742e194800645b1c7790 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/CareBoo.AlgoSdk/Blockchain/StateProofs/StateProofType.cs b/Runtime/CareBoo.AlgoSdk/Blockchain/StateProofs/StateProofType.cs new file mode 100644 index 000000000..2bb23dd30 --- /dev/null +++ b/Runtime/CareBoo.AlgoSdk/Blockchain/StateProofs/StateProofType.cs @@ -0,0 +1,8 @@ +namespace AlgoSdk +{ + public enum StateProofType : byte + { + StateProofBasic = 0, + NumStateProofTypes = 1, + } +} diff --git a/Runtime/CareBoo.AlgoSdk/Blockchain/StateProofs/StateProofType.cs.meta b/Runtime/CareBoo.AlgoSdk/Blockchain/StateProofs/StateProofType.cs.meta new file mode 100644 index 000000000..365d59496 --- /dev/null +++ b/Runtime/CareBoo.AlgoSdk/Blockchain/StateProofs/StateProofType.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c2cbc441175524bc9b3002ba2c6bd423 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/CareBoo.AlgoSdk/Formatters.gen/BlockHeader.Formatters.gen.cs b/Runtime/CareBoo.AlgoSdk/Formatters.gen/BlockHeader.Formatters.gen.cs index 7703a663e..6bdc344ff 100644 --- a/Runtime/CareBoo.AlgoSdk/Formatters.gen/BlockHeader.Formatters.gen.cs +++ b/Runtime/CareBoo.AlgoSdk/Formatters.gen/BlockHeader.Formatters.gen.cs @@ -19,7 +19,7 @@ public partial struct BlockHeader private static bool @__generated__InitializeAlgoApiFormatters() { - AlgoSdk.AlgoApiFormatterLookup.Add(new AlgoSdk.AlgoApiObjectFormatter(false).Assign("gh", (AlgoSdk.BlockHeader x) => x.GenesisHash, (ref AlgoSdk.BlockHeader x, AlgoSdk.GenesisHash value) => x.GenesisHash = value).Assign("gen", (AlgoSdk.BlockHeader x) => x.GenesisId, (ref AlgoSdk.BlockHeader x, Unity.Collections.FixedString64Bytes value) => x.GenesisId = value).Assign("prev", (AlgoSdk.BlockHeader x) => x.PreviousBlockHash, (ref AlgoSdk.BlockHeader x, AlgoSdk.BlockHash value) => x.PreviousBlockHash = value).Assign("rewards", (AlgoSdk.BlockHeader x) => x.Rewards, (ref AlgoSdk.BlockHeader x, AlgoSdk.BlockRewards value) => x.Rewards = value).Assign("rnd", (AlgoSdk.BlockHeader x) => x.Round, (ref AlgoSdk.BlockHeader x, System.UInt64 value) => x.Round = value).Assign("seed", (AlgoSdk.BlockHeader x) => x.Seed, (ref AlgoSdk.BlockHeader x, AlgoSdk.Crypto.Sha512_256_Hash value) => x.Seed = value).Assign("ts", (AlgoSdk.BlockHeader x) => x.Timestamp, (ref AlgoSdk.BlockHeader x, System.UInt64 value) => x.Timestamp = value).Assign("txns", (AlgoSdk.BlockHeader x) => x.Transactions, (ref AlgoSdk.BlockHeader x, AlgoSdk.BlockTransaction[] value) => x.Transactions = value, AlgoSdk.ArrayComparer.Instance).Assign("tc", (AlgoSdk.BlockHeader x) => x.TransactionCounter, (ref AlgoSdk.BlockHeader x, System.UInt64 value) => x.TransactionCounter = value).Assign("upgrade-state", (AlgoSdk.BlockHeader x) => x.UpgradeState, (ref AlgoSdk.BlockHeader x, AlgoSdk.BlockUpgradeState value) => x.UpgradeState = value).Assign("upgrade-vote", (AlgoSdk.BlockHeader x) => x.UpgradeVote, (ref AlgoSdk.BlockHeader x, AlgoSdk.BlockUpgradeVote value) => x.UpgradeVote = value).Assign("cc", (AlgoSdk.BlockHeader x) => x.Cc, (ref AlgoSdk.BlockHeader x, AlgoSdk.AlgoApiObject value) => x.Cc = value).Assign("fees", (AlgoSdk.BlockHeader x) => x.FeeSink, (ref AlgoSdk.BlockHeader x, AlgoSdk.Address value) => x.FeeSink = value).Assign("rwcalr", (AlgoSdk.BlockHeader x) => x.RewardsCalculationRound, (ref AlgoSdk.BlockHeader x, System.UInt64 value) => x.RewardsCalculationRound = value).Assign("earn", (AlgoSdk.BlockHeader x) => x.RewardsLevel, (ref AlgoSdk.BlockHeader x, System.UInt64 value) => x.RewardsLevel = value).Assign("rwd", (AlgoSdk.BlockHeader x) => x.RewardsPool, (ref AlgoSdk.BlockHeader x, AlgoSdk.Address value) => x.RewardsPool = value).Assign("rate", (AlgoSdk.BlockHeader x) => x.RewardsRate, (ref AlgoSdk.BlockHeader x, System.UInt64 value) => x.RewardsRate = value).Assign("frac", (AlgoSdk.BlockHeader x) => x.RewardsResidue, (ref AlgoSdk.BlockHeader x, System.UInt64 value) => x.RewardsResidue = value).Assign("proto", (AlgoSdk.BlockHeader x) => x.CurrentProtocol, (ref AlgoSdk.BlockHeader x, Unity.Collections.FixedString128Bytes value) => x.CurrentProtocol = value).Assign("nextproto", (AlgoSdk.BlockHeader x) => x.NextProtocol, (ref AlgoSdk.BlockHeader x, Unity.Collections.FixedString128Bytes value) => x.NextProtocol = value).Assign("nextyes", (AlgoSdk.BlockHeader x) => x.NextProtocolApprovals, (ref AlgoSdk.BlockHeader x, System.UInt64 value) => x.NextProtocolApprovals = value).Assign("nextswitch", (AlgoSdk.BlockHeader x) => x.NextProtocolSwitchOn, (ref AlgoSdk.BlockHeader x, System.UInt64 value) => x.NextProtocolSwitchOn = value).Assign("nextbefore", (AlgoSdk.BlockHeader x) => x.NextProtocolVoteBefore, (ref AlgoSdk.BlockHeader x, System.UInt64 value) => x.NextProtocolVoteBefore = value).Assign("upgradeyes", (AlgoSdk.BlockHeader x) => x.UpgradeApprove, (ref AlgoSdk.BlockHeader x, AlgoSdk.Optional value) => x.UpgradeApprove = value).Assign("upgradedelay", (AlgoSdk.BlockHeader x) => x.UpgradeDelay, (ref AlgoSdk.BlockHeader x, System.UInt64 value) => x.UpgradeDelay = value).Assign("upgradeprop", (AlgoSdk.BlockHeader x) => x.UpgradePropose, (ref AlgoSdk.BlockHeader x, AlgoSdk.Address value) => x.UpgradePropose = value).Assign("txn", (AlgoSdk.BlockHeader x) => x.NativeSha512_256Commitment, (ref AlgoSdk.BlockHeader x, AlgoSdk.Digest value) => x.NativeSha512_256Commitment = value).Assign("txn256", (AlgoSdk.BlockHeader x) => x.Sha256Commitment, (ref AlgoSdk.BlockHeader x, AlgoSdk.Digest value) => x.Sha256Commitment = value)); + AlgoSdk.AlgoApiFormatterLookup.Add(new AlgoSdk.AlgoApiObjectFormatter(false).Assign("gh", (AlgoSdk.BlockHeader x) => x.GenesisHash, (ref AlgoSdk.BlockHeader x, AlgoSdk.GenesisHash value) => x.GenesisHash = value).Assign("gen", (AlgoSdk.BlockHeader x) => x.GenesisId, (ref AlgoSdk.BlockHeader x, Unity.Collections.FixedString64Bytes value) => x.GenesisId = value).Assign("prev", (AlgoSdk.BlockHeader x) => x.PreviousBlockHash, (ref AlgoSdk.BlockHeader x, AlgoSdk.BlockHash value) => x.PreviousBlockHash = value).Assign("rewards", (AlgoSdk.BlockHeader x) => x.Rewards, (ref AlgoSdk.BlockHeader x, AlgoSdk.BlockRewards value) => x.Rewards = value).Assign("rnd", (AlgoSdk.BlockHeader x) => x.Round, (ref AlgoSdk.BlockHeader x, System.UInt64 value) => x.Round = value).Assign("seed", (AlgoSdk.BlockHeader x) => x.Seed, (ref AlgoSdk.BlockHeader x, AlgoSdk.Crypto.Sha512_256_Hash value) => x.Seed = value).Assign("ts", (AlgoSdk.BlockHeader x) => x.Timestamp, (ref AlgoSdk.BlockHeader x, System.UInt64 value) => x.Timestamp = value).Assign("txns", (AlgoSdk.BlockHeader x) => x.Transactions, (ref AlgoSdk.BlockHeader x, AlgoSdk.BlockTransaction[] value) => x.Transactions = value, AlgoSdk.ArrayComparer.Instance).Assign("tc", (AlgoSdk.BlockHeader x) => x.TransactionCounter, (ref AlgoSdk.BlockHeader x, System.UInt64 value) => x.TransactionCounter = value).Assign("upgrade-state", (AlgoSdk.BlockHeader x) => x.UpgradeState, (ref AlgoSdk.BlockHeader x, AlgoSdk.BlockUpgradeState value) => x.UpgradeState = value).Assign("upgrade-vote", (AlgoSdk.BlockHeader x) => x.UpgradeVote, (ref AlgoSdk.BlockHeader x, AlgoSdk.BlockUpgradeVote value) => x.UpgradeVote = value).Assign("cc", (AlgoSdk.BlockHeader x) => x.Cc, (ref AlgoSdk.BlockHeader x, AlgoSdk.AlgoApiObject value) => x.Cc = value).Assign("spt", (AlgoSdk.BlockHeader x) => x.StateProofTracking, (ref AlgoSdk.BlockHeader x, AlgoSdk.StateProofTrackingDataMap value) => x.StateProofTracking = value).Assign("fees", (AlgoSdk.BlockHeader x) => x.FeeSink, (ref AlgoSdk.BlockHeader x, AlgoSdk.Address value) => x.FeeSink = value).Assign("rwcalr", (AlgoSdk.BlockHeader x) => x.RewardsCalculationRound, (ref AlgoSdk.BlockHeader x, System.UInt64 value) => x.RewardsCalculationRound = value).Assign("earn", (AlgoSdk.BlockHeader x) => x.RewardsLevel, (ref AlgoSdk.BlockHeader x, System.UInt64 value) => x.RewardsLevel = value).Assign("rwd", (AlgoSdk.BlockHeader x) => x.RewardsPool, (ref AlgoSdk.BlockHeader x, AlgoSdk.Address value) => x.RewardsPool = value).Assign("rate", (AlgoSdk.BlockHeader x) => x.RewardsRate, (ref AlgoSdk.BlockHeader x, System.UInt64 value) => x.RewardsRate = value).Assign("frac", (AlgoSdk.BlockHeader x) => x.RewardsResidue, (ref AlgoSdk.BlockHeader x, System.UInt64 value) => x.RewardsResidue = value).Assign("proto", (AlgoSdk.BlockHeader x) => x.CurrentProtocol, (ref AlgoSdk.BlockHeader x, Unity.Collections.FixedString128Bytes value) => x.CurrentProtocol = value).Assign("nextproto", (AlgoSdk.BlockHeader x) => x.NextProtocol, (ref AlgoSdk.BlockHeader x, Unity.Collections.FixedString128Bytes value) => x.NextProtocol = value).Assign("nextyes", (AlgoSdk.BlockHeader x) => x.NextProtocolApprovals, (ref AlgoSdk.BlockHeader x, System.UInt64 value) => x.NextProtocolApprovals = value).Assign("nextswitch", (AlgoSdk.BlockHeader x) => x.NextProtocolSwitchOn, (ref AlgoSdk.BlockHeader x, System.UInt64 value) => x.NextProtocolSwitchOn = value).Assign("nextbefore", (AlgoSdk.BlockHeader x) => x.NextProtocolVoteBefore, (ref AlgoSdk.BlockHeader x, System.UInt64 value) => x.NextProtocolVoteBefore = value).Assign("upgradeyes", (AlgoSdk.BlockHeader x) => x.UpgradeApprove, (ref AlgoSdk.BlockHeader x, AlgoSdk.Optional value) => x.UpgradeApprove = value).Assign("upgradedelay", (AlgoSdk.BlockHeader x) => x.UpgradeDelay, (ref AlgoSdk.BlockHeader x, System.UInt64 value) => x.UpgradeDelay = value).Assign("upgradeprop", (AlgoSdk.BlockHeader x) => x.UpgradePropose, (ref AlgoSdk.BlockHeader x, AlgoSdk.Address value) => x.UpgradePropose = value).Assign("txn", (AlgoSdk.BlockHeader x) => x.NativeSha512_256Commitment, (ref AlgoSdk.BlockHeader x, AlgoSdk.Digest value) => x.NativeSha512_256Commitment = value).Assign("txn256", (AlgoSdk.BlockHeader x) => x.Sha256Commitment, (ref AlgoSdk.BlockHeader x, AlgoSdk.Digest value) => x.Sha256Commitment = value)); return true; } } diff --git a/Runtime/CareBoo.AlgoSdk/Formatters.gen/Multisig.Formatters.gen.cs b/Runtime/CareBoo.AlgoSdk/Formatters.gen/MultisigSig.Formatters.gen.cs similarity index 100% rename from Runtime/CareBoo.AlgoSdk/Formatters.gen/Multisig.Formatters.gen.cs rename to Runtime/CareBoo.AlgoSdk/Formatters.gen/MultisigSig.Formatters.gen.cs diff --git a/Runtime/CareBoo.AlgoSdk/Formatters.gen/MultisigSig.Formatters.gen.cs.meta b/Runtime/CareBoo.AlgoSdk/Formatters.gen/MultisigSig.Formatters.gen.cs.meta new file mode 100644 index 000000000..3e45a48b4 --- /dev/null +++ b/Runtime/CareBoo.AlgoSdk/Formatters.gen/MultisigSig.Formatters.gen.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 53f35f37454664bc39019773bf0336de +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/CareBoo.AlgoSdk/Formatters.gen/StateProofTrackingData.Formatters.gen.cs b/Runtime/CareBoo.AlgoSdk/Formatters.gen/StateProofTrackingData.Formatters.gen.cs new file mode 100644 index 000000000..ac49b66fa --- /dev/null +++ b/Runtime/CareBoo.AlgoSdk/Formatters.gen/StateProofTrackingData.Formatters.gen.cs @@ -0,0 +1,26 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace AlgoSdk +{ + + + public partial struct StateProofTrackingData + { + + private static bool @__generated__IsValid = StateProofTrackingData.@__generated__InitializeAlgoApiFormatters(); + + private static bool @__generated__InitializeAlgoApiFormatters() + { + AlgoSdk.AlgoApiFormatterLookup.Add(new AlgoSdk.AlgoApiObjectFormatter(false).Assign("v", (AlgoSdk.StateProofTrackingData x) => x.StateProofVotersCommitment, (ref AlgoSdk.StateProofTrackingData x, System.Byte[] value) => x.StateProofVotersCommitment = value, AlgoSdk.ArrayComparer.Instance).Assign("t", (AlgoSdk.StateProofTrackingData x) => x.StateProofOnlineTotalWeight, (ref AlgoSdk.StateProofTrackingData x, AlgoSdk.MicroAlgos value) => x.StateProofOnlineTotalWeight = value).Assign("n", (AlgoSdk.StateProofTrackingData x) => x.StateProofNextRound, (ref AlgoSdk.StateProofTrackingData x, System.UInt64 value) => x.StateProofNextRound = value)); + return true; + } + } +} diff --git a/Runtime/CareBoo.AlgoSdk/Formatters.gen/StateProofTrackingData.Formatters.gen.cs.meta b/Runtime/CareBoo.AlgoSdk/Formatters.gen/StateProofTrackingData.Formatters.gen.cs.meta new file mode 100644 index 000000000..74dfe6bd7 --- /dev/null +++ b/Runtime/CareBoo.AlgoSdk/Formatters.gen/StateProofTrackingData.Formatters.gen.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 37f62fbd0966d436fa0e827f805b93b0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/CareBoo.AlgoSdk/Formatters.gen/StateProofTrackingDataMap.Formatters.gen.cs b/Runtime/CareBoo.AlgoSdk/Formatters.gen/StateProofTrackingDataMap.Formatters.gen.cs new file mode 100644 index 000000000..6ed7f0e63 --- /dev/null +++ b/Runtime/CareBoo.AlgoSdk/Formatters.gen/StateProofTrackingDataMap.Formatters.gen.cs @@ -0,0 +1,26 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace AlgoSdk +{ + + + public partial struct StateProofTrackingDataMap + { + + private static bool @__generated__IsValid = StateProofTrackingDataMap.@__generated__InitializeAlgoApiFormatters(); + + private static bool @__generated__InitializeAlgoApiFormatters() + { + AlgoSdk.AlgoApiFormatterLookup.Add(new AlgoSdk.AlgoApiObjectFormatter(false).Assign("0", (AlgoSdk.StateProofTrackingDataMap x) => x.StateProofBasicData, (ref AlgoSdk.StateProofTrackingDataMap x, AlgoSdk.StateProofTrackingData value) => x.StateProofBasicData = value)); + return true; + } + } +} diff --git a/Runtime/CareBoo.AlgoSdk/Formatters.gen/StateProofTrackingDataMap.Formatters.gen.cs.meta b/Runtime/CareBoo.AlgoSdk/Formatters.gen/StateProofTrackingDataMap.Formatters.gen.cs.meta new file mode 100644 index 000000000..2945b293f --- /dev/null +++ b/Runtime/CareBoo.AlgoSdk/Formatters.gen/StateProofTrackingDataMap.Formatters.gen.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 88380a51468d84ca7858746d2121ec37 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Tests/Runtime/CareBoo.AlgoSdk.IntegrationTests/DotnetSdk/UnityHttpMessageHandler.cs b/Tests/Runtime/CareBoo.AlgoSdk.IntegrationTests/DotnetSdk/UnityHttpMessageHandler.cs index 5d30c1435..a1937038b 100644 --- a/Tests/Runtime/CareBoo.AlgoSdk.IntegrationTests/DotnetSdk/UnityHttpMessageHandler.cs +++ b/Tests/Runtime/CareBoo.AlgoSdk.IntegrationTests/DotnetSdk/UnityHttpMessageHandler.cs @@ -53,9 +53,10 @@ CancellationToken cancellationToken else responseMessage.Headers.Add(header.Key, header.Value); } - catch + catch (System.Exception ex) { Debug.LogError($"Issue with header: {header}"); + Debug.LogException(ex); throw; } } @@ -65,6 +66,6 @@ CancellationToken cancellationToken private static bool IsContentHeader(KeyValuePair header) { var headerKeyLower = header.Key.ToLower(); - return headerKeyLower == "content-type" || headerKeyLower == "content-Length"; + return headerKeyLower == "content-type" || headerKeyLower == "content-length"; } }