Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion examples/wallet-api/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"start:sign-token-update": "FILE=sign-token-update.html yarn start"
},
"dependencies": {
"@concordium/web-sdk": "10.0.2"
"@concordium/web-sdk": "12.0.0-devnet-p10.0"
},
"devDependencies": {
"live-server": "^1.2.2"
Expand Down
2 changes: 1 addition & 1 deletion packages/browser-wallet-api-helpers/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
"webpack-cli": "^4.9.2"
},
"peerDependencies": {
"@concordium/web-sdk": "10.0.2",
"@concordium/web-sdk": "12.0.0-devnet-p10.0",
"@protobuf-ts/runtime-rpc": "^2.9.1"
},
"scripts": {
Expand Down
42 changes: 21 additions & 21 deletions packages/browser-wallet-api-helpers/src/wallet-api-types.ts
Original file line number Diff line number Diff line change
@@ -1,30 +1,30 @@
import type {
AccountTransactionPayload,
AccountAddress,
AccountTransactionInput,
AccountTransactionSignature,
AccountTransactionType,
InitContractPayload,
SchemaVersion,
UpdateContractPayload,
IdStatement,
IdProofOutput,
CredentialStatements,
VerifiablePresentation,
CredentialSubject,
HexString,
AccountAddress,
Base58String,
Base64String,
ContractAddress,
UpdateCredentialsPayload,
RegisterDataPayload,
SimpleTransferPayload,
SimpleTransferWithMemoPayload,
DeployModulePayload,
ConfigureBakerPayload,
ConfigureDelegationPayload,
ContractAddress,
ContractName,
CredentialStatements,
CredentialSubject,
DeployModulePayload,
EntrypointName,
HexString,
IdProofOutput,
IdStatement,
InitContractInput,
RegisterDataPayload,
SchemaVersion,
SimpleTransferPayload,
SimpleTransferWithMemoPayload,
TokenUpdatePayload,
UpdateContractInput,
UpdateCredentialsInput,
VerifiablePresentation,
} from '@concordium/web-sdk';
import type { RpcTransport } from '@protobuf-ts/runtime-rpc';
import { LaxNumberEnumValue, LaxStringEnumValue } from './util';
Expand Down Expand Up @@ -61,11 +61,11 @@ export interface CredentialProof {
verificationMethod: string;
}

export type SendTransactionUpdateContractPayload = Omit<UpdateContractPayload, 'message'>;
export type SendTransactionInitContractPayload = Omit<InitContractPayload, 'param'>;
export type SendTransactionUpdateContractPayload = Omit<UpdateContractInput, 'message'>;
export type SendTransactionInitContractPayload = Omit<InitContractInput, 'param'>;

export type SendTransactionPayload =
| Exclude<AccountTransactionPayload, UpdateContractPayload | InitContractPayload>
| Exclude<AccountTransactionInput, UpdateContractInput | InitContractInput>
| SendTransactionUpdateContractPayload
| SendTransactionInitContractPayload;

Expand Down Expand Up @@ -168,7 +168,7 @@ interface MainWalletApi {
sendTransaction(
accountAddress: AccountAddressSource,
type: LaxNumberEnumValue<AccountTransactionType.UpdateCredentials>,
payload: UpdateCredentialsPayload
payload: UpdateCredentialsInput
): Promise<string>;
/**
* Sends a transaction to the Concordium Wallet and awaits the users action. Note that a header is not sent, and will be constructed by the wallet itself.
Expand Down
2 changes: 1 addition & 1 deletion packages/browser-wallet/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
"dependencies": {
"@concordium/browser-wallet-api-helpers": "workspace:^",
"@concordium/common-sdk": "^9.5.3",
"@concordium/web-sdk": "10.0.2",
"@concordium/web-sdk": "12.0.0-devnet-p10.0",
"@floating-ui/react": "^0.27.2",
"@noble/ed25519": "^1.7.0",
"@protobuf-ts/grpcweb-transport": "^2.9.1",
Expand Down
14 changes: 7 additions & 7 deletions packages/browser-wallet/src/background/credential-deployment.ts
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
import { ExtensionMessageHandler } from '@messaging';

import {
CredentialInput,
getAccountAddress,
ConcordiumGRPCWebClient,
createCredentialTransaction,
signCredentialTransaction,
ConcordiumHdWallet,
TransactionExpiry,
getCredentialDeploymentTransactionHash,
createCredentialPayload,
CredentialInput,
CredentialRegistrationId,
getAccountAddress,
getCredentialDeploymentTransactionHash,
serializeCredentialDeploymentPayload,
signCredentialTransaction,
TransactionExpiry,
} from '@concordium/web-sdk';
import { GRPCTIMEOUT } from '@shared/constants/networkConfiguration';
import { DEFAULT_TRANSACTION_EXPIRY } from '@shared/constants/time';
Expand All @@ -32,7 +32,7 @@ async function createAndSendCredential(credIn: CredentialInput): Promise<Credent
const providerIndex = credIn.ipInfo.ipIdentity;

const expiry = TransactionExpiry.fromDate(new Date(Date.now() + DEFAULT_TRANSACTION_EXPIRY));
const request = createCredentialTransaction(credIn, expiry);
const request = createCredentialPayload(credIn, expiry);
const signingKey = ConcordiumHdWallet.fromHex(credIn.seedAsHex, credIn.net)
.getAccountSigningKey(providerIndex, identityIndex, credNumber)
.toString('hex');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import React, { useCallback, useState } from 'react';

import BackButton from '@popup/shared/BackButton';
import MultiStepForm, { FormChildren, MultiStepFormProps, OrRenderValues } from '@popup/shared/MultiStepForm';
import { AccountTransactionPayload, AccountTransactionType } from '@concordium/web-sdk';
import { AccountTransactionInput, AccountTransactionType } from '@concordium/web-sdk';
import { useLocation, useNavigate } from 'react-router-dom';
import { absoluteRoutes } from '@popup/constants/routes';
import { noOp } from 'wallet-common-helpers';
Expand All @@ -18,7 +18,7 @@ interface Props<F extends Record<string, unknown>>
/**
* Function to convert flow values into an account transaction.
*/
convert(values: F): AccountTransactionPayload;
convert(values: F): AccountTransactionInput;
/**
* Function that is triggered if an error is thrown in the done handler.
*/
Expand Down Expand Up @@ -56,7 +56,7 @@ export default function AccountTransactionFlow<F extends Record<string, unknown>

const handleDone = useCallback(
(values: F) => {
let payload: AccountTransactionPayload;
let payload: AccountTransactionInput;
try {
payload = convert(values);
nav(pathname, { replace: true, state: values }); // Override current router entry with stateful version
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React, { useContext, useMemo } from 'react';
import {
AccountTransactionPayload,
AccountTransactionInput,
AccountTransactionType,
convertEnergyToMicroCcd,
getEnergyCost,
Expand All @@ -12,7 +12,7 @@ import ConfirmTransfer from './ConfirmTransfer';
import { accountPageContext } from './utils';

export type ConfirmGenericTransferState = {
payload: AccountTransactionPayload;
payload: AccountTransactionInput;
type: AccountTransactionType;
};

Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
/* eslint-disable react/destructuring-assignment */
import React, { useEffect, useState, useMemo } from 'react';
import React, { useEffect, useMemo, useState } from 'react';
import { useTranslation } from 'react-i18next';
import { useSetAtom, useAtomValue } from 'jotai';
import { useAtomValue, useSetAtom } from 'jotai';
import { selectedAccountAtom } from '@popup/store/account';
import {
AccountAddress,
AccountTransactionPayload,
AccountTransactionInput,
AccountTransactionType,
UpdateContractPayload,
UpdateContractInput,
} from '@concordium/web-sdk';
import {
getDefaultExpiry,
createPendingTransactionFromAccountTransaction,
getDefaultExpiry,
sendTransaction,
} from '@popup/shared/utils/transaction-helpers';
import { grpcClientAtom } from '@popup/store/settings';
Expand All @@ -21,8 +21,8 @@ import Button from '@popup/shared/Button';
import { useNavigate } from 'react-router-dom';
import { absoluteRoutes } from '@popup/constants/routes';
import GenericTransactionReceipt, {
TokenTransferReceipt,
GenericTransactionReceiptProps,
TokenTransferReceipt,
TokenTransferReceiptProps,
} from '@popup/shared/TransactionReceipt';
import { useUpdateAtom } from 'jotai/utils';
Expand All @@ -42,14 +42,14 @@ type BaseProps = {
type ConfirmTokenTransferProps = BaseProps & {
showAsTokenTransfer: true;
transactionType: AccountTransactionType.Update;
payload: UpdateContractPayload;
payload: UpdateContractInput;
parameters: SmartContractParameters;
metadata: TokenMetadata;
};

type ConfirmGenericTransferProps = BaseProps & {
showAsTokenTransfer?: false;
payload: AccountTransactionPayload;
payload: AccountTransactionInput;
transactionType: AccountTransactionType;
parameters?: SmartContractParameters;
};
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
import {
AccountBakerDetailsV1,
AccountInfo,
AccountInfoBaker,
AccountInfoType,
BakerKeysWithProofs,
CcdAmount,
CommissionRates,
OpenStatus,
ConfigureBakerPayload,
OpenStatus,
OpenStatusText,
BakerKeysWithProofs,
AccountInfoType,
AccountInfoBaker,
AccountBakerDetailsV1,
} from '@concordium/web-sdk';
import { decimalToRewardFraction, fractionToPercentage } from '@popup/shared/utils/baking-helpers';
import { getConfigureBakerEnergyCost } from '@shared/utils/energy-helpers';
Expand All @@ -26,7 +26,7 @@ export type ConfigureBakerFlowState = {
keys: BakerKeysWithProofs | null;
};

function openStatusFromText(status: OpenStatusText): OpenStatus {
function openStatusFromText(status: OpenStatusText | null): OpenStatus {
switch (status) {
case OpenStatusText.ClosedForAll:
return OpenStatus.ClosedForAll;
Expand Down
6 changes: 4 additions & 2 deletions packages/browser-wallet/src/popup/pages/Account/Earn/Earn.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ import { useBlockChainParametersAboveV0 } from '@popup/shared/BlockChainParamete
import Baking from './Baking';
import Delegate from './Delegate';
import { accountPageContext } from '../utils';
import { filterType, EarnPageContext, earnPageContext } from './utils';
import { EarnPageContext, earnPageContext, filterType } from './utils';
import { accountRoutes } from '../routes';

const routes = {
Expand Down Expand Up @@ -73,7 +73,9 @@ function Earn({ chainParameters }: EarnProps) {
);
}

function isNotRewardStatusV0(rewardStatus?: RewardStatus): rewardStatus is Exclude<RewardStatus, RewardStatusV0> {
function isNotRewardStatusV0(
rewardStatus?: RewardStatus | null
): rewardStatus is Exclude<RewardStatus, RewardStatusV0> {
return rewardStatus ? rewardStatus.version !== 0 : false;
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import React, { useMemo } from 'react';
import { useTranslation } from 'react-i18next';
import { useSetAtom, useAtomValue } from 'jotai';
import { useAtomValue, useSetAtom } from 'jotai';
import { selectedAccountAtom } from '@popup/store/account';
import { AccountTransactionType, UpdateContractPayload } from '@concordium/web-sdk';
import { AccountTransactionType, UpdateContractInput } from '@concordium/web-sdk';
import { grpcClientAtom } from '@popup/store/settings';
import { addToastAtom } from '@popup/state';
import { useLocation } from 'react-router-dom';
Expand Down Expand Up @@ -30,7 +30,7 @@ export default function ConfirmTokenTransfer({ setDetailsExpanded, cost }: Props
[]
);

const payload: UpdateContractPayload | undefined = useMemo(() => {
const payload: UpdateContractInput | undefined = useMemo(() => {
if (!parameters || !contractName) {
return undefined;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import { useSelectedAccountInfo } from '@popup/shared/AccountInfoListenerContext
import { formatCcdAmount } from '@popup/popupX/shared/utils/helpers';
import Text from '@popup/popupX/shared/Text';

import { ValidatorForm, ValidatorFormExisting, configureValidatorFromForm } from './util';
import { configureValidatorFromForm, ValidatorForm, ValidatorFormExisting } from './util';
import ValidatorStake from './Stake';
import { type ValidationResultLocationState } from './Result';
import OpenPool from './OpenPool';
Expand Down Expand Up @@ -136,6 +136,10 @@ function withChangeValidation(Flow: ComponentType<ChangeValidationProps>) {
accountBaker: { stakedAmount, restakeEarnings, bakerPoolInfo },
} = accountInfo;

if (bakerPoolInfo.openStatus === null) {
return null;
}

const existing: ValidatorFormExisting = {
stake: {
amount: formatCcdAmount(stakedAmount),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ export function showValidatorAmount(amount: CcdAmount.Type): string {
return `${formatCcdAmount(amount)} CCD`;
}

export function showValidatorOpenStatus(status: OpenStatusText | OpenStatus): string {
export function showValidatorOpenStatus(status: OpenStatusText | OpenStatus | null): string {
switch (status) {
case OpenStatus.OpenForAll:
case OpenStatusText.OpenForAll:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,21 +10,21 @@ import { absoluteRoutes, transactionDetailsRoute } from '@popup/popupX/constants
import Card from '@popup/popupX/shared/Card';
import { useAsyncMemo } from 'wallet-common-helpers';
import {
AccountTransactionPayload,
AccountTransactionSummary,
AccountTransactionType,
BaseAccountTransactionSummary,
CcdAmount,
ConfigureBakerPayload,
ConfigureDelegationPayload,
FailedTransactionSummary,
HexString,
TransactionHash,
TransactionSummaryType,
isRejectTransaction,
isSuccessTransaction,
FailedTransactionSummary,
BaseAccountTransactionSummary,
AccountTransactionPayload,
AccountTransactionType,
SimpleTransferPayload,
SimpleTransferWithMemoPayload,
ConfigureBakerPayload,
ConfigureDelegationPayload,
CcdAmount,
TransactionHash,
TransactionSummaryType,
} from '@concordium/web-sdk';
import { useAtomValue } from 'jotai';
import { grpcClientAtom } from '@popup/store/settings';
Expand Down Expand Up @@ -284,6 +284,9 @@ export default function SubmittedTransaction() {
TX_TIMEOUT
);

if (!outcome.summary) {
throw Error('Unexpected transaction type');
}
if (isRejectTransaction(outcome.summary)) {
return { type: 'failure', summary: outcome.summary };
}
Expand Down
Loading