Skip to main content

Crate sumchain_primitives

Crate sumchain_primitives 

Source
Expand description

§SUM Chain Primitives

Core types and data structures for the SUM Chain blockchain. This crate provides fundamental building blocks used throughout the chain.

Re-exports§

pub use address::Address;
pub use block::Block;
pub use block::BlockHeader;
pub use hash::Hash;
pub use receipt::Receipt;
pub use receipt::TxStatus;
pub use staking::AddStakeData;
pub use staking::ClaimDelegationRewardsData;
pub use staking::CreateValidatorData;
pub use staking::DelegateData;
pub use staking::DelegationInfo;
pub use staking::DoubleSignEvidence;
pub use staking::DowntimeEvidence;
pub use staking::EvidenceType;
pub use staking::SlashingRecord;
pub use staking::StakingOperation;
pub use staking::StakingParams;
pub use staking::StakingTxData;
pub use staking::SubmitEvidenceData;
pub use staking::UnbondingDelegation;
pub use staking::UndelegateData;
pub use staking::UnstakeData;
pub use staking::UpdateValidatorData;
pub use staking::ValidatorInfo;
pub use staking::ValidatorSet;
pub use staking::ValidatorSetEntry;
pub use staking::ValidatorSigningInfo;
pub use staking::ValidatorStatus;
pub use staking::WithdrawUnbondedData;
pub use messaging::validate_message_format;
pub use messaging::AttachmentType;
pub use messaging::BlockSenderData;
pub use messaging::ClaimPaymentData;
pub use messaging::ContactData;
pub use messaging::ContentType;
pub use messaging::ExternalProtocol;
pub use messaging::FundRegistryData;
pub use messaging::InboxFilter;
pub use messaging::MessageEvent;
pub use messaging::MessageFlags;
pub use messaging::MessageHeader;
pub use messaging::MessagingOperation;
pub use messaging::MessagingTxData;
pub use messaging::PendingPayment;
pub use messaging::QuotaInfo;
pub use messaging::RegisteredPublicKey;
pub use messaging::RegisterPublicKeyData;
pub use messaging::ReportSpamData;
pub use messaging::SendMessageData;
pub use messaging::SendMessageWithPaymentData;
pub use messaging::SetDailyQuotaData;
pub use messaging::SetInboxFilterData;
pub use messaging::SetMaxMessageSizeData;
pub use messaging::SetMinTrustStakeData;
pub use messaging::SetSponsorshipEnabledData;
pub use messaging::SpamReport;
pub use messaging::SponsoredMessage;
pub use messaging::StakeForTrustData;
pub use messaging::UnstakeData as MessagingUnstakeData;
pub use messaging::UpdatePublicKeyData;
pub use messaging::DEFAULT_DAILY_QUOTA;
pub use messaging::DEFAULT_MAX_MESSAGE_SIZE;
pub use messaging::DEFAULT_MIN_TRUST_STAKE;
pub use messaging::SRC201_HEADER_SIZE;
pub use messaging::SRC201_KDF_CONTEXT;
pub use messaging::SRC201_MAGIC;
pub use messaging::SRC201_NONCE_SIZE;
pub use messaging::SRC201_TAG_SIZE;
pub use messaging::SRC201_VERSION;
pub use transaction::NftOperation;
pub use transaction::NftTxData;
pub use transaction::SignedTransaction;
pub use transaction::TokenOperation;
pub use transaction::TokenTxData;
pub use transaction::Transaction;
pub use transaction::TransactionV2;
pub use transaction::TxInner;
pub use transaction::TxPayload;
pub use transaction::TxType;
pub use docclass::AcademicCredential;
pub use docclass::CredentialAttribute;
pub use docclass::CredentialId;
pub use docclass::CredentialMetadata;
pub use docclass::DocClassEvent;
pub use docclass::DocClassIssuer;
pub use docclass::DocClassIssuerStatus;
pub use docclass::DocClassIssuerType;
pub use docclass::DocClassOperation;
pub use docclass::DocClassTxData;
pub use docclass::DocSubcode;
pub use docclass::EligibilityAttestation;
pub use docclass::EligibilityType;
pub use docclass::IdentityKey;
pub use docclass::IdentityRoot;
pub use docclass::IdentityStatus;
pub use docclass::IssuerKey;
pub use docclass::KeyPurpose;
pub use docclass::KeyType;
pub use docclass::RevocationReason;
pub use docclass::RevocationRecord;
pub use docclass::RevocationStatus;
pub use docclass::ServiceEndpoint;
pub use docclass::ZkProofInputs;
pub use docclass::generate_commitment;
pub use docclass::generate_credential_id;
pub use docclass::generate_nullifier;
pub use docclass::generate_subject_commitment;
pub use tax::TaxClaimTypeEntry;
pub use tax::TaxIssuerClass;
pub use tax::TaxIssuer;
pub use tax::TaxPolicy;
pub use tax::TaxPolicyTemplate;
pub use tax::TaxProofEnvelope;
pub use tax::TaxDisclosureEnvelope;
pub use tax::TaxEvent;
pub use tax::TaxOperation;
pub use tax::TaxTxData;
pub use tax::TaxRiskLevel;
pub use tax::TaxIssuerStatus;
pub use tax::TaxVerificationResult;
pub use tax::EncryptionAlgorithm;
pub use tax::IssuerRequirements;
pub use tax::QuorumRule;
pub use tax::ClaimTypeStatus;
pub use equity::EntityProfile;
pub use equity::OrgType;
pub use equity::GovernanceAction;
pub use equity::GovernanceActionType;
pub use equity::EquityToken;
pub use equity::ShareClassType;
pub use equity::EquityControllerConfig;
pub use equity::ControllerModel;
pub use equity::LockupInfo;
pub use equity::CorporateAction;
pub use equity::CorporateActionType;
pub use equity::OwnershipSnapshot;
pub use equity::OwnershipProofEnvelope;
pub use equity::EquityEvent;
pub use equity::EquityOperation;
pub use equity::EquityTxData;
pub use equity::VestingSchedule;
pub use equity::TradingWindow;
pub use equity::EntityStatus;
pub use equity::TokenStatus;
pub use equity::CorporateActionStatus;
pub use equity::GovernanceActionStatus;
pub use equity::OwnershipProofType;
pub use equity::StockSplitParams;
pub use equity::DividendDeclareParams;
pub use agreement::AgreementCommitment;
pub use agreement::AgreementEvent;
pub use agreement::AgreementOperation;
pub use agreement::AgreementProofEnvelope;
pub use agreement::AgreementProofProfile;
pub use agreement::AgreementProofType;
pub use agreement::AgreementRole;
pub use agreement::AgreementStatus;
pub use agreement::AgreementTxData;
pub use agreement::AttachmentRef;
pub use agreement::AttestationIssuerClass;
pub use agreement::AttestationPacket;
pub use agreement::AttestationStatus;
pub use agreement::AttestationTarget;
pub use agreement::AttestationType;
pub use agreement::EncryptionAlgorithm as AgreementEncryptionAlgorithm;
pub use agreement::EncryptionMeta;
pub use agreement::ExecutorState;
pub use agreement::IpActionStatus;
pub use agreement::IpActionType;
pub use agreement::IpAssetType;
pub use agreement::IpRightsAction;
pub use agreement::PartyBinding;
pub use agreement::PartyRef;
pub use agreement::PartySignature;
pub use agreement::SignatureType;
pub use legal::BenefitDetermination;
pub use legal::BenefitStatus;
pub use legal::BenefitType;
pub use legal::CaseAnchor;
pub use legal::CaseStatus;
pub use legal::CaseType;
pub use legal::CourtOrder;
pub use legal::LegalEvent;
pub use legal::LegalIssuerClass;
pub use legal::LegalOperation;
pub use legal::LegalProofEnvelope;
pub use legal::LegalProofProfile;
pub use legal::LegalProofType;
pub use legal::LegalTxData;
pub use legal::OrderStatus;
pub use legal::OrderType;
pub use legal::ProcessEvent;
pub use legal::ProcessEventStatus;
pub use legal::ProcessEventType;
pub use property::AssetAnchor;
pub use property::AssetId;
pub use property::AssetStatus;
pub use property::AssetType;
pub use property::ClaimId;
pub use property::ClaimStatus;
pub use property::ClaimType;
pub use property::CoverageId;
pub use property::CoverageStatus;
pub use property::CoverageType;
pub use property::Encumbrance;
pub use property::EncumbranceId;
pub use property::EncumbranceStatus;
pub use property::EncumbranceType;
pub use property::InsuranceClaim;
pub use property::InsuranceCoverage;
pub use property::PriorityPosition;
pub use property::PropertyEvent;
pub use property::PropertyIssuerClass;
pub use property::PropertyOperation;
pub use property::PropertyProofEnvelope;
pub use property::PropertyProofProfile;
pub use property::PropertyProofType;
pub use property::PropertyTxData;
pub use property::TitleEvent;
pub use property::TitleEventId;
pub use property::TitleEventStatus;
pub use property::TitleEventType;
pub use healthcare::ConsentEnvelope;
pub use healthcare::ConsentId;
pub use healthcare::ConsentStatus;
pub use healthcare::ConsentType;
pub use healthcare::CoverageTier;
pub use healthcare::DisclosureScope;
pub use healthcare::HealthcareEvent;
pub use healthcare::HealthcareIssuerClass;
pub use healthcare::HealthcareOperation;
pub use healthcare::HealthcareProofEnvelope;
pub use healthcare::HealthcareProofProfile;
pub use healthcare::HealthcareProofType;
pub use healthcare::HealthcareTxData;
pub use healthcare::MembershipId;
pub use healthcare::MembershipRecord;
pub use healthcare::MembershipStatus;
pub use healthcare::MembershipType;
pub use healthcare::NetworkStatus;
pub use healthcare::Prescription;
pub use healthcare::PrescriptionId;
pub use healthcare::PrescriptionStatus;
pub use healthcare::PrescriptionType;
pub use healthcare::ProviderId;
pub use healthcare::ProviderProfile;
pub use healthcare::ProviderStatus;
pub use healthcare::ProviderType;
pub use employment::EmploymentCredential;
pub use employment::EmploymentEvent;
pub use employment::EmploymentId;
pub use employment::EmploymentIssuerClass;
pub use employment::EmploymentIssuerProfile;
pub use employment::EmploymentOperation;
pub use employment::EmploymentProofEnvelope;
pub use employment::EmploymentProofProfile;
pub use employment::EmploymentProofType;
pub use employment::EmploymentRiskLevel;
pub use employment::EmploymentStatus;
pub use employment::EmploymentTxData;
pub use employment::EmploymentType;
pub use employment::IncomeAttestation;
pub use employment::IncomeAttestationId;
pub use employment::IncomeBracket;
pub use employment::IncomePeriod;
pub use employment::IssuerStatus as EmploymentIssuerStatus;
pub use finance::AccountStanding;
pub use finance::AccountType;
pub use finance::AddressProof;
pub use finance::AddressProofId;
pub use finance::AddressProofType;
pub use finance::AmlRisk;
pub use finance::BalanceBracket;
pub use finance::BankStandingCredential;
pub use finance::BankStandingId;
pub use finance::FinanceEvent;
pub use finance::FinanceIssuerClass;
pub use finance::FinanceIssuerProfile;
pub use finance::FinanceIssuerStatus;
pub use finance::FinanceOperation;
pub use finance::FinanceProofEnvelope;
pub use finance::FinanceProofProfile;
pub use finance::FinanceProofType;
pub use finance::FinanceRiskLevel;
pub use finance::FinanceTxData;
pub use finance::KycAttestation;
pub use finance::KycAttestationId;
pub use finance::KycLevel;
pub use finance::KycStatus;
pub use node_registry::NodeRecord;
pub use node_registry::NodeRegistryOperation;
pub use node_registry::NodeRegistryOperationV2;
pub use node_registry::NodeRegistryTxData;
pub use node_registry::NodeRegistryV2TxData;
pub use node_registry::NodeRole;
pub use node_registry::NodeStatus;
pub use storage_metadata::assigned_archives;
pub use storage_metadata::assigned_archives_presorted;
pub use storage_metadata::is_archive_assigned_to_chunk;
pub use storage_metadata::AccessEntryV2;
pub use storage_metadata::EncryptedKeyBundleV2;
pub use storage_metadata::FileLifecycleV2;
pub use storage_metadata::FileVisibilityV2;
pub use storage_metadata::StorageChallenge;
pub use storage_metadata::StorageMetadata;
pub use storage_metadata::StorageMetadataOperation;
pub use storage_metadata::StorageMetadataOperationV2;
pub use storage_metadata::StorageMetadataTxData;
pub use storage_metadata::StorageMetadataV2;
pub use storage_metadata::StorageMetadataV2TxData;
pub use storage_metadata::CHALLENGE_INTERVAL_BLOCKS;
pub use storage_metadata::CHALLENGE_REWARD;
pub use storage_metadata::CHALLENGE_TTL_BLOCKS;
pub use storage_metadata::CHUNK_SIZE;
pub use storage_metadata::SLASH_PERCENTAGE;
pub use storage_metadata::SNIP_V2_ASSIGNMENT_CONTEXT;
pub use policy_account::ActionClass;
pub use policy_account::ApprovalThreshold;
pub use policy_account::MemberApproval;
pub use policy_account::PolicyAccount;
pub use policy_account::PolicyAccountId;
pub use policy_account::PolicyAccountOperation;
pub use policy_account::PolicyAccountStatus;
pub use policy_account::PolicyAccountTxData;
pub use policy_account::PolicyConfig;
pub use policy_account::PolicyMember;
pub use policy_account::PolicyNonce;
pub use policy_account::PolicyProfile;
pub use policy_account::PolicyRule;
pub use policy_account::Proposal;
pub use policy_account::ProposalId;
pub use policy_account::ProposalStatus;
pub use policy_account::MAX_APPROVALS;
pub use policy_account::MAX_CUSTOM_RULES;
pub use policy_account::MAX_MEMBERS;
pub use policy_account::MAX_PROPOSAL_PAYLOAD_SIZE;

