diff --git a/apps/extension/src/Approvals/ApproveBond/ConfirmLedgerBond.tsx b/apps/extension/src/Approvals/ApproveBond/ConfirmLedgerBond.tsx index 6ad60f1324..ee9490a957 100644 --- a/apps/extension/src/Approvals/ApproveBond/ConfirmLedgerBond.tsx +++ b/apps/extension/src/Approvals/ApproveBond/ConfirmLedgerBond.tsx @@ -7,7 +7,7 @@ import { Button, ButtonVariant } from "@anoma/components"; import { Ledger } from "background/ledger"; import { GetBondBytesMsg, - SubmitSignedTransferMsg, + SubmitSignedBondMsg, } from "background/ledger/messages"; import { Ports } from "router"; import { closeCurrentTab } from "utils"; @@ -56,13 +56,7 @@ export const ConfirmLedgerBond: React.FC = ({ msgId }) => { // Submit signatures for tx await requester.sendMessage( Ports.Background, - // TODO: new SubmitSignedBondMsg(msgId) - new SubmitSignedTransferMsg( - msgId, - toBase64(bytes), - signatures, - publicKey - ) + new SubmitSignedBondMsg(msgId, toBase64(bytes), signatures, publicKey) ); setStatus(Status.Completed); } catch (e) { diff --git a/apps/extension/src/background/approvals/handler.ts b/apps/extension/src/background/approvals/handler.ts index b5a1d86d36..9d46b444bf 100644 --- a/apps/extension/src/background/approvals/handler.ts +++ b/apps/extension/src/background/approvals/handler.ts @@ -17,7 +17,6 @@ export const getHandler: (service: ApprovalsService) => Handler = (service) => { ); case ApproveBondMsg: return handleApproveBondMsg(service)(env, msg as ApproveBondMsg); - case RejectTxMsg: return handleRejectTxMsg(service)(env, msg as RejectTxMsg); case SubmitApprovedTransferMsg: @@ -63,7 +62,7 @@ const handleSubmitApprovedTransferMsg: ( const handleApproveBondMsg: ( service: ApprovalsService -) => InternalHandler = (service) => { +) => InternalHandler = (service) => { return async (_, { txMsg, accountType }) => { return await service.approveBond(txMsg, accountType); }; diff --git a/apps/extension/src/background/approvals/service.ts b/apps/extension/src/background/approvals/service.ts index e016bca6ce..52f3b34cdb 100644 --- a/apps/extension/src/background/approvals/service.ts +++ b/apps/extension/src/background/approvals/service.ts @@ -6,6 +6,7 @@ import BigNumber from "bignumber.js"; import { AccountType, + BondMsgValue, SubmitBondMsgSchema, SubmitTransferMsgSchema, TransferMsgValue, @@ -53,15 +54,15 @@ export class ApprovalsService { // Decode tx details and launch approval screen const txDetails = deserialize( SubmitBondMsgSchema, - TransferMsgValue, + BondMsgValue, txMsgBuffer ); - const { source, token, amount: amountBN } = txDetails; - const amount = new BigNumber(amountBN.toString()); + const { source, native_token, amount: amountBN } = txDetails; + const amount = new BigNumber(amountBN.toString()); const url = `${browser.runtime.getURL( "approvals.html" - )}#/approve-bond?type=${type}&id=${id}&source=${source}&token=${token}&amount=${amount}`; + )}#/approve-bond?type=${type}&id=${id}&source=${source}&token=${native_token}&amount=${amount}`; this._launchApprovalWindow(url); } diff --git a/apps/extension/src/background/ledger/service.ts b/apps/extension/src/background/ledger/service.ts index c44dfce097..9ad2fd99ce 100644 --- a/apps/extension/src/background/ledger/service.ts +++ b/apps/extension/src/background/ledger/service.ts @@ -5,6 +5,7 @@ import { ResponseSign } from "@zondax/ledger-namada"; import { AccountType, Bip44Path, + BondMsgValue, SubmitBondMsgSchema, SubmitTransferMsgSchema, TransferMsgValue, @@ -117,7 +118,7 @@ export class LedgerService { // Deserialize txMsg to retrieve source const { source } = deserialize( SubmitBondMsgSchema, - TransferMsgValue, + BondMsgValue, Buffer.from(fromBase64(txMsg)) ); diff --git a/apps/extension/src/provider/Signer.ts b/apps/extension/src/provider/Signer.ts index 6b0bca4efc..c54cdb977e 100644 --- a/apps/extension/src/provider/Signer.ts +++ b/apps/extension/src/provider/Signer.ts @@ -4,6 +4,7 @@ import { Anoma, AccountMsgValue, AccountMsgSchema, + BondMsgValue, SubmitIbcTransferMsgSchema, IbcTransferMsgValue, IbcTransferProps, @@ -14,7 +15,6 @@ import { TransferProps, AccountType, SubmitBondProps, - SubmitBondMsgValue, SubmitBondMsgSchema, SubmitTransferMsgSchema, SubmitUnbondMsgValue, @@ -47,12 +47,14 @@ export class Signer implements ISigner { args: SubmitBondProps, type: AccountType ): Promise { - const msgValue = new SubmitBondMsgValue(args); + const bondValue = new BondMsgValue(args); + const bondMsg = new Message(); + const serializedBond = bondMsg.encode(SubmitBondMsgSchema, bondValue); - const msg = new Message(); - const encoded = msg.encode(SubmitBondMsgSchema, msgValue); - - return await this._anoma.submitBond({ txMsg: toBase64(encoded), type }); + return await this._anoma.submitBond({ + txMsg: toBase64(serializedBond), + type, + }); } /** diff --git a/apps/namada-interface/src/App/Staking/NewBondingPosition/NewBondingPosition.tsx b/apps/namada-interface/src/App/Staking/NewBondingPosition/NewBondingPosition.tsx index a600d3d0ce..aeeb845d78 100644 --- a/apps/namada-interface/src/App/Staking/NewBondingPosition/NewBondingPosition.tsx +++ b/apps/namada-interface/src/App/Staking/NewBondingPosition/NewBondingPosition.tsx @@ -170,7 +170,6 @@ export const NewBondingPosition = (props: Props): JSX.Element => { owner: currentAddress, validatorId: currentBondingPositions[0].validatorId, }; - console.log({ changeInStakingPosition }); confirmBonding(changeInStakingPosition); }} disabled={isEntryIncorrectOrEmpty} diff --git a/packages/types/src/tx/schema/bond.ts b/packages/types/src/tx/schema/bond.ts index afee8616ea..5ba3fbb2ef 100644 --- a/packages/types/src/tx/schema/bond.ts +++ b/packages/types/src/tx/schema/bond.ts @@ -4,26 +4,29 @@ import { SubmitBondProps } from "../types"; import { TxMsgSchema, TxMsgValue } from "./tx"; import { SchemaObject } from "@anoma/utils"; -export class SubmitBondMsgValue { +export class BondMsgValue { source: string; validator: string; amount: BN; native_token: string; tx: TxMsgValue; - constructor(properties: SubmitBondProps | SchemaObject) { + constructor( + properties: SubmitBondProps | SchemaObject + ) { this.source = properties.source; this.validator = properties.validator; this.amount = new BN(properties.amount.toString()); - this.native_token = "nativeToken" in properties ? - properties.nativeToken : - properties.native_token; + this.native_token = + "nativeToken" in properties + ? properties.nativeToken + : properties.native_token; this.tx = new TxMsgValue(properties.tx); } } export const BondMsgSchema = [ - SubmitBondMsgValue, + BondMsgValue, { kind: "struct", fields: [