chia_crypto_utils library

Classes

AddCatTokenCommand
AddCatTokenResponse
AddFarmerResponse
AdditionsAndRemovals
AdditionsAndRemovalsWithHints
Address
AddsSingletonWalletVectorArguments
AffinePoint
AggSigMeCondition
AggSigMeConditionWithFullMessage
AssertCoinAnnouncementCondition
AssertMyCoinIdCondition
AssertPuzzleAnnouncementCondition
Attestment
Attribute
AugSchemeMPL
AuthenticationPayload
BaseWalletService
BasicSchemeMPL
BiggestFirstCoinSelector
BlockchainNetwork
BlockchainNetworkLoader
BlockchainStateResponse
BlockchainUtils
BlockRecord
BtcAddress
BtcExchangeService
BtcToXchMakerOfferFile
BtcToXchService
BtcToXchTakerOfferFile
Bytes
CachedUriHashProvider
Cat1OfferWalletService
Cat1PuzzleDriver
Cat1WalletService
Cat2PuzzleDriver
Cat2WalletService
CatCoin
CatFullCoin
CatOfferWalletService
CatPayment
CatPuzzleDriver
CatSolution
CatWalletInfo
CatWalletService
ChainInfo
CheckOfferValidityCommand
CheckOfferValidityResponse
ChiaBaseResponse
ChiaBlockchainNetworkLoader
ChiaCoinRecord
ChiaCoinRecordWithCoinSpend
ChiaDidInfoWithFingerprint
ChiaEnthusiast
ChiaFullNodeInterface
ChiaNetworkContextWrapper
ChiaPriceProvider
ChiaPriceResponse
ChiaWalletInfo
ChiaWalletInfoImp
Client
ClosestValueCoinSelector
Coin
CoinAnnouncementMessage
CoinMarketCapApi
CoinPrototype
CoinPrototypeWithParentSpend
CoinRecordResponse
CoinRecordsResponse
CoinRecordsWithCoinSpendsResponse
CoinSelector
CoinSpend
CoinSpendAndSignature
CoinSpendResponse
CoinSpendWithAdditions
CoinSplittingService
CoinWithDiff<T extends CoinPrototype>
CoinWithHint
CoinWithParentSpend
ColdWallet
Collection
CollectionAttribute
Condition
Cost
CreateCoinAnnouncementCondition
CreateCoinCondition
CreatedOfferData
CreateNftSpendBundleArgument
CreateOfferArgs
CreateOfferForIdsCommand
CreateOfferForIdsResponse
CrossChainOfferFile
The most general abstraction that all cross chain offer files implement and holds parameters that are common to all of concrete cross chain offer file classes.
CrossChainOfferFileService
CryptoAddress
CsvCollectionData
CsvNftData
CurryIsolateArguments
DeconstructedCatPuzzle
DependentCoin
DependentCoinsWithCreationBundle
DependentCoinWalletService
DexieBaseResponse
DexieExchangeOfferApi
DexieInspectOfferResponse
DexieOffer
DexieOffersApi
DexiePostOfferResponse
DidApprovalInfo
DidExitCondition
DidInfo
Decorator on DidRecord that has an inner puzzle and can be spent
DidInfoWithOriginCoin
DidMetadata
DidNftPuzzleDriver
DidNftRecord
DidRecord
DidRecordWithOriginCoin
DidSigningService
DIDWalletInfo
DIDWalletService
EC
EnhancedChiaFullNodeInterface
EnhancedFullNode
EnhancedFullNodeHttpRpc
EverythingWithSignatureTailService
ExchangeAmount
ExchangeCoinMemos
ExchangeOfferRecord
A record of all values relevant to an exchange offer that can be restored.
ExchangeOfferRecordHydrationService
ExchangeOfferService
ExchangeOfferWalletService
FallbackAddress
Field
FieldExtBase<F extends FieldExtBase<F>>
Fq
Fq12
Fq2
Fq6
FullDidRecord
FullDidRecordWithOriginCoin
FullNode
FullNodeContext
FullNodeHttpRpc
FullNodeWalletConnectRequestHandler
GeneralCondition
GetAdditionsAndRemovalsResponse
GetAdditionsAndRemovalsWithHintsResponse
GetAddressResponse
GetBlockRecordByHeightResponse
GetBlockRecordsResponse
GetBlockResponse
GetBlocksResponse
GetCurrentAddressCommand
GetFarmerResponse
GetNextAddressCommand
GetNftCountResponse
GetNftInfoCommand
GetNftInfoResponse
GetNftsCommand
GetNftsCountCommand
GetNftsResponse
GetSyncStatus
GetSyncStatusResponse
GetTransactionCommand
GetTransactionResponse
GetWalletBalanceCommand
GetWalletBalanceResponse
GetWalletsCommand
GetWalletsResponse
HashgreenInfo
HydratedCatCoin
HydratedNftRecord
IssuanceResult
JacobianPoint
KeychainCoreSecret
KeychainDidSigningService
LazyMemo
LightningPaymentRequest
LineageProof
LoggingContext
LogInCommand
LogInData
LogInResponse
MakerCrossChainOfferFile
The abstract class that holds parameters unique to offer files generated by the maker of an offer.
MatrixElement
Memo
MempoolItem
MempoolItemsResponse
MessageCoinInfo
MixedAmounts
MixedCoins
MixedNotarizedPayments
MixedPayments
MixedPuzzlehashes
MockUriHashProvider
ModAndArguments
NameInfo
NameRegistrationInfo
NameRegistrationPrice
NamesdaoApi
NetworkContext
Nft
NftAttribute
NftCollectionOverride
NftData0007
NftDataCsvParser
NftDidMagicConditionCondition
NftId
NftInfo
NftMetadata
On chain NFT metadata
NftMintInfo
NftMintingData
NftMintingDataWithHashes
NftOwnershipLayerInfo
NftPayment
NftPuzzleDriver
NftRecord
NftRecordWithMintInfo
NftRequestedPayment
NftStorageApi
NftVerificationResult
NftWalletInfo
NftWalletInfoWithNftInfos
NftWalletService
NotarizedPayment
NotificationCoin
NotificationWalletService
Offer
OfferedCoinLineage
OfferedMixedAmounts
User facing varaition of MixedAmounts that that can only be constructed with standard and cat values
OfferService
Creates and takes offers for a Wallet
OfferValidityData
OfferWalletService
Output
PaginatedCoins
ParsedCatInfo
ParsedMixedAmounts
ParsedNftInfo
ParsedOffer
ParsedOfferMap
Payment
PaymentRequestSignature
PaymentRequestTags
LightningPaymentRequest tagged data fields. All tagged fields are optional. See https://github.com/lightning/bolts/blob/master/11-payment-encoding.md#tagged-fields for more information.
PaymentsAndAdditions
Peer
PlotNft
PlotNftExtraData
PlotNftWalletService
PoolContext
PoolErrorResponse
PoolHttpREST
PoolInfo
PoolInterface
PoolService
PoolServiceImpl
PoolState
PopSchemeMPL
PostFarmerPayload
PostFarmerRequest
PrecomputedMemo
PrimaryCoinInfo
PrivateKey
PrivateKeyDidSigningService
Program
Dart representation of a clvm program
ProofOfNft
PuzzleAndSolution
PuzzleDriver
PuzzleDriverAndCoinSpend
PuzzleDriverCoinSpendAndPayment
Puzzlehash
PuzzleInfo
RequestedMixedPayments
User facing varaition of MixedPayments that uses NftRequestedPayment instead of NftPayment for nft payments
ReserveFeeCondition
Response
RouteInfo
RoyaltyInfo
RoyaltyPaymentWithLauncherId
RunOptions
SendTransactionCommand
SendTransactionResponse
SentTransactionData
SignMessageByAddressCommand
SignMessageByAddressData
SignMessageByAddressResponse
SignMessageByIdCommand
SignMessageByIdData
SignMessageByIdResponse
SignSpendBundleCommand
SignSpendBundleResponse
SimulatorBlockchainUtils
SimulatorFullNodeInterface
SimulatorHttpRpc
SimulatorUtils
SingletonService
SingletonWalletVector
SmallestFirstCoinSelector
SpendableCat
SpendBundle
SpendBundleSignResult
SpendCatCommand
SpentCoin
StandardNftRecord
StandardPuzzleDriver
StandardWalletInfo
StandardWalletService
Summable
SyncStatusData
TailDatabaseApi
TailInfo
TakeOfferArgs
TakeOfferCommand
TakeOfferData
TakeOfferResponse
TakerCrossChainOfferFile
The abstract class that holds parameters unique to offer files that are generated by the taker of an offer and sent to the maker.
TaskArgumentAndSendPort<T>
ToSpendBundleArgs
TradePrice
TradeRecord
TransactionRecord
TransferNftCommand
TransferNftData
TransferNftResponse
UncurriedDidInnerPuzzle
UncurriedNftPuzzle
utility class for deconstructing NFT full puzzle
UnhardenedWalletVector
UnsignedDidSpendBundleWithTotalBundle
UriHashProvider
VerifySignatureCommand
VerifySignatureData
VerifySignatureResponse
Wallet
a Wallet has access to a keychain and that keychain's coins
WalletAddress
WalletBalance
WalletConnectAppClient
Used for connecting to wallets and requesting data from them via a WalletConnectCommand.
WalletConnectCommand
WalletConnectCommandBaseResponse
Base response that contains all additional information that may be included in a response from an executed command other than the data field. Data field varies by command.
WalletConnectCommandBaseResponseImp
WalletConnectCommandErrorResponse
WalletConnectDidSigningService
WalletConnectRequestHandler
Handles request received from apps, allowing user to approve or reject, and executing the requested command if approved.
WalletConnectWalletClient
Used to interface between user wallet and apps. Executes received requests and sends back responses with data.
WalletKeychain
WalletKeychainFromCoreSecretIsolateArguments
WalletPuzzlehash
WalletSet
WalletVector
XchScan
XchScanResponse
XchService
XchToBtcMakerOfferFile
XchToBtcService
XchToBtcTakerOfferFile

