Skip to content

Cannot sign Solana transactions with signMessage #182

Description

@trevormil

Discussed in https://github.com/orgs/phantom/discussions/181

Originally posted by trevormil February 21, 2024

Summary

I am building a dApp that supports signing my Cosmos SDK blockchain's transactions as plaintext messages with Phantom Wallet. Certain transactions work, but some like the following fail with the error "Oops! You cannot sign solana transactions using sign message". Why could this be? What in this specific JSON is causing the error to be treated as a Solana transaction?

I am pretty sure it was working a little bit ago (maybe a new version update triggered something?)

{"account_number":"13","chain_id":"bitbadges_1-2","fee":{"amount":[{"amount":"0","denom":"badge"}],"gas":"115584"},"memo":"","msg0":{"type":"badges/UniversalUpdateCollection","value":{"badgeMetadataTimeline":[{"badgeMetadata":[{"badgeIds":[{"end":"18446744073709551615","start":"1"}],"customData":"","uri":"ipfs://QmQKn1G41gcVEZPenXjtTTQfQJnx5Q6fDtZrcSNJvBqxUs"}],"timelineTimes":[{"end":"18446744073709551615","start":"1"}]}],"badgesToCreate":[{"amount":"1","badgeIds":[{"end":"10000","start":"1"}],"ownershipTimes":[{"end":"18446744073709551615","start":"1"}]}],"balancesType":"Standard","collectionApprovals":[],"collectionId":"0","collectionMetadataTimeline":[{"collectionMetadata":{"customData":"","uri":"ipfs://QmfCSNLayKfnaGQFZ5jFgKJoirsg9Uptp4djMU3sQ3itH3"},"timelineTimes":[{"end":"18446744073709551615","start":"1"}]}],"collectionPermissions":{"canArchiveCollection":[],"canCreateMoreBadges":[],"canDeleteCollection":[],"canUpdateBadgeMetadata":[],"canUpdateCollectionApprovals":[],"canUpdateCollectionMetadata":[],"canUpdateCustomData":[],"canUpdateManager":[],"canUpdateOffChainBalancesMetadata":[],"canUpdateStandards":[]},"creator":"cosmos1zd5dsage58jfrgmsu377pk6w0q5zhc67fn4gsl","customDataTimeline":[],"defaultBalances":{"autoApproveSelfInitiatedIncomingTransfers":true,"autoApproveSelfInitiatedOutgoingTransfers":true,"balances":[],"incomingApprovals":[{"amountTrackerId":"default-incoming-allowed","approvalCriteria":{"approvalAmounts":{"overallApprovalAmount":"0","perFromAddressApprovalAmount":"0","perInitiatedByAddressApprovalAmount":"0","perToAddressApprovalAmount":"0"},"maxNumTransfers":{"overallMaxNumTransfers":"0","perFromAddressMaxNumTransfers":"0","perInitiatedByAddressMaxNumTransfers":"0","perToAddressMaxNumTransfers":"0"},"merkleChallenge":{"customData":"","expectedProofLength":"0","maxUsesPerLeaf":"0","root":"","uri":"","useCreatorAddressAsLeaf":false},"mustOwnBadges":[],"predeterminedBalances":{"incrementedBalances":{"incrementBadgeIdsBy":"0","incrementOwnershipTimesBy":"0","startBalances":[]},"manualBalances":[],"orderCalculationMethod":{"useMerkleChallengeLeafIndex":false,"useOverallNumTransfers":false,"usePerFromAddressNumTransfers":false,"usePerInitiatedByAddressNumTransfers":false,"usePerToAddressNumTransfers":false}},"requireFromDoesNotEqualInitiatedBy":false,"requireFromEqualsInitiatedBy":false},"approvalId":"default-incoming-allowed","badgeIds":[{"end":"18446744073709551615","start":"1"}],"challengeTrackerId":"default-incoming-allowed","customData":"","fromListId":"All","initiatedByListId":"All","ownershipTimes":[{"end":"18446744073709551615","start":"1"}],"transferTimes":[{"end":"18446744073709551615","start":"1"}],"uri":""}],"outgoingApprovals":[],"userPermissions":{"canUpdateAutoApproveSelfInitiatedIncomingTransfers":[],"canUpdateAutoApproveSelfInitiatedOutgoingTransfers":[],"canUpdateIncomingApprovals":[],"canUpdateOutgoingApprovals":[]}},"isArchivedTimeline":[],"managerTimeline":[{"manager":"cosmos1zd5dsage58jfrgmsu377pk6w0q5zhc67fn4gsl","timelineTimes":[{"end":"18446744073709551615","start":"1"}]}],"offChainBalancesMetadataTimeline":[],"standardsTimeline":[],"updateBadgeMetadataTimeline":true,"updateCollectionApprovals":true,"updateCollectionMetadataTimeline":true,"updateCollectionPermissions":true,"updateCustomDataTimeline":true,"updateIsArchivedTimeline":true,"updateManagerTimeline":true,"updateOffChainBalancesMetadataTimeline":true,"updateStandardsTimeline":true}},"sequence":"4"}

