@sign-global/tokentable 0.4.1-beta.4 → 0.4.1-beta.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/dist/cjs/airdrop/SignatureAirdropClient.d.ts +2 -1
  2. package/dist/cjs/airdrop/SignatureAirdropClient.js +28 -15
  3. package/dist/cjs/airdrop/SignatureAirdropClient.js.map +1 -1
  4. package/dist/cjs/airdrop/common/index.d.ts +35 -0
  5. package/dist/cjs/airdrop/constants/chain-config.d.ts +36 -0
  6. package/dist/cjs/airdrop/constants/chain-config.js +5 -0
  7. package/dist/cjs/airdrop/constants/chain-config.js.map +1 -1
  8. package/dist/cjs/airdrop/contracts/evm/SignatureAirdropService.d.ts +1 -1
  9. package/dist/cjs/airdrop/contracts/evm/SignatureAirdropService.js +6 -1
  10. package/dist/cjs/airdrop/contracts/evm/SignatureAirdropService.js.map +1 -1
  11. package/dist/cjs/airdrop/contracts/solana/AirdropSignatureClient.d.ts +7 -1
  12. package/dist/cjs/airdrop/contracts/solana/AirdropSignatureClient.js +24 -13
  13. package/dist/cjs/airdrop/contracts/solana/AirdropSignatureClient.js.map +1 -1
  14. package/dist/cjs/airdrop/contracts/solana/FeeCollectorClient.d.ts +2 -1
  15. package/dist/cjs/airdrop/contracts/solana/FeeCollectorClient.js +12 -3
  16. package/dist/cjs/airdrop/contracts/solana/FeeCollectorClient.js.map +1 -1
  17. package/dist/cjs/airdrop/contracts/solana/SignatureAirdropService.d.ts +2 -2
  18. package/dist/cjs/airdrop/contracts/solana/SignatureAirdropService.js +3 -9
  19. package/dist/cjs/airdrop/contracts/solana/SignatureAirdropService.js.map +1 -1
  20. package/dist/cjs/airdrop/contracts/solana/SolanaContractClient.d.ts +2 -1
  21. package/dist/cjs/airdrop/contracts/solana/SolanaContractClient.js +10 -4
  22. package/dist/cjs/airdrop/contracts/solana/SolanaContractClient.js.map +1 -1
  23. package/dist/cjs/airdrop/contracts/solana/fee_collector.d.ts +665 -349
  24. package/dist/cjs/airdrop/contracts/solana/fee_collector.json +79 -12
  25. package/dist/cjs/airdrop/contracts/solana/fungible_token_distributor_solana.d.ts +994 -504
  26. package/dist/cjs/airdrop/contracts/solana/fungible_token_distributor_solana.json +58 -3
  27. package/dist/cjs/airdrop/types/index.d.ts +4 -3
  28. package/dist/cjs/airdrop/types/index.js.map +1 -1
  29. package/dist/cjs/wallets/providers/evm/EvmWallet.js +27 -17
  30. package/dist/cjs/wallets/providers/evm/EvmWallet.js.map +1 -1
  31. package/dist/esm/airdrop/SignatureAirdropClient.d.ts +2 -1
  32. package/dist/esm/airdrop/SignatureAirdropClient.js +28 -15
  33. package/dist/esm/airdrop/SignatureAirdropClient.js.map +1 -1
  34. package/dist/esm/airdrop/common/index.d.ts +35 -0
  35. package/dist/esm/airdrop/constants/chain-config.d.ts +36 -0
  36. package/dist/esm/airdrop/constants/chain-config.js +6 -1
  37. package/dist/esm/airdrop/constants/chain-config.js.map +1 -1
  38. package/dist/esm/airdrop/contracts/evm/SignatureAirdropService.d.ts +1 -1
  39. package/dist/esm/airdrop/contracts/evm/SignatureAirdropService.js +6 -1
  40. package/dist/esm/airdrop/contracts/evm/SignatureAirdropService.js.map +1 -1
  41. package/dist/esm/airdrop/contracts/solana/AirdropSignatureClient.d.ts +7 -1
  42. package/dist/esm/airdrop/contracts/solana/AirdropSignatureClient.js +24 -13
  43. package/dist/esm/airdrop/contracts/solana/AirdropSignatureClient.js.map +1 -1
  44. package/dist/esm/airdrop/contracts/solana/FeeCollectorClient.d.ts +2 -1
  45. package/dist/esm/airdrop/contracts/solana/FeeCollectorClient.js +12 -3
  46. package/dist/esm/airdrop/contracts/solana/FeeCollectorClient.js.map +1 -1
  47. package/dist/esm/airdrop/contracts/solana/SignatureAirdropService.d.ts +2 -2
  48. package/dist/esm/airdrop/contracts/solana/SignatureAirdropService.js +3 -9
  49. package/dist/esm/airdrop/contracts/solana/SignatureAirdropService.js.map +1 -1
  50. package/dist/esm/airdrop/contracts/solana/SolanaContractClient.d.ts +2 -1
  51. package/dist/esm/airdrop/contracts/solana/SolanaContractClient.js +10 -4
  52. package/dist/esm/airdrop/contracts/solana/SolanaContractClient.js.map +1 -1
  53. package/dist/esm/airdrop/contracts/solana/fee_collector.d.ts +665 -349
  54. package/dist/esm/airdrop/contracts/solana/fee_collector.json +79 -12
  55. package/dist/esm/airdrop/contracts/solana/fungible_token_distributor_solana.d.ts +994 -504
  56. package/dist/esm/airdrop/contracts/solana/fungible_token_distributor_solana.json +58 -3
  57. package/dist/esm/airdrop/types/index.d.ts +4 -3
  58. package/dist/esm/airdrop/types/index.js.map +1 -1
  59. package/dist/esm/wallets/providers/evm/EvmWallet.js +27 -17
  60. package/dist/esm/wallets/providers/evm/EvmWallet.js.map +1 -1
  61. package/package.json +1 -1
  62. package/src/airdrop/SignatureAirdropClient.ts +40 -23
  63. package/src/airdrop/constants/chain-config.ts +7 -2
  64. package/src/airdrop/contracts/evm/SignatureAirdropService.ts +6 -1
  65. package/src/airdrop/contracts/solana/AirdropSignatureClient.ts +28 -27
  66. package/src/airdrop/contracts/solana/FeeCollectorClient.ts +12 -3
  67. package/src/airdrop/contracts/solana/SignatureAirdropService.ts +4 -10
  68. package/src/airdrop/contracts/solana/SolanaContractClient.ts +19 -11
  69. package/src/airdrop/contracts/solana/fee_collector.json +79 -12
  70. package/src/airdrop/contracts/solana/fee_collector.ts +743 -427
  71. package/src/airdrop/contracts/solana/fungible_token_distributor_solana.json +58 -3
  72. package/src/airdrop/contracts/solana/fungible_token_distributor_solana.ts +1104 -614
  73. package/src/airdrop/types/index.ts +4 -2
  74. package/src/wallets/providers/evm/EvmWallet.ts +27 -19
