Skip to content

Commit

Permalink
feat: Bucket cancelMigrateBucket
Browse files Browse the repository at this point in the history
  • Loading branch information
rrr523 committed May 7, 2024
1 parent 71dfe90 commit 391c2a1
Show file tree
Hide file tree
Showing 6 changed files with 81 additions and 2 deletions.
5 changes: 5 additions & 0 deletions .changeset/sour-eggs-explode.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@bnb-chain/greenfield-js-sdk': minor
---

feat: Add `bucket.cancelMigrateBucket` API.
45 changes: 43 additions & 2 deletions examples/nextjs/src/components/bucket/migrate/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ export const MigrateBucket = () => {

return (
<>
<h4>Migrate Bucket</h4>
<h4>Migrate Bucket / Cancel Migrate Bucket</h4>
<div>
bucket name:
<input
Expand Down Expand Up @@ -68,7 +68,48 @@ export const MigrateBucket = () => {
}
}}
>
broadcast with simulate
Migrate Bucket
</button>

<br />
<button
onClick={async () => {
if (!address) return;

const provider = await connector?.getProvider();
const offChainData = await getOffchainAuthKeys(address, provider);
if (!offChainData) {
alert('No offchain, please create offchain pairs first');
return;
}

const cancelMigrateBucketTx = await client.bucket.cancelMigrateBucket({
bucketName,
operator: address,
});

const simulateInfo = await cancelMigrateBucketTx.simulate({
denom: 'BNB',
});

console.log('simulateInfo', simulateInfo);

const res = await cancelMigrateBucketTx.broadcast({
denom: 'BNB',
gasLimit: Number(simulateInfo?.gasLimit),
gasPrice: simulateInfo?.gasPrice || '5000000000',
payer: address,
granter: '',
});

console.log('res', res);

if (res.code === 0) {
alert('success');
}
}}
>
Cancel Migrate Bucket
</button>
</>
);
Expand Down
1 change: 1 addition & 0 deletions examples/nextjs/src/config/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -93,4 +93,5 @@ export const wagmiConfig = createConfig({
[bscChain.id]: http(),
},
connectors,
ssr: true,
});
15 changes: 15 additions & 0 deletions packages/js-sdk/src/api/bucket.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ import {
QueryVerifyPermissionResponse,
} from '@bnb-chain/greenfield-cosmos-types/greenfield/storage/query';
import {
MsgCancelMigrateBucket,
MsgCreateBucket,
MsgDeleteBucket,
MsgDeletePolicy,
Expand All @@ -42,6 +43,7 @@ import { container, delay, inject, injectable } from 'tsyringe';
import {
AuthType,
GRNToString,
MsgCancelMigrateBucketTypeUrl,
MsgCreateBucketTypeUrl,
MsgDeleteBucketTypeUrl,
MsgMigrateBucketTypeUrl,
Expand Down Expand Up @@ -104,6 +106,7 @@ import { decodeObjectFromHexString } from '../utils/encoding';
import { Sp } from './sp';
import { Storage } from './storage';
import { VirtualGroup } from './virtualGroup';
import { MsgCancelMigrateBucketSDKTypeEIP712 } from '@/messages/greenfield/storage/MsgCancelMigrateBucket';

export interface IBucket {
/**
Expand Down Expand Up @@ -182,6 +185,8 @@ export interface IBucket {

migrateBucket(params: MigrateBucketApprovalRequest, authType: AuthType): Promise<TxResponse>;

cancelMigrateBucket(msg: MsgCancelMigrateBucket): Promise<TxResponse>;

putBucketPolicy(bucketName: string, srcMsg: Omit<MsgPutPolicy, 'resource'>): Promise<TxResponse>;

/**
Expand Down Expand Up @@ -568,6 +573,16 @@ export class Bucket implements IBucket {
return await this.migrateBucketTx(msg, signedMsg);
}

public async cancelMigrateBucket(msg: MsgCancelMigrateBucket): Promise<TxResponse> {
return await this.txClient.tx(
MsgCancelMigrateBucketTypeUrl,
msg.operator,
MsgCancelMigrateBucketSDKTypeEIP712,
MsgCancelMigrateBucket.toSDK(msg),
MsgCancelMigrateBucket.encode(msg).finish(),
);
}

private async migrateBucketTx(msg: MsgMigrateBucket, signedMsg: MigrateBucketApprovalResponse) {
return await this.txClient.tx(
MsgMigrateBucketTypeUrl,
Expand Down
1 change: 1 addition & 0 deletions packages/js-sdk/src/constants/typeUrl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ export const MsgDisableRefundTypeUrl = '/greenfield.payment.MsgDisableRefund';
export const MsgWithdrawTypeUrl = '/greenfield.payment.MsgWithdraw';
export const MsgCancelCreateObjectTypeUrl = '/greenfield.storage.MsgCancelCreateObject';
export const MsgMigrateBucketTypeUrl = '/greenfield.storage.MsgMigrateBucket';
export const MsgCancelMigrateBucketTypeUrl = '/greenfield.storage.MsgCancelMigrateBucket';
export const MsgCreateBucketTypeUrl = '/greenfield.storage.MsgCreateBucket';
export const MsgCreateGroupTypeUrl = '/greenfield.storage.MsgCreateGroup';
export const MsgCreateObjectTypeUrl = '/greenfield.storage.MsgCreateObject';
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
export const MsgCancelMigrateBucketSDKTypeEIP712 = {
Msg1: [
{
name: 'bucket_name',
type: 'string',
},
{
name: 'operator',
type: 'string',
},
{
name: 'type',
type: 'string',
},
],
} as const;

0 comments on commit 391c2a1

Please sign in to comment.