Mixins

CoinFieldsDecoratorMixin
CoinPrototypeDecoratorMixin
DidInfoDecoratorMixin
IrulastWalletConnectRequestHandlerMixin
Creates a mapping of walletId to ChiaWalletInfo in order to conform to Chia's standard and holds functionality for command execution methods that is shared between implementations of WalletConnectRequestHandler.
MixedTypeMixin<T, V>
NftRecordDecoratorMixin
ToBytesMixin
ToJsonMixin
ToProgramMixin
WalletConnectCommandResponseDecoratorMixin
WalletInfoDecorator

Extensions

AddressTypeX on CryptoAddress
AssetIdsGetterX on Map<int, CatWalletInfo>
AttributeMap on Iterable<Attribute>
CatFunctionality on CatCoin
CoinFunctionality on Coin
CoinValue on List<CoinPrototype>
CommandMethods on WalletConnectRequestHandler
CommandNames on List<WalletConnectCommandType>
ConditionArguments on Condition
CustomLets on Pick
DIDs on Map<int, DIDWalletInfo>
ExchangeOfferRecordType on CrossChainOfferFile
ExtractBytesFromIterator on Iterator<int>
Fatten on Iterable<Iterable<T>>
Fingerprints on SessionData
GetNftRecordsWithData on Iterable<NftRecord>
GroupByAssetId on Iterable<CatCoin>
HashBytesList on Iterable<Bytes>
MemosFromStrings on Iterable<String>
MixedAmountsBase on MixedAmounts
MixedCoinsGetterX on Wallet
NftInfosGetterX on Map<int, NftWalletInfoWithNftInfos>
NftInfosListGetterX on List<NftWalletInfoWithNftInfos>
Notarize on MixedPayments
OptionalSerialize on ToBytesMixin?
PaymentIterable on Iterable<Payment>
PoolErrorResponseCode on PoolErrorState
PoolSingletonStateCode on PoolSingletonState
PowersOfTen on num
PushAndWaitForSpendBundle on ChiaFullNodeInterface
PuzzlePayments on PuzzleDriver
RandomItem on List<T>
RandomPuzzleHash on List<Puzzlehash>
Role on CrossChainOfferFile
SendCoinsX on Wallet
Serialize on CrossChainOfferFile
SerializePuzzlehashes on Iterable<Puzzlehash>
SharedFunctionality on NftRecord
SplitIntoBatches on List<T>
StringToBytesX on String
StripByItsPrefix on String
StripData on ChiaWalletInfo
Sum on Iterable<Summable>
ToDidMetadata on Map<String, String>
ToJson on ChiaWalletInfo
ToPrecomputedMemo on Memo
ToProgram on Iterable<Condition>
ToSerializedList on Iterable<ToJsonMixin>
ToSpendableDid on DidRecord
UnixTimestampX on DateTime
WaitForSpendBundle on BlockchainUtils
WalletsOfType on Map<int, ChiaWalletInfo>
WhiteListValidation on Iterable<Uri>

