Skip to content

Commit

Permalink
fix(mobile): masterchain lockup
Browse files Browse the repository at this point in the history
  • Loading branch information
sorokin0andrey committed Jan 25, 2024
1 parent ba45f01 commit 64906a3
Show file tree
Hide file tree
Showing 6 changed files with 16 additions and 1 deletion.
1 change: 1 addition & 0 deletions packages/@core-js/src/Tonkeeper.ts
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,7 @@ export class Tonkeeper {
const contract = ContractService.getWalletContract(
WalletVersion.v4R2,
Buffer.from(keyPair.publicKey),
0,
);
const stateInitCell = beginCell().store(storeStateInit(contract.init)).endCell();
const rawAddress = contract.address.toRawString();
Expand Down
2 changes: 1 addition & 1 deletion packages/@core-js/src/service/contractService.ts
Original file line number Diff line number Diff line change
Expand Up @@ -50,11 +50,11 @@ export interface CreateJettonTransferBodyParams {
queryId?: number;
}

const workchain = 0;
export class ContractService {
static getWalletContract(
version: WalletVersion,
publicKey: Buffer,
workchain: number,
additionalParams?: LockupContractV1AdditionalParams,
) {
switch (version) {
Expand Down
4 changes: 4 additions & 0 deletions packages/mobile/src/blockchain/vault.ts
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,10 @@ export class Vault {
return null;
}

public get workchain() {
return this.info.workchain ?? 0;
}

isMasterChain() {
return this.info.workchain === -1;
}
Expand Down
6 changes: 6 additions & 0 deletions packages/mobile/src/blockchain/wallet.ts
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,10 @@ export class TonWallet {
return this.vault.getVersion();
}

get workchain() {
return this.vault.workchain;
}

isV4() {
return this.vault.getVersion() === 'v4R2';
}
Expand Down Expand Up @@ -376,6 +380,7 @@ export class TonWallet {
const contract = ContractService.getWalletContract(
contractVersionsMap[version ?? 'v4R2'],
Buffer.from(vault.tonPublicKey),
vault.workchain,
{
allowedDestinations: lockupConfig?.allowed_destinations,
},
Expand Down Expand Up @@ -544,6 +549,7 @@ export class TonWallet {
const contract = ContractService.getWalletContract(
contractVersionsMap[walletVersion ?? version ?? 'v4R2'],
Buffer.from(vault.tonPublicKey),
vault.workchain,
{
lockupPubKey: lockupConfig?.config_pubkey,
allowedDestinations: lockupConfig?.allowed_destinations,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ export const SignRawModal = memo<SignRawModalProps>((props) => {
const contract = ContractService.getWalletContract(
contractVersionsMap[vault.getVersion() ?? 'v4R2'],
Buffer.from(vault.tonPublicKey),
vault.workchain,
);
const boc = TransactionService.createTransfer(contract, {
messages: TransactionService.parseSignRawMessages(params.messages),
Expand Down Expand Up @@ -254,6 +255,7 @@ export const openSignRawModal = async (
const contract = ContractService.getWalletContract(
contractVersionsMap[wallet.ton.version],
Buffer.from(wallet.ton.vault.tonPublicKey),
wallet.ton.vault.workchain,
);

let consequences: MessageConsequences | null = null;
Expand Down
2 changes: 2 additions & 0 deletions packages/mobile/src/core/NFTSend/NFTSend.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,7 @@ export const NFTSend: FC<Props> = (props) => {
const contract = ContractService.getWalletContract(
contractVersionsMap[wallet.ton.version ?? 'v4R2'],
Buffer.from(await wallet.ton.getTonPublicKey()),
wallet.ton.workchain,
);

const boc = TransactionService.createTransfer(contract, {
Expand Down Expand Up @@ -288,6 +289,7 @@ export const NFTSend: FC<Props> = (props) => {
const contract = ContractService.getWalletContract(
contractVersionsMap[wallet.ton.version ?? 'v4R2'],
Buffer.from(await wallet.ton.getTonPublicKey()),
vault.workchain,
);

const boc = TransactionService.createTransfer(contract, {
Expand Down

0 comments on commit 64906a3

Please sign in to comment.