( app: web3.PublicKey, tier: web3.PublicKey, subscriber: web3.Keypair, subscriberAta: web3.PublicKey )
| 194 | } |
| 195 | |
| 196 | export async function createSubscription( |
| 197 | app: web3.PublicKey, |
| 198 | tier: web3.PublicKey, |
| 199 | subscriber: web3.Keypair, |
| 200 | subscriberAta: web3.PublicKey |
| 201 | ): Promise<{ |
| 202 | subscription: any |
| 203 | subscriptionThread: any |
| 204 | subscriptionBump: number |
| 205 | }> { |
| 206 | let [subscription, subscriptionBump] = subscriptionAccountKey( |
| 207 | subscriber.publicKey, |
| 208 | app |
| 209 | ) |
| 210 | |
| 211 | let thread = subscriptionThreadKey(subscription) |
| 212 | |
| 213 | await global.program.methods |
| 214 | .createSubscription() |
| 215 | .accounts({ |
| 216 | threadProgram: THREAD_PROGRAM, |
| 217 | subscriptionThread: thread, |
| 218 | app, |
| 219 | tier, |
| 220 | subscriber: subscriber.publicKey, |
| 221 | subscriberAta, |
| 222 | }) |
| 223 | .signers([subscriber]) |
| 224 | .rpc() |
| 225 | |
| 226 | return { subscription, subscriptionThread: thread, subscriptionBump } |
| 227 | } |
| 228 | |
| 229 | export const THREAD_PROGRAM = new web3.PublicKey( |
| 230 | "3XXuUFfweXBwFgFfYaejLvZE4cGZiHgKiGfMtdxNzYmv" |
no test coverage detected