Functions

bigIntToBytes(BigInt value, int size, Endian endian, {bool signed = false}) Bytes
bytesEqual(List<int> a, List<int> b) bool
bytesToBigInt(List<int> bytes, Endian endian, {bool signed = false}) BigInt
bytesToInt(List<int> bytes, Endian endian, {bool signed = false}) int
calculateSyntheticOffset(JacobianPoint publicKey) BigInt
calculateSyntheticOffsetFromHiddenPuzzle(JacobianPoint publicKey, Program hiddenPuzzleProgram) BigInt
calculateSyntheticPrivateKey(PrivateKey privateKey) PrivateKey
calculateTotalCoinValue(List<CoinPrototype> coins) int
calculateTotalPrivateKey(JacobianPoint totalPublicKey, Program hiddenPuzzle, PrivateKey firstPrivateKey, PrivateKey secondPrivateKey) PrivateKey
codeToPoolErrorResponse(int code) PoolErrorState
codeToPoolSingletonState(int code) PoolSingletonState
constructChip002Message(String message) Bytes
constructMessageForSignature(String message, SigningMode signingMode) Bytes
constructSpendBundleOfCoin(Bytes coinId, ChiaFullNodeInterface fullNode) Future<SpendBundle?>
cribbed from https://github.com/SutuLabs/Pawket/commit/75275f52f6e32b0a2805db18f83bbd36609f3a4d
decodeBigInt(List<int> bytes) BigInt
decodeFeatureBits(List<int> data) String
decodeInt(List<int> bytes) int
decodeLightningPaymentRequest(String paymentRequest) LightningPaymentRequest
decodeRouteInfo(List<int> data) RouteInfo
decodeRoutingInfo(List<int> data) → void
decodeStringFromBytes(Bytes bytes) String?
decodeTags(Map<int, dynamic> encodedTags) PaymentRequestTags
derivePath(PrivateKey sk, List<int> path) PrivateKey
derivePathUnhardened(PrivateKey sk, List<int> path) PrivateKey
encodeBigInt(BigInt value) Bytes
encodeInt(int value) Bytes
flip(String binary) String
generateDexieId(String serializedOfferFile) String
getDexieSubmissionStatus(String serializedOfferFile) Future<bool>
getFarmingStatus(PlotNft plotNft, KeychainCoreSecret keychainSecret, WalletKeychain keychain, PoolService poolService, ChiaFullNodeInterface fullNode) Future<GetFarmerResponse>
getP2PuzzleFromSyntheticPublicKey(JacobianPoint syntheticPublicKey) Program
getPuzzleForPkAsync(JacobianPoint publicKey) Future<Program>
getPuzzleForSyntheticPk(JacobianPoint publicKey) Program
getPuzzleFromPk(JacobianPoint publicKey) Program
getPuzzleFromPkAndHiddenPuzzle(JacobianPoint publicKey, Program hiddenPuzzleProgram) Program
getSingletonChildFromCoinSpend(CoinSpend coinSpend) CoinPrototype
intFrom32BitsStream(Iterator<int> iterator) int
intFrom64BitsStream(Iterator<int> iterator) int
intTo32Bits(int value) Bytes
intTo64Bits(int value) Bytes
intTo8Bits(int value) Bytes
intToBytes(int value, int size, Endian endian, {bool signed = false}) Bytes
makeTransactionMemos(SpendBundle spendBundle, List<Memo> memos) Map<Bytes, List<Memo>>
masterSkToBackupSk(PrivateKey masterSk) PrivateKey
masterSkToFarmerSk(PrivateKey masterSk) PrivateKey
masterSkToLocalSk(PrivateKey masterSk) PrivateKey
masterSkToPoolingAuthenticationSk(PrivateKey masterSk, int poolWalletIndex, int index) PrivateKey
masterSkToPoolSk(PrivateKey masterSk) PrivateKey
masterSkToSingletonOwnerSk(PrivateKey masterSk, int poolWalletIndex) PrivateKey
masterSkToWalletSk(PrivateKey masterSk, int index) PrivateKey
masterSkToWalletSkUnhardened(PrivateKey masterSk, int index) PrivateKey
maybeIntFrom64BitsStream(Iterator<int> iterator) int?
optionallySerializeInt(int? integer) Bytes
parseCrossChainOfferFileTypeFromJson(Map<String, dynamic> json) CrossChainOfferFileType
randomByte() int
randomBytes(int length) List<int>
selectCatCoinsForAmount(List<CatCoin> coinsInput, int amount, {required Puzzlehash assetId, int? maxNumberOfCoins, int minMojos = 50, CoinSelectionType selectionType = CoinSelectionType.closestValue}) List<CatCoin>
throws InsufficientCatBalanceException
selectCoinsForAmount<T extends CoinPrototype>(List<T> coinsInput, int amount, {int? maxNumberOfCoins, int minMojos = 50, CoinSelectionType selectionType = CoinSelectionType.closestValue}) List<T>
throws InsufficientBalanceException
selectStandardCoinsForAmount(List<Coin> coinsInput, int amount, {int? maxNumberOfCoins, int minMojos = 50, CoinSelectionType selectionType = CoinSelectionType.closestValue}) List<Coin>
throws InsufficientStandardBalanceException
spawnAndWaitForIsolate<T, R>({required R taskArgument, required FutureOr<Map<String, dynamic>> isolateTask(R taskArgument), required FutureOr<T> handleTaskCompletion(Map<String, dynamic> taskResultJson)}) Future<T>
spawnAndWaitForIsolateWithProgressUpdates<T, R>({required R taskArgument, required void onProgressUpdate(double progress), required FutureOr<Map<String, dynamic>> isolateTask(R taskArgument, void onProgressUpdate(double progress)), required FutureOr<T> handleTaskCompletion(Map<String, dynamic> taskResultJson)}) Future<T>
stringToNetwork(String networkString) Network
waitConcurrently2<T1, T2>(Future<T1> future1, Future<T2> future2) Future<Tuple2<T1, T2>>
waitConcurrently3<T1, T2, T3>(Future<T1> future1, Future<T2> future2, Future<T3> future3) Future<Tuple3<T1, T2, T3>>
waitConcurrently4<T1, T2, T3, T4>(Future<T1> future1, Future<T2> future2, Future<T3> future3, Future<T4> future4) Future<Tuple4<T1, T2, T3, T4>>