Modules§

address
Address type for SUM Chain accounts.
agreement
SRC-84X Legal Instruments, IP, Notary & Attestation Domain
block
Block and BlockHeader types for SUM Chain.
docclass
SRC-80X Layered Trust Architecture
education
SRC-817 / SRC-818 Education-LMS suite — Phase 1 wire types only.
employment
SRC-88X Employment & HR Domain Standards
equity
SRC-83X Business, Governance & Equity Domain Standards
finance
SRC-89X Utility Address Proof, Banking & Finance Domain Standards
hash
Cryptographic hash types for SUM Chain.
healthcare
SRC-87X Healthcare & Regulated Membership Domain
inference_attestation
InferenceAttestation — chain-side wire types for the OmniNode v1 subprotocol (Stage 6 handoff).
legal
SRC-85X Court & Legal Process, Government Benefits Domain
messaging
SRC-201: On-Chain Messaging Token Standard
node_registry
Node Registry types for SUM Chain.
policy_account
Policy Account Module - Consensus-Enforced Multi-Signature Governance
property
SRC-86X Property, Real Estate & Insurance Domain
receipt
Transaction receipts for SUM Chain.
staking
Staking types for SUM Chain validators.
storage_metadata
Storage Metadata types for SUM Chain.
tax
SRC-82X Tax & Compliance Domain Standards
transaction
Transaction types for SUM Chain.

Enums§

PrimitiveError
Errors that can occur in primitive operations

Type Aliases§

Balance
Balance/amount type - u128 supports large values
BlockHeight
Block height type
ChainId
Chain ID type - identifies the network
Nonce
Nonce type for transactions
Result
Common result type for primitives
Timestamp
Timestamp in milliseconds since Unix epoch