Solana, TypeScript, Angular Developer Needed
$30-70 USD
Pago na entrega
We have an issue with Solana Smart contract calling its method. You will just need to provide a solution for the below issue.
Smart contract snippet in RUST:
pub fn deposit(ctx: Context, amount: u64) -> Result {
let distribution_account = &ctx.accounts.distribution_account;
let mut total_percentage = 0;
for i in 0..5 {
total_percentage += [login to view URL][i];
}
if total_percentage != 100 {
return Err(ProgramError::[login to view URL]());
}
for i in 0..5 {
let receiver_amount = amount * [login to view URL][i] as u64 / 100;
let ix = system_instruction::transfer(
&[login to view URL](),
&[login to view URL][i],
receiver_amount,
);
invoke(
&ix,
&[
ctx.accounts.payer.to_account_info(),
ctx.accounts.system_program.to_account_info(),
],
)?;
}
emit!(PaymentEvent {
payer: [login to view URL](),
amount: amount,
});
Ok(())
}
#[derive(Accounts)]
pub struct TakePayment,
#[account(mut)]
pub distribution_account: Account,
}
Client Typescript code:
import { Connection, PublicKey, Transaction, SystemProgram, clusterApiUrl, Keypair} from '@solana/[login to view URL]';
import * as anchor from "@coral-xyz/anchor";
import { AnchorProvider, Program, BN, workspace } from "@coral-xyz/anchor";
import { HelloAnchor } from "./target/types/helloanchor";
import idl from './target/idl/[login to view URL]';
import { Buffer } from 'buffer';
const SOLANA_HOST = clusterApiUrl("devnet")
connection = new Connection(SOLANA_HOST, 'confirmed');
const provider = new AnchorProvider(connection, [login to view URL], {
preflightCommitment: 'processed'
});
program = new Program(idl as any, provider);
let distributionAccountPubKey = new PublicKey("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
const depositamount = new BN(1);
[login to view URL](depositamount);
const transaction = await [login to view URL]
.deposit(depositamount)
.accounts({
distributionAccount: distributionAccountPubKey,
payer: [login to view URL],
systemProgram: [login to view URL],
})
// .signers([newAccountKp])
.transaction();
[login to view URL] = [login to view URL];
// Log the transaction to verify it
[login to view URL]('Transaction:', transaction);
const { value: { err } } = await [login to view URL](transaction);
if (err) {
[login to view URL]('Transaction simulation failed:', err);
return;
}
This code gives error: "InvalidArgument"
ID do Projeto: #38168708
Sobre o projeto
Concedido a:
14 freelancers estão ofertando em média $53 nesse trabalho
In a field filled with countless freelancers, my team at Einnovention stands out for our impeccable track record and customer satisfaction rate. We are specialists in the latest frameworks and languages like TypeScript Mais
As a TypeScript developer with a keen eye for detail, I understand some of the nuances and complexities that can arise when working with smart contracts. I have worked extensively in blockchain development and am well- Mais
Hello, I have carefully read your project requirements, and I am sure, I can fulfill your requirements and get the desired results. I am ready to start the project right away. Regards, H. Abdullah Maqsood.
Hello I have carefully reviewed your requirements for “Solana, TypeScript, Angular Developer Needed ”. I have 5 years of experience in Web, Desktop, and Mobile applications development, specializing in Website Design Mais
Hey Aaron, I understand that you are facing an issue with the Solana smart contract method 'deposit' in Rust. The error message 'InvalidArgument' is being thrown, which indicates that the total percentage calculation Mais