@@ -14,8 +14,14 @@ export class AirdropSignatureClient extends SolanaContractClientBase {
14
14
  });
15
15
  this.projectId = options.projectId;
16
16
  }
17
- getVersion() {
18
- return '1.0.0';
17
+ async getVersionPDA() {
18
+ const [versionPDA] = await this.findProgramAddress([anchor.utils.bytes.utf8.encode('version')]);
19
+ return versionPDA;
20
+ }
21
+ async getVersion() {
22
+ const versionPDA = await this.getVersionPDA();
23
+ const versionData = await this.fetchAccountData('version', versionPDA);
24
+ return versionData.version;
19
25
  }
20
26
  get FeeCollector() {
21
27
  return new FeeCollectorClient({
@@ -24,6 +30,9 @@ export class AirdropSignatureClient extends SolanaContractClientBase {
24
30
  chainId: this.chainId
25
31
  });
26
32
  }
33
+ async getClaimFee(amount) {
34
+ return this.FeeCollector.getClaimFee(amount.toString());
35
+ }
27
36
  async getStoragePDA() {
28
37
  const [storagePDA] = await this.findProgramAddress([
29
38
  anchor.utils.bytes.utf8.encode('storage'),
@@ -110,10 +119,18 @@ export class AirdropSignatureClient extends SolanaContractClientBase {
110
119
  async togglePause() {
111
120
  await this.invokeInstruction('togglePause', {}, [this.projectId]);
112
121
  }
122
+ async getFeeInfo() {
123
+ const airdropPDA = await this.getAirdropPDA();
124
+ const config = await this.fetchAccountData('airdrop', airdropPDA);
125
+ return {
126
+ feeToken: config.feeToken.toString(),
127
+ feeCollector: config.feeCollector.toString()
128
+ };
129
+ }
113
130
  async claim(data) {
114
131
  const config = await this.getContractInfo();
115
132
  const feeCollectorStoragePDA = await this.FeeCollector.getStoragePDA();
116
- const userFeePDA = await this.FeeCollector.getUserFeePDA();
133
+ const feePDA = await this.FeeCollector.getProjectFeePDA();
117
134
  const airdropPDA = await this.getAirdropPDA();
118
135
  const vaultPDA = await this.getVaultPDA();
119
136
  const authorityATA = await getOrCreateAssociatedTokenAccount({
@@ -131,34 +148,28 @@ export class AirdropSignatureClient extends SolanaContractClientBase {
131
148
  message: Uint8Array.from(hexStrToU8Array(claim.hash)),
132
149
  signature: new Uint8Array(hexStrToU8Array(claim.signature))
133
150
  }));
134
- console.log(anchor.web3.Ed25519Program.programId.toString(), {
135
- publicKey: new PublicKey(config.signer).toBytes(),
136
- message: Uint8Array.from(hexStrToU8Array(claim.hash)),
137
- signature: new Uint8Array(hexStrToU8Array(claim.signature))
138
- }, 'sign');
139
151
  const claimPDA = await this.getClaimPDA(claim.claimId);
140
152
  const decodedData = {
141
153
  claimableTimestamp: new anchor.BN(claim.unlockingAt),
142
154
  claimableAmount: new anchor.BN(claim.value)
143
155
  };
144
- console.log(airdropPDA.toString(), claimPDA, this.projectId, new Uint8Array(hexStrToU8Array(claim.claimId)), [], decodedData, Buffer.from(hexStrToU8Array(claim.signature)), 'txdata');
145
156
  tx.add(await this.program.methods
146
157
  .claim(this.projectId, new Uint8Array(hexStrToU8Array(claim.claimId)), [], decodedData, Buffer.from(hexStrToU8Array(claim.signature)))
147
158
  .accountsPartial({
148
159
  authority: this.wallet.publicKey,
149
160
  airdrop: airdropPDA,
150
161
  claim: claimPDA,
151
- vault: vaultPDA,
162
+ // vault: vaultPDA,
152
163
  authorityAta: authorityATA.address,
153
164
  tokenMint: new PublicKey(config.token),
154
165
  feeCollectorStorage: feeCollectorStoragePDA,
155
166
  feeCollectorVault: null,
156
- userFee: userFeePDA,
167
+ fee: feePDA,
157
168
  authorityFeeAta: null,
158
- tokenProgram: TOKEN_2022_PROGRAM_ID
169
+ tokenProgram: TOKEN_2022_PROGRAM_ID,
170
+ feeTokenMint: null
159
171
  })
160
172
  .transaction());
161
- console.log(tx);
162
173
  }
163
174
  return await this.program.provider.sendAndConfirm?.(tx);
164
175
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AirdropSignatureClient.js","sourceRoot":"","sources":["../../../../../src/airdrop/contracts/solana/AirdropSignatureClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AirdropSignatureClient.js","sourceRoot":"","sources":["../../../../../src/airdrop/contracts/solana/AirdropSignatureClient.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export declare class FeeCollectorClient extends SolanaContractClientBase<FeeColl
5
5
  projectId: string;
6
6
  constructor(options: SolanaContractInfo);
7
7
  getStoragePDA(): Promise<PublicKey>;
8
- getUserFeePDA(): Promise<PublicKey>;
8
+ getProjectFeePDA(): Promise<PublicKey>;
9
9
  setDefaultFee(fee: string): Promise<string>;
10
+ getClaimFee(tokenAmount: string): Promise<bigint>;
10
11
  }
@@ -14,15 +14,24 @@ export class FeeCollectorClient extends SolanaContractClientBase {
14
14
  const [storagePDA] = await this.findProgramAddress([anchor.utils.bytes.utf8.encode('storage')]);
15
15
  return storagePDA;
16
16
  }
17
- async getUserFeePDA() {
18
- const [userFeePDA] = await this.findProgramAddress([
17
+ async getProjectFeePDA() {
18
+ const [projectFeePDA] = await this.findProgramAddress([
19
19
  anchor.utils.bytes.utf8.encode('fee'),
20
20
  anchor.utils.bytes.utf8.encode(this.projectId)
21
21
  ]);
22
- return userFeePDA;
22
+ return projectFeePDA;
23
23
  }
24
24
  async setDefaultFee(fee) {
25
25
  return this.invokeInstruction('setDefaultFee', {}, [new anchor.BN(fee)]);
26
26
  }
27
+ async getClaimFee(tokenAmount) {
28
+ try {
29
+ const fee = await this.invokeView('getFee', [this.projectId, new anchor.BN(tokenAmount)]);
30
+ return BigInt(fee);
31
+ }
32
+ catch (error) {
33
+ return BigInt(0);
34
+ }
35
+ }
27
36
  }
28
37
  //# sourceMappingURL=FeeCollectorClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FeeCollectorClient.js","sourceRoot":"","sources":["../../../../../src/airdrop/contracts/solana/FeeCollectorClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAsB,MAAM,wBAAwB,CAAC;AACtF,OAAO,GAAG,MAAM,sBAAsB,CAAC;AAEvC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAE5C,MAAM,OAAO,kBAAmB,SAAQ,wBAAsC;IAC5E,SAAS,CAAS;IAClB,YAAY,OAA2B;QACrC,KAAK,CAAC;YACJ,GAAG,OAAO;YACV,GAAG,EAAE,GAAG;SACT,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAEhG,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC;YACjD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YACrC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;SAC/C,CAAC,CAAC;QACH,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,GAAW;QAC7B,OAAO,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;CACF"}
1
+ {"version":3,"file":"FeeCollectorClient.js","sourceRoot":"","sources":["../../../../../src/airdrop/contracts/solana/FeeCollectorClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAsB,MAAM,wBAAwB,CAAC;AACtF,OAAO,GAAG,MAAM,sBAAsB,CAAC;AAEvC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAE5C,MAAM,OAAO,kBAAmB,SAAQ,wBAAsC;IAC5E,SAAS,CAAS;IAClB,YAAY,OAA2B;QACrC,KAAK,CAAC;YACJ,GAAG,OAAO;YACV,GAAG,EAAE,GAAG;SACT,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAEhG,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC;YACpD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YACrC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;SAC/C,CAAC,CAAC;QACH,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,GAAW;QAC7B,OAAO,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,WAAmB;QACnC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAC1F,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;CACF"}
@@ -8,7 +8,7 @@ export declare class SignatureAirdropService {
8
8
  feeTokens: (address: string) => Promise<string>;
9
9
  getFeelessThreshold(): Promise<void>;
10
10
  getDeployer(): Promise<string>;
11
- getClaimFee(address: string, amount: bigint): Promise<bigint | undefined>;
11
+ getClaimFee(address: string, amount: bigint): Promise<bigint>;
12
12
  batchFetchClaimed(userClaimIds: string[]): Promise<boolean[]>;
13
13
  getPaused(): Promise<boolean>;
14
14
  claim(data: {
@@ -20,5 +20,5 @@ export declare class SignatureAirdropService {
20
20
  unlockingAt: number;
21
21
  value: string;
22
22
  hash: string;
23
- }[], value?: bigint): Promise<string | undefined>;
23
+ }[], recipient?: string): Promise<string | undefined>;
24
24
  }
@@ -30,14 +30,8 @@ export class SignatureAirdropService {
30
30
  return '';
31
31
  }
32
32
  async getClaimFee(address, amount) {
33
- // const feeCollector = await this.feeCollectors(this.options.contractAddress as string);
34
- // if (!feeCollector || feeCollector === ZERO_ADDRESS) {
35
- // return undefined;
36
- // }
37
- // const feeClient = this.getFeeClient(feeCollector as string);
38
- // const fee = (await feeClient.getFee(address, amount)) as bigint;
39
- // return fee;
40
- return 0n;
33
+ const fee = await this.airdropClient.getClaimFee(amount);
34
+ return fee;
41
35
  }
42
36
  async batchFetchClaimed(userClaimIds) {
43
37
  const res = await this.airdropClient.batchFetchClaimed(userClaimIds);
@@ -46,7 +40,7 @@ export class SignatureAirdropService {
46
40
  async getPaused() {
47
41
  return this.airdropClient.getPaused();
48
42
  }
49
- async claim(data, value) {
43
+ async claim(data, recipient) {
50
44
  return this.airdropClient.claim(data);
51
45
  }
52
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SignatureAirdropService.js","sourceRoot":"","sources":["../../../../../src/airdrop/contracts/solana/SignatureAirdropService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,MAAM,OAAO,uBAAuB;IAClC,OAAO,CAAqB;IAC5B,YAAY,OAA2B;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,IAAY,aAAa;QACvB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,IAAI,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;IACzC,CAAC;IAED,aAAa,GAAG,KAAK,EAAE,OAAe,EAAE,EAAE;QACxC,yDAAyD;QACzD,sDAAsD;QACtD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IAEF,SAAS,GAAG,KAAK,EAAE,OAAe,EAAE,EAAE;QACpC,yDAAyD;QACzD,kDAAkD;QAClD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IAEF,KAAK,CAAC,mBAAmB;QACvB,mDAAmD;IACrD,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAe,EAAE,MAAc;QAC/C,yFAAyF;QACzF,wDAAwD;QACxD,sBAAsB;QACtB,IAAI;QACJ,+DAA+D;QAC/D,mEAAmE;QACnE,cAAc;QACd,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,YAAsB;QAC5C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACrE,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,KAAK,CACT,IASG,EACH,KAAc;QAEd,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;CACF"}
1
+ {"version":3,"file":"SignatureAirdropService.js","sourceRoot":"","sources":["../../../../../src/airdrop/contracts/solana/SignatureAirdropService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,MAAM,OAAO,uBAAuB;IAClC,OAAO,CAAqB;IAC5B,YAAY,OAA2B;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,IAAY,aAAa;QACvB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,IAAI,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;IACzC,CAAC;IAED,aAAa,GAAG,KAAK,EAAE,OAAe,EAAE,EAAE;QACxC,yDAAyD;QACzD,sDAAsD;QACtD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IAEF,SAAS,GAAG,KAAK,EAAE,OAAe,EAAE,EAAE;QACpC,yDAAyD;QACzD,kDAAkD;QAClD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IAEF,KAAK,CAAC,mBAAmB;QACvB,mDAAmD;IACrD,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAe,EAAE,MAAc;QAC/C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACzD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,YAAsB;QAC5C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACrE,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,KAAK,CACT,IASG,EACH,SAAkB;QAElB,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;CACF"}
@@ -17,8 +17,9 @@ export declare abstract class SolanaContractClientBase<T extends Idl = Idl> {
17
17
  getConnection(endpoint?: string): Connection;
18
18
  protected findProgramAddress(seeds: Array<Buffer | Uint8Array>, programId?: PublicKey): Promise<[PublicKey, number]>;
19
19
  fetchAccountData<A extends keyof AllAccountsMap<T>>(accountName: A, address: PublicKey | string, commitment?: Commitment): Promise<IdlAccounts<T>[A]>;
20
- invokeView<M extends keyof MakeMethodsNamespace<T, AllInstructions<T>>>(methodName: M, args: Parameters<MakeMethodsNamespace<T, AllInstructions<T>>[M]>): Promise<ReturnType<MakeMethodsNamespace<T, AllInstructions<T>>[M]>>;
20
+ invokeView<M extends keyof MakeMethodsNamespace<T, AllInstructions<T>>>(methodName: M, args: Parameters<MakeMethodsNamespace<T, AllInstructions<T>>[M]>): Promise<any>;
21
21
  invokeInstruction<M extends keyof MakeMethodsNamespace<T, AllInstructions<T>>>(methodName: M, accounts: any, args: any, options?: {
22
22
  signers?: Signer[];
23
23
  }): Promise<string>;
24
+ confirmTransaction(tx: string): Promise<string>;
24
25
  }
@@ -50,19 +50,25 @@ export class SolanaContractClientBase {
50
50
  }
51
51
  }
52
52
  async invokeInstruction(methodName, accounts, args, options) {
53
- const latestBlockhash = await this.connection.getLatestBlockhash();
53
+ if (!this.program.methods[methodName]) {
54
+ throw new Error(`Method ${methodName} not found in program`);
55
+ }
54
56
  let instruction = this.program.methods[methodName](...args).accounts(accounts);
55
57
  if (options?.signers?.length) {
56
58
  instruction = instruction.signers(options.signers);
57
59
  }
58
- console.log(instruction, 'in');
59
60
  const tx = await instruction.rpc();
61
+ await this.confirmTransaction(tx);
62
+ console.log(tx);
63
+ return tx;
64
+ }
65
+ async confirmTransaction(tx) {
66
+ const latestBlockhash = await this.connection.getLatestBlockhash();
60
67
  await this.connection.confirmTransaction({
61
68
  signature: tx,
62
69
  blockhash: latestBlockhash.blockhash,
63
70
  lastValidBlockHeight: latestBlockhash.lastValidBlockHeight
64
- });
65
- console.log(tx);
71
+ }, 'confirmed');
66
72
  return tx;
67
73
  }
68
74
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SolanaContractClient.js","sourceRoot":"","sources":["../../../../../src/airdrop/contracts/solana/SolanaContractClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SolanaContractClient.js","sourceRoot":"","sources":["../../../../../src/airdrop/contracts/solana/SolanaContractClient.ts"],"names":[],"mappings":"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"}