module.flow.js 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. /**
  2. * Flow Library definition for spl-token
  3. *
  4. * This file is manually maintained
  5. *
  6. */
  7. declare module '@solana/spl-token' {
  8. // === client/token.js ===
  9. declare export class u64 extends BN {
  10. toBuffer(): Buffer;
  11. static fromBuffer(buffer: Buffer): u64;
  12. }
  13. declare export type MintInfo = {|
  14. owner: null | PublicKey,
  15. decimals: number,
  16. initialized: boolean,
  17. |};
  18. declare export type AccountInfo = {|
  19. mint: PublicKey,
  20. owner: PublicKey,
  21. amount: u64,
  22. delegate: null | PublicKey,
  23. delegatedAmount: u64,
  24. isInitialized: boolean,
  25. isNative: boolean,
  26. |};
  27. declare export type MultisigInfo = {|
  28. m: number,
  29. n: number,
  30. initialized: boolean,
  31. signer1: PublicKey,
  32. signer2: PublicKey,
  33. signer3: PublicKey,
  34. signer4: PublicKey,
  35. signer5: PublicKey,
  36. signer6: PublicKey,
  37. signer7: PublicKey,
  38. signer8: PublicKey,
  39. signer9: PublicKey,
  40. signer10: PublicKey,
  41. signer11: PublicKey,
  42. |};
  43. declare export type TokenAndPublicKey = [Token, PublicKey];
  44. declare export class Token {
  45. constructor(
  46. connection: Connection,
  47. publicKey: PublicKey,
  48. programId: PublicKey,
  49. payer: Account,
  50. ): Token;
  51. static createMint(
  52. connection: Connection,
  53. payer: Account,
  54. mintOwner: PublicKey,
  55. accountOwner: PublicKey,
  56. supply: u64,
  57. decimals: number,
  58. programId: PublicKey,
  59. is_owned: boolean,
  60. ): Promise<TokenAndPublicKey>;
  61. static getAccount(connection: Connection): Promise<Account>;
  62. createAccount(owner: PublicKey): Promise<PublicKey>;
  63. createMultisig(m: number, signers: Array<PublicKey>): Promise<PublicKey>;
  64. getMintInfo(): Promise<MintInfo>;
  65. getAccountInfo(account: PublicKey): Promise<AccountInfo>;
  66. getMultisigInfo(multisig: PublicKey): Promise<MultisigInfo>;
  67. transfer(
  68. source: PublicKey,
  69. destination: PublicKey,
  70. authority: Account | PublicKey,
  71. multiSigners: Array<Account>,
  72. amount: number | u64,
  73. ): Promise<TransactionSignature>;
  74. approve(
  75. account: PublicKey,
  76. delegate: PublicKey,
  77. owner: Account | PublicKey,
  78. multiSigners: Array<Account>,
  79. amount: number | u64,
  80. ): Promise<void>;
  81. revoke(
  82. account: PublicKey,
  83. owner: Account | PublicKey,
  84. multiSigners: Array<Account>,
  85. ): Promise<void>;
  86. setOwner(
  87. owned: PublicKey,
  88. newOwner: PublicKey,
  89. owner: Account | PublicKey,
  90. multiSigners: Array<Account>,
  91. ): Promise<void>;
  92. mintTo(
  93. dest: PublicKey,
  94. authority: Account | PublicKey,
  95. multiSigners: Array<Account>,
  96. amount: number,
  97. ): Promise<void>;
  98. burn(
  99. account: PublicKey,
  100. authority: Account | PublicKey,
  101. multiSigners: Array<Account>,
  102. amount: number,
  103. ): Promise<void>;
  104. closeAccount(
  105. account: PublicKey,
  106. dest: PublicKey,
  107. owner: Account | PublicKey,
  108. multiSigners: Array<Account>,
  109. ): Promise<void>;
  110. static createTransferInstruction(
  111. programId: PublicKey,
  112. source: PublicKey,
  113. destination: PublicKey,
  114. authority: Account | PublicKey,
  115. multiSigners: Array<Account>,
  116. amount: number | u64,
  117. ): TransactionInstruction;
  118. static createApproveInstruction(
  119. programId: PublicKey,
  120. account: PublicKey,
  121. delegate: PublicKey,
  122. owner: Account | PublicKey,
  123. multiSigners: Array<Account>,
  124. amount: number | u64,
  125. ): TransactionInstruction;
  126. static createRevokeInstruction(
  127. programId: PublicKey,
  128. account: PublicKey,
  129. owner: Account | PublicKey,
  130. multiSigners: Array<Account>,
  131. ): TransactionInstruction;
  132. static createSetOwnerInstruction(
  133. programId: PublicKey,
  134. owned: PublicKey,
  135. newOwner: PublicKey,
  136. owner: Account | PublicKey,
  137. multiSigners: Array<Account>,
  138. ): TransactionInstruction;
  139. static createMintToInstruction(
  140. programId: PublicKey,
  141. mint: PublicKey,
  142. dest: PublicKey,
  143. authority: Account | PublicKey,
  144. multiSigners: Array<Account>,
  145. amount: number,
  146. ): TransactionInstruction;
  147. static createBurnInstruction(
  148. programId: PublicKey,
  149. account: PublicKey,
  150. authority: Account | PublicKey,
  151. multiSigners: Array<Account>,
  152. amount: number,
  153. ): TransactionInstruction;
  154. static createCloseAccountInstruction(
  155. programId: PublicKey,
  156. account: PublicKey,
  157. dest: PublicKey,
  158. owner: Account | PublicKey,
  159. multiSigners: Array<Account>,
  160. ): TransactionInstructio;
  161. }
  162. }