Typedefs

BlockchainNetworkLoaderFunction = BlockchainNetwork Function(String path)
ConditionChecker<T> = bool Function(Program program)
ConditionFromProgramConstructor<T> = T Function(Program program)
Farmer = GetFarmerResponse
HeadersGetter = Future<Map<String, String>> Function()
LoggingFunction = void Function(String text)
LogTypes = Set<LogType>
Validator = bool Function(Program)
WalletConnectSessionApprovalHandler = Future<void> Function(ApproveResponse approveResponse)
WalletConnectSessionProposalHandler = Future<List<int>?> Function(SessionProposalEvent sessionProposal)

Exceptions / Errors

AssertAnnouncementConsumeFailedException
BadAuthenticationException
BadCoinIdException
BadRequestException
BadSignatureOnOfferFile
BadSignatureOnPublicKeyException
CoinParseException
ContextNotSetException
DexieApiErrorException
DoubleSpendException
EmptyNftWalletException
ErrorParsingWalletConnectCommand
ErrorProcessingRequestException
ErrorResponseException
ExpiredCrossChainOfferFile
FailedResponseParsingException
FailedSignatureOnOfferFileException
FeeTooSmallException
GeneralWalletResponseException
InsufficientBalanceException
InsufficientCatBalanceException
InsufficientNftBalanceException
InsufficientStandardBalanceException
InternalServerErrorException
InvalidAddressException
InvalidCatException
InvalidCrossChainOfferPrefix
InvalidCrossChainOfferType
InvalidDidException
InvalidDIDException
InvalidDIDSpendModeCodeException
InvalidInitializationCoinException
InvalidMessageCoinException
InvalidMintInfoException
InvalidNamesdaoName
InvalidNftCoinIdsException
InvalidNftDataException
InvalidNftException
InvalidNftProofMemos
InvalidNotificationCoinException
InvalidWalletIdException
IsolateException
JsonRpcErrorWalletResponseException
KeyMismatchException
MaxCoinsExceededException
MissingCancelCoinException
MissingDidException
MissingInputsForFeeException
NamesdaoApiException
NotConnectedException
NotRunningException
OfferCanceledException
PoolResponseException
RejectedRequestException
RejectedSessionProposalException
RequestedNftAlreadyOwnedException
SignException
SimulatorAuthFilesNotFoundException
UnregisteredSessionProposalHandler
UnsupportedCoinException
UnsupportedCommandException
UnsupportedWalletTypeException
UserRejectedRequestException
WalletsUninitializedException
WrongWalletTypeException