Example

No response

Steps to Reproduce

Sign the message below using Phantom's sign message

const message = payload.jsonToSign;
      const encodedMessage = new TextEncoder().encode(message);
      const signedMessage = await solanaProvider.request({
        method: "signMessage",
        params: {
          message: encodedMessage,
          display: "utf8"
        }
      });
{"account_number":"13","chain_id":"bitbadges_1-2","fee":{"amount":[{"amount":"0","denom":"badge"}],"gas":"115584"},"memo":"","msg0":{"type":"badges/UniversalUpdateCollection","value":{"badgeMetadataTimeline":[{"badgeMetadata":[{"badgeIds":[{"end":"18446744073709551615","start":"1"}],"customData":"","uri":"ipfs://QmQKn1G41gcVEZPenXjtTTQfQJnx5Q6fDtZrcSNJvBqxUs"}],"timelineTimes":[{"end":"18446744073709551615","start":"1"}]}],"badgesToCreate":[{"amount":"1","badgeIds":[{"end":"10000","start":"1"}],"ownershipTimes":[{"end":"18446744073709551615","start":"1"}]}],"balancesType":"Standard","collectionApprovals":[],"collectionId":"0","collectionMetadataTimeline":[{"collectionMetadata":{"customData":"","uri":"ipfs://QmfCSNLayKfnaGQFZ5jFgKJoirsg9Uptp4djMU3sQ3itH3"},"timelineTimes":[{"end":"18446744073709551615","start":"1"}]}],"collectionPermissions":{"canArchiveCollection":[],"canCreateMoreBadges":[],"canDeleteCollection":[],"canUpdateBadgeMetadata":[],"canUpdateCollectionApprovals":[],"canUpdateCollectionMetadata":[],"canUpdateCustomData":[],"canUpdateManager":[],"canUpdateOffChainBalancesMetadata":[],"canUpdateStandards":[]},"creator":"cosmos1zd5dsage58jfrgmsu377pk6w0q5zhc67fn4gsl","customDataTimeline":[],"defaultBalances":{"autoApproveSelfInitiatedIncomingTransfers":true,"autoApproveSelfInitiatedOutgoingTransfers":true,"balances":[],"incomingApprovals":[{"amountTrackerId":"default-incoming-allowed","approvalCriteria":{"approvalAmounts":{"overallApprovalAmount":"0","perFromAddressApprovalAmount":"0","perInitiatedByAddressApprovalAmount":"0","perToAddressApprovalAmount":"0"},"maxNumTransfers":{"overallMaxNumTransfers":"0","perFromAddressMaxNumTransfers":"0","perInitiatedByAddressMaxNumTransfers":"0","perToAddressMaxNumTransfers":"0"},"merkleChallenge":{"customData":"","expectedProofLength":"0","maxUsesPerLeaf":"0","root":"","uri":"","useCreatorAddressAsLeaf":false},"mustOwnBadges":[],"predeterminedBalances":{"incrementedBalances":{"incrementBadgeIdsBy":"0","incrementOwnershipTimesBy":"0","startBalances":[]},"manualBalances":[],"orderCalculationMethod":{"useMerkleChallengeLeafIndex":false,"useOverallNumTransfers":false,"usePerFromAddressNumTransfers":false,"usePerInitiatedByAddressNumTransfers":false,"usePerToAddressNumTransfers":false}},"requireFromDoesNotEqualInitiatedBy":false,"requireFromEqualsInitiatedBy":false},"approvalId":"default-incoming-allowed","badgeIds":[{"end":"18446744073709551615","start":"1"}],"challengeTrackerId":"default-incoming-allowed","customData":"","fromListId":"All","initiatedByListId":"All","ownershipTimes":[{"end":"18446744073709551615","start":"1"}],"transferTimes":[{"end":"18446744073709551615","start":"1"}],"uri":""}],"outgoingApprovals":[],"userPermissions":{"canUpdateAutoApproveSelfInitiatedIncomingTransfers":[],"canUpdateAutoApproveSelfInitiatedOutgoingTransfers":[],"canUpdateIncomingApprovals":[],"canUpdateOutgoingApprovals":[]}},"isArchivedTimeline":[],"managerTimeline":[{"manager":"cosmos1zd5dsage58jfrgmsu377pk6w0q5zhc67fn4gsl","timelineTimes":[{"end":"18446744073709551615","start":"1"}]}],"offChainBalancesMetadataTimeline":[],"standardsTimeline":[],"updateBadgeMetadataTimeline":true,"updateCollectionApprovals":true,"updateCollectionMetadataTimeline":true,"updateCollectionPermissions":true,"updateCustomDataTimeline":true,"updateIsArchivedTimeline":true,"updateManagerTimeline":true,"updateOffChainBalancesMetadataTimeline":true,"updateStandardsTimeline":true}},"sequence":"4"}

Phantom Version

24.2.0

Is there an existing discussion for this?

  • I have searched the existing discussions

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions