1.7.0 • Published 2 years ago

parasol-finance-sdk v1.7.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

Installation

npm i @parasol-finance/parasol-finance-sdk

Example Usages

Initialize program wrappers

const { connection } = useConnection();
const { publicKey, sendTransaction } = useWallet();

// initialize provider
const provider = new AnchorProvider(connection, useWallet() as any, {
  preflightCommitment: "confirmed",
});

// NFT store config
const config: NftStoreConfig = {
  paymentMint: new PublicKey(process.env.NEXT_PUBLIC_PAYMENT_MINT),
  collectionMint: new PublicKey(process.env.NEXT_PUBLIC_COLLECTION_MINT),
}

// initialize program wrappers
const nftStore = await new NftStore(provider, config).build();
const nftKinds = await Promise.all(
  [0,1,2,3].map((tier) => new NftKind(provider, tier).build())
);
const projectKinds = await Promise.all(
  [0,1,2].map((tier) => new ProjectKind(provider, tier).build())
);
const user = await new User(provider, nftStore).build();
const migrator = new Migrator(provider, user, nftKinds);

// get current supply / max supply of nftKind
const nftKindT1Data = await nftKinds[0].data();
console.log(nftKindT1Data.currentSupply, "/", nftKindT1Data.maxSupply);

Mint a new NFT

try {
  // random keypair for new NFT mint
  const mintKeypair = Keypair.generate();
  // purchase for tier 1
  const tx = await user.purchase(mintKeypair.publicKey, nftKinds[0]);
  // sign transaction
  let signature = await sendTransaction(tx, connection, { signers: [mintKeypair] });
  // confirm transaction
  await connection.confirmTransaction(signature, "confirmed");
} catch (err) {
  // handle custom program error code
}

Upgrade an old NFT

try {
  // random keypair for new NFT mint
  const mintKeypair = Keypair.generate();
  // upgrade selected old NFT in the whitelist, mint a new NFT
  const tx = await migrator.upgrade(nftMint, mintKeypair.publicKey);
  // sign transaction
  let signature = await sendTransaction(tx, connection, { signers: [mintKeypair] });
  // confirm transaction
  await connection.confirmTransaction(signature, "confirmed");
} catch (err) {
  // handle custom program error code
}

Create a new Project

try {
  // random keypair for new Project
  // it doesn't require to use Keypair to read project on-chain metadata
  // it's only needed to create a new project
  const projectKeypair = Keypair.generate();
  const project = await new Project(provider, store, projectKeypair.publicKey).build();

  const tx = await project.create(args, user);

  // sign transaction
  let signature = await sendTransaction(tx, connection, { signers: [projectKeypair] });
  // confirm transaction
  await connection.confirmTransaction(signature, "confirmed");
} catch (err) {
  // handle custom program error code
}

APIs

NFT Kind

  • data()

User

  • purchase(nftMint, nftKind)
  • redeem(nftMint)
  • getParticipateReceipts(nftMint)
  • getNFTList()

Migrator

  • upgrade(nftMint, mint)
  • getNFTList()
  • getParticipateAmount(nftMint, project, salePrice, rewardDecimals)
  • getAssociatedTokenAccountFor(mint)

Project

  • data()
  • create(args, user)
  • update(args, user)
  • participate(args, user)
  • getParticipateAmount(nftMint, project, salePrice, rewardDecimals)

Addresses

Devnet

  • PSOL Mint: HK3Q8SJYiV1kLo3b6vfwLnL45nhunnt4kSBVQNa3Z28J
  • Collection NFT: NxD1rrjyfV8yksm5RE6hX3qqY7TAbV1E5Vxxe4qvrMR

Mainnet

  • PSOL Mint: Hmatmu1ktLbobSvim94mfpZmjL5iiyoM1zidtXJRAdLZ
  • Collection NFT: Fp5Qz3BgRAWQQ1E67LHNrn8nxFyUyJUzYHf95QXAGwY3
1.2.0

2 years ago

1.1.29

2 years ago

1.1.28

2 years ago

1.6.3

2 years ago

1.6.2

2 years ago

1.6.1

2 years ago

1.6.0

2 years ago

1.2.2

2 years ago

1.2.1

