cabal-version: 3.0
name: solana-haskell-sdk
version: 1.2.0.0
synopsis: Solana SDK: transaction building, signing, program clients, and JSON-RPC.
homepage: https://github.com/mariusgeorgescu/solana-haskell-sdk
bug-reports: https://github.com/mariusgeorgescu/solana-haskell-sdk/issues
-- A longer description of the package.
description:
This library includes features like key generation and management,
transaction and instruction construction, and a JSON-RPC API client.
This library is aimed at developers building Solana dApps, tools, or infrastructure in Haskell.
All serialization is verified byte-for-byte against the official Rust SDK by golden-vector tests.
license: Apache-2.0
license-file: LICENSE
author: Marius Georgescu
maintainer: georgescumarius@live.com
copyright: 2024 Marius Georgescu
category: Blockchain, Web3, Solana
build-type: Simple
tested-with: GHC ==9.6.7
-- Extra doc files to be distributed with the package, such as a CHANGELOG or a README.
extra-doc-files:
CHANGELOG.md
README.md
-- Extra source files to be distributed with the package, such as examples, or a tutorial module.
extra-source-files:
test/fixtures/*.json
flag integration
description:
Build the local-validator integration test suite. Off by default so that
building this package's tests needs no WebSocket dependency and no running
validator; see the Integration tests section of the README.
default: False
manual: True
common warnings
ghc-options: -Wall
library
-- Import common warning flags.
import: warnings
-- Modules exported by the library.
exposed-modules:
Network.Solana.Constants
Network.Solana.Core.Account
Network.Solana.Core.Block
Network.Solana.Core.Borsh
Network.Solana.Core.Compact
Network.Solana.Core.Crypto
Network.Solana.Core.Instruction
Network.Solana.Core.Message
Network.Solana.Core.Pda
Network.Solana.Core.Transaction
Network.Solana.Core.VersionedMessage
Network.Solana.Metaplex.TokenMetadata
Network.Solana.NativePrograms.AddressLookupTable
Network.Solana.NativePrograms.BpfLoaderUpgradeable
Network.Solana.NativePrograms.ComputeBudget
Network.Solana.NativePrograms.Secp256k1
Network.Solana.NativePrograms.Stake
Network.Solana.NativePrograms.SystemProgram
Network.Solana.NativePrograms.Vote
Network.Solana.SplPrograms.AssociatedTokenAccount
Network.Solana.SplPrograms.Memo
Network.Solana.SplPrograms.Token
Network.Solana.RPC.HTTP.Account
Network.Solana.RPC.HTTP.Block
Network.Solana.RPC.HTTP.Chain
Network.Solana.RPC.HTTP.Ledger
Network.Solana.RPC.HTTP.Token
Network.Solana.RPC.HTTP.Tokenomics
Network.Solana.RPC.HTTP.Transaction
Network.Solana.RPC.HTTP.Types
Network.Solana.RPC.WebSocket
Network.Solana.SolanaWeb3
Network.Solana.Sysvar
-- Modules included in this library but not exported.
-- other-modules:
-- LANGUAGE extensions used by modules in this package.
-- other-extensions:
-- Other library packages from which modules are imported.
build-depends:
, aeson ^>=2.2
, base ^>=4.18.0.0
, base58-bytestring ^>=0.1
, base64 ^>=1.0
, binary ^>=0.8
, bytestring ^>=0.11
, containers ^>=0.6
, crypton ^>=1.0
, ed25519 ^>=0.0.5
, either ^>=5.0
, extra ^>=1.8
, jsonrpc-tinyclient ^>=1.1
, memory ^>=0.18
, mtl ^>=2.3
, text ^>=2.0
, vector ^>=0.13
, web3 ^>=1.1
-- Directories containing source files.
hs-source-dirs: src
-- Base language which the package is written in.
default-language: GHC2021
executable solana-haskell-sdk
-- Import common warning flags.
import: warnings
-- .hs or .lhs file containing the Main module.
main-is: Main.hs
-- Modules included in this executable, other than Main.
-- other-modules: Demos
-- LANGUAGE extensions used by modules in this package.
-- other-extensions:
-- Other library packages from which modules are imported.
build-depends:
, base ^>=4.18.0.0
, solana-haskell-sdk
, web3-provider ^>=1.1
-- Directories containing source files.
hs-source-dirs: app
-- Base language which the package is written in.
default-language: GHC2021
test-suite solana-haskell-sdk-test
import: warnings
default-language: GHC2021
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: Main.hs
other-modules:
Test.Core.Account
Test.Core.Block
Test.Core.Borsh
Test.Core.Compact
Test.Core.Crypto
Test.Core.Instruction
Test.Core.Message
Test.Core.Pda
Test.Core.VersionedMessage
Test.Fixtures
Test.Metaplex.TokenMetadata
Test.NativePrograms.AddressLookupTable
Test.NativePrograms.BpfLoaderUpgradeable
Test.NativePrograms.ComputeBudget
Test.NativePrograms.Secp256k1
Test.NativePrograms.Stake
Test.NativePrograms.SystemProgram
Test.NativePrograms.Vote
Test.RPC.Chain
Test.RPC.Parsers
Test.RPC.WebSocket
Test.SplPrograms.AssociatedTokenAccount
Test.SplPrograms.Memo
Test.SplPrograms.Token
build-depends:
, aeson ^>=2.2
, base ^>=4.18.0.0
, base16-bytestring ^>=1.0
, binary ^>=0.8
, bytestring ^>=0.11
, containers ^>=0.6
, solana-haskell-sdk
, tasty ^>=1.5
, tasty-hunit ^>=0.10
, tasty-quickcheck ^>=0.11
, text ^>=2.0
test-suite integration-tests
import: warnings
default-language: GHC2021
type: exitcode-stdio-1.0
hs-source-dirs: test-integration
main-is: Main.hs
other-modules:
Test.Integration.Alt
Test.Integration.Nonce
Test.Integration.PriorityFee
Test.Integration.Setup
Test.Integration.Token
Test.Integration.Transfer
Test.Integration.WebSocket
build-depends:
, base ^>=4.18.0.0
, solana-haskell-sdk
, tasty ^>=1.5
, tasty-hunit ^>=0.10
, web3-provider ^>=1.1
, websockets ^>=0.13
if !flag(integration)
buildable: False
source-repository head
type: git
location: https://github.com/mariusgeorgescu/solana-haskell-sdk