« first day 

10:47 AM
Hey good morning
 
11:03 AM
Morning
Updated question to current state
 
 
2 hours later…
12:51 PM
I've added mint.signTransaction(tx) as well but still throwing the same error
 
 
5 hours later…
6:01 PM
@ChristianLiz-Fonts any more ideas?
 
 
2 hours later…
8:06 PM
Hey
Sorry didn't get the notification
 
8:39 PM
backendSigner.partialSign(tx);
Switch the backendSigner to partialSign the transaction on the backend
 
that isnt a function :\
 
umi.use(signerIdentity(mySigner));
// Is equivalent to:
umi.identity = mySigner;
umi.payer = mySigner;

umi.use(signerIdentity(mySigner, false));
// Is equivalent to:
umi.identity = mySigner;

umi.use(signerPayer(mySigner));
// Is equivalent to:
umi.payer = mySigner;

Take a look at this,

https://developers.metaplex.com/umi/public-keys-and-signers
umi.use(signerIdentity(mySigner, false));
// Is equivalent to:
umi.identity = mySigner;
It seems also when you call umi.use(signerIdentity(backendSigner))

it sets umi.payer to the backendSigner
so you want to do umi.use(signerIdentity(backendSigner, false))
and then In some cases, a library may require a Signer to be provided but the current environment does not have access to this wallet as a signer. For instance, this can happen if a transaction is being created on the client but will be later on signed on a private server. It's for that reason that Umi provides a createNoopSigner helper that creates a new signer from the given public key and simply ignores any signing request. It is then your responsibility to ensure that the transaction is signed before being sent to the blockchain.
We can't forget

const backendSigner = generateSigner(umi)
// Create a noop signer that allows you to sign later
const frontEndSigner = createNoopSigner(
'tst24HZ6pbcnraCv4r8acexfgXvyQwMSRgZRCg9gEX1'
)

Which we seem to be ignoring as well
 
updated to

umi.use(signerIdentity(backendSigner, false));

const frontEndSigner = createNoopSigner(
publicKey(userPublicKey)
)
umi.payer = frontEndSigner;

and seem to get the same still
oh wait maybe its because we arent saving the signed tx from mint.signTransaction(tx) and then passing that forward
added ->

let signedTx = await backendSigner.signTransaction(tx);
signedTx = await mint.signTransaction(signedTx);

console.log('signatures', signedTx.signatures);

const serialized = umi.transactions.serialize(signedTx);
const serializedBase58 = bs58.encode(serialized);

but still same
so I converted it to a web3 transaction and printed it to better see the signers and which were null: this is what I am seeing:

post signed tx Transaction {
signatures: [
{
signature: null,
publicKey: [PublicKey [PublicKey(<USERS_PUBLIC_ADDRESS>)]]
},
{
signature: <Buffer e2 af 68 9e 3e 5e 1b 5a 96 2e 05 d8 80 cb 2d 78 9a 4c ab d2 da 69 99 1f 35 61 47 fb e2 00 a4 80 b9 d6 d0 f9 05 dd 53 1a f4 bb 1b c1 06 df 82 1b ca 0a ... 14 more bytes>,
publicKey: [PublicKey [PublicKey(CLc4qgDHuYuhHXQ6Xti1yVe33VE4epbUCapHtkJjnWdg)]]
 
9:02 PM
Are you console logging after signing on frontend as well and before sending

await umi.identity.signTransaction(deserialized);
await umi.rpc.sendTransaction(deserialized);
 
AH F&K we did the same thing.

const deserializedSigned = await umi.identity.signTransaction(deserialized);
console.log('deserialized signed', deserializedSigned)
await umi.rpc.sendTransaction(deserialized);

need to change deserialized to deserializedSigned !!!!
IT WORKED!!!
 
Awesome :)
 
Start a chat or drop your solana address
 
3tXoH9Vy1Ah6UzmS4byEVdi7ouHvaARY5XWkyGtVHZm8
You can also contact me on Discord/TG my username is UnruffledST
 
9:47 PM
sent and sent discord friend request
 

« first day