결제구독
구독 권한은 프로그램이 사용자의 토큰 계정에 대한 SPL 토큰 위임자로 사용하는 PDA입니다. 사용자가 해당 민트에 대한 활성 고정 위임, 반복 위임 또는 구독 위임이 더 이상 없을 때 이를 닫으세요.
계정을 닫으면 해당 계정의 rent가 자금 제공자(사용자 또는 자금을 지원한 지불자)에게 반환됩니다. 먼저 활성화된 위임을 모두 해제하십시오.
계정을 닫아도 SPL Token 위임 승인은 삭제되지 않습니다. PDA가 삭제되면 승인은 비활성 상태가 되지만, 취소되기 전까지 token account에 남아 있습니다 — 위임 승인 취소를 참조하십시오.
Authority 닫기
import { address, createClient } from '@solana/kit';import { solanaLocalRpc } from '@solana/kit-plugin-rpc';import { signer } from '@solana/kit-plugin-signer';import {findSubscriptionAuthorityPda,subscriptionsProgram,} from '@solana/subscriptions';const client = createClient().use(signer(userSigner)).use(solanaLocalRpc({ rpcUrl: 'http://127.0.0.1:8899' })).use(subscriptionsProgram());const tokenMint = address('TOKEN_MINT_ADDRESS_HERE');const [subscriptionAuthorityPda] = await findSubscriptionAuthorityPda({user: userSigner.address,tokenMint,});await client.subscriptions.instructions.closeSubscriptionAuthority({user: userSigner,tokenMint,// Include this only when a sponsor funded the Subscription Authority.receiver: sponsorSigner.address,}).sendTransaction();
위임 승인 취소
RevokeSubscriptionAuthority는 사용자의 token account에 남아 있는 위임 승인을
삭제합니다. 사용자가 서명한 Token Program의 Revoke를 호출하므로 Subscription
Authority의 존재 여부와 관계없이 작동합니다. 단독으로 전송하거나
CloseSubscriptionAuthority와 함께 전송할 수 있습니다.
민트를 소유한 Token Program을 전달하십시오: SPL Token 민트의 경우
TOKEN_PROGRAM_ADDRESS, Token-2022 민트의 경우 @solana-program/token-2022의
TOKEN_2022_PROGRAM_ADDRESS를 사용하십시오.
import { TOKEN_PROGRAM_ADDRESS } from '@solana-program/token';await client.subscriptions.instructions.revokeSubscriptionAuthority({user: userSigner,tokenMint,tokenProgram: TOKEN_PROGRAM_ADDRESS,}).sendTransaction();
참고 사항
- 사용자가 종료 트랜잭션에 서명합니다.
- 스폰서가 Subscription Authority에 자금을 지원한 경우, rent가 기록된 지불자에게
반환되도록 해당 스폰서 계정을
receiver로 전달하십시오. - Subscription Authority를 닫기 전에 고정, 반복 및 구독 위임 PDA를 먼저 닫으십시오.
- 사용자가 나중에 새 위임을 생성하는 경우, 동일한 민트에 대해 새 Subscription Authority를 초기화하십시오.
- 계정을 닫아도 토큰 위임 승인은 삭제되지 않습니다. 사용자의 token account에서
승인을 제거하려면
RevokeSubscriptionAuthority를 사용하십시오.
Is this page helpful?