2 years ago

1.1.30

2 years ago

1.1.33

2 years ago

1.1.32

2 years ago

1.1.31

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

0.12.10

2 years ago

0.12.11

2 years ago

1.1.9

2 years ago

1.5.4

2 years ago

1.1.8

2 years ago

1.5.3

2 years ago

1.1.7

2 years ago

1.5.2

2 years ago

1.1.6

2 years ago

1.5.1

2 years ago

1.1.5

2 years ago

1.5.0

2 years ago

1.1.4

2 years ago

1.1.3

2 years ago

1.1.2

2 years ago

1.1.12

2 years ago

1.1.11

2 years ago

1.1.10

2 years ago

1.1.16

2 years ago

1.1.15

2 years ago

1.1.14

2 years ago

1.1.13

2 years ago

1.1.19

2 years ago

1.1.18

2 years ago

1.1.17

2 years ago

1.1.23

2 years ago

1.1.22

2 years ago

1.1.21

2 years ago

1.1.20

2 years ago

1.1.27

2 years ago

1.1.26

2 years ago

1.1.25

2 years ago

1.1.24

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago

1.4.3

2 years ago

1.4.2

2 years ago

1.4.1

2 years ago

1.4.0

2 years ago

0.11.2

2 years ago

1.7.0

2 years ago

1.3.3

2 years ago

1.3.2

2 years ago

1.3.1

2 years ago

1.3.0

2 years ago

0.12.7

2 years ago

0.12.8

2 years ago

0.12.9

2 years ago

0.12.0

2 years ago

0.12.1

2 years ago

0.12.2

2 years ago

0.12.3

2 years ago

0.12.4

2 years ago

0.12.5

2 years ago

0.12.6

2 years ago

0.8.8

2 years ago

0.8.5

2 years ago

0.6.7

2 years ago

0.8.4

2 years ago

0.6.6

2 years ago

0.8.7

2 years ago

0.6.9

2 years ago

0.6.8

2 years ago

0.11.0

2 years ago

0.11.1

2 years ago

0.6.10

2 years ago

0.6.12

2 years ago

0.6.11

2 years ago

0.6.17

2 years ago

0.6.14

2 years ago

0.6.13

2 years ago

0.6.16

2 years ago

0.6.15

2 years ago

0.9.0

2 years ago

0.7.2

2 years ago

0.7.1

2 years ago

0.9.2

2 years ago

0.7.4

2 years ago

0.9.1

2 years ago

0.7.3

2 years ago

0.7.0

2 years ago

0.7.11

2 years ago

0.7.10

2 years ago

0.7.9

2 years ago

0.7.13

2 years ago

0.7.12

2 years ago

0.9.4

2 years ago

0.7.6

2 years ago

0.9.3

2 years ago

0.7.5

2 years ago

0.9.6

2 years ago

0.7.8

2 years ago

0.9.5

2 years ago

0.7.7

2 years ago

0.7.15

2 years ago

0.7.14

2 years ago

0.7.17

2 years ago

0.10.9

2 years ago

0.10.1

2 years ago

0.10.2

2 years ago

0.10.3

2 years ago

0.10.4

2 years ago

0.10.5

2 years ago

0.10.6

2 years ago

0.10.7

2 years ago

0.10.8

2 years ago

0.10.0

2 years ago

0.8.1

2 years ago

0.8.0

2 years ago

0.8.3

2 years ago

0.6.5

2 years ago

0.8.2

2 years ago

0.6.4

2 years ago

0.6.3

2 years ago

0.6.2

2 years ago

0.6.1

2 years ago

0.6.0

2 years ago

0.5.1

2 years ago

0.5.0

2 years ago

0.4.2

2 years ago

0.4.1

2 years ago

0.4.0

2 years ago

0.3.7

2 years ago

0.3.6

2 years ago

0.3.5

2 years ago

0.3.4

2 years ago

0.3.3

2 years ago

0.3.2

2 years ago

0.3.1

2 years ago

0.3.0

2 years ago

0.2.8

2 years ago

0.2.7

2 years ago

0.2.6

2 years ago

0.2.5

2 years ago

0.2.4

2 years ago

0.2.1

2 years ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago