As we all know, JavaScript is not good at this kind of intensive computing. In fact, the results we tested on local Nodejs were about 10 times slower than Go.
But to be able to use it in the Javascript, we created reed-solomon, which is the core library.
You can use core lib directly in the browser and Nodejs, or you can use us to run on the worker(browser use webworker, Nodejs use worker_threads).
-
Browser
Nodejs
When you are developing Greenfield and need to create objects, if you are sure that the files are small (maybe less than 5m or 10m), you can directly use the ESM solution:
core lib (ESM)
import{ReedSolomon}from'@bnb-chain/reed-solomon' const rs =newReedSolomon(); const res = rs.encode(newUint8Array(fileBuffer))
It also supports UMD mode calls (simpler and more convenient):
When you are developing Greenfield and need to create objects, if you are sure that the files are small (maybe less than 5m or 10m), you can directly use the ESM solution:
core lib (ESM)
import{ReedSolomon}from'@bnb-chain/reed-solomon' const rs =newReedSolomon(); const res = rs.encode(newUint8Array(fileBuffer))
It also supports UMD mode calls (simpler and more convenient):
Create a new payment account for the given address.
The payment account is used to pay for the storage and read quota fee of objects. When you need to
@@ -37,12 +37,12 @@
create
withdraw funds from it. Once the owner revokes permission for withdrawal, the funds in the payment
account can only be utilized to cover storage and read quota fees.
Create a new bucket in greenfield. This API sends a request to the storage provider to get approval
for creating bucket and sends the createBucket transaction to the Greenfield.
Apply bucket policy to the principal, return the txn hash.
params
description
bucketName
bucket name
statements
Policies outline the specific details of permissions, including the Effect, ActionList, and Resources.
principal
Indicates the marshaled principal content of greenfield permission types, users can generate it by NewPrincipalWithAccount or NewPrincipalWithGroupId method.
Update the bucket meta on chain, including read quota, payment address or visibility. It will send
the MsgUpdateBucketInfo msg to greenfield to update the meta.
Delete a group on Greenfield blockchain. The sender MUST only be the group owner, group members
or others would fail to send this transaction.
-
warning
Deleting a group will result in granted permission revoked. Members within the group will no longer
+
warning
Deleting a group will result in granted permission revoked. Members within the group will no longer
have access to resources (bucket, object) which granted permission on.
params
description
operator
the account address of the operator who has the DeleteGroup permission of the group to be deleted
Update a group by adding or removing members. The sender can be the group owner or any individual
account(Principle) that has been granted permission by the group owner.
params
description
operator
the account address of the operator who has the UpdateGroupMember permission of the group
Withdrawal will trigger settlement, i.e., updating static balance and buffer balance. If the
withdrawal amount is greater than the static balance after settlement it will fail. If the
withdrawal amount is equal to or greater than 100BNB, it will be timelock-ed for 1 day duration. And
after the duration, a message without from field should be sent to get the funds.
Disable refund/withdrawal for a payment account. After disabling withdrawal of a payment account, no
more withdrawal can be executed. The action cannot be reverted.
Virtual group family(VGF) serve as a means of grouping global virtual groups. Each bucket must be
associated with a unique global virtual group family and cannot cross families.
\ No newline at end of file
diff --git a/assets/css/styles.dc5e3e63.css b/assets/css/styles.f484fdd8.css
similarity index 56%
rename from assets/css/styles.dc5e3e63.css
rename to assets/css/styles.f484fdd8.css
index 3129be21..a17754c9 100644
--- a/assets/css/styles.dc5e3e63.css
+++ b/assets/css/styles.f484fdd8.css
@@ -1 +1 @@
-.col,.container{padding:0 var(--ifm-spacing-horizontal);width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown li,body{word-wrap:break-word}body,ol ol,ol ul,ul ol,ul ul{margin:0}pre,table{overflow:auto}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,code{vertical-align:middle}.button--outline.button--active,.button--outline:active,.button--outline:hover,:root{--ifm-button-color:var(--ifm-font-color-base-inverse)}.menu__link:hover,a{transition:color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.navbar--dark,:root{--ifm-navbar-link-hover-color:var(--ifm-color-primary)}.menu,.navbar-sidebar{overflow-x:hidden}:root,html[data-theme=dark]{--ifm-color-emphasis-500:var(--ifm-color-gray-500)}.toggleButton_lrMJ,html{-webkit-tap-highlight-color:transparent}.clean-list,.containsTaskList_EXnq,.details__0w5>summary,.dropdown__menu,.menu__list{list-style:none}:root{--ifm-color-scheme:light;--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:transparent;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:0.4rem;--ifm-hover-overlay:rgba(0,0,0,.05);--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ifm-font-size-base:100%;--ifm-font-weight-light:300;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:200ms;--ifm-transition-slow:400ms;--ifm-transition-timing-default:cubic-bezier(0.08,0.52,0.52,1);--ifm-global-shadow-lw:0 1px 2px 0 rgba(0,0,0,.1);--ifm-global-shadow-md:0 5px 40px rgba(0,0,0,.2);--ifm-global-shadow-tl:0 12px 28px 0 rgba(0,0,0,.2),0 2px 4px 0 rgba(0,0,0,.1);--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-font-size:90%;--ifm-code-padding-horizontal:0.1rem;--ifm-code-padding-vertical:0.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:0.875rem;--ifm-h6-font-size:0.85rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:0.25rem;--ifm-list-paragraph-margin:1rem;--ifm-table-cell-padding:0.75rem;--ifm-table-background:transparent;--ifm-table-stripe-background:rgba(0,0,0,.03);--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-decoration:none;--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-shadow:none;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-color:var(--ifm-font-color-base);--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-color:var(--ifm-color-white);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*0.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:0.5rem;--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-breadcrumb-padding-horizontal:0.8rem;--ifm-breadcrumb-padding-vertical:0.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url('data:image/svg+xml;utf8,');--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:0.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:0.375rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:0.5rem;--ifm-toc-padding-horizontal:0.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:0.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-horizontal:0.75rem;--ifm-menu-link-padding-vertical:0.375rem;--ifm-menu-link-sublist-icon:url('data:image/svg+xml;utf8,');--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-item-padding-horizontal:0.75rem;--ifm-navbar-item-padding-vertical:0.25rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*0.5);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-search-input-icon:url('data:image/svg+xml;utf8,');--ifm-navbar-sidebar-width:83vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:0.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-pills-spacing:0.125rem;--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active);--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem;--docusaurus-progress-bar-color:var(--ifm-color-primary);--ifm-color-primary:#2e8555;--ifm-color-primary-dark:#29784c;--ifm-color-primary-darker:#277148;--ifm-color-primary-darkest:#205d3b;--ifm-color-primary-light:#33925d;--ifm-color-primary-lighter:#359962;--ifm-color-primary-lightest:#3cad6e;--ifm-code-font-size:95%;--docusaurus-highlighted-code-line-bg:#e9e9e9;--docusaurus-announcement-bar-height:auto;--docusaurus-tag-list-border:var(--ifm-color-emphasis-300);--docusaurus-collapse-button-bg:transparent;--docusaurus-collapse-button-bg-hover:rgba(0,0,0,.1);--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px}.badge--danger,.badge--info,.badge--primary,.badge--secondary,.badge--success,.badge--warning{--ifm-badge-border-color:var(--ifm-badge-background-color)}.button--link,.button--outline{--ifm-button-background-color:transparent}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%;background-color:var(--ifm-background-color);color:var(--ifm-font-color-base);color-scheme:var(--ifm-color-scheme);font:var(--ifm-font-size-base)/var(--ifm-line-height-base) var(--ifm-font-family-base);text-rendering:optimizelegibility}iframe{border:0;color-scheme:auto}.container{margin:0 auto;max-width:var(--ifm-container-width)}.container--fluid{max-width:inherit}.row{display:flex;flex-wrap:wrap;margin:0 calc(var(--ifm-spacing-horizontal)*-1)}.list_bLOB article:last-child,.margin-bottom--none,.margin-vert--none,.markdown>:last-child{margin-bottom:0!important}.margin-top--none,.margin-vert--none,.tabItem_R4Tu{margin-top:0!important}.row--no-gutters{margin-left:0;margin-right:0}.margin-horiz--none,.margin-right--none{margin-right:0!important}.row--no-gutters>.col{padding-left:0;padding-right:0}.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.menuExternalLink_lIUK,.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;flex:1 0;margin-left:0;max-width:var(--ifm-col-width)}.padding-bottom--none,.padding-vert--none{padding-bottom:0!important}.padding-top--none,.padding-vert--none{padding-top:0!important}.padding-horiz--none,.padding-left--none{padding-left:0!important}.padding-horiz--none,.padding-right--none{padding-right:0!important}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:8.33333%}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:16.66667%}.col--offset-2{margin-left:16.66667%}.col--3{--ifm-col-width:25%}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:33.33333%}.col--offset-4{margin-left:33.33333%}.col--5{--ifm-col-width:41.66667%}.col--offset-5{margin-left:41.66667%}.col--6{--ifm-col-width:50%}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:58.33333%}.col--offset-7{margin-left:58.33333%}.col--8{--ifm-col-width:66.66667%}.col--offset-8{margin-left:66.66667%}.col--9{--ifm-col-width:75%}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:83.33333%}.col--offset-10{margin-left:83.33333%}.col--11{--ifm-col-width:91.66667%}.col--offset-11{margin-left:91.66667%}.col--12{--ifm-col-width:100%}.col--offset-12{margin-left:100%}.margin-horiz--none,.margin-left--none{margin-left:0!important}.margin--none{margin:0!important}.margin-bottom--xs,.margin-vert--xs{margin-bottom:.25rem!important}.margin-top--xs,.margin-vert--xs{margin-top:.25rem!important}.margin-horiz--xs,.margin-left--xs{margin-left:.25rem!important}.margin-horiz--xs,.margin-right--xs{margin-right:.25rem!important}.margin--xs{margin:.25rem!important}.margin-bottom--sm,.margin-vert--sm{margin-bottom:.5rem!important}.margin-top--sm,.margin-vert--sm{margin-top:.5rem!important}.margin-horiz--sm,.margin-left--sm{margin-left:.5rem!important}.margin-horiz--sm,.margin-right--sm{margin-right:.5rem!important}.margin--sm{margin:.5rem!important}.margin-bottom--md,.margin-vert--md{margin-bottom:1rem!important}.margin-top--md,.margin-vert--md{margin-top:1rem!important}.margin-horiz--md,.margin-left--md{margin-left:1rem!important}.margin-horiz--md,.margin-right--md{margin-right:1rem!important}.margin--md{margin:1rem!important}.margin-bottom--lg,.margin-vert--lg{margin-bottom:2rem!important}.margin-top--lg,.margin-vert--lg{margin-top:2rem!important}.margin-horiz--lg,.margin-left--lg{margin-left:2rem!important}.margin-horiz--lg,.margin-right--lg{margin-right:2rem!important}.margin--lg{margin:2rem!important}.margin-bottom--xl,.margin-vert--xl{margin-bottom:5rem!important}.margin-top--xl,.margin-vert--xl{margin-top:5rem!important}.margin-horiz--xl,.margin-left--xl{margin-left:5rem!important}.margin-horiz--xl,.margin-right--xl{margin-right:5rem!important}.margin--xl{margin:5rem!important}.padding--none{padding:0!important}.padding-bottom--xs,.padding-vert--xs{padding-bottom:.25rem!important}.padding-top--xs,.padding-vert--xs{padding-top:.25rem!important}.padding-horiz--xs,.padding-left--xs{padding-left:.25rem!important}.padding-horiz--xs,.padding-right--xs{padding-right:.25rem!important}.padding--xs{padding:.25rem!important}.padding-bottom--sm,.padding-vert--sm{padding-bottom:.5rem!important}.padding-top--sm,.padding-vert--sm{padding-top:.5rem!important}.padding-horiz--sm,.padding-left--sm{padding-left:.5rem!important}.padding-horiz--sm,.padding-right--sm{padding-right:.5rem!important}.padding--sm{padding:.5rem!important}.padding-bottom--md,.padding-vert--md{padding-bottom:1rem!important}.padding-top--md,.padding-vert--md{padding-top:1rem!important}.padding-horiz--md,.padding-left--md{padding-left:1rem!important}.padding-horiz--md,.padding-right--md{padding-right:1rem!important}.padding--md{padding:1rem!important}.padding-bottom--lg,.padding-vert--lg{padding-bottom:2rem!important}.padding-top--lg,.padding-vert--lg{padding-top:2rem!important}.padding-horiz--lg,.padding-left--lg{padding-left:2rem!important}.padding-horiz--lg,.padding-right--lg{padding-right:2rem!important}.padding--lg{padding:2rem!important}.padding-bottom--xl,.padding-vert--xl{padding-bottom:5rem!important}.padding-top--xl,.padding-vert--xl{padding-top:5rem!important}.padding-horiz--xl,.padding-left--xl{padding-left:5rem!important}.padding-horiz--xl,.padding-right--xl{padding-right:5rem!important}.padding--xl{padding:5rem!important}code{background-color:var(--ifm-code-background);border:.1rem solid rgba(0,0,0,.1);border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal)}a code{color:inherit}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height) var(--ifm-font-family-monospace);padding:var(--ifm-pre-padding)}pre code{background-color:transparent;border:none;font-size:100%;line-height:inherit;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);border-radius:.2rem;box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top) 0 var(--ifm-heading-margin-bottom) 0}h1{font-size:var(--ifm-h1-font-size)}h2{font-size:var(--ifm-h2-font-size)}h3{font-size:var(--ifm-h3-font-size)}h4{font-size:var(--ifm-h4-font-size)}h5{font-size:var(--ifm-h5-font-size)}h6{font-size:var(--ifm-h6-font-size)}img{max-width:100%}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.markdown{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:after,.markdown:before{content:"";display:table}.markdown:after{clear:both}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h3{--ifm-h3-font-size:1.5rem;margin-top:calc(var(--ifm-h3-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h4,.markdown>h5,.markdown>h6{margin-top:calc(var(--ifm-heading-vertical-rhythm-top)*var(--ifm-leading))}.markdown>p,.markdown>pre,.markdown>ul,.tabList_WnI6{margin-bottom:var(--ifm-leading)}.markdown li>p{margin-top:var(--ifm-list-paragraph-margin)}.markdown li+li{margin-top:var(--ifm-list-item-margin)}ol,ul{margin:0 0 var(--ifm-list-margin);padding-left:var(--ifm-list-left-padding)}ol ol,ul ol{list-style-type:lower-roman}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}table{border-collapse:collapse;display:block;margin-bottom:var(--ifm-spacing-vertical)}table thead tr{border-bottom:2px solid var(--ifm-table-border-color)}table thead,table tr:nth-child(2n){background-color:var(--ifm-table-stripe-background)}table tr{background-color:var(--ifm-table-background);border-top:var(--ifm-table-border-width) solid var(--ifm-table-border-color)}table td,table th{border:var(--ifm-table-border-width) solid var(--ifm-table-border-color);padding:var(--ifm-table-cell-padding)}table th{background-color:var(--ifm-table-head-background);color:var(--ifm-table-head-color);font-weight:var(--ifm-table-head-font-weight)}table td{color:var(--ifm-table-cell-color)}strong{font-weight:var(--ifm-font-weight-bold)}a{color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}a:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button:hover,.text--no-decoration,.text--no-decoration:hover,a:not([href]){text-decoration:none}p{margin:0 0 var(--ifm-paragraph-margin-bottom)}blockquote{border-left:var(--ifm-blockquote-border-left-width) solid var(--ifm-blockquote-border-color);box-shadow:var(--ifm-blockquote-shadow);color:var(--ifm-blockquote-color);font-size:var(--ifm-blockquote-font-size);padding:var(--ifm-blockquote-padding-vertical) var(--ifm-blockquote-padding-horizontal)}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);border:0;height:var(--ifm-hr-height);margin:var(--ifm-hr-margin-vertical) 0}.shadow--lw{box-shadow:var(--ifm-global-shadow-lw)!important}.shadow--md{box-shadow:var(--ifm-global-shadow-md)!important}.shadow--tl{box-shadow:var(--ifm-global-shadow-tl)!important}.text--primary,.wordWrapButtonEnabled_tVnV .wordWrapButtonIcon_RDpj{color:var(--ifm-color-primary)}.text--secondary{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.text--center{text-align:center}.text--left{text-align:left}.text--justify{text-align:justify}.text--right{text-align:right}.text--capitalize{text-transform:capitalize}.text--lowercase{text-transform:lowercase}.admonitionHeading_1BEx,.alert__heading,.text--uppercase{text-transform:uppercase}.text--light{font-weight:var(--ifm-font-weight-light)}.text--normal{font-weight:var(--ifm-font-weight-normal)}.text--semibold{font-weight:var(--ifm-font-weight-semibold)}.text--bold{font-weight:var(--ifm-font-weight-bold)}.text--italic{font-style:italic}.text--truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text--break{word-wrap:break-word!important;word-break:break-word!important}.clean-btn{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;padding:0}.alert,.alert .close{color:var(--ifm-alert-foreground-color)}.clean-list{padding-left:0}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:rgba(53,120,229,.15);--ifm-alert-foreground-color:var(--ifm-color-primary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-primary-dark)}.alert--secondary{--ifm-alert-background-color:var(--ifm-color-secondary-contrast-background);--ifm-alert-background-color-highlight:rgba(235,237,240,.15);--ifm-alert-foreground-color:var(--ifm-color-secondary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-secondary-dark)}.alert--success{--ifm-alert-background-color:var(--ifm-color-success-contrast-background);--ifm-alert-background-color-highlight:rgba(0,164,0,.15);--ifm-alert-foreground-color:var(--ifm-color-success-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-success-dark)}.alert--info{--ifm-alert-background-color:var(--ifm-color-info-contrast-background);--ifm-alert-background-color-highlight:rgba(84,199,236,.15);--ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-info-dark)}.alert--warning{--ifm-alert-background-color:var(--ifm-color-warning-contrast-background);--ifm-alert-background-color-highlight:rgba(255,186,0,.15);--ifm-alert-foreground-color:var(--ifm-color-warning-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-warning-dark)}.alert--danger{--ifm-alert-background-color:var(--ifm-color-danger-contrast-background);--ifm-alert-background-color-highlight:rgba(250,56,62,.15);--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width) solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);padding:var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal)}.alert__heading{align-items:center;display:flex;font:700 var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.5rem}.alert__icon{display:inline-flex;margin-right:.4em}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{margin:calc(var(--ifm-alert-padding-vertical)*-1) calc(var(--ifm-alert-padding-horizontal)*-1) 0 0;opacity:.75}.alert .close:focus,.alert .close:hover{opacity:1}.alert a{text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{border-radius:50%;display:block;height:var(--ifm-avatar-photo-size);overflow:hidden;width:var(--ifm-avatar-photo-size)}.card--full-height,.navbar__logo img,body,html{height:100%}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:var(--ifm-avatar-intro-alignment)}.badge,.breadcrumbs__item,.breadcrumbs__link,.button,.dropdown>.navbar__link:after{display:inline-block}.avatar__name{font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:0.5rem;align-items:center;flex-direction:column}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width) solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);line-height:1;padding:var(--ifm-badge-padding-vertical) var(--ifm-badge-padding-horizontal)}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);color:var(--ifm-color-black)}.breadcrumbs__link,.button.button--secondary.button--outline:not(.button--active):not(:hover){color:var(--ifm-font-color-base)}.badge--success{--ifm-badge-background-color:var(--ifm-color-success)}.badge--info{--ifm-badge-background-color:var(--ifm-color-info)}.badge--warning{--ifm-badge-background-color:var(--ifm-color-warning)}.badge--danger{--ifm-badge-background-color:var(--ifm-color-danger)}.breadcrumbs{margin-bottom:0;padding-left:0}.breadcrumbs__item:not(:last-child):after{background:var(--ifm-breadcrumb-separator) center;content:" ";display:inline-block;filter:var(--ifm-breadcrumb-separator-filter);height:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));margin:0 var(--ifm-breadcrumb-spacing);opacity:.5;width:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier))}.breadcrumbs__item--active .breadcrumbs__link{background:var(--ifm-breadcrumb-item-background-active);color:var(--ifm-breadcrumb-color-active)}.breadcrumbs__link{border-radius:var(--ifm-breadcrumb-border-radius);font-size:calc(1rem*var(--ifm-breadcrumb-size-multiplier));padding:calc(var(--ifm-breadcrumb-padding-vertical)*var(--ifm-breadcrumb-size-multiplier)) calc(var(--ifm-breadcrumb-padding-horizontal)*var(--ifm-breadcrumb-size-multiplier));transition-duration:var(--ifm-transition-fast);transition-property:background,color}.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area[href].breadcrumbs__link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs__link:any-link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:0.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width) solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);line-height:1.5;padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier)) calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;transition-duration:var(--ifm-button-transition-duration);transition-property:color,background,border-color;-webkit-user-select:none;user-select:none;white-space:nowrap}.button,.button:hover{color:var(--ifm-button-color)}.button--outline{--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--link{--ifm-button-border-color:transparent;color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}.button--link.button--active,.button--link:active,.button--link:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:0.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block{display:block;width:100%}.button.button--secondary{color:var(--ifm-color-gray-900)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary.button--active,.button--primary:active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary.button--active,.button--secondary:active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success.button--active,.button--success:active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info.button--active,.button--info:active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning.button--active,.button--warning:active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger.button--active,.button--danger:active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{display:inline-flex;gap:var(--ifm-button-group-spacing)}.button-group>.button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.button-group>.button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.button-group--block{display:flex;justify-content:stretch}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);display:flex;flex-direction:column;overflow:hidden}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child{padding-top:0}.card__body,.card__footer,.card__header{padding:var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing)}.card__body:not(:last-child),.card__footer:not(:last-child),.card__header:not(:last-child){padding-bottom:0}.card__body>:last-child,.card__footer>:last-child,.card__header>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{font-size:.8rem;margin-bottom:0;padding:var(--ifm-toc-padding-vertical) 0}.table-of-contents,.table-of-contents ul{list-style:none;padding-left:var(--ifm-toc-padding-horizontal)}.table-of-contents li{margin:var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link--active,.table-of-contents__link--active code,.table-of-contents__link:hover,.table-of-contents__link:hover code{color:var(--ifm-color-primary);text-decoration:none}.close{color:var(--ifm-color-black);float:right;font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);line-height:1;opacity:.5;padding:1rem;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.close:hover{opacity:.7}.close:focus,.theme-code-block-highlighted-line .codeLineNumber_CQsK:before{opacity:.8}.dropdown{display:inline-flex;font-weight:var(--ifm-dropdown-font-weight);position:relative;vertical-align:top}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;transform:translateY(-1px);visibility:visible}#nprogress,.dropdown__menu,.navbar__item.dropdown .navbar__link:not([href]){pointer-events:none}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);left:0;max-height:80vh;min-width:10rem;opacity:0;overflow-y:auto;padding:.5rem;position:absolute;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);transform:translateY(-.625rem);transition-duration:var(--ifm-transition-fast);transition-property:opacity,transform,visibility;transition-timing-function:var(--ifm-transition-timing-default);visibility:hidden;z-index:var(--ifm-z-index-dropdown)}.menu__caret,.menu__link,.menu__list-item-collapsible{border-radius:.25rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.dropdown__link{border-radius:.25rem;color:var(--ifm-dropdown-link-color);display:block;font-size:.875rem;margin-top:.2rem;padding:.25rem .5rem;white-space:nowrap}.dropdown__link--active,.dropdown__link:hover{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color);text-decoration:none}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{border-color:currentcolor transparent;border-style:solid;border-width:.4em .4em 0;content:"";margin-left:.3em;position:relative;top:2px;transform:translateY(-50%)}.details__0w5[data-collapsed=false].isBrowser_crgh>summary:before,.details__0w5[open]:not(.isBrowser_crgh)>summary:before,.menu__list-item--collapsed .menu__caret:before,.menu__list-item--collapsed .menu__link--sublist:after{transform:rotate(90deg)}.footer{background-color:var(--ifm-footer-background-color);color:var(--ifm-footer-color);padding:var(--ifm-footer-padding-vertical) var(--ifm-footer-padding-horizontal)}.footer--dark{--ifm-footer-background-color:#303846;--ifm-footer-color:var(--ifm-footer-link-color);--ifm-footer-link-color:var(--ifm-color-secondary);--ifm-footer-title-color:var(--ifm-color-white)}.footer__links{margin-bottom:1rem}.footer__link-item{color:var(--ifm-footer-link-color);line-height:2}.footer__link-item:hover{color:var(--ifm-footer-link-hover-color)}.footer__link-separator{margin:0 var(--ifm-footer-link-horizontal-spacing)}.footer__logo{margin-top:1rem;max-width:var(--ifm-footer-logo-max-width)}.footer__title{color:var(--ifm-footer-title-color);font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base);margin-bottom:var(--ifm-heading-margin-bottom)}.menu,.navbar__link{font-weight:var(--ifm-font-weight-semibold)}.docItemContainer_xnBR article>:first-child,.docItemContainer_xnBR header+*,.footer__item{margin-top:0}.cardContainer_pQWL :last-child,.footer__items{margin-bottom:0}.codeBlockStandalone_xPVH,[type=checkbox]{padding:0}.hero{align-items:center;background-color:var(--ifm-hero-background-color);color:var(--ifm-hero-text-color);display:flex;padding:4rem 2rem}.hero--primary{--ifm-hero-background-color:var(--ifm-color-primary);--ifm-hero-text-color:var(--ifm-font-color-base-inverse)}.hero--dark{--ifm-hero-background-color:#303846;--ifm-hero-text-color:var(--ifm-color-white)}.hero__title{font-size:3rem}.hero__subtitle{font-size:1.5rem}.menu__list{margin:0;padding-left:0}.menu__caret,.menu__link{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu__list .menu__list{flex:0 0 100%;margin-top:.25rem;padding-left:var(--ifm-menu-link-padding-horizontal)}.menu__list-item:not(:first-child){margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.menu__list-item-collapsible{display:flex;flex-wrap:wrap;position:relative}.menu__caret:hover,.menu__link:hover,.menu__list-item-collapsible--active,.menu__list-item-collapsible:hover{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link--active,.menu__list-item-collapsible .menu__link:hover{background:none!important}.menu__caret,.menu__link{align-items:center;display:flex}.menu__link{color:var(--ifm-menu-color);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color);text-decoration:none}.menu__caret:before,.menu__link--sublist-caret:after{content:"";height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem;filter:var(--ifm-menu-link-sublist-icon-filter)}.menu__link--sublist-caret:after{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem;margin-left:auto;min-width:1.25rem}.menu__link--active,.menu__link--active:hover{color:var(--ifm-menu-color-active)}.navbar__brand,.navbar__link{color:var(--ifm-navbar-link-color)}.menu__link--active:not(.menu__link--sublist){background-color:var(--ifm-menu-color-background-active)}.menu__caret:before{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem}.navbar--dark,html[data-theme=dark]{--ifm-menu-link-sublist-icon-filter:invert(100%) sepia(94%) saturate(17%) hue-rotate(223deg) brightness(104%) contrast(98%)}.navbar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar,.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{position:sticky;top:0;z-index:var(--ifm-z-index-fixed)}.navbar-sidebar,.navbar-sidebar__backdrop{bottom:0;opacity:0;position:fixed;transition-duration:var(--ifm-transition-fast);transition-timing-function:ease-in-out;left:0;top:0;visibility:hidden}.navbar__inner{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%}.navbar__brand{align-items:center;display:flex;margin-right:1rem;min-width:0}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.announcementBarContent_GG6M,.navbar__title{flex:1 1 auto}.navbar__toggle{display:none;margin-right:.5rem}.navbar__logo{flex:0 0 auto;height:2rem;margin-right:.5rem}.navbar__items{align-items:center;display:flex;flex:1;min-width:0}.navbar__items--center{flex:0 0 auto}.navbar__items--center .navbar__brand{margin:0}.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:0 0 auto;justify-content:flex-end}.navbar__items--right>:last-child{padding-right:0}.navbar__item{display:inline-block;padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.navbar__link--active,.navbar__link:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.navbar--dark,.navbar--primary{--ifm-menu-color:var(--ifm-color-gray-300);--ifm-navbar-link-color:var(--ifm-color-gray-100);--ifm-navbar-search-input-background-color:hsla(0,0%,100%,.1);--ifm-navbar-search-input-placeholder-color:hsla(0,0%,100%,.5);color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-menu-color-background-active:hsla(0,0%,100%,.05);--ifm-navbar-search-input-color:var(--ifm-color-white)}.navbar--primary{--ifm-navbar-background-color:var(--ifm-color-primary);--ifm-navbar-link-hover-color:var(--ifm-color-white);--ifm-menu-color-active:var(--ifm-color-white);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-500)}.navbar__search-input{-webkit-appearance:none;appearance:none;background:var(--ifm-navbar-search-input-background-color) var(--ifm-navbar-search-input-icon) no-repeat .75rem center/1rem 1rem;border:none;border-radius:2rem;color:var(--ifm-navbar-search-input-color);cursor:text;display:inline-block;font-size:.9rem;height:2rem;padding:0 .5rem 0 2.25rem;width:12.5rem}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);transform:translate3d(-100%,0,0);transition-property:opacity,visibility,transform;width:var(--ifm-navbar-sidebar-width)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar__items{transform:translateZ(0)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar__backdrop{background-color:rgba(0,0,0,.6);right:0;transition-property:opacity,visibility}.navbar-sidebar__brand{align-items:center;box-shadow:var(--ifm-navbar-shadow);display:flex;flex:1;height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar-sidebar__items{display:flex;height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast) ease-in-out}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{flex-shrink:0;padding:.5rem;width:calc(var(--ifm-navbar-sidebar-width))}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);margin:0 0 .2rem -.5rem;padding:.6rem 1.5rem;position:relative;text-align:left;top:-.5rem;width:calc(100% + 1rem)}.navbar-sidebar__close{display:flex;margin-left:auto}.pagination{column-gap:var(--ifm-pagination-page-spacing);display:flex;font-size:var(--ifm-pagination-font-size);padding-left:0}.pagination--sm{--ifm-pagination-font-size:0.8rem;--ifm-pagination-padding-horizontal:0.8rem;--ifm-pagination-padding-vertical:0.2rem}.pagination--lg{--ifm-pagination-font-size:1.2rem;--ifm-pagination-padding-horizontal:1.2rem;--ifm-pagination-padding-vertical:0.3rem}.pagination__item{display:inline-flex}.pagination__item>span{padding:var(--ifm-pagination-padding-vertical)}.pagination__item--active .pagination__link{color:var(--ifm-pagination-color-active)}.pagination__item--active .pagination__link,.pagination__item:not(.pagination__item--active):hover .pagination__link{background:var(--ifm-pagination-item-active-background)}.pagination__item--disabled,.pagination__item[disabled]{opacity:.25;pointer-events:none}.pagination__link{border-radius:var(--ifm-pagination-border-radius);color:var(--ifm-font-color-base);display:inline-block;padding:var(--ifm-pagination-padding-vertical) var(--ifm-pagination-padding-horizontal);transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination__link:hover{text-decoration:none}.pagination-nav{grid-gap:var(--ifm-spacing-horizontal);display:grid;gap:var(--ifm-spacing-horizontal);grid-template-columns:repeat(2,1fr)}.pagination-nav__link{border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-pagination-nav-border-radius);display:block;height:100%;line-height:var(--ifm-heading-line-height);padding:var(--ifm-global-spacing);transition:border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination-nav__link:hover{border-color:var(--ifm-pagination-nav-color-hover);text-decoration:none}.pagination-nav__link--next{grid-column:2/3;text-align:right}.pagination-nav__label{font-size:var(--ifm-h4-font-size);font-weight:var(--ifm-heading-font-weight);word-break:break-word}.pagination-nav__link--prev .pagination-nav__label:before{content:"« "}.pagination-nav__link--next .pagination-nav__label:after{content:" »"}.pagination-nav__sublabel{color:var(--ifm-color-content-secondary);font-size:var(--ifm-h5-font-size);font-weight:var(--ifm-font-weight-semibold);margin-bottom:.25rem}.pills__item,.tabs{font-weight:var(--ifm-font-weight-bold)}.admonitionContent_s3fC>:last-child,.collapsibleContent_IA5c p:last-child,.details__0w5>summary>p:last-child,.tabItem_jc9D>:last-child,.tabs{margin-bottom:0}.pills{display:flex;gap:var(--ifm-pills-spacing);padding-left:0}.pills__item{border-radius:.5rem;cursor:pointer;display:inline-block;padding:.25rem 1rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs,:not(.containsTaskList_EXnq>li)>.containsTaskList_EXnq{padding-left:0}.pills__item--active{color:var(--ifm-pills-color-active)}.pills__item--active,.pills__item:not(.pills__item--active):hover{background:var(--ifm-pills-color-background-active)}.pills--block{justify-content:stretch}.pills--block .pills__item{flex-grow:1;text-align:center}.tabs{color:var(--ifm-tabs-color);display:flex;overflow-x:auto}.tabs__item{border-bottom:3px solid transparent;border-radius:var(--ifm-global-radius);cursor:pointer;display:inline-flex;padding:var(--ifm-tabs-padding-vertical) var(--ifm-tabs-padding-horizontal);transition:background-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs__item--active{border-bottom-color:var(--ifm-tabs-color-active-border);border-bottom-left-radius:0;border-bottom-right-radius:0;color:var(--ifm-tabs-color-active)}.tabs__item:hover{background-color:var(--ifm-hover-overlay)}.tabs--block{justify-content:stretch}.tabs--block .tabs__item{flex-grow:1;justify-content:center}html[data-theme=dark]{--ifm-color-scheme:dark;--ifm-color-emphasis-0:var(--ifm-color-gray-1000);--ifm-color-emphasis-100:var(--ifm-color-gray-900);--ifm-color-emphasis-200:var(--ifm-color-gray-800);--ifm-color-emphasis-300:var(--ifm-color-gray-700);--ifm-color-emphasis-400:var(--ifm-color-gray-600);--ifm-color-emphasis-600:var(--ifm-color-gray-400);--ifm-color-emphasis-700:var(--ifm-color-gray-300);--ifm-color-emphasis-800:var(--ifm-color-gray-200);--ifm-color-emphasis-900:var(--ifm-color-gray-100);--ifm-color-emphasis-1000:var(--ifm-color-gray-0);--ifm-background-color:#1b1b1d;--ifm-background-surface-color:#242526;--ifm-hover-overlay:hsla(0,0%,100%,.05);--ifm-color-content:#e3e3e3;--ifm-color-content-secondary:#fff;--ifm-breadcrumb-separator-filter:invert(64%) sepia(11%) saturate(0%) hue-rotate(149deg) brightness(99%) contrast(95%);--ifm-code-background:hsla(0,0%,100%,.1);--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:hsla(0,0%,100%,.07);--ifm-toc-border-color:var(--ifm-color-emphasis-200);--ifm-color-primary-contrast-background:#102445;--ifm-color-primary-contrast-foreground:#ebf2fc;--ifm-color-secondary-contrast-background:#474748;--ifm-color-secondary-contrast-foreground:#fdfdfe;--ifm-color-success-contrast-background:#003100;--ifm-color-success-contrast-foreground:#e6f6e6;--ifm-color-info-contrast-background:#193c47;--ifm-color-info-contrast-foreground:#eef9fd;--ifm-color-warning-contrast-background:#4d3800;--ifm-color-warning-contrast-foreground:#fff8e6;--ifm-color-danger-contrast-background:#4b1113;--ifm-color-danger-contrast-foreground:#ffebec}#nprogress .bar{background:var(--docusaurus-progress-bar-color);height:2px;left:0;position:fixed;top:0;width:100%;z-index:1031}#nprogress .peg{box-shadow:0 0 10px var(--docusaurus-progress-bar-color),0 0 5px var(--docusaurus-progress-bar-color);height:100%;opacity:1;position:absolute;right:0;transform:rotate(3deg) translateY(-4px);width:100px}[data-theme=dark]{--docusaurus-highlighted-code-line-bg:#646464;--ifm-color-primary:#25c2a0;--ifm-color-primary-dark:#21af90;--ifm-color-primary-darker:#1fa588;--ifm-color-primary-darkest:#1a8870;--ifm-color-primary-light:#29d5b0;--ifm-color-primary-lighter:#32d8b4;--ifm-color-primary-lightest:#4fddbf;--docusaurus-highlighted-code-line-bg:rgba(0,0,0,.3)}body:not(.navigation-with-keyboard) :not(input):focus{outline:0}#__docusaurus-base-url-issue-banner-container,.themedComponent_ExHC,[data-theme=dark] .lightToggleIcon_Lxmh,[data-theme=light] .darkToggleIcon_R_nh,html[data-announcement-bar-initially-dismissed=true] .announcementBar_MjeS{display:none}.skipToContent__40e{background-color:var(--ifm-background-surface-color);color:var(--ifm-color-emphasis-900);left:100%;padding:calc(var(--ifm-global-spacing)/2) var(--ifm-global-spacing);position:fixed;top:1rem;z-index:calc(var(--ifm-z-index-fixed) + 1)}.skipToContent__40e:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_zt__{line-height:0;padding:0}.content_g7cv{font-size:85%;padding:5px 0;text-align:center}.content_g7cv a{color:inherit;text-decoration:underline}.announcementBar_MjeS{align-items:center;background-color:var(--ifm-color-white);border-bottom:1px solid var(--ifm-color-emphasis-100);color:var(--ifm-color-black);display:flex;height:var(--docusaurus-announcement-bar-height)}.announcementBarPlaceholder_CqWP{flex:0 0 10px}.announcementBarClose_XKo6{align-self:stretch;flex:0 0 30px}.toggle_IqyQ{height:2rem;width:2rem}.toggleButton_lrMJ{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;transition:background var(--ifm-transition-fast);width:100%}.toggleButton_lrMJ:hover{background:var(--ifm-color-emphasis-200)}.toggleButtonDisabled_u3zd{cursor:not-allowed}.darkNavbarColorModeToggle_dMDl:hover{background:var(--ifm-color-gray-800)}[data-theme=dark] .themedComponent--dark_Bxhq,[data-theme=light] .themedComponent--light__avE,html:not([data-theme]) .themedComponent--light__avE{display:initial}.iconExternalLink_zKz5{margin-left:.3rem}.dropdownNavbarItemMobile_uNHP{cursor:pointer}.iconLanguage_RPsh{margin-right:5px;vertical-align:text-bottom}@supports selector(:has(*)){.navbarSearchContainer_yln1:not(:has(>*)){display:none}}.navbarHideable_B7MD{transition:transform var(--ifm-transition-fast) ease}.navbarHidden__pzs{transform:translate3d(0,calc(-100% - 2px),0)}.errorBoundaryError_cmeE{color:red;white-space:pre-wrap}.errorBoundaryFallback_k4oh{color:red;padding:.55rem}.footerLogoLink_IIE5{opacity:.5;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.footerLogoLink_IIE5:hover,.hash-link:focus,:hover>.hash-link{opacity:1}.anchorWithStickyNavbar_fi5s{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_HyYk{scroll-margin-top:.5rem}.hash-link{opacity:0;padding-left:.5rem;transition:opacity var(--ifm-transition-fast);-webkit-user-select:none;user-select:none}.hash-link:before{content:"#"}.mainWrapper_M1vQ{display:flex;flex:1 0 auto;flex-direction:column}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column;min-height:100%}.cardContainer_pQWL{--ifm-link-color:var(--ifm-color-emphasis-800);--ifm-link-hover-color:var(--ifm-color-emphasis-700);--ifm-link-hover-decoration:none;border:1px solid var(--ifm-color-emphasis-200);box-shadow:0 1.5px 3px 0 rgba(0,0,0,.15);transition:all var(--ifm-transition-fast) ease;transition-property:border,box-shadow}.cardContainer_pQWL:hover{border-color:var(--ifm-color-primary);box-shadow:0 3px 6px 0 rgba(0,0,0,.2)}.cardTitle_zGQc{font-size:1.2rem}.cardDescription_L4so{font-size:.8rem}.iconEdit_IGx0{margin-right:.3em;vertical-align:sub}.tag_MAP8{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.tag_MAP8:hover{--docusaurus-tag-list-border:var(--ifm-link-color);text-decoration:none}.tagRegular_FfnK{border-radius:var(--ifm-global-radius);font-size:90%;padding:.2rem .5rem .3rem}.tagWithCount_Zxqn{align-items:center;border-left:0;display:flex;padding:0 .5rem 0 1rem;position:relative}.tagWithCount_Zxqn:after,.tagWithCount_Zxqn:before{border:1px solid var(--docusaurus-tag-list-border);content:"";position:absolute;top:50%;transition:inherit}.tagWithCount_Zxqn:before{border-bottom:0;border-right:0;height:1.18rem;right:100%;transform:translate(50%,-50%) rotate(-45deg);width:1.18rem}.tagWithCount_Zxqn:after{border-radius:50%;height:.5rem;left:0;transform:translateY(-50%);width:.5rem}.tagWithCount_Zxqn span{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.7rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.tags_NPyV{display:inline}.tag_VkyR{display:inline-block;margin:0 .4rem .5rem 0}.lastUpdated_XxRX{font-size:smaller;font-style:italic;margin-top:.2rem}.tocCollapsibleButton_hvO9{align-items:center;display:flex;font-size:inherit;justify-content:space-between;padding:.4rem .8rem;width:100%}.tocCollapsibleButton_hvO9:after{background:var(--ifm-menu-link-sublist-icon) 50% 50%/2rem 2rem no-repeat;content:"";filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast);width:1.25rem}.tocCollapsibleButtonExpanded_jLwa:after,.tocCollapsibleExpanded_PGxk{transform:none}.tocCollapsible_KBQs{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.buttonGroup_NC4x button,.codeBlockContainer_S5A8{background:var(--prism-background-color);color:var(--prism-color)}.tocCollapsibleContent_Ye80>ul{border-left:none;border-top:1px solid var(--ifm-color-emphasis-300);font-size:15px;padding:.2rem 0}.tocCollapsibleContent_Ye80 ul li{margin:.4rem .8rem}.tocCollapsibleContent_Ye80 a{display:block}.tableOfContents_WpGv{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.codeBlockContainer_S5A8{border-radius:var(--ifm-code-border-radius);box-shadow:var(--ifm-global-shadow-lw);margin-bottom:var(--ifm-leading)}.codeBlockContent_YNlh{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle__i9l{border-bottom:1px solid var(--ifm-color-emphasis-300);border-top-left-radius:inherit;border-top-right-radius:inherit;font-size:var(--ifm-code-font-size);font-weight:500;padding:.75rem var(--ifm-pre-padding)}.codeBlock_TZkG{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockTitle__i9l+.codeBlockContent_YNlh .codeBlock_TZkG{border-top-left-radius:0;border-top-right-radius:0}.codeBlockLines_EUv5{float:left;font:inherit;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_Vonu{display:table;padding:var(--ifm-pre-padding) 0}.buttonGroup_NC4x{column-gap:.2rem;display:flex;position:absolute;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2)}.buttonGroup_NC4x button{align-items:center;border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-global-radius);display:flex;line-height:0;opacity:0;padding:.4rem;transition:opacity var(--ifm-transition-fast) ease-in-out}.buttonGroup_NC4x button:focus-visible,.buttonGroup_NC4x button:hover{opacity:1!important}.theme-code-block:hover .buttonGroup_NC4x button{opacity:.4}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.codeLine_zffC{counter-increment:a;display:table-row}.codeLineNumber_CQsK{background:var(--ifm-pre-background);display:table-cell;left:0;overflow-wrap:normal;padding:0 var(--ifm-pre-padding);position:sticky;text-align:right;width:1%}.codeLineNumber_CQsK:before{content:counter(a);opacity:.4}.codeLineContent_zR9y{padding-right:var(--ifm-pre-padding)}.theme-code-block:hover .copyButtonCopied_qzE3{opacity:1!important}.copyButtonIcons_m247{height:1.125rem;position:relative;width:1.125rem}.copyButtonIcon_SAPK,.copyButtonSuccessIcon_VaTI{fill:currentColor;height:inherit;left:0;opacity:inherit;position:absolute;top:0;transition:all var(--ifm-transition-fast) ease;width:inherit}.copyButtonSuccessIcon_VaTI{color:#00d600;left:50%;opacity:0;top:50%;transform:translate(-50%,-50%) scale(.33)}.copyButtonCopied_qzE3 .copyButtonIcon_SAPK{opacity:0;transform:scale(.33)}.copyButtonCopied_qzE3 .copyButtonSuccessIcon_VaTI{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:75ms}.wordWrapButtonIcon_RDpj{height:1.2rem;width:1.2rem}.details__0w5{--docusaurus-details-summary-arrow-size:0.38rem;--docusaurus-details-transition:transform 200ms ease;--docusaurus-details-decoration-color:grey}.details__0w5>summary{cursor:pointer;padding-left:1rem;position:relative}.details__0w5>summary::-webkit-details-marker{display:none}.details__0w5>summary:before{border-color:transparent transparent transparent var(--docusaurus-details-decoration-color);border-style:solid;border-width:var(--docusaurus-details-summary-arrow-size);content:"";left:0;position:absolute;top:.45rem;transform:rotate(0);transform-origin:calc(var(--docusaurus-details-summary-arrow-size)/2) 50%;transition:var(--docusaurus-details-transition)}.collapsibleContent_IA5c{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.details_m1yB{--docusaurus-details-decoration-color:var(--ifm-alert-border-color);--docusaurus-details-transition:transform var(--ifm-transition-fast) ease;border:1px solid var(--ifm-alert-border-color);margin:0 0 var(--ifm-spacing-vertical)}.img_Cqxl{height:auto}.admonition_MDQZ{margin-bottom:1em}.admonitionHeading_1BEx{font:var(--ifm-heading-font-weight) var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family)}.admonitionHeading_1BEx:not(:last-child){margin-bottom:.3rem}.admonitionHeading_1BEx code{text-transform:none}.admonitionIcon_y6FV{display:inline-block;margin-right:.4em;vertical-align:middle}.admonitionIcon_y6FV svg{fill:var(--ifm-alert-foreground-color);display:inline-block;height:1.6em;width:1.6em}.breadcrumbHomeIcon_nLEe{height:1.1rem;position:relative;top:1px;vertical-align:top;width:1.1rem}.breadcrumbsContainer_J4IR{--ifm-breadcrumb-size-multiplier:0.8;margin-bottom:.8rem}.title_eghZ{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-leading)*1.25)}.backToTopButton_ITsc{background-color:var(--ifm-color-emphasis-200);border-radius:50%;bottom:1.3rem;box-shadow:var(--ifm-global-shadow-lw);height:3rem;opacity:0;position:fixed;right:1.3rem;transform:scale(0);transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default);visibility:hidden;width:3rem;z-index:calc(var(--ifm-z-index-fixed) - 1)}.backToTopButton_ITsc:after{background-color:var(--ifm-color-emphasis-1000);content:" ";display:inline-block;height:100%;-webkit-mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;width:100%}.backToTopButtonShow_W3nw{opacity:1;transform:scale(1);visibility:visible}[data-theme=dark]:root{--docusaurus-collapse-button-bg:hsla(0,0%,100%,.05);--docusaurus-collapse-button-bg-hover:hsla(0,0%,100%,.1)}.collapseSidebarButton_nlrG{display:none;margin:0}.docSidebarContainer_Mj2M,.sidebarLogo_T0Rv{display:none}.docMainContainer_RvtV,.docRoot_N0fC{display:flex;width:100%}.docsWrapper_s0SK{display:flex;flex:1 0 auto}@media (min-width:997px){.collapseSidebarButton_nlrG,.expandButton_jAse{background-color:var(--docusaurus-collapse-button-bg)}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_XKo6,.announcementBarPlaceholder_CqWP{flex-basis:50px}.navbarSearchContainer_yln1{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.lastUpdated_XxRX{text-align:right}.tocMobile_ws0O{display:none}.docItemCol_oiza,.generatedIndexPage_lW89{max-width:75%!important}.list_bLOB article:nth-last-child(-n+2){margin-bottom:0!important}.collapseSidebarButton_nlrG{border:1px solid var(--ifm-toc-border-color);border-radius:0;bottom:0;display:block!important;height:40px;position:sticky}.collapseSidebarButtonIcon_PR4U{margin-top:4px;transform:rotate(180deg)}.expandButtonIcon_YJIR,[dir=rtl] .collapseSidebarButtonIcon_PR4U{transform:rotate(0)}.collapseSidebarButton_nlrG:focus,.collapseSidebarButton_nlrG:hover,.expandButton_jAse:focus,.expandButton_jAse:hover{background-color:var(--docusaurus-collapse-button-bg-hover)}.menuHtmlItem_YFLj{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu_GE_C{flex-grow:1;padding:.5rem}@supports (scrollbar-gutter:stable){.menu_GE_C{padding:.5rem 0 .5rem .5rem;scrollbar-gutter:stable}}.menuWithAnnouncementBar_vTQR{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_BU4E{display:flex;flex-direction:column;height:100%;padding-top:var(--ifm-navbar-height);width:var(--doc-sidebar-width)}.sidebarWithHideableNavbar_JJ7m{padding-top:0}.sidebarHidden_OIsE{opacity:0;visibility:hidden}.sidebarLogo_T0Rv{align-items:center;color:inherit!important;display:flex!important;margin:0 var(--ifm-navbar-padding-horizontal);max-height:var(--ifm-navbar-height);min-height:var(--ifm-navbar-height);text-decoration:none!important}.sidebarLogo_T0Rv img{height:2rem;margin-right:.5rem}.expandButton_jAse{align-items:center;display:flex;height:100%;justify-content:center;position:absolute;right:0;top:0;transition:background-color var(--ifm-transition-fast) ease;width:100%}[dir=rtl] .expandButtonIcon_YJIR{transform:rotate(180deg)}.docSidebarContainer_Mj2M{border-right:1px solid var(--ifm-toc-border-color);-webkit-clip-path:inset(0);clip-path:inset(0);display:block;margin-top:calc(var(--ifm-navbar-height)*-1);transition:width var(--ifm-transition-fast) ease;width:var(--doc-sidebar-width);will-change:width}.docSidebarContainerHidden_AHv8{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.sidebarViewport_aj1R{height:100%;max-height:100vh;position:sticky;top:0}.docMainContainer_RvtV{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_cenR{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_kOYw{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}}@media (min-width:1440px){.container{max-width:var(--ifm-container-width-xl)}}@media (max-width:996px){.col{--ifm-col-width:100%;flex-basis:var(--ifm-col-width);margin-left:0}.footer{--ifm-footer-padding-horizontal:0}.colorModeToggle_kXLb,.footer__link-separator,.navbar__item,.tableOfContents_WpGv{display:none}.footer__col{margin-bottom:calc(var(--ifm-spacing-vertical)*3)}.footer__link-item{display:block}.hero{padding-left:0;padding-right:0}.navbar>.container,.navbar>.container-fluid{padding:0}.navbar__toggle{display:inherit}.navbar__search-input{width:9rem}.pills--block,.tabs--block{flex-direction:column}.navbarSearchContainer_yln1{position:absolute;right:var(--ifm-navbar-padding-horizontal)}.docItemContainer_tKG8{padding:0 .3rem}}@media (max-width:576px){.markdown h1:first-child{--ifm-h1-font-size:2rem}.markdown>h2{--ifm-h2-font-size:1.5rem}.markdown>h3{--ifm-h3-font-size:1.25rem}}@media (hover:hover){.backToTopButton_ITsc:hover{background-color:var(--ifm-color-emphasis-300)}}@media (pointer:fine){.thin-scrollbar{scrollbar-width:thin}.thin-scrollbar::-webkit-scrollbar{height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}.thin-scrollbar::-webkit-scrollbar-track{background:var(--ifm-scrollbar-track-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb{background:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ifm-scrollbar-thumb-hover-background-color)}}@media (prefers-reduced-motion:reduce){:root{--ifm-transition-fast:0ms;--ifm-transition-slow:0ms}}@media print{.announcementBar_MjeS,.footer,.menu,.navbar,.pagination-nav,.table-of-contents,.tocMobile_ws0O{display:none}.tabs{page-break-inside:avoid}.codeBlockLines_EUv5{white-space:pre-wrap}}
\ No newline at end of file
+.col,.container{padding:0 var(--ifm-spacing-horizontal);width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown li,body{word-wrap:break-word}body,ol ol,ol ul,ul ol,ul ul{margin:0}pre,table{overflow:auto}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,code{vertical-align:middle}.button--outline.button--active,.button--outline:active,.button--outline:hover,:root{--ifm-button-color:var(--ifm-font-color-base-inverse)}.menu__link:hover,a{transition:color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.navbar--dark,:root{--ifm-navbar-link-hover-color:var(--ifm-color-primary)}.menu,.navbar-sidebar{overflow-x:hidden}:root,html[data-theme=dark]{--ifm-color-emphasis-500:var(--ifm-color-gray-500)}.toggleButton_Y5dH,html{-webkit-tap-highlight-color:transparent}.clean-list,.containsTaskList_AZvt,.details_qlAf>summary,.dropdown__menu,.menu__list{list-style:none}:root{--ifm-color-scheme:light;--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:transparent;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:0.4rem;--ifm-hover-overlay:rgba(0,0,0,.05);--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ifm-font-size-base:100%;--ifm-font-weight-light:300;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:200ms;--ifm-transition-slow:400ms;--ifm-transition-timing-default:cubic-bezier(0.08,0.52,0.52,1);--ifm-global-shadow-lw:0 1px 2px 0 rgba(0,0,0,.1);--ifm-global-shadow-md:0 5px 40px rgba(0,0,0,.2);--ifm-global-shadow-tl:0 12px 28px 0 rgba(0,0,0,.2),0 2px 4px 0 rgba(0,0,0,.1);--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-font-size:90%;--ifm-code-padding-horizontal:0.1rem;--ifm-code-padding-vertical:0.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:0.875rem;--ifm-h6-font-size:0.85rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:0.25rem;--ifm-list-paragraph-margin:1rem;--ifm-table-cell-padding:0.75rem;--ifm-table-background:transparent;--ifm-table-stripe-background:rgba(0,0,0,.03);--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-decoration:none;--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-shadow:none;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-color:var(--ifm-font-color-base);--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-color:var(--ifm-color-white);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*0.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:0.5rem;--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-breadcrumb-padding-horizontal:0.8rem;--ifm-breadcrumb-padding-vertical:0.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url('data:image/svg+xml;utf8,');--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:0.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:0.375rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:0.5rem;--ifm-toc-padding-horizontal:0.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:0.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-horizontal:0.75rem;--ifm-menu-link-padding-vertical:0.375rem;--ifm-menu-link-sublist-icon:url('data:image/svg+xml;utf8,');--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-item-padding-horizontal:0.75rem;--ifm-navbar-item-padding-vertical:0.25rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*0.5);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-search-input-icon:url('data:image/svg+xml;utf8,');--ifm-navbar-sidebar-width:83vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:0.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-pills-spacing:0.125rem;--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active);--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem;--docusaurus-progress-bar-color:var(--ifm-color-primary);--ifm-color-primary:#2e8555;--ifm-color-primary-dark:#29784c;--ifm-color-primary-darker:#277148;--ifm-color-primary-darkest:#205d3b;--ifm-color-primary-light:#33925d;--ifm-color-primary-lighter:#359962;--ifm-color-primary-lightest:#3cad6e;--ifm-code-font-size:95%;--docusaurus-highlighted-code-line-bg:#e9e9e9;--docusaurus-announcement-bar-height:auto;--docusaurus-tag-list-border:var(--ifm-color-emphasis-300);--docusaurus-collapse-button-bg:transparent;--docusaurus-collapse-button-bg-hover:rgba(0,0,0,.1);--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px}.badge--danger,.badge--info,.badge--primary,.badge--secondary,.badge--success,.badge--warning{--ifm-badge-border-color:var(--ifm-badge-background-color)}.button--link,.button--outline{--ifm-button-background-color:transparent}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%;background-color:var(--ifm-background-color);color:var(--ifm-font-color-base);color-scheme:var(--ifm-color-scheme);font:var(--ifm-font-size-base)/var(--ifm-line-height-base) var(--ifm-font-family-base);text-rendering:optimizelegibility}iframe{border:0;color-scheme:auto}.container{margin:0 auto;max-width:var(--ifm-container-width)}.container--fluid{max-width:inherit}.row{display:flex;flex-wrap:wrap;margin:0 calc(var(--ifm-spacing-horizontal)*-1)}.list_kfQX article:last-child,.margin-bottom--none,.margin-vert--none,.markdown>:last-child{margin-bottom:0!important}.margin-top--none,.margin-vert--none,.tabItem_mOaW{margin-top:0!important}.row--no-gutters{margin-left:0;margin-right:0}.margin-horiz--none,.margin-right--none{margin-right:0!important}.row--no-gutters>.col{padding-left:0;padding-right:0}.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.menuExternalLink_QZRH,.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;flex:1 0;margin-left:0;max-width:var(--ifm-col-width)}.padding-bottom--none,.padding-vert--none{padding-bottom:0!important}.padding-top--none,.padding-vert--none{padding-top:0!important}.padding-horiz--none,.padding-left--none{padding-left:0!important}.padding-horiz--none,.padding-right--none{padding-right:0!important}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:8.33333%}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:16.66667%}.col--offset-2{margin-left:16.66667%}.col--3{--ifm-col-width:25%}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:33.33333%}.col--offset-4{margin-left:33.33333%}.col--5{--ifm-col-width:41.66667%}.col--offset-5{margin-left:41.66667%}.col--6{--ifm-col-width:50%}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:58.33333%}.col--offset-7{margin-left:58.33333%}.col--8{--ifm-col-width:66.66667%}.col--offset-8{margin-left:66.66667%}.col--9{--ifm-col-width:75%}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:83.33333%}.col--offset-10{margin-left:83.33333%}.col--11{--ifm-col-width:91.66667%}.col--offset-11{margin-left:91.66667%}.col--12{--ifm-col-width:100%}.col--offset-12{margin-left:100%}.margin-horiz--none,.margin-left--none{margin-left:0!important}.margin--none{margin:0!important}.margin-bottom--xs,.margin-vert--xs{margin-bottom:.25rem!important}.margin-top--xs,.margin-vert--xs{margin-top:.25rem!important}.margin-horiz--xs,.margin-left--xs{margin-left:.25rem!important}.margin-horiz--xs,.margin-right--xs{margin-right:.25rem!important}.margin--xs{margin:.25rem!important}.margin-bottom--sm,.margin-vert--sm{margin-bottom:.5rem!important}.margin-top--sm,.margin-vert--sm{margin-top:.5rem!important}.margin-horiz--sm,.margin-left--sm{margin-left:.5rem!important}.margin-horiz--sm,.margin-right--sm{margin-right:.5rem!important}.margin--sm{margin:.5rem!important}.margin-bottom--md,.margin-vert--md{margin-bottom:1rem!important}.margin-top--md,.margin-vert--md{margin-top:1rem!important}.margin-horiz--md,.margin-left--md{margin-left:1rem!important}.margin-horiz--md,.margin-right--md{margin-right:1rem!important}.margin--md{margin:1rem!important}.margin-bottom--lg,.margin-vert--lg{margin-bottom:2rem!important}.margin-top--lg,.margin-vert--lg{margin-top:2rem!important}.margin-horiz--lg,.margin-left--lg{margin-left:2rem!important}.margin-horiz--lg,.margin-right--lg{margin-right:2rem!important}.margin--lg{margin:2rem!important}.margin-bottom--xl,.margin-vert--xl{margin-bottom:5rem!important}.margin-top--xl,.margin-vert--xl{margin-top:5rem!important}.margin-horiz--xl,.margin-left--xl{margin-left:5rem!important}.margin-horiz--xl,.margin-right--xl{margin-right:5rem!important}.margin--xl{margin:5rem!important}.padding--none{padding:0!important}.padding-bottom--xs,.padding-vert--xs{padding-bottom:.25rem!important}.padding-top--xs,.padding-vert--xs{padding-top:.25rem!important}.padding-horiz--xs,.padding-left--xs{padding-left:.25rem!important}.padding-horiz--xs,.padding-right--xs{padding-right:.25rem!important}.padding--xs{padding:.25rem!important}.padding-bottom--sm,.padding-vert--sm{padding-bottom:.5rem!important}.padding-top--sm,.padding-vert--sm{padding-top:.5rem!important}.padding-horiz--sm,.padding-left--sm{padding-left:.5rem!important}.padding-horiz--sm,.padding-right--sm{padding-right:.5rem!important}.padding--sm{padding:.5rem!important}.padding-bottom--md,.padding-vert--md{padding-bottom:1rem!important}.padding-top--md,.padding-vert--md{padding-top:1rem!important}.padding-horiz--md,.padding-left--md{padding-left:1rem!important}.padding-horiz--md,.padding-right--md{padding-right:1rem!important}.padding--md{padding:1rem!important}.padding-bottom--lg,.padding-vert--lg{padding-bottom:2rem!important}.padding-top--lg,.padding-vert--lg{padding-top:2rem!important}.padding-horiz--lg,.padding-left--lg{padding-left:2rem!important}.padding-horiz--lg,.padding-right--lg{padding-right:2rem!important}.padding--lg{padding:2rem!important}.padding-bottom--xl,.padding-vert--xl{padding-bottom:5rem!important}.padding-top--xl,.padding-vert--xl{padding-top:5rem!important}.padding-horiz--xl,.padding-left--xl{padding-left:5rem!important}.padding-horiz--xl,.padding-right--xl{padding-right:5rem!important}.padding--xl{padding:5rem!important}code{background-color:var(--ifm-code-background);border:.1rem solid rgba(0,0,0,.1);border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal)}a code{color:inherit}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height) var(--ifm-font-family-monospace);padding:var(--ifm-pre-padding)}pre code{background-color:transparent;border:none;font-size:100%;line-height:inherit;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);border-radius:.2rem;box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top) 0 var(--ifm-heading-margin-bottom) 0}h1{font-size:var(--ifm-h1-font-size)}h2{font-size:var(--ifm-h2-font-size)}h3{font-size:var(--ifm-h3-font-size)}h4{font-size:var(--ifm-h4-font-size)}h5{font-size:var(--ifm-h5-font-size)}h6{font-size:var(--ifm-h6-font-size)}img{max-width:100%}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.markdown{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:after,.markdown:before{content:"";display:table}.markdown:after{clear:both}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h3{--ifm-h3-font-size:1.5rem;margin-top:calc(var(--ifm-h3-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h4,.markdown>h5,.markdown>h6{margin-top:calc(var(--ifm-heading-vertical-rhythm-top)*var(--ifm-leading))}.markdown>p,.markdown>pre,.markdown>ul,.tabList_SOjC{margin-bottom:var(--ifm-leading)}.markdown li>p{margin-top:var(--ifm-list-paragraph-margin)}.markdown li+li{margin-top:var(--ifm-list-item-margin)}ol,ul{margin:0 0 var(--ifm-list-margin);padding-left:var(--ifm-list-left-padding)}ol ol,ul ol{list-style-type:lower-roman}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}table{border-collapse:collapse;display:block;margin-bottom:var(--ifm-spacing-vertical)}table thead tr{border-bottom:2px solid var(--ifm-table-border-color)}table thead,table tr:nth-child(2n){background-color:var(--ifm-table-stripe-background)}table tr{background-color:var(--ifm-table-background);border-top:var(--ifm-table-border-width) solid var(--ifm-table-border-color)}table td,table th{border:var(--ifm-table-border-width) solid var(--ifm-table-border-color);padding:var(--ifm-table-cell-padding)}table th{background-color:var(--ifm-table-head-background);color:var(--ifm-table-head-color);font-weight:var(--ifm-table-head-font-weight)}table td{color:var(--ifm-table-cell-color)}strong{font-weight:var(--ifm-font-weight-bold)}a{color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}a:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button:hover,.text--no-decoration,.text--no-decoration:hover,a:not([href]){text-decoration:none}p{margin:0 0 var(--ifm-paragraph-margin-bottom)}blockquote{border-left:var(--ifm-blockquote-border-left-width) solid var(--ifm-blockquote-border-color);box-shadow:var(--ifm-blockquote-shadow);color:var(--ifm-blockquote-color);font-size:var(--ifm-blockquote-font-size);padding:var(--ifm-blockquote-padding-vertical) var(--ifm-blockquote-padding-horizontal)}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);border:0;height:var(--ifm-hr-height);margin:var(--ifm-hr-margin-vertical) 0}.shadow--lw{box-shadow:var(--ifm-global-shadow-lw)!important}.shadow--md{box-shadow:var(--ifm-global-shadow-md)!important}.shadow--tl{box-shadow:var(--ifm-global-shadow-tl)!important}.text--primary,.wordWrapButtonEnabled_cQl6 .wordWrapButtonIcon_caaT{color:var(--ifm-color-primary)}.text--secondary{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.text--center{text-align:center}.text--left{text-align:left}.text--justify{text-align:justify}.text--right{text-align:right}.text--capitalize{text-transform:capitalize}.text--lowercase{text-transform:lowercase}.admonitionHeading_np37,.alert__heading,.text--uppercase{text-transform:uppercase}.text--light{font-weight:var(--ifm-font-weight-light)}.text--normal{font-weight:var(--ifm-font-weight-normal)}.text--semibold{font-weight:var(--ifm-font-weight-semibold)}.text--bold{font-weight:var(--ifm-font-weight-bold)}.text--italic{font-style:italic}.text--truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text--break{word-wrap:break-word!important;word-break:break-word!important}.clean-btn{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;padding:0}.alert,.alert .close{color:var(--ifm-alert-foreground-color)}.clean-list{padding-left:0}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:rgba(53,120,229,.15);--ifm-alert-foreground-color:var(--ifm-color-primary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-primary-dark)}.alert--secondary{--ifm-alert-background-color:var(--ifm-color-secondary-contrast-background);--ifm-alert-background-color-highlight:rgba(235,237,240,.15);--ifm-alert-foreground-color:var(--ifm-color-secondary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-secondary-dark)}.alert--success{--ifm-alert-background-color:var(--ifm-color-success-contrast-background);--ifm-alert-background-color-highlight:rgba(0,164,0,.15);--ifm-alert-foreground-color:var(--ifm-color-success-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-success-dark)}.alert--info{--ifm-alert-background-color:var(--ifm-color-info-contrast-background);--ifm-alert-background-color-highlight:rgba(84,199,236,.15);--ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-info-dark)}.alert--warning{--ifm-alert-background-color:var(--ifm-color-warning-contrast-background);--ifm-alert-background-color-highlight:rgba(255,186,0,.15);--ifm-alert-foreground-color:var(--ifm-color-warning-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-warning-dark)}.alert--danger{--ifm-alert-background-color:var(--ifm-color-danger-contrast-background);--ifm-alert-background-color-highlight:rgba(250,56,62,.15);--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width) solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);padding:var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal)}.alert__heading{align-items:center;display:flex;font:700 var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.5rem}.alert__icon{display:inline-flex;margin-right:.4em}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{margin:calc(var(--ifm-alert-padding-vertical)*-1) calc(var(--ifm-alert-padding-horizontal)*-1) 0 0;opacity:.75}.alert .close:focus,.alert .close:hover{opacity:1}.alert a{text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{border-radius:50%;display:block;height:var(--ifm-avatar-photo-size);overflow:hidden;width:var(--ifm-avatar-photo-size)}.card--full-height,.navbar__logo img,body,html{height:100%}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:var(--ifm-avatar-intro-alignment)}.badge,.breadcrumbs__item,.breadcrumbs__link,.button,.dropdown>.navbar__link:after{display:inline-block}.avatar__name{font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:0.5rem;align-items:center;flex-direction:column}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width) solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);line-height:1;padding:var(--ifm-badge-padding-vertical) var(--ifm-badge-padding-horizontal)}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);color:var(--ifm-color-black)}.breadcrumbs__link,.button.button--secondary.button--outline:not(.button--active):not(:hover){color:var(--ifm-font-color-base)}.badge--success{--ifm-badge-background-color:var(--ifm-color-success)}.badge--info{--ifm-badge-background-color:var(--ifm-color-info)}.badge--warning{--ifm-badge-background-color:var(--ifm-color-warning)}.badge--danger{--ifm-badge-background-color:var(--ifm-color-danger)}.breadcrumbs{margin-bottom:0;padding-left:0}.breadcrumbs__item:not(:last-child):after{background:var(--ifm-breadcrumb-separator) center;content:" ";display:inline-block;filter:var(--ifm-breadcrumb-separator-filter);height:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));margin:0 var(--ifm-breadcrumb-spacing);opacity:.5;width:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier))}.breadcrumbs__item--active .breadcrumbs__link{background:var(--ifm-breadcrumb-item-background-active);color:var(--ifm-breadcrumb-color-active)}.breadcrumbs__link{border-radius:var(--ifm-breadcrumb-border-radius);font-size:calc(1rem*var(--ifm-breadcrumb-size-multiplier));padding:calc(var(--ifm-breadcrumb-padding-vertical)*var(--ifm-breadcrumb-size-multiplier)) calc(var(--ifm-breadcrumb-padding-horizontal)*var(--ifm-breadcrumb-size-multiplier));transition-duration:var(--ifm-transition-fast);transition-property:background,color}.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area[href].breadcrumbs__link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs__link:any-link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:0.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width) solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);line-height:1.5;padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier)) calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;transition-duration:var(--ifm-button-transition-duration);transition-property:color,background,border-color;-webkit-user-select:none;user-select:none;white-space:nowrap}.button,.button:hover{color:var(--ifm-button-color)}.button--outline{--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--link{--ifm-button-border-color:transparent;color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}.button--link.button--active,.button--link:active,.button--link:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:0.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block{display:block;width:100%}.button.button--secondary{color:var(--ifm-color-gray-900)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary.button--active,.button--primary:active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary.button--active,.button--secondary:active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success.button--active,.button--success:active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info.button--active,.button--info:active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning.button--active,.button--warning:active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger.button--active,.button--danger:active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{display:inline-flex;gap:var(--ifm-button-group-spacing)}.button-group>.button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.button-group>.button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.button-group--block{display:flex;justify-content:stretch}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);display:flex;flex-direction:column;overflow:hidden}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child{padding-top:0}.card__body,.card__footer,.card__header{padding:var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing)}.card__body:not(:last-child),.card__footer:not(:last-child),.card__header:not(:last-child){padding-bottom:0}.card__body>:last-child,.card__footer>:last-child,.card__header>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{font-size:.8rem;margin-bottom:0;padding:var(--ifm-toc-padding-vertical) 0}.table-of-contents,.table-of-contents ul{list-style:none;padding-left:var(--ifm-toc-padding-horizontal)}.table-of-contents li{margin:var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link--active,.table-of-contents__link--active code,.table-of-contents__link:hover,.table-of-contents__link:hover code{color:var(--ifm-color-primary);text-decoration:none}.close{color:var(--ifm-color-black);float:right;font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);line-height:1;opacity:.5;padding:1rem;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.close:hover{opacity:.7}.close:focus,.theme-code-block-highlighted-line .codeLineNumber_vv5L:before{opacity:.8}.dropdown{display:inline-flex;font-weight:var(--ifm-dropdown-font-weight);position:relative;vertical-align:top}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;transform:translateY(-1px);visibility:visible}#nprogress,.dropdown__menu,.navbar__item.dropdown .navbar__link:not([href]){pointer-events:none}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);left:0;max-height:80vh;min-width:10rem;opacity:0;overflow-y:auto;padding:.5rem;position:absolute;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);transform:translateY(-.625rem);transition-duration:var(--ifm-transition-fast);transition-property:opacity,transform,visibility;transition-timing-function:var(--ifm-transition-timing-default);visibility:hidden;z-index:var(--ifm-z-index-dropdown)}.menu__caret,.menu__link,.menu__list-item-collapsible{border-radius:.25rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.dropdown__link{border-radius:.25rem;color:var(--ifm-dropdown-link-color);display:block;font-size:.875rem;margin-top:.2rem;padding:.25rem .5rem;white-space:nowrap}.dropdown__link--active,.dropdown__link:hover{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color);text-decoration:none}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{border-color:currentcolor transparent;border-style:solid;border-width:.4em .4em 0;content:"";margin-left:.3em;position:relative;top:2px;transform:translateY(-50%)}.footer{background-color:var(--ifm-footer-background-color);color:var(--ifm-footer-color);padding:var(--ifm-footer-padding-vertical) var(--ifm-footer-padding-horizontal)}.footer--dark{--ifm-footer-background-color:#303846;--ifm-footer-color:var(--ifm-footer-link-color);--ifm-footer-link-color:var(--ifm-color-secondary);--ifm-footer-title-color:var(--ifm-color-white)}.footer__links{margin-bottom:1rem}.footer__link-item{color:var(--ifm-footer-link-color);line-height:2}.footer__link-item:hover{color:var(--ifm-footer-link-hover-color)}.footer__link-separator{margin:0 var(--ifm-footer-link-horizontal-spacing)}.footer__logo{margin-top:1rem;max-width:var(--ifm-footer-logo-max-width)}.footer__title{color:var(--ifm-footer-title-color);font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base);margin-bottom:var(--ifm-heading-margin-bottom)}.menu,.navbar__link{font-weight:var(--ifm-font-weight-semibold)}.docItemContainer_rfuH article>:first-child,.docItemContainer_rfuH header+*,.footer__item{margin-top:0}.admonitionContent_KPqu>:last-child,.cardContainer_oLJt :last-child,.collapsibleContent_eRqf p:last-child,.details_qlAf>summary>p:last-child,.footer__items,.tabItem_V9qR>:last-child{margin-bottom:0}.codeBlockStandalone_DfEn,[type=checkbox]{padding:0}.hero{align-items:center;background-color:var(--ifm-hero-background-color);color:var(--ifm-hero-text-color);display:flex;padding:4rem 2rem}.hero--primary{--ifm-hero-background-color:var(--ifm-color-primary);--ifm-hero-text-color:var(--ifm-font-color-base-inverse)}.hero--dark{--ifm-hero-background-color:#303846;--ifm-hero-text-color:var(--ifm-color-white)}.hero__title{font-size:3rem}.hero__subtitle{font-size:1.5rem}.menu__list{margin:0;padding-left:0}.menu__caret,.menu__link{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu__list .menu__list{flex:0 0 100%;margin-top:.25rem;padding-left:var(--ifm-menu-link-padding-horizontal)}.menu__list-item:not(:first-child){margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.details_qlAf[data-collapsed=false].isBrowser_Ka6_>summary:before,.details_qlAf[open]:not(.isBrowser_Ka6_)>summary:before,.menu__list-item--collapsed .menu__caret:before,.menu__list-item--collapsed .menu__link--sublist:after{transform:rotate(90deg)}.menu__list-item-collapsible{display:flex;flex-wrap:wrap;position:relative}.menu__caret:hover,.menu__link:hover,.menu__list-item-collapsible--active,.menu__list-item-collapsible:hover{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link--active,.menu__list-item-collapsible .menu__link:hover{background:none!important}.menu__caret,.menu__link{align-items:center;display:flex}.menu__link{color:var(--ifm-menu-color);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color);text-decoration:none}.menu__caret:before,.menu__link--sublist-caret:after{height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem;filter:var(--ifm-menu-link-sublist-icon-filter);content:""}.menu__link--sublist-caret:after{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem;margin-left:auto;min-width:1.25rem}.menu__link--active,.menu__link--active:hover{color:var(--ifm-menu-color-active)}.navbar__brand,.navbar__link{color:var(--ifm-navbar-link-color)}.menu__link--active:not(.menu__link--sublist){background-color:var(--ifm-menu-color-background-active)}.menu__caret:before{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem}.navbar--dark,html[data-theme=dark]{--ifm-menu-link-sublist-icon-filter:invert(100%) sepia(94%) saturate(17%) hue-rotate(223deg) brightness(104%) contrast(98%)}.navbar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar,.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{position:sticky;top:0;z-index:var(--ifm-z-index-fixed)}.navbar-sidebar,.navbar-sidebar__backdrop{bottom:0;opacity:0;position:fixed;transition-duration:var(--ifm-transition-fast);transition-timing-function:ease-in-out;left:0;top:0;visibility:hidden}.navbar__inner{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%}.navbar__brand{align-items:center;display:flex;margin-right:1rem;min-width:0}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.announcementBarContent_lUQu,.navbar__title{flex:1 1 auto}.navbar__toggle{display:none;margin-right:.5rem}.navbar__logo{flex:0 0 auto;height:2rem;margin-right:.5rem}.navbar__items{align-items:center;display:flex;flex:1;min-width:0}.navbar__items--center{flex:0 0 auto}.navbar__items--center .navbar__brand{margin:0}.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:0 0 auto;justify-content:flex-end}.navbar__items--right>:last-child{padding-right:0}.navbar__item{display:inline-block;padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.navbar__link--active,.navbar__link:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.navbar--dark,.navbar--primary{--ifm-menu-color:var(--ifm-color-gray-300);--ifm-navbar-link-color:var(--ifm-color-gray-100);--ifm-navbar-search-input-background-color:hsla(0,0%,100%,.1);--ifm-navbar-search-input-placeholder-color:hsla(0,0%,100%,.5);color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-menu-color-background-active:hsla(0,0%,100%,.05);--ifm-navbar-search-input-color:var(--ifm-color-white)}.navbar--primary{--ifm-navbar-background-color:var(--ifm-color-primary);--ifm-navbar-link-hover-color:var(--ifm-color-white);--ifm-menu-color-active:var(--ifm-color-white);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-500)}.navbar__search-input{appearance:none;background:var(--ifm-navbar-search-input-background-color) var(--ifm-navbar-search-input-icon) no-repeat .75rem center/1rem 1rem;border:none;border-radius:2rem;color:var(--ifm-navbar-search-input-color);cursor:text;display:inline-block;font-size:.9rem;height:2rem;padding:0 .5rem 0 2.25rem;width:12.5rem}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);transform:translate3d(-100%,0,0);transition-property:opacity,visibility,transform;width:var(--ifm-navbar-sidebar-width)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar__items{transform:translateZ(0)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar__backdrop{background-color:rgba(0,0,0,.6);right:0;transition-property:opacity,visibility}.navbar-sidebar__brand{align-items:center;box-shadow:var(--ifm-navbar-shadow);display:flex;flex:1;height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar-sidebar__items{display:flex;height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast) ease-in-out}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{flex-shrink:0;padding:.5rem;width:calc(var(--ifm-navbar-sidebar-width))}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);margin:0 0 .2rem -.5rem;padding:.6rem 1.5rem;position:relative;text-align:left;top:-.5rem;width:calc(100% + 1rem)}.navbar-sidebar__close{display:flex;margin-left:auto}.pagination{column-gap:var(--ifm-pagination-page-spacing);display:flex;font-size:var(--ifm-pagination-font-size);padding-left:0}.pagination--sm{--ifm-pagination-font-size:0.8rem;--ifm-pagination-padding-horizontal:0.8rem;--ifm-pagination-padding-vertical:0.2rem}.pagination--lg{--ifm-pagination-font-size:1.2rem;--ifm-pagination-padding-horizontal:1.2rem;--ifm-pagination-padding-vertical:0.3rem}.pagination__item{display:inline-flex}.pagination__item>span{padding:var(--ifm-pagination-padding-vertical)}.pagination__item--active .pagination__link{color:var(--ifm-pagination-color-active)}.pagination__item--active .pagination__link,.pagination__item:not(.pagination__item--active):hover .pagination__link{background:var(--ifm-pagination-item-active-background)}.pagination__item--disabled,.pagination__item[disabled]{opacity:.25;pointer-events:none}.pagination__link{border-radius:var(--ifm-pagination-border-radius);color:var(--ifm-font-color-base);display:inline-block;padding:var(--ifm-pagination-padding-vertical) var(--ifm-pagination-padding-horizontal);transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination__link:hover{text-decoration:none}.pagination-nav{grid-gap:var(--ifm-spacing-horizontal);display:grid;gap:var(--ifm-spacing-horizontal);grid-template-columns:repeat(2,1fr)}.pagination-nav__link{border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-pagination-nav-border-radius);display:block;height:100%;line-height:var(--ifm-heading-line-height);padding:var(--ifm-global-spacing);transition:border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination-nav__link:hover{border-color:var(--ifm-pagination-nav-color-hover);text-decoration:none}.pagination-nav__link--next{grid-column:2/3;text-align:right}.pagination-nav__label{font-size:var(--ifm-h4-font-size);font-weight:var(--ifm-heading-font-weight);word-break:break-word}.pagination-nav__link--prev .pagination-nav__label:before{content:"« "}.pagination-nav__link--next .pagination-nav__label:after{content:" »"}.pagination-nav__sublabel{color:var(--ifm-color-content-secondary);font-size:var(--ifm-h5-font-size);font-weight:var(--ifm-font-weight-semibold);margin-bottom:.25rem}.pills__item,.tabs{font-weight:var(--ifm-font-weight-bold)}.pills{display:flex;gap:var(--ifm-pills-spacing);padding-left:0}.pills__item{border-radius:.5rem;cursor:pointer;display:inline-block;padding:.25rem 1rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs,:not(.containsTaskList_AZvt>li)>.containsTaskList_AZvt{padding-left:0}.pills__item--active{color:var(--ifm-pills-color-active)}.pills__item--active,.pills__item:not(.pills__item--active):hover{background:var(--ifm-pills-color-background-active)}.pills--block{justify-content:stretch}.pills--block .pills__item{flex-grow:1;text-align:center}.tabs{color:var(--ifm-tabs-color);display:flex;margin-bottom:0;overflow-x:auto}.tabs__item{border-bottom:3px solid transparent;border-radius:var(--ifm-global-radius);cursor:pointer;display:inline-flex;padding:var(--ifm-tabs-padding-vertical) var(--ifm-tabs-padding-horizontal);transition:background-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs__item--active{border-bottom-color:var(--ifm-tabs-color-active-border);border-bottom-left-radius:0;border-bottom-right-radius:0;color:var(--ifm-tabs-color-active)}.tabs__item:hover{background-color:var(--ifm-hover-overlay)}.tabs--block{justify-content:stretch}.tabs--block .tabs__item{flex-grow:1;justify-content:center}html[data-theme=dark]{--ifm-color-scheme:dark;--ifm-color-emphasis-0:var(--ifm-color-gray-1000);--ifm-color-emphasis-100:var(--ifm-color-gray-900);--ifm-color-emphasis-200:var(--ifm-color-gray-800);--ifm-color-emphasis-300:var(--ifm-color-gray-700);--ifm-color-emphasis-400:var(--ifm-color-gray-600);--ifm-color-emphasis-600:var(--ifm-color-gray-400);--ifm-color-emphasis-700:var(--ifm-color-gray-300);--ifm-color-emphasis-800:var(--ifm-color-gray-200);--ifm-color-emphasis-900:var(--ifm-color-gray-100);--ifm-color-emphasis-1000:var(--ifm-color-gray-0);--ifm-background-color:#1b1b1d;--ifm-background-surface-color:#242526;--ifm-hover-overlay:hsla(0,0%,100%,.05);--ifm-color-content:#e3e3e3;--ifm-color-content-secondary:#fff;--ifm-breadcrumb-separator-filter:invert(64%) sepia(11%) saturate(0%) hue-rotate(149deg) brightness(99%) contrast(95%);--ifm-code-background:hsla(0,0%,100%,.1);--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:hsla(0,0%,100%,.07);--ifm-toc-border-color:var(--ifm-color-emphasis-200);--ifm-color-primary-contrast-background:#102445;--ifm-color-primary-contrast-foreground:#ebf2fc;--ifm-color-secondary-contrast-background:#474748;--ifm-color-secondary-contrast-foreground:#fdfdfe;--ifm-color-success-contrast-background:#003100;--ifm-color-success-contrast-foreground:#e6f6e6;--ifm-color-info-contrast-background:#193c47;--ifm-color-info-contrast-foreground:#eef9fd;--ifm-color-warning-contrast-background:#4d3800;--ifm-color-warning-contrast-foreground:#fff8e6;--ifm-color-danger-contrast-background:#4b1113;--ifm-color-danger-contrast-foreground:#ffebec}#nprogress .bar{background:var(--docusaurus-progress-bar-color);height:2px;left:0;position:fixed;top:0;width:100%;z-index:1031}#nprogress .peg{box-shadow:0 0 10px var(--docusaurus-progress-bar-color),0 0 5px var(--docusaurus-progress-bar-color);height:100%;opacity:1;position:absolute;right:0;transform:rotate(3deg) translateY(-4px);width:100px}[data-theme=dark]{--docusaurus-highlighted-code-line-bg:#646464;--ifm-color-primary:#25c2a0;--ifm-color-primary-dark:#21af90;--ifm-color-primary-darker:#1fa588;--ifm-color-primary-darkest:#1a8870;--ifm-color-primary-light:#29d5b0;--ifm-color-primary-lighter:#32d8b4;--ifm-color-primary-lightest:#4fddbf;--docusaurus-highlighted-code-line-bg:rgba(0,0,0,.3)}body:not(.navigation-with-keyboard) :not(input):focus{outline:0}#__docusaurus-base-url-issue-banner-container,.docSidebarContainer_fahq,.sidebarLogo_Y6jA,.themedComponent_tqqB,[data-theme=dark] .lightToggleIcon_wCdm,[data-theme=light] .darkToggleIcon_KAXI,html[data-announcement-bar-initially-dismissed=true] .announcementBar_j6bM{display:none}.skipToContent_jrmb{background-color:var(--ifm-background-surface-color);color:var(--ifm-color-emphasis-900);left:100%;padding:calc(var(--ifm-global-spacing)/2) var(--ifm-global-spacing);position:fixed;top:1rem;z-index:calc(var(--ifm-z-index-fixed) + 1)}.skipToContent_jrmb:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_q0e6{line-height:0;padding:0}.content_hBxo{font-size:85%;padding:5px 0;text-align:center}.content_hBxo a{color:inherit;text-decoration:underline}.announcementBar_j6bM{align-items:center;background-color:var(--ifm-color-white);border-bottom:1px solid var(--ifm-color-emphasis-100);color:var(--ifm-color-black);display:flex;height:var(--docusaurus-announcement-bar-height)}.announcementBarPlaceholder_IHe7{flex:0 0 10px}.announcementBarClose_oLaa{align-self:stretch;flex:0 0 30px}.toggle_Mdmp{height:2rem;width:2rem}.toggleButton_Y5dH{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;transition:background var(--ifm-transition-fast);width:100%}.toggleButton_Y5dH:hover{background:var(--ifm-color-emphasis-200)}.toggleButtonDisabled_npID{cursor:not-allowed}.darkNavbarColorModeToggle_ihaR:hover{background:var(--ifm-color-gray-800)}.tag_TcOn{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.tag_TcOn:hover{--docusaurus-tag-list-border:var(--ifm-link-color);text-decoration:none}.tagRegular__Ox_{border-radius:var(--ifm-global-radius);font-size:90%;padding:.2rem .5rem .3rem}.tagWithCount_qNYo{align-items:center;border-left:0;display:flex;padding:0 .5rem 0 1rem;position:relative}.tagWithCount_qNYo:after,.tagWithCount_qNYo:before{border:1px solid var(--docusaurus-tag-list-border);content:"";position:absolute;top:50%;transition:inherit}.tagWithCount_qNYo:before{border-bottom:0;border-right:0;height:1.18rem;right:100%;transform:translate(50%,-50%) rotate(-45deg);width:1.18rem}.tagWithCount_qNYo:after{border-radius:50%;height:.5rem;left:0;transform:translateY(-50%);width:.5rem}.tagWithCount_qNYo span{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.7rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.tags_h_qB{display:inline}.tag_qAPN{display:inline-block;margin:0 .4rem .5rem 0}.iconEdit_b02C{margin-right:.3em;vertical-align:sub}.lastUpdated_RDRp{font-size:smaller;font-style:italic;margin-top:.2rem}.tocCollapsibleButton_HvO1{align-items:center;display:flex;font-size:inherit;justify-content:space-between;padding:.4rem .8rem;width:100%}.tocCollapsibleButton_HvO1:after{background:var(--ifm-menu-link-sublist-icon) 50% 50%/2rem 2rem no-repeat;content:"";filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast);width:1.25rem}.tocCollapsibleButtonExpanded_Y5eq:after,.tocCollapsibleExpanded_MwNh{transform:none}.tocCollapsible_3mEJ{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.tocCollapsibleContent_gUYS>ul{border-left:none;border-top:1px solid var(--ifm-color-emphasis-300);font-size:15px;padding:.2rem 0}.tocCollapsibleContent_gUYS ul li{margin:.4rem .8rem}.tocCollapsibleContent_gUYS a{display:block}.tableOfContents_Q98t{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.backToTopButton_mrK0{background-color:var(--ifm-color-emphasis-200);border-radius:50%;bottom:1.3rem;box-shadow:var(--ifm-global-shadow-lw);height:3rem;opacity:0;position:fixed;right:1.3rem;transform:scale(0);transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default);visibility:hidden;width:3rem;z-index:calc(var(--ifm-z-index-fixed) - 1)}.backToTopButton_mrK0:after{background-color:var(--ifm-color-emphasis-1000);content:" ";display:inline-block;height:100%;-webkit-mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;width:100%}.backToTopButtonShow_FBc3{opacity:1;transform:scale(1);visibility:visible}[data-theme=dark] .themedComponent--dark_Jjvc,[data-theme=light] .themedComponent--light_eJiq,html:not([data-theme]) .themedComponent--light_eJiq{display:initial}[data-theme=dark]:root{--docusaurus-collapse-button-bg:hsla(0,0%,100%,.05);--docusaurus-collapse-button-bg-hover:hsla(0,0%,100%,.1)}.collapseSidebarButton_MM0j{display:none;margin:0}.iconExternalLink__NH5{margin-left:.3rem}.dropdownNavbarItemMobile_QX6T{cursor:pointer}.iconLanguage_mZKk{margin-right:5px;vertical-align:text-bottom}@supports selector(:has(*)){.navbarSearchContainer_EMfm:not(:has(>*)){display:none}}.navbarHideable_UnVu{transition:transform var(--ifm-transition-fast) ease}.navbarHidden_hhFh{transform:translate3d(0,calc(-100% - 2px),0)}.errorBoundaryError_cwsk{color:red;white-space:pre-wrap}.errorBoundaryFallback_Ns8V{color:red;padding:.55rem}.buttonGroup_PxBI button,.codeBlockContainer_o7sT{background:var(--prism-background-color);color:var(--prism-color)}.footerLogoLink_RDE3{opacity:.5;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.footerLogoLink_RDE3:hover,.hash-link:focus,:hover>.hash-link{opacity:1}.docMainContainer_Piwz,.docRoot_Kq9s{display:flex;width:100%}.docsWrapper_gsoo{display:flex;flex:1 0 auto}.anchorWithStickyNavbar_hgOa{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_eqJo{scroll-margin-top:.5rem}.hash-link{opacity:0;padding-left:.5rem;transition:opacity var(--ifm-transition-fast);-webkit-user-select:none;user-select:none}.hash-link:before{content:"#"}.mainWrapper_NWuX{display:flex;flex:1 0 auto;flex-direction:column}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column;min-height:100%}.cardContainer_oLJt{--ifm-link-color:var(--ifm-color-emphasis-800);--ifm-link-hover-color:var(--ifm-color-emphasis-700);--ifm-link-hover-decoration:none;border:1px solid var(--ifm-color-emphasis-200);box-shadow:0 1.5px 3px 0 rgba(0,0,0,.15);transition:all var(--ifm-transition-fast) ease;transition-property:border,box-shadow}.cardContainer_oLJt:hover{border-color:var(--ifm-color-primary);box-shadow:0 3px 6px 0 rgba(0,0,0,.2)}.cardTitle_TGG0{font-size:1.2rem}.cardDescription_lBSX{font-size:.8rem}.codeBlockContainer_o7sT{border-radius:var(--ifm-code-border-radius);box-shadow:var(--ifm-global-shadow-lw);margin-bottom:var(--ifm-leading)}.codeBlockContent_XvFc{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_IitW{border-bottom:1px solid var(--ifm-color-emphasis-300);border-top-left-radius:inherit;border-top-right-radius:inherit;font-size:var(--ifm-code-font-size);font-weight:500;padding:.75rem var(--ifm-pre-padding)}.codeBlock_U4pN{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockTitle_IitW+.codeBlockContent_XvFc .codeBlock_U4pN{border-top-left-radius:0;border-top-right-radius:0}.codeBlockLines_IRKw{float:left;font:inherit;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_q7Be{display:table;padding:var(--ifm-pre-padding) 0}.buttonGroup_PxBI{column-gap:.2rem;display:flex;position:absolute;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2)}.buttonGroup_PxBI button{align-items:center;border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-global-radius);display:flex;line-height:0;opacity:0;padding:.4rem;transition:opacity var(--ifm-transition-fast) ease-in-out}.buttonGroup_PxBI button:focus-visible,.buttonGroup_PxBI button:hover{opacity:1!important}.theme-code-block:hover .buttonGroup_PxBI button{opacity:.4}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.codeLine_yEMT{counter-increment:a;display:table-row}.codeLineNumber_vv5L{background:var(--ifm-pre-background);display:table-cell;left:0;overflow-wrap:normal;padding:0 var(--ifm-pre-padding);position:sticky;text-align:right;width:1%}.codeLineNumber_vv5L:before{content:counter(a);opacity:.4}.codeLineContent_Z6Y8{padding-right:var(--ifm-pre-padding)}.theme-code-block:hover .copyButtonCopied_nqPX{opacity:1!important}.copyButtonIcons_Peqn{height:1.125rem;position:relative;width:1.125rem}.copyButtonIcon_quKz,.copyButtonSuccessIcon_eyQu{fill:currentColor;height:inherit;left:0;opacity:inherit;position:absolute;top:0;transition:all var(--ifm-transition-fast) ease;width:inherit}.copyButtonSuccessIcon_eyQu{color:#00d600;left:50%;opacity:0;top:50%;transform:translate(-50%,-50%) scale(.33)}.copyButtonCopied_nqPX .copyButtonIcon_quKz{opacity:0;transform:scale(.33)}.copyButtonCopied_nqPX .copyButtonSuccessIcon_eyQu{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:75ms}.wordWrapButtonIcon_caaT{height:1.2rem;width:1.2rem}.details_qlAf{--docusaurus-details-summary-arrow-size:0.38rem;--docusaurus-details-transition:transform 200ms ease;--docusaurus-details-decoration-color:grey}.details_qlAf>summary{cursor:pointer;padding-left:1rem;position:relative}.details_qlAf>summary::-webkit-details-marker{display:none}.details_qlAf>summary:before{border-color:transparent transparent transparent var(--docusaurus-details-decoration-color);border-style:solid;border-width:var(--docusaurus-details-summary-arrow-size);content:"";left:0;position:absolute;top:.45rem;transform:rotate(0);transform-origin:calc(var(--docusaurus-details-summary-arrow-size)/2) 50%;transition:var(--docusaurus-details-transition)}.collapsibleContent_eRqf{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.details_dACs{--docusaurus-details-decoration-color:var(--ifm-alert-border-color);--docusaurus-details-transition:transform var(--ifm-transition-fast) ease;border:1px solid var(--ifm-alert-border-color);margin:0 0 var(--ifm-spacing-vertical)}.img_jhL2{height:auto}.admonition_lqVy{margin-bottom:1em}.admonitionHeading_np37{font:var(--ifm-heading-font-weight) var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family)}.admonitionHeading_np37:not(:last-child){margin-bottom:.3rem}.admonitionHeading_np37 code{text-transform:none}.admonitionIcon_Gva6{display:inline-block;margin-right:.4em;vertical-align:middle}.admonitionIcon_Gva6 svg{fill:var(--ifm-alert-foreground-color);display:inline-block;height:1.6em;width:1.6em}.breadcrumbHomeIcon_LNkd{height:1.1rem;position:relative;top:1px;vertical-align:top;width:1.1rem}.breadcrumbsContainer_MCAL{--ifm-breadcrumb-size-multiplier:0.8;margin-bottom:.8rem}.title_GbKl{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-leading)*1.25)}@media (min-width:997px){.collapseSidebarButton_MM0j,.expandButton_zUxI{background-color:var(--docusaurus-collapse-button-bg)}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_oLaa,.announcementBarPlaceholder_IHe7{flex-basis:50px}.lastUpdated_RDRp{text-align:right}.tocMobile_RWKW{display:none}.collapseSidebarButton_MM0j{border:1px solid var(--ifm-toc-border-color);border-radius:0;bottom:0;display:block!important;height:40px;position:sticky}.collapseSidebarButtonIcon_uKlZ{margin-top:4px;transform:rotate(180deg)}.expandButtonIcon_YENA,[dir=rtl] .collapseSidebarButtonIcon_uKlZ{transform:rotate(0)}.collapseSidebarButton_MM0j:focus,.collapseSidebarButton_MM0j:hover,.expandButton_zUxI:focus,.expandButton_zUxI:hover{background-color:var(--docusaurus-collapse-button-bg-hover)}.navbarSearchContainer_EMfm{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.menuHtmlItem_aa10{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu_x8Vf{flex-grow:1;padding:.5rem}@supports (scrollbar-gutter:stable){.menu_x8Vf{padding:.5rem 0 .5rem .5rem;scrollbar-gutter:stable}}.menuWithAnnouncementBar_Rptx{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_c3PM{display:flex;flex-direction:column;height:100%;padding-top:var(--ifm-navbar-height);width:var(--doc-sidebar-width)}.sidebarWithHideableNavbar_QoI7{padding-top:0}.sidebarHidden_YHTB{opacity:0;visibility:hidden}.sidebarLogo_Y6jA{align-items:center;color:inherit!important;display:flex!important;margin:0 var(--ifm-navbar-padding-horizontal);max-height:var(--ifm-navbar-height);min-height:var(--ifm-navbar-height);text-decoration:none!important}.sidebarLogo_Y6jA img{height:2rem;margin-right:.5rem}.expandButton_zUxI{align-items:center;display:flex;height:100%;justify-content:center;position:absolute;right:0;top:0;transition:background-color var(--ifm-transition-fast) ease;width:100%}[dir=rtl] .expandButtonIcon_YENA{transform:rotate(180deg)}.docSidebarContainer_fahq{border-right:1px solid var(--ifm-toc-border-color);clip-path:inset(0);display:block;margin-top:calc(var(--ifm-navbar-height)*-1);transition:width var(--ifm-transition-fast) ease;width:var(--doc-sidebar-width);will-change:width}.docSidebarContainerHidden_G0SO{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.sidebarViewport_utvj{height:100%;max-height:100vh;position:sticky;top:0}.docMainContainer_Piwz{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_nSs5{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_Gh7T{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}.docItemCol_W8_c,.generatedIndexPage_UMlB{max-width:75%!important}.list_kfQX article:nth-last-child(-n+2){margin-bottom:0!important}}@media (min-width:1440px){.container{max-width:var(--ifm-container-width-xl)}}@media (max-width:996px){.col{--ifm-col-width:100%;flex-basis:var(--ifm-col-width);margin-left:0}.footer{--ifm-footer-padding-horizontal:0}.colorModeToggle_dohu,.footer__link-separator,.navbar__item,.tableOfContents_Q98t{display:none}.footer__col{margin-bottom:calc(var(--ifm-spacing-vertical)*3)}.footer__link-item{display:block}.hero{padding-left:0;padding-right:0}.navbar>.container,.navbar>.container-fluid{padding:0}.navbar__toggle{display:inherit}.navbar__search-input{width:9rem}.pills--block,.tabs--block{flex-direction:column}.docItemContainer_MR74{padding:0 .3rem}.navbarSearchContainer_EMfm{position:absolute;right:var(--ifm-navbar-padding-horizontal)}}@media (max-width:576px){.markdown h1:first-child{--ifm-h1-font-size:2rem}.markdown>h2{--ifm-h2-font-size:1.5rem}.markdown>h3{--ifm-h3-font-size:1.25rem}}@media (hover:hover){.backToTopButton_mrK0:hover{background-color:var(--ifm-color-emphasis-300)}}@media (pointer:fine){.thin-scrollbar{scrollbar-width:thin}.thin-scrollbar::-webkit-scrollbar{height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}.thin-scrollbar::-webkit-scrollbar-track{background:var(--ifm-scrollbar-track-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb{background:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ifm-scrollbar-thumb-hover-background-color)}}@media (prefers-reduced-motion:reduce){:root{--ifm-transition-fast:0ms;--ifm-transition-slow:0ms}}@media print{.announcementBar_j6bM,.footer,.menu,.navbar,.pagination-nav,.table-of-contents,.tocMobile_RWKW{display:none}.tabs{page-break-inside:avoid}.codeBlockLines_IRKw{white-space:pre-wrap}}
\ No newline at end of file
diff --git a/assets/js/0335934b.c09b4c70.js b/assets/js/0335934b.13a5c75a.js
similarity index 85%
rename from assets/js/0335934b.c09b4c70.js
rename to assets/js/0335934b.13a5c75a.js
index edc5ece4..a54e280e 100644
--- a/assets/js/0335934b.c09b4c70.js
+++ b/assets/js/0335934b.13a5c75a.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[122],{3678:e=>{e.exports=JSON.parse('{"title":"clients","slug":"/category/client","permalink":"/greenfield-js-sdk/category/client","navigation":{"previous":{"title":"Quick Start","permalink":"/greenfield-js-sdk/getting-started/quick-start"},"next":{"title":"Greenfield Client","permalink":"/greenfield-js-sdk/client/greenfield-client"}}}')}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[750],{9704:e=>{e.exports=JSON.parse('{"title":"clients","slug":"/category/client","permalink":"/greenfield-js-sdk/category/client","navigation":{"previous":{"title":"Quick Start","permalink":"/greenfield-js-sdk/getting-started/quick-start"},"next":{"title":"Greenfield Client","permalink":"/greenfield-js-sdk/client/greenfield-client"}}}')}}]);
\ No newline at end of file
diff --git a/assets/js/037672a1.7ef071bf.js b/assets/js/037672a1.7ef071bf.js
deleted file mode 100644
index 6ee7c25d..00000000
--- a/assets/js/037672a1.7ef071bf.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[981],{309:(e,i,t)=>{t.r(i),t.d(i,{assets:()=>o,contentTitle:()=>l,default:()=>p,frontMatter:()=>r,metadata:()=>c,toc:()=>a});var s=t(5250),n=t(1340);const r={id:"visibility",title:"VisibilityType"},l=void 0,c={id:"types/visibility",title:"VisibilityType",description:"visibility means the bucket is private or public. if private, only bucket owner or grantee can read",source:"@site/docs/types/visibility.mdx",sourceDirName:"types",slug:"/types/visibility",permalink:"/greenfield-js-sdk/types/visibility",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/types/visibility.mdx",tags:[],version:"current",frontMatter:{id:"visibility",title:"VisibilityType"},sidebar:"GettingStartSidebar",previous:{title:"Timestamp",permalink:"/greenfield-js-sdk/types/timestamp"},next:{title:"FAQs",permalink:"/greenfield-js-sdk/category/faqs"}},o={},a=[{value:"VisibilityType",id:"visibilitytype",level:2}];function d(e){const i={code:"code",h2:"h2",p:"p",pre:"pre",...(0,n.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.p,{children:"visibility means the bucket is private or public. if private, only bucket owner or grantee can read\nit,otherwise every greenfield user can read it."}),"\n",(0,s.jsx)(i.h2,{id:"visibilitytype",children:"VisibilityType"}),"\n",(0,s.jsxs)(i.p,{children:[(0,s.jsx)(i.code,{children:"VisibilityType"})," is enum:"]}),"\n",(0,s.jsx)(i.pre,{children:(0,s.jsx)(i.code,{className:"language-jsx",children:"/** VisibilityType is the resources public status. */\nexport declare enum VisibilityType {\n VISIBILITY_TYPE_UNSPECIFIED = 0,\n VISIBILITY_TYPE_PUBLIC_READ = 1,\n VISIBILITY_TYPE_PRIVATE = 2,\n /** VISIBILITY_TYPE_INHERIT - If the bucket Visibility is inherit, it's finally set to private. If the object Visibility is inherit, it's the same as bucket. */\n VISIBILITY_TYPE_INHERIT = 3,\n UNRECOGNIZED = -1\n}\n"})})]})}function p(e={}){const{wrapper:i}={...(0,n.a)(),...e.components};return i?(0,s.jsx)(i,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},1340:(e,i,t)=>{t.d(i,{Z:()=>c,a:()=>l});var s=t(79);const n={},r=s.createContext(n);function l(e){const i=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function c(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),s.createElement(r.Provider,{value:i},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/037672a1.c6a10f13.js b/assets/js/037672a1.c6a10f13.js
new file mode 100644
index 00000000..b7546446
--- /dev/null
+++ b/assets/js/037672a1.c6a10f13.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[958],{4668:(e,i,t)=>{t.r(i),t.d(i,{assets:()=>o,contentTitle:()=>l,default:()=>p,frontMatter:()=>r,metadata:()=>c,toc:()=>a});var s=t(9214),n=t(3159);const r={id:"visibility",title:"VisibilityType"},l=void 0,c={id:"types/visibility",title:"VisibilityType",description:"visibility means the bucket is private or public. if private, only bucket owner or grantee can read",source:"@site/docs/types/visibility.mdx",sourceDirName:"types",slug:"/types/visibility",permalink:"/greenfield-js-sdk/types/visibility",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/types/visibility.mdx",tags:[],version:"current",frontMatter:{id:"visibility",title:"VisibilityType"},sidebar:"GettingStartSidebar",previous:{title:"Timestamp",permalink:"/greenfield-js-sdk/types/timestamp"},next:{title:"FAQs",permalink:"/greenfield-js-sdk/category/faqs"}},o={},a=[{value:"VisibilityType",id:"visibilitytype",level:2}];function d(e){const i={code:"code",h2:"h2",p:"p",pre:"pre",...(0,n.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.p,{children:"visibility means the bucket is private or public. if private, only bucket owner or grantee can read\nit,otherwise every greenfield user can read it."}),"\n",(0,s.jsx)(i.h2,{id:"visibilitytype",children:"VisibilityType"}),"\n",(0,s.jsxs)(i.p,{children:[(0,s.jsx)(i.code,{children:"VisibilityType"})," is enum:"]}),"\n",(0,s.jsx)(i.pre,{children:(0,s.jsx)(i.code,{className:"language-jsx",children:"/** VisibilityType is the resources public status. */\nexport declare enum VisibilityType {\n VISIBILITY_TYPE_UNSPECIFIED = 0,\n VISIBILITY_TYPE_PUBLIC_READ = 1,\n VISIBILITY_TYPE_PRIVATE = 2,\n /** VISIBILITY_TYPE_INHERIT - If the bucket Visibility is inherit, it's finally set to private. If the object Visibility is inherit, it's the same as bucket. */\n VISIBILITY_TYPE_INHERIT = 3,\n UNRECOGNIZED = -1\n}\n"})})]})}function p(e={}){const{wrapper:i}={...(0,n.R)(),...e.components};return i?(0,s.jsx)(i,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},3159:(e,i,t)=>{t.d(i,{R:()=>l,x:()=>c});var s=t(8318);const n={},r=s.createContext(n);function l(e){const i=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function c(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),s.createElement(r.Provider,{value:i},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/053d6f47.116b08a3.js b/assets/js/053d6f47.116b08a3.js
new file mode 100644
index 00000000..cc18e40a
--- /dev/null
+++ b/assets/js/053d6f47.116b08a3.js
@@ -0,0 +1 @@
+(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[768],{7741:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/create-bucket.2a6d733.686.png 686w",images:[{path:a.p+"assets/ideal-img/create-bucket.2a6d733.686.png",width:686,height:396}],src:a.p+"assets/ideal-img/create-bucket.2a6d733.686.png",toString:function(){return a.p+"assets/ideal-img/create-bucket.2a6d733.686.png"},placeholder:void 0,width:686,height:396},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAsElEQVR4nGNgZWVlY2NjRQAWCGJjY2FiYmI4fPjw3Tt37ty+c+PG3Vs3wejW3avXbr549S42No7h7p27796+/fr1+7cf/378/Pv959+///7//PX7////OTk5DIvuXnF9fcnzyVnnx2fcnpy1fXS67NXN/7//gKRzcxmWHtjTcOFI49lDjecPNZ0/XHvu4Nwrp+/dvfPx44e4uDgGLlZWUXZOEXZOOCnAxsHMAgJMTEwAjD9fmT3cOTwAAAAASUVORK5CYII="}},7122:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/create-object.1006193.712.png 712w",images:[{path:a.p+"assets/ideal-img/create-object.1006193.712.png",width:712,height:646}],src:a.p+"assets/ideal-img/create-object.1006193.712.png",toString:function(){return a.p+"assets/ideal-img/create-object.1006193.712.png"},placeholder:void 0,width:712,height:646},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAJCAIAAACExCpEAAAACXBIWXMAABYlAAAWJQFJUiTwAAAA9UlEQVR4nE2OvUrDUABG8zauWQIuwSE+iuYGF5OAEG62BEREROySKm55AqE4ipuDWKiDUhGFpongT5L2kp97m3wSLdizHj7OJ8my7Pu+67qUUvcXSqnjOJ7nKYoiGYYBgDGGFYQQACzLkgghAPLPL5ZmLM2KOeNCVFUFwDTNTs+AYTy5j95G8STJM7Tt39q2bWmbkJ30WRnfbL7ero2vjz5eANSCL7VOyKDJD5KnyywZFXnECwD8f63rVzw9jB4H33G7aJpFw4Uoy3LZ3iJkt56uT+823ocPdfe/wUpbVdX9i/7e6bHTO+n1g/OzjiAIwjDUNO0HOk7HIZ8J0xEAAAAASUVORK5CYII="}},8072:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/details.a20f594.864.png 864w",images:[{path:a.p+"assets/ideal-img/details.a20f594.864.png",width:864,height:832}],src:a.p+"assets/ideal-img/details.a20f594.864.png",toString:function(){return a.p+"assets/ideal-img/details.a20f594.864.png"},placeholder:void 0,width:864,height:832},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAIAAAACUFjqAAAACXBIWXMAABYlAAAWJQFJUiTwAAABAklEQVR4nGNgwACMyBxdE/0Z6+dvWr9p/oIFTU3Nm7ZuXbpq1YIlSzZv3erq6srAI8BnZWEcb2Ftb2SspKbmaG4RZWkdaGZuY2EhIioKMoCZiYmDhYWNhYWVnZ2DhUWMlVWIlZWFiQlqPhMTEzMzMzMLCxNcCBmIiIoqqarIKyrKKyrIKSrIKSgoKytLSEhApefMmvX/7/+f37////3n/+8/v3/++v///86dO6HSbbNnzP7xqu/VnYlv73e+ubvz06v////v3rMHKp3f3px7/Xjska2JJ3aGH9vWd+7o+5evFi1eDJUW4ONTkZRSkpBUkpBUkZCUFZcQFRPj5+dnYGAAAI6mVPsAWoXtAAAAAElFTkSuQmCC"}},7880:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/select-wallet.9a34841.942.png 942w",images:[{path:a.p+"assets/ideal-img/select-wallet.9a34841.942.png",width:942,height:1142}],src:a.p+"assets/ideal-img/select-wallet.9a34841.942.png",toString:function(){return a.p+"assets/ideal-img/select-wallet.9a34841.942.png"},placeholder:void 0,width:942,height:1142},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAMCAIAAADUCbv3AAAACXBIWXMAABYlAAAWJQFJUiTwAAABGElEQVR4nI3OQUuDYBwG8Hcy0IN7dabVbJ26dCtYsKD7Omuu9QXqi/lVxkyNSD3UICi2aYHLdNZB9H3feB0Fdeo5/n88fx4AAACNBgCA3T2BR1ewd9nc2K+PDPhOzWpPOhy1D0ZNae+n849wHMfzvCCIoiiJbQlCodXiWZalBiH0PD+OY8/3XdedTKwgCJIkMU2TsqJsZmmKMSqrCmNMCEEIEUIcx6G81VEXD7ezeRi9LjGmUFUVIcS2bcrdrjq27qaPizRLi6LAGP9q73QU+z6fPr+H4SyKXjD6w9vKzdNqvvxM3uI8/0AIlWVZP7+mLMvyKsvWi9bTipLWx1bNDMMMBqeGMdQ0Tdd1wzB0/Wx4ftHvHwMAvgCM5Kf0BR6bDwAAAABJRU5ErkJggg=="}},2831:(e,t,a)=>{"use strict";a.r(t),a.d(t,{assets:()=>r,contentTitle:()=>c,default:()=>h,frontMatter:()=>l,metadata:()=>d,toc:()=>p});var n=a(9214),i=a(3159),s=a(1663);const l={id:"quick-start",sidebar_position:3},c="Quick Start",d={id:"getting-started/quick-start",title:"Quick Start",description:"We provide templates that can run React (Next.js, Vite and CRA etc) directly.",source:"@site/docs/getting-started/quick-start.mdx",sourceDirName:"getting-started",slug:"/getting-started/quick-start",permalink:"/greenfield-js-sdk/getting-started/quick-start",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/getting-started/quick-start.mdx",tags:[],version:"current",sidebarPosition:3,frontMatter:{id:"quick-start",sidebar_position:3},sidebar:"GettingStartSidebar",previous:{title:"Install",permalink:"/greenfield-js-sdk/getting-started/install"},next:{title:"Client",permalink:"/greenfield-js-sdk/category/client"}},r={},p=[{value:"Using Template",id:"using-template",level:2},{value:"1. Fill Application name",id:"1-fill-application-name",level:3},{value:"2. Select a template",id:"2-select-a-template",level:3},{value:"3. Select a package manager",id:"3-select-a-package-manager",level:3},{value:"4. Download template",id:"4-download-template",level:3},{value:"Run Application",id:"run-application",level:2},{value:"1. You can see Connect Wallet button",id:"1-you-can-see-connect-wallet-button",level:3},{value:"2. Click the button and select a wallet",id:"2-click-the-button-and-select-a-wallet",level:3},{value:"3. wallet",id:"3-wallet",level:3},{value:"4. Create a Bucket",id:"4-create-a-bucket",level:3},{value:"5. Create an Object",id:"5-create-an-object",level:3}];function g(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",...(0,i.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h1,{id:"quick-start",children:"Quick Start"}),"\n",(0,n.jsxs)(t.p,{children:["We provide templates that can run ",(0,n.jsx)(t.code,{children:"React"})," (",(0,n.jsx)(t.a,{href:"https://nextjs.org/",children:"Next.js"}),", ",(0,n.jsx)(t.a,{href:"https://vitejs.dev/",children:"Vite"})," and ",(0,n.jsx)(t.a,{href:"https://create-react-app.dev/",children:"CRA"})," etc) directly."]}),"\n",(0,n.jsxs)(t.p,{children:["You can use ",(0,n.jsx)(t.a,{href:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/packages/create-gnfd-app",children:(0,n.jsx)(t.code,{children:"create-gnfd-app"})})," to create a app quickly:"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-bash",children:"> npx @bnb-chain/create-gnfd-app\n"})}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"create-gnfd-app",src:a(5417).A+"",width:"1505",height:"943"})}),"\n",(0,n.jsx)(t.h2,{id:"using-template",children:"Using Template"}),"\n",(0,n.jsx)(t.h3,{id:"1-fill-application-name",children:"1. Fill Application name"}),"\n",(0,n.jsxs)(t.p,{children:["Here I take ",(0,n.jsx)(t.code,{children:"my-gnfd-app"})," as an example:"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-bash",children:"> npx @bnb-chain/create-gnfd-app\n# highlight-start\n? What is your project named? my-gnfd-app\n# highlight-end\n"})}),"\n",(0,n.jsx)(t.h3,{id:"2-select-a-template",children:"2. Select a template"}),"\n",(0,n.jsxs)(t.p,{children:["Here I take ",(0,n.jsx)(t.code,{children:"nextjs"})," as an example:"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-bash",children:"> npx @bnb-chain/create-gnfd-app\n? What is your project named? my-gnfd-app\n? select a template? (Use arrow keys)\n# highlight-start\n\u276f nextjs\n create-react-app\n vite\n# highlight-end\n"})}),"\n",(0,n.jsx)(t.h3,{id:"3-select-a-package-manager",children:"3. Select a package manager"}),"\n",(0,n.jsxs)(t.p,{children:["Here I take ",(0,n.jsx)(t.code,{children:"pnpm"})," as an example:"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-bash",children:"> npx @bnb-chain/create-gnfd-app\n? What is your project named? my-gnfd-app\n? select a template? nextjs\n# highlight-start\n? select a package manager?\n npm\n yarn\n\u276f pnpm\n# highlight-end\n"})}),"\n",(0,n.jsx)(t.h3,{id:"4-download-template",children:"4. Download template"}),"\n",(0,n.jsx)(t.p,{children:"Now downloading template:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-bash",children:"? What is your project named? my-gnfd-app\n? select a template? nextjs\n? select a package manager? pnpm\n# highlight-start\nCreating a new Greenfield app in my-gnfd-app.\n\ud83c\udf89 download template - nextjs success\n\n\u2827 Installing dependencies with pnpm......\n# highlight-end\n"})}),"\n",(0,n.jsx)(t.p,{children:"After a while you will see this line:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-bash",children:"? What is your project named? my-gnfd-app\n? select a template? nextjs\n? select a package manager? pnpm\nCreating a new Greenfield app in my-gnfd-app.\n# highlight-start\n\ud83c\udf89 download template - nextjs success\n\n\ud83c\udf89 Install dependencies successfully.\n# highlight-end\n"})}),"\n",(0,n.jsx)(t.h2,{id:"run-application",children:"Run Application"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-bash",children:"> cd my-gnfd-app\n> npm run dev\n"})}),"\n",(0,n.jsxs)(t.h3,{id:"1-you-can-see-connect-wallet-button",children:["1. You can see ",(0,n.jsx)(t.code,{children:"Connect Wallet"})," button"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"init",src:a(450).A+"",width:"1928",height:"588"})}),"\n",(0,n.jsx)(t.h3,{id:"2-click-the-button-and-select-a-wallet",children:"2. Click the button and select a wallet"}),"\n",(0,n.jsx)(s.A,{img:a(7880),width:"500"}),"\n",(0,n.jsx)(t.h3,{id:"3-wallet",children:"3. wallet"}),"\n",(0,n.jsx)(s.A,{img:a(8072),width:"500"}),"\n",(0,n.jsx)(t.h3,{id:"4-create-a-bucket",children:"4. Create a Bucket"}),"\n",(0,n.jsx)(t.p,{children:"Create Bucket Tx:"}),"\n",(0,n.jsx)(s.A,{img:a(7741)}),"\n",(0,n.jsx)(t.h3,{id:"5-create-an-object",children:"5. Create an Object"}),"\n",(0,n.jsx)(t.p,{children:"Create Object Tx / Upload File / Download File:"}),"\n",(0,n.jsx)(s.A,{img:a(7122)})]})}function h(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(g,{...e})}):g(e)}},5417:(e,t,a)=>{"use strict";a.d(t,{A:()=>n});const n=a.p+"assets/images/gnfd-template-b2faa2ad941917182372954ae449d559.gif"},450:(e,t,a)=>{"use strict";a.d(t,{A:()=>n});const n=a.p+"assets/images/init-3621d6791218d0a3d565cef6caaffb85.png"}}]);
\ No newline at end of file
diff --git a/assets/js/053d6f47.eaee9c7a.js b/assets/js/053d6f47.eaee9c7a.js
deleted file mode 100644
index 880a02b7..00000000
--- a/assets/js/053d6f47.eaee9c7a.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[83],{2412:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/create-bucket.2a6d733.686.png 686w",images:[{path:a.p+"assets/ideal-img/create-bucket.2a6d733.686.png",width:686,height:396}],src:a.p+"assets/ideal-img/create-bucket.2a6d733.686.png",toString:function(){return a.p+"assets/ideal-img/create-bucket.2a6d733.686.png"},placeholder:void 0,width:686,height:396},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAGCAIAAAB1kpiRAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAsElEQVR4nGNgZWVlY2NjRQAWCGJjY2FiYmI4fPjw3Tt37ty+c+PG3Vs3wejW3avXbr549S42No7h7p27796+/fr1+7cf/378/Pv959+///7//PX7////OTk5DIvuXnF9fcnzyVnnx2fcnpy1fXS67NXN/7//gKRzcxmWHtjTcOFI49lDjecPNZ0/XHvu4Nwrp+/dvfPx44e4uDgGLlZWUXZOEXZOOCnAxsHMAgJMTEwAjD9fmT3cOTwAAAAASUVORK5CYII="}},2930:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/create-object.1006193.712.png 712w",images:[{path:a.p+"assets/ideal-img/create-object.1006193.712.png",width:712,height:646}],src:a.p+"assets/ideal-img/create-object.1006193.712.png",toString:function(){return a.p+"assets/ideal-img/create-object.1006193.712.png"},placeholder:void 0,width:712,height:646},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAJCAIAAACExCpEAAAACXBIWXMAABYlAAAWJQFJUiTwAAAA9UlEQVR4nE2OvUrDUABG8zauWQIuwSE+iuYGF5OAEG62BEREROySKm55AqE4ipuDWKiDUhGFpongT5L2kp97m3wSLdizHj7OJ8my7Pu+67qUUvcXSqnjOJ7nKYoiGYYBgDGGFYQQACzLkgghAPLPL5ZmLM2KOeNCVFUFwDTNTs+AYTy5j95G8STJM7Tt39q2bWmbkJ30WRnfbL7ero2vjz5eANSCL7VOyKDJD5KnyywZFXnECwD8f63rVzw9jB4H33G7aJpFw4Uoy3LZ3iJkt56uT+823ocPdfe/wUpbVdX9i/7e6bHTO+n1g/OzjiAIwjDUNO0HOk7HIZ8J0xEAAAAASUVORK5CYII="}},3176:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/details.a20f594.864.png 864w",images:[{path:a.p+"assets/ideal-img/details.a20f594.864.png",width:864,height:832}],src:a.p+"assets/ideal-img/details.a20f594.864.png",toString:function(){return a.p+"assets/ideal-img/details.a20f594.864.png"},placeholder:void 0,width:864,height:832},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAIAAAACUFjqAAAACXBIWXMAABYlAAAWJQFJUiTwAAABAklEQVR4nGNgwACMyBxdE/0Z6+dvWr9p/oIFTU3Nm7ZuXbpq1YIlSzZv3erq6srAI8BnZWEcb2Ftb2SspKbmaG4RZWkdaGZuY2EhIioKMoCZiYmDhYWNhYWVnZ2DhUWMlVWIlZWFiQlqPhMTEzMzMzMLCxNcCBmIiIoqqarIKyrKKyrIKSrIKSgoKytLSEhApefMmvX/7/+f37////3n/+8/v3/++v///86dO6HSbbNnzP7xqu/VnYlv73e+ubvz06v////v3rMHKp3f3px7/Xjska2JJ3aGH9vWd+7o+5evFi1eDJUW4ONTkZRSkpBUkpBUkZCUFZcQFRPj5+dnYGAAAI6mVPsAWoXtAAAAAElFTkSuQmCC"}},1322:(e,t,a)=>{e.exports={src:{srcSet:a.p+"assets/ideal-img/select-wallet.9a34841.942.png 942w",images:[{path:a.p+"assets/ideal-img/select-wallet.9a34841.942.png",width:942,height:1142}],src:a.p+"assets/ideal-img/select-wallet.9a34841.942.png",toString:function(){return a.p+"assets/ideal-img/select-wallet.9a34841.942.png"},placeholder:void 0,width:942,height:1142},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAMCAIAAADUCbv3AAAACXBIWXMAABYlAAAWJQFJUiTwAAABGElEQVR4nI3OQUuDYBwG8Hcy0IN7dabVbJ26dCtYsKD7Omuu9QXqi/lVxkyNSD3UICi2aYHLdNZB9H3feB0Fdeo5/n88fx4AAACNBgCA3T2BR1ewd9nc2K+PDPhOzWpPOhy1D0ZNae+n849wHMfzvCCIoiiJbQlCodXiWZalBiH0PD+OY8/3XdedTKwgCJIkMU2TsqJsZmmKMSqrCmNMCEEIEUIcx6G81VEXD7ezeRi9LjGmUFUVIcS2bcrdrjq27qaPizRLi6LAGP9q73QU+z6fPr+H4SyKXjD6w9vKzdNqvvxM3uI8/0AIlWVZP7+mLMvyKsvWi9bTipLWx1bNDMMMBqeGMdQ0Tdd1wzB0/Wx4ftHvHwMAvgCM5Kf0BR6bDwAAAABJRU5ErkJggg=="}},2967:(e,t,a)=>{"use strict";a.r(t),a.d(t,{assets:()=>r,contentTitle:()=>c,default:()=>h,frontMatter:()=>l,metadata:()=>d,toc:()=>p});var n=a(5250),i=a(1340),s=a(8367);const l={id:"quick-start",sidebar_position:3},c="Quick Start",d={id:"getting-started/quick-start",title:"Quick Start",description:"We provide templates that can run React (Next.js, Vite and CRA etc) directly.",source:"@site/docs/getting-started/quick-start.mdx",sourceDirName:"getting-started",slug:"/getting-started/quick-start",permalink:"/greenfield-js-sdk/getting-started/quick-start",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/getting-started/quick-start.mdx",tags:[],version:"current",sidebarPosition:3,frontMatter:{id:"quick-start",sidebar_position:3},sidebar:"GettingStartSidebar",previous:{title:"Install",permalink:"/greenfield-js-sdk/getting-started/install"},next:{title:"Client",permalink:"/greenfield-js-sdk/category/client"}},r={},p=[{value:"Using Template",id:"using-template",level:2},{value:"1. Fill Application name",id:"1-fill-application-name",level:3},{value:"2. Select a template",id:"2-select-a-template",level:3},{value:"3. Select a package manager",id:"3-select-a-package-manager",level:3},{value:"4. Download template",id:"4-download-template",level:3},{value:"Run Application",id:"run-application",level:2},{value:"1. You can see Connect Wallet button",id:"1-you-can-see-connect-wallet-button",level:3},{value:"2. Click the button and select a wallet",id:"2-click-the-button-and-select-a-wallet",level:3},{value:"3. wallet",id:"3-wallet",level:3},{value:"4. Create a Bucket",id:"4-create-a-bucket",level:3},{value:"5. Create an Object",id:"5-create-an-object",level:3}];function g(e){const t={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h1,{id:"quick-start",children:"Quick Start"}),"\n",(0,n.jsxs)(t.p,{children:["We provide templates that can run ",(0,n.jsx)(t.code,{children:"React"})," (",(0,n.jsx)(t.a,{href:"https://nextjs.org/",children:"Next.js"}),", ",(0,n.jsx)(t.a,{href:"https://vitejs.dev/",children:"Vite"})," and ",(0,n.jsx)(t.a,{href:"https://create-react-app.dev/",children:"CRA"})," etc) directly."]}),"\n",(0,n.jsxs)(t.p,{children:["You can use ",(0,n.jsx)(t.a,{href:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/packages/create-gnfd-app",children:(0,n.jsx)(t.code,{children:"create-gnfd-app"})})," to create a app quickly:"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-bash",children:"> npx @bnb-chain/create-gnfd-app\n"})}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"create-gnfd-app",src:a(6707).Z+"",width:"1505",height:"943"})}),"\n",(0,n.jsx)(t.h2,{id:"using-template",children:"Using Template"}),"\n",(0,n.jsx)(t.h3,{id:"1-fill-application-name",children:"1. Fill Application name"}),"\n",(0,n.jsxs)(t.p,{children:["Here I take ",(0,n.jsx)(t.code,{children:"my-gnfd-app"})," as an example:"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-bash",children:"> npx @bnb-chain/create-gnfd-app\n# highlight-start\n? What is your project named? my-gnfd-app\n# highlight-end\n"})}),"\n",(0,n.jsx)(t.h3,{id:"2-select-a-template",children:"2. Select a template"}),"\n",(0,n.jsxs)(t.p,{children:["Here I take ",(0,n.jsx)(t.code,{children:"nextjs"})," as an example:"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-bash",children:"> npx @bnb-chain/create-gnfd-app\n? What is your project named? my-gnfd-app\n? select a template? (Use arrow keys)\n# highlight-start\n\u276f nextjs\n create-react-app\n vite\n# highlight-end\n"})}),"\n",(0,n.jsx)(t.h3,{id:"3-select-a-package-manager",children:"3. Select a package manager"}),"\n",(0,n.jsxs)(t.p,{children:["Here I take ",(0,n.jsx)(t.code,{children:"pnpm"})," as an example:"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-bash",children:"> npx @bnb-chain/create-gnfd-app\n? What is your project named? my-gnfd-app\n? select a template? nextjs\n# highlight-start\n? select a package manager?\n npm\n yarn\n\u276f pnpm\n# highlight-end\n"})}),"\n",(0,n.jsx)(t.h3,{id:"4-download-template",children:"4. Download template"}),"\n",(0,n.jsx)(t.p,{children:"Now downloading template:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-bash",children:"? What is your project named? my-gnfd-app\n? select a template? nextjs\n? select a package manager? pnpm\n# highlight-start\nCreating a new Greenfield app in my-gnfd-app.\n\ud83c\udf89 download template - nextjs success\n\n\u2827 Installing dependencies with pnpm......\n# highlight-end\n"})}),"\n",(0,n.jsx)(t.p,{children:"After a while you will see this line:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-bash",children:"? What is your project named? my-gnfd-app\n? select a template? nextjs\n? select a package manager? pnpm\nCreating a new Greenfield app in my-gnfd-app.\n# highlight-start\n\ud83c\udf89 download template - nextjs success\n\n\ud83c\udf89 Install dependencies successfully.\n# highlight-end\n"})}),"\n",(0,n.jsx)(t.h2,{id:"run-application",children:"Run Application"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-bash",children:"> cd my-gnfd-app\n> npm run dev\n"})}),"\n",(0,n.jsxs)(t.h3,{id:"1-you-can-see-connect-wallet-button",children:["1. You can see ",(0,n.jsx)(t.code,{children:"Connect Wallet"})," button"]}),"\n",(0,n.jsx)(t.p,{children:(0,n.jsx)(t.img,{alt:"init",src:a(4354).Z+"",width:"1928",height:"588"})}),"\n",(0,n.jsx)(t.h3,{id:"2-click-the-button-and-select-a-wallet",children:"2. Click the button and select a wallet"}),"\n",(0,n.jsx)(s.Z,{img:a(1322),width:"500"}),"\n",(0,n.jsx)(t.h3,{id:"3-wallet",children:"3. wallet"}),"\n",(0,n.jsx)(s.Z,{img:a(3176),width:"500"}),"\n",(0,n.jsx)(t.h3,{id:"4-create-a-bucket",children:"4. Create a Bucket"}),"\n",(0,n.jsx)(t.p,{children:"Create Bucket Tx:"}),"\n",(0,n.jsx)(s.Z,{img:a(2412)}),"\n",(0,n.jsx)(t.h3,{id:"5-create-an-object",children:"5. Create an Object"}),"\n",(0,n.jsx)(t.p,{children:"Create Object Tx / Upload File / Download File:"}),"\n",(0,n.jsx)(s.Z,{img:a(2930)})]})}function h(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(g,{...e})}):g(e)}},6707:(e,t,a)=>{"use strict";a.d(t,{Z:()=>n});const n=a.p+"assets/images/gnfd-template-b2faa2ad941917182372954ae449d559.gif"},4354:(e,t,a)=>{"use strict";a.d(t,{Z:()=>n});const n=a.p+"assets/images/init-3621d6791218d0a3d565cef6caaffb85.png"}}]);
\ No newline at end of file
diff --git a/assets/js/07a5499a.54fd77c3.js b/assets/js/07a5499a.bf3896bf.js
similarity index 68%
rename from assets/js/07a5499a.54fd77c3.js
rename to assets/js/07a5499a.bf3896bf.js
index e69d4b9d..9feddfa4 100644
--- a/assets/js/07a5499a.54fd77c3.js
+++ b/assets/js/07a5499a.bf3896bf.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[863],{3769:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[921],{1966:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]);
\ No newline at end of file
diff --git a/assets/js/0ad13e86.7b391025.js b/assets/js/0ad13e86.d7cadd5c.js
similarity index 85%
rename from assets/js/0ad13e86.7b391025.js
rename to assets/js/0ad13e86.d7cadd5c.js
index 38cd48cf..fbc00cbf 100644
--- a/assets/js/0ad13e86.7b391025.js
+++ b/assets/js/0ad13e86.d7cadd5c.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[570],{8241:e=>{e.exports=JSON.parse('{"title":"FAQs","slug":"/category/faqs","permalink":"/greenfield-js-sdk/category/faqs","navigation":{"previous":{"title":"VisibilityType","permalink":"/greenfield-js-sdk/types/visibility"},"next":{"title":"calculating checksum is slow","permalink":"/greenfield-js-sdk/FAQs/checksums"}}}')}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[885],{5514:e=>{e.exports=JSON.parse('{"title":"FAQs","slug":"/category/faqs","permalink":"/greenfield-js-sdk/category/faqs","navigation":{"previous":{"title":"VisibilityType","permalink":"/greenfield-js-sdk/types/visibility"},"next":{"title":"calculating checksum is slow","permalink":"/greenfield-js-sdk/FAQs/checksums"}}}')}}]);
\ No newline at end of file
diff --git a/assets/js/143f79dd.c6401a82.js b/assets/js/143f79dd.4534cb0a.js
similarity index 65%
rename from assets/js/143f79dd.c6401a82.js
rename to assets/js/143f79dd.4534cb0a.js
index 6c29eb83..a12513ec 100644
--- a/assets/js/143f79dd.c6401a82.js
+++ b/assets/js/143f79dd.4534cb0a.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[284],{5472:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>p,default:()=>l,frontMatter:()=>s,metadata:()=>c,toc:()=>a});var i=t(5250),r=t(1340);const s={id:"principal",title:"PrincipalType"},p=void 0,c={id:"types/principal",title:"PrincipalType",description:"PrincipalType refers to the identity type of system users or entities. In Greenfield, it usually",source:"@site/docs/types/principal.mdx",sourceDirName:"types",slug:"/types/principal",permalink:"/greenfield-js-sdk/types/principal",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/types/principal.mdx",tags:[],version:"current",frontMatter:{id:"principal",title:"PrincipalType"},sidebar:"GettingStartSidebar",previous:{title:"Pagination",permalink:"/greenfield-js-sdk/types/pagination"},next:{title:"RedundancyType",permalink:"/greenfield-js-sdk/types/redundancy"}},o={},a=[];function d(e){const n={code:"code",p:"p",pre:"pre",...(0,r.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:"PrincipalType refers to the identity type of system users or entities. In Greenfield, it usually\nrefers to accounts or groups."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"export enum PrincipalType {\n PRINCIPAL_TYPE_UNSPECIFIED = 0,\n PRINCIPAL_TYPE_GNFD_ACCOUNT = 1,\n PRINCIPAL_TYPE_GNFD_GROUP = 2,\n UNRECOGNIZED = -1,\n}\n"})})]})}function l(e={}){const{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},1340:(e,n,t)=>{t.d(n,{Z:()=>c,a:()=>p});var i=t(79);const r={},s=i.createContext(r);function p(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:p(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[431],{5824:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>p,default:()=>l,frontMatter:()=>s,metadata:()=>c,toc:()=>a});var i=t(9214),r=t(3159);const s={id:"principal",title:"PrincipalType"},p=void 0,c={id:"types/principal",title:"PrincipalType",description:"PrincipalType refers to the identity type of system users or entities. In Greenfield, it usually",source:"@site/docs/types/principal.mdx",sourceDirName:"types",slug:"/types/principal",permalink:"/greenfield-js-sdk/types/principal",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/types/principal.mdx",tags:[],version:"current",frontMatter:{id:"principal",title:"PrincipalType"},sidebar:"GettingStartSidebar",previous:{title:"Pagination",permalink:"/greenfield-js-sdk/types/pagination"},next:{title:"RedundancyType",permalink:"/greenfield-js-sdk/types/redundancy"}},o={},a=[];function d(e){const n={code:"code",p:"p",pre:"pre",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:"PrincipalType refers to the identity type of system users or entities. In Greenfield, it usually\nrefers to accounts or groups."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"export enum PrincipalType {\n PRINCIPAL_TYPE_UNSPECIFIED = 0,\n PRINCIPAL_TYPE_GNFD_ACCOUNT = 1,\n PRINCIPAL_TYPE_GNFD_GROUP = 2,\n UNRECOGNIZED = -1,\n}\n"})})]})}function l(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},3159:(e,n,t)=>{t.d(n,{R:()=>p,x:()=>c});var i=t(8318);const r={},s=i.createContext(r);function p(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:p(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/14eb3368.17997a04.js b/assets/js/14eb3368.17997a04.js
deleted file mode 100644
index 3cd6e4ac..00000000
--- a/assets/js/14eb3368.17997a04.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[817],{8811:(e,s,t)=>{t.d(s,{Z:()=>g});t(79);var n=t(3230),i=t(6605),a=t(1198),r=t(9419),c=t(8263),l=t(6138),o=t(9270),d=t(5250);function m(e){return(0,d.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,d.jsx)("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z",fill:"currentColor"})})}const u={breadcrumbHomeIcon:"breadcrumbHomeIcon_nLEe"};function h(){const e=(0,o.Z)("/");return(0,d.jsx)("li",{className:"breadcrumbs__item",children:(0,d.jsx)(c.Z,{"aria-label":(0,l.I)({id:"theme.docs.breadcrumbs.home",message:"Home page",description:"The ARIA label for the home page in the breadcrumbs"}),className:"breadcrumbs__link",href:e,children:(0,d.jsx)(m,{className:u.breadcrumbHomeIcon})})})}const b={breadcrumbsContainer:"breadcrumbsContainer_J4IR"};function x(e){let{children:s,href:t,isLast:n}=e;const i="breadcrumbs__link";return n?(0,d.jsx)("span",{className:i,itemProp:"name",children:s}):t?(0,d.jsx)(c.Z,{className:i,href:t,itemProp:"item",children:(0,d.jsx)("span",{itemProp:"name",children:s})}):(0,d.jsx)("span",{className:i,children:s})}function p(e){let{children:s,active:t,index:i,addMicrodata:a}=e;return(0,d.jsxs)("li",{...a&&{itemScope:!0,itemProp:"itemListElement",itemType:"https://schema.org/ListItem"},className:(0,n.Z)("breadcrumbs__item",{"breadcrumbs__item--active":t}),children:[s,(0,d.jsx)("meta",{itemProp:"position",content:String(i+1)})]})}function g(){const e=(0,a.s1)(),s=(0,r.Ns)();return e?(0,d.jsx)("nav",{className:(0,n.Z)(i.k.docs.docBreadcrumbs,b.breadcrumbsContainer),"aria-label":(0,l.I)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"}),children:(0,d.jsxs)("ul",{className:"breadcrumbs",itemScope:!0,itemType:"https://schema.org/BreadcrumbList",children:[s&&(0,d.jsx)(h,{}),e.map(((s,t)=>{const n=t===e.length-1,i="category"===s.type&&s.linkUnlisted?void 0:s.href;return(0,d.jsx)(p,{active:n,index:t,addMicrodata:!!i,children:(0,d.jsx)(x,{href:i,isLast:n,children:s.label})},t)}))]})}):null}},1623:(e,s,t)=>{t.r(s),t.d(s,{default:()=>I});t(79);var n=t(9546),i=t(1198),a=t(9270),r=t(3230),c=t(8263),l=t(7116),o=t(6138),d=t(387);const m={cardContainer:"cardContainer_pQWL",cardTitle:"cardTitle_zGQc",cardDescription:"cardDescription_L4so"};var u=t(5250);function h(e){let{href:s,children:t}=e;return(0,u.jsx)(c.Z,{href:s,className:(0,r.Z)("card padding--lg",m.cardContainer),children:t})}function b(e){let{href:s,icon:t,title:n,description:i}=e;return(0,u.jsxs)(h,{href:s,children:[(0,u.jsxs)(d.Z,{as:"h2",className:(0,r.Z)("text--truncate",m.cardTitle),title:n,children:[t," ",n]}),i&&(0,u.jsx)("p",{className:(0,r.Z)("text--truncate",m.cardDescription),title:i,children:i})]})}function x(e){let{item:s}=e;const t=(0,i.LM)(s);return t?(0,u.jsx)(b,{href:t,icon:"\ud83d\uddc3\ufe0f",title:s.label,description:s.description??(0,o.I)({message:"{count} items",id:"theme.docs.DocCard.categoryDescription",description:"The default description for a category card in the generated index about how many items this category includes"},{count:s.items.length})}):null}function p(e){let{item:s}=e;const t=(0,l.Z)(s.href)?"\ud83d\udcc4\ufe0f":"\ud83d\udd17",n=(0,i.xz)(s.docId??void 0);return(0,u.jsx)(b,{href:s.href,icon:t,title:s.label,description:s.description??n?.description})}function g(e){let{item:s}=e;switch(s.type){case"link":return(0,u.jsx)(p,{item:s});case"category":return(0,u.jsx)(x,{item:s});default:throw new Error(`unknown item type ${JSON.stringify(s)}`)}}function v(e){let{className:s}=e;const t=(0,i.jA)();return(0,u.jsx)(j,{items:t.items,className:s})}function j(e){const{items:s,className:t}=e;if(!s)return(0,u.jsx)(v,{...e});const n=(0,i.MN)(s);return(0,u.jsx)("section",{className:(0,r.Z)("row",t),children:n.map(((e,s)=>(0,u.jsx)("article",{className:"col col--6 margin-bottom--lg",children:(0,u.jsx)(g,{item:e})},s)))})}var f=t(5008),N=t(3996),Z=t(5729),_=t(8811);const L={generatedIndexPage:"generatedIndexPage_lW89",list:"list_bLOB",title:"title_eghZ"};function k(e){let{categoryGeneratedIndex:s}=e;return(0,u.jsx)(n.d,{title:s.title,description:s.description,keywords:s.keywords,image:(0,a.Z)(s.image)})}function T(e){let{categoryGeneratedIndex:s}=e;const t=(0,i.jA)();return(0,u.jsxs)("div",{className:L.generatedIndexPage,children:[(0,u.jsx)(N.Z,{}),(0,u.jsx)(_.Z,{}),(0,u.jsx)(Z.Z,{}),(0,u.jsxs)("header",{children:[(0,u.jsx)(d.Z,{as:"h1",className:L.title,children:s.title}),s.description&&(0,u.jsx)("p",{children:s.description})]}),(0,u.jsx)("article",{className:"margin-top--lg",children:(0,u.jsx)(j,{items:t.items,className:L.list})}),(0,u.jsx)("footer",{className:"margin-top--lg",children:(0,u.jsx)(f.Z,{previous:s.navigation.previous,next:s.navigation.next})})]})}function I(e){return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(k,{...e}),(0,u.jsx)(T,{...e})]})}},5008:(e,s,t)=>{t.d(s,{Z:()=>l});t(79);var n=t(6138),i=t(3230),a=t(8263),r=t(5250);function c(e){const{permalink:s,title:t,subLabel:n,isNext:c}=e;return(0,r.jsxs)(a.Z,{className:(0,i.Z)("pagination-nav__link",c?"pagination-nav__link--next":"pagination-nav__link--prev"),to:s,children:[n&&(0,r.jsx)("div",{className:"pagination-nav__sublabel",children:n}),(0,r.jsx)("div",{className:"pagination-nav__label",children:t})]})}function l(e){const{previous:s,next:t}=e;return(0,r.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,n.I)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"}),children:[s&&(0,r.jsx)(c,{...s,subLabel:(0,r.jsx)(n.Z,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc",children:"Previous"})}),t&&(0,r.jsx)(c,{...t,subLabel:(0,r.jsx)(n.Z,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc",children:"Next"}),isNext:!0})]})}},5729:(e,s,t)=>{t.d(s,{Z:()=>l});t(79);var n=t(3230),i=t(6138),a=t(6605),r=t(7286),c=t(5250);function l(e){let{className:s}=e;const t=(0,r.E)();return t.badge?(0,c.jsx)("span",{className:(0,n.Z)(s,a.k.docs.docVersionBadge,"badge badge--secondary"),children:(0,c.jsx)(i.Z,{id:"theme.docs.versionBadge.label",values:{versionLabel:t.label},children:"Version: {versionLabel}"})}):null}},3996:(e,s,t)=>{t.d(s,{Z:()=>p});t(79);var n=t(3230),i=t(7268),a=t(8263),r=t(6138),c=t(5050),l=t(6605),o=t(7959),d=t(7286),m=t(5250);const u={unreleased:function(e){let{siteTitle:s,versionMetadata:t}=e;return(0,m.jsx)(r.Z,{id:"theme.docs.versions.unreleasedVersionLabel",description:"The label used to tell the user that he's browsing an unreleased doc version",values:{siteTitle:s,versionLabel:(0,m.jsx)("b",{children:t.label})},children:"This is unreleased documentation for {siteTitle} {versionLabel} version."})},unmaintained:function(e){let{siteTitle:s,versionMetadata:t}=e;return(0,m.jsx)(r.Z,{id:"theme.docs.versions.unmaintainedVersionLabel",description:"The label used to tell the user that he's browsing an unmaintained doc version",values:{siteTitle:s,versionLabel:(0,m.jsx)("b",{children:t.label})},children:"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained."})}};function h(e){const s=u[e.versionMetadata.banner];return(0,m.jsx)(s,{...e})}function b(e){let{versionLabel:s,to:t,onClick:n}=e;return(0,m.jsx)(r.Z,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:s,latestVersionLink:(0,m.jsx)("b",{children:(0,m.jsx)(a.Z,{to:t,onClick:n,children:(0,m.jsx)(r.Z,{id:"theme.docs.versions.latestVersionLinkLabel",description:"The label used for the latest version suggestion link label",children:"latest version"})})})},children:"For up-to-date documentation, see the {latestVersionLink} ({versionLabel})."})}function x(e){let{className:s,versionMetadata:t}=e;const{siteConfig:{title:a}}=(0,i.Z)(),{pluginId:r}=(0,c.gA)({failfast:!0}),{savePreferredVersionName:d}=(0,o.J)(r),{latestDocSuggestion:u,latestVersionSuggestion:x}=(0,c.Jo)(r),p=u??(g=x).docs.find((e=>e.id===g.mainDocId));var g;return(0,m.jsxs)("div",{className:(0,n.Z)(s,l.k.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert",children:[(0,m.jsx)("div",{children:(0,m.jsx)(h,{siteTitle:a,versionMetadata:t})}),(0,m.jsx)("div",{className:"margin-top--md",children:(0,m.jsx)(b,{versionLabel:x.label,to:p.path,onClick:()=>d(x.name)})})]})}function p(e){let{className:s}=e;const t=(0,d.E)();return t.banner?(0,m.jsx)(x,{className:s,versionMetadata:t}):null}}}]);
\ No newline at end of file
diff --git a/assets/js/14eb3368.4282975f.js b/assets/js/14eb3368.4282975f.js
new file mode 100644
index 00000000..ea457963
--- /dev/null
+++ b/assets/js/14eb3368.4282975f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[969],{8899:(e,t,n)=>{n.d(t,{A:()=>g});n(8318);var s=n(6601),r=n(4955),i=n(6490),a=n(3197),l=n(2748),o=n(2244),c=n(9303),d=n(9214);function u(e){return(0,d.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,d.jsx)("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z",fill:"currentColor"})})}const m={breadcrumbHomeIcon:"breadcrumbHomeIcon_LNkd"};function h(){const e=(0,c.A)("/");return(0,d.jsx)("li",{className:"breadcrumbs__item",children:(0,d.jsx)(l.A,{"aria-label":(0,o.T)({id:"theme.docs.breadcrumbs.home",message:"Home page",description:"The ARIA label for the home page in the breadcrumbs"}),className:"breadcrumbs__link",href:e,children:(0,d.jsx)(u,{className:m.breadcrumbHomeIcon})})})}const b={breadcrumbsContainer:"breadcrumbsContainer_MCAL"};function p(e){let{children:t,href:n,isLast:s}=e;const r="breadcrumbs__link";return s?(0,d.jsx)("span",{className:r,itemProp:"name",children:t}):n?(0,d.jsx)(l.A,{className:r,href:n,itemProp:"item",children:(0,d.jsx)("span",{itemProp:"name",children:t})}):(0,d.jsx)("span",{className:r,children:t})}function x(e){let{children:t,active:n,index:r,addMicrodata:i}=e;return(0,d.jsxs)("li",{...i&&{itemScope:!0,itemProp:"itemListElement",itemType:"https://schema.org/ListItem"},className:(0,s.A)("breadcrumbs__item",{"breadcrumbs__item--active":n}),children:[t,(0,d.jsx)("meta",{itemProp:"position",content:String(r+1)})]})}function g(){const e=(0,i.OF)(),t=(0,a.Dt)();return e?(0,d.jsx)("nav",{className:(0,s.A)(r.G.docs.docBreadcrumbs,b.breadcrumbsContainer),"aria-label":(0,o.T)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"}),children:(0,d.jsxs)("ul",{className:"breadcrumbs",itemScope:!0,itemType:"https://schema.org/BreadcrumbList",children:[t&&(0,d.jsx)(h,{}),e.map(((t,n)=>{const s=n===e.length-1,r="category"===t.type&&t.linkUnlisted?void 0:t.href;return(0,d.jsx)(x,{active:s,index:n,addMicrodata:!!r,children:(0,d.jsx)(p,{href:r,isLast:s,children:t.label})},n)}))]})}):null}},7677:(e,t,n)=>{n.r(t),n.d(t,{default:()=>V});var s=n(8318),r=n(9586),i=n(6490),a=n(9303),l=n(6601),o=n(2748),c=n(7940);const d=["zero","one","two","few","many","other"];function u(e){return d.filter((t=>e.includes(t)))}const m={locale:"en",pluralForms:u(["one","other"]),select:e=>1===e?"one":"other"};function h(){const{i18n:{currentLocale:e}}=(0,c.A)();return(0,s.useMemo)((()=>{try{return function(e){const t=new Intl.PluralRules(e);return{locale:e,pluralForms:u(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}".\nDocusaurus will fallback to the default (English) implementation.\nError: ${t.message}\n`),m}}),[e])}function b(){const e=h();return{selectMessage:(t,n)=>function(e,t,n){const s=e.split("|");if(1===s.length)return s[0];s.length>n.pluralForms.length&&console.error(`For locale=${n.locale}, a maximum of ${n.pluralForms.length} plural forms are expected (${n.pluralForms.join(",")}), but the message contains ${s.length}: ${e}`);const r=n.select(t),i=n.pluralForms.indexOf(r);return s[Math.min(i,s.length-1)]}(n,t,e)}}var p=n(6132),x=n(2244),g=n(9790);const v={cardContainer:"cardContainer_oLJt",cardTitle:"cardTitle_TGG0",cardDescription:"cardDescription_lBSX"};var f=n(9214);function j(e){let{href:t,children:n}=e;return(0,f.jsx)(o.A,{href:t,className:(0,l.A)("card padding--lg",v.cardContainer),children:n})}function A(e){let{href:t,icon:n,title:s,description:r}=e;return(0,f.jsxs)(j,{href:t,children:[(0,f.jsxs)(g.A,{as:"h2",className:(0,l.A)("text--truncate",v.cardTitle),title:s,children:[n," ",s]}),r&&(0,f.jsx)("p",{className:(0,l.A)("text--truncate",v.cardDescription),title:r,children:r})]})}function N(e){let{item:t}=e;const n=(0,i.Nr)(t),s=function(){const{selectMessage:e}=b();return t=>e(t,(0,x.T)({message:"{count} items",id:"theme.docs.DocCard.categoryDescription.plurals",description:"The default description for a category card in the generated index about how many items this category includes"},{count:t}))}();return n?(0,f.jsx)(A,{href:n,icon:"\ud83d\uddc3\ufe0f",title:t.label,description:t.description??s(t.items.length)}):null}function _(e){let{item:t}=e;const n=(0,p.A)(t.href)?"\ud83d\udcc4\ufe0f":"\ud83d\udd17",s=(0,i.cC)(t.docId??void 0);return(0,f.jsx)(A,{href:t.href,icon:n,title:t.label,description:t.description??s?.description})}function L(e){let{item:t}=e;switch(t.type){case"link":return(0,f.jsx)(_,{item:t});case"category":return(0,f.jsx)(N,{item:t});default:throw new Error(`unknown item type ${JSON.stringify(t)}`)}}function T(e){let{className:t}=e;const n=(0,i.$S)();return(0,f.jsx)(k,{items:n.items,className:t})}function k(e){const{items:t,className:n}=e;if(!t)return(0,f.jsx)(T,{...e});const s=(0,i.d1)(t);return(0,f.jsx)("section",{className:(0,l.A)("row",n),children:s.map(((e,t)=>(0,f.jsx)("article",{className:"col col--6 margin-bottom--lg",children:(0,f.jsx)(L,{item:e})},t)))})}var y=n(361),w=n(788),C=n(8485),I=n(8899);const M={generatedIndexPage:"generatedIndexPage_UMlB",list:"list_kfQX",title:"title_GbKl"};function P(e){let{categoryGeneratedIndex:t}=e;return(0,f.jsx)(r.be,{title:t.title,description:t.description,keywords:t.keywords,image:(0,a.A)(t.image)})}function F(e){let{categoryGeneratedIndex:t}=e;const n=(0,i.$S)();return(0,f.jsxs)("div",{className:M.generatedIndexPage,children:[(0,f.jsx)(w.A,{}),(0,f.jsx)(I.A,{}),(0,f.jsx)(C.A,{}),(0,f.jsxs)("header",{children:[(0,f.jsx)(g.A,{as:"h1",className:M.title,children:t.title}),t.description&&(0,f.jsx)("p",{children:t.description})]}),(0,f.jsx)("article",{className:"margin-top--lg",children:(0,f.jsx)(k,{items:n.items,className:M.list})}),(0,f.jsx)("footer",{className:"margin-top--lg",children:(0,f.jsx)(y.A,{previous:t.navigation.previous,next:t.navigation.next})})]})}function V(e){return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(P,{...e}),(0,f.jsx)(F,{...e})]})}},361:(e,t,n)=>{n.d(t,{A:()=>o});n(8318);var s=n(2244),r=n(6601),i=n(2748),a=n(9214);function l(e){const{permalink:t,title:n,subLabel:s,isNext:l}=e;return(0,a.jsxs)(i.A,{className:(0,r.A)("pagination-nav__link",l?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t,children:[s&&(0,a.jsx)("div",{className:"pagination-nav__sublabel",children:s}),(0,a.jsx)("div",{className:"pagination-nav__label",children:n})]})}function o(e){const{previous:t,next:n}=e;return(0,a.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,s.T)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"}),children:[t&&(0,a.jsx)(l,{...t,subLabel:(0,a.jsx)(s.A,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc",children:"Previous"})}),n&&(0,a.jsx)(l,{...n,subLabel:(0,a.jsx)(s.A,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc",children:"Next"}),isNext:!0})]})}},8485:(e,t,n)=>{n.d(t,{A:()=>o});n(8318);var s=n(6601),r=n(2244),i=n(4955),a=n(6584),l=n(9214);function o(e){let{className:t}=e;const n=(0,a.r)();return n.badge?(0,l.jsx)("span",{className:(0,s.A)(t,i.G.docs.docVersionBadge,"badge badge--secondary"),children:(0,l.jsx)(r.A,{id:"theme.docs.versionBadge.label",values:{versionLabel:n.label},children:"Version: {versionLabel}"})}):null}},788:(e,t,n)=>{n.d(t,{A:()=>x});n(8318);var s=n(6601),r=n(7940),i=n(2748),a=n(2244),l=n(2316),o=n(4955),c=n(5321),d=n(6584),u=n(9214);const m={unreleased:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,u.jsx)(a.A,{id:"theme.docs.versions.unreleasedVersionLabel",description:"The label used to tell the user that he's browsing an unreleased doc version",values:{siteTitle:t,versionLabel:(0,u.jsx)("b",{children:n.label})},children:"This is unreleased documentation for {siteTitle} {versionLabel} version."})},unmaintained:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,u.jsx)(a.A,{id:"theme.docs.versions.unmaintainedVersionLabel",description:"The label used to tell the user that he's browsing an unmaintained doc version",values:{siteTitle:t,versionLabel:(0,u.jsx)("b",{children:n.label})},children:"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained."})}};function h(e){const t=m[e.versionMetadata.banner];return(0,u.jsx)(t,{...e})}function b(e){let{versionLabel:t,to:n,onClick:s}=e;return(0,u.jsx)(a.A,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:t,latestVersionLink:(0,u.jsx)("b",{children:(0,u.jsx)(i.A,{to:n,onClick:s,children:(0,u.jsx)(a.A,{id:"theme.docs.versions.latestVersionLinkLabel",description:"The label used for the latest version suggestion link label",children:"latest version"})})})},children:"For up-to-date documentation, see the {latestVersionLink} ({versionLabel})."})}function p(e){let{className:t,versionMetadata:n}=e;const{siteConfig:{title:i}}=(0,r.A)(),{pluginId:a}=(0,l.vT)({failfast:!0}),{savePreferredVersionName:d}=(0,c.g1)(a),{latestDocSuggestion:m,latestVersionSuggestion:p}=(0,l.HW)(a),x=m??(g=p).docs.find((e=>e.id===g.mainDocId));var g;return(0,u.jsxs)("div",{className:(0,s.A)(t,o.G.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert",children:[(0,u.jsx)("div",{children:(0,u.jsx)(h,{siteTitle:i,versionMetadata:n})}),(0,u.jsx)("div",{className:"margin-top--md",children:(0,u.jsx)(b,{versionLabel:p.label,to:x.path,onClick:()=>d(p.name)})})]})}function x(e){let{className:t}=e;const n=(0,d.r)();return n.banner?(0,u.jsx)(p,{className:t,versionMetadata:n}):null}}}]);
\ No newline at end of file
diff --git a/assets/js/17.81220b72.js b/assets/js/17.81220b72.js
deleted file mode 100644
index bc9505fd..00000000
--- a/assets/js/17.81220b72.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[17],{4529:(e,t,n)=>{n.d(t,{Z:()=>r});n(79);var s=n(3230),i=n(6138),o=n(387),d=n(5250);function r(e){let{className:t}=e;return(0,d.jsx)("main",{className:(0,s.Z)("container margin-vert--xl",t),children:(0,d.jsx)("div",{className:"row",children:(0,d.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,d.jsx)(o.Z,{as:"h1",className:"hero__title",children:(0,d.jsx)(i.Z,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,d.jsx)("p",{children:(0,d.jsx)(i.Z,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,d.jsx)("p",{children:(0,d.jsx)(i.Z,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}},17:(e,t,n)=>{n.r(t),n.d(t,{default:()=>a});n(79);var s=n(6138),i=n(9546),o=n(833),d=n(4529),r=n(5250);function a(){const e=(0,s.I)({id:"theme.NotFound.title",message:"Page Not Found"});return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.d,{title:e}),(0,r.jsx)(o.Z,{children:(0,r.jsx)(d.Z,{})})]})}}}]);
\ No newline at end of file
diff --git a/assets/js/17896441.32875cc9.js b/assets/js/17896441.32875cc9.js
deleted file mode 100644
index 33d485c3..00000000
--- a/assets/js/17896441.32875cc9.js
+++ /dev/null
@@ -1 +0,0 @@
-(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[918],{8811:(e,t,n)=>{"use strict";n.d(t,{Z:()=>g});n(79);var s=n(3230),a=n(6605),o=n(1198),i=n(9419),l=n(8263),c=n(6138),r=n(9270),d=n(5250);function u(e){return(0,d.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,d.jsx)("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z",fill:"currentColor"})})}const m={breadcrumbHomeIcon:"breadcrumbHomeIcon_nLEe"};function h(){const e=(0,r.Z)("/");return(0,d.jsx)("li",{className:"breadcrumbs__item",children:(0,d.jsx)(l.Z,{"aria-label":(0,c.I)({id:"theme.docs.breadcrumbs.home",message:"Home page",description:"The ARIA label for the home page in the breadcrumbs"}),className:"breadcrumbs__link",href:e,children:(0,d.jsx)(u,{className:m.breadcrumbHomeIcon})})})}const p={breadcrumbsContainer:"breadcrumbsContainer_J4IR"};function f(e){let{children:t,href:n,isLast:s}=e;const a="breadcrumbs__link";return s?(0,d.jsx)("span",{className:a,itemProp:"name",children:t}):n?(0,d.jsx)(l.Z,{className:a,href:n,itemProp:"item",children:(0,d.jsx)("span",{itemProp:"name",children:t})}):(0,d.jsx)("span",{className:a,children:t})}function x(e){let{children:t,active:n,index:a,addMicrodata:o}=e;return(0,d.jsxs)("li",{...o&&{itemScope:!0,itemProp:"itemListElement",itemType:"https://schema.org/ListItem"},className:(0,s.Z)("breadcrumbs__item",{"breadcrumbs__item--active":n}),children:[t,(0,d.jsx)("meta",{itemProp:"position",content:String(a+1)})]})}function g(){const e=(0,o.s1)(),t=(0,i.Ns)();return e?(0,d.jsx)("nav",{className:(0,s.Z)(a.k.docs.docBreadcrumbs,p.breadcrumbsContainer),"aria-label":(0,c.I)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"}),children:(0,d.jsxs)("ul",{className:"breadcrumbs",itemScope:!0,itemType:"https://schema.org/BreadcrumbList",children:[t&&(0,d.jsx)(h,{}),e.map(((t,n)=>{const s=n===e.length-1,a="category"===t.type&&t.linkUnlisted?void 0:t.href;return(0,d.jsx)(x,{active:s,index:n,addMicrodata:!!a,children:(0,d.jsx)(f,{href:a,isLast:s,children:t.label})},n)}))]})}):null}},648:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>yt});var s=n(79),a=n(9546),o=n(2061),i=n(5250);const l=s.createContext(null);function c(e){let{children:t,content:n}=e;const a=function(e){return(0,s.useMemo)((()=>({metadata:e.metadata,frontMatter:e.frontMatter,assets:e.assets,contentTitle:e.contentTitle,toc:e.toc})),[e])}(n);return(0,i.jsx)(l.Provider,{value:a,children:t})}function r(){const e=(0,s.useContext)(l);if(null===e)throw new o.i6("DocProvider");return e}function d(){const{metadata:e,frontMatter:t,assets:n}=r();return(0,i.jsx)(a.d,{title:e.title,description:e.description,keywords:t.keywords,image:n.image??t.image})}var u=n(3230),m=n(8393),h=n(5008);function p(){const{metadata:e}=r();return(0,i.jsx)(h.Z,{previous:e.previous,next:e.next})}var f=n(3996),x=n(5729),g=n(6605),b=n(6138);function j(e){let{lastUpdatedAt:t,formattedLastUpdatedAt:n}=e;return(0,i.jsx)(b.Z,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:(0,i.jsx)("b",{children:(0,i.jsx)("time",{dateTime:new Date(1e3*t).toISOString(),children:n})})},children:" on {date}"})}function v(e){let{lastUpdatedBy:t}=e;return(0,i.jsx)(b.Z,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:(0,i.jsx)("b",{children:t})},children:" by {user}"})}function N(e){let{lastUpdatedAt:t,formattedLastUpdatedAt:n,lastUpdatedBy:s}=e;return(0,i.jsxs)("span",{className:g.k.common.lastUpdated,children:[(0,i.jsx)(b.Z,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:t&&n?(0,i.jsx)(j,{lastUpdatedAt:t,formattedLastUpdatedAt:n}):"",byUser:s?(0,i.jsx)(v,{lastUpdatedBy:s}):""},children:"Last updated{atDate}{byUser}"}),!1]})}var C=n(8263);const k={iconEdit:"iconEdit_IGx0"};function L(e){let{className:t,...n}=e;return(0,i.jsx)("svg",{fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,u.Z)(k.iconEdit,t),"aria-hidden":"true",...n,children:(0,i.jsx)("g",{children:(0,i.jsx)("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"})})})}function y(e){let{editUrl:t}=e;return(0,i.jsxs)(C.Z,{to:t,className:g.k.common.editThisPage,children:[(0,i.jsx)(L,{}),(0,i.jsx)(b.Z,{id:"theme.common.editThisPage",description:"The link label to edit the current page",children:"Edit this page"})]})}const _={tag:"tag_MAP8",tagRegular:"tagRegular_FfnK",tagWithCount:"tagWithCount_Zxqn"};function B(e){let{permalink:t,label:n,count:s}=e;return(0,i.jsxs)(C.Z,{href:t,className:(0,u.Z)(_.tag,s?_.tagWithCount:_.tagRegular),children:[n,s&&(0,i.jsx)("span",{children:s})]})}const w={tags:"tags_NPyV",tag:"tag_VkyR"};function Z(e){let{tags:t}=e;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("b",{children:(0,i.jsx)(b.Z,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list",children:"Tags:"})}),(0,i.jsx)("ul",{className:(0,u.Z)(w.tags,"padding--none","margin-left--sm"),children:t.map((e=>{let{label:t,permalink:n}=e;return(0,i.jsx)("li",{className:w.tag,children:(0,i.jsx)(B,{label:t,permalink:n})},n)}))})]})}const T={lastUpdated:"lastUpdated_XxRX"};function E(e){return(0,i.jsx)("div",{className:(0,u.Z)(g.k.docs.docFooterTagsRow,"row margin-bottom--sm"),children:(0,i.jsx)("div",{className:"col",children:(0,i.jsx)(Z,{...e})})})}function A(e){let{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:s,formattedLastUpdatedAt:a}=e;return(0,i.jsxs)("div",{className:(0,u.Z)(g.k.docs.docFooterEditMetaRow,"row"),children:[(0,i.jsx)("div",{className:"col",children:t&&(0,i.jsx)(y,{editUrl:t})}),(0,i.jsx)("div",{className:(0,u.Z)("col",T.lastUpdated),children:(n||s)&&(0,i.jsx)(N,{lastUpdatedAt:n,formattedLastUpdatedAt:a,lastUpdatedBy:s})})]})}function H(){const{metadata:e}=r(),{editUrl:t,lastUpdatedAt:n,formattedLastUpdatedAt:s,lastUpdatedBy:a,tags:o}=e,l=o.length>0,c=!!(t||n||a);return l||c?(0,i.jsxs)("footer",{className:(0,u.Z)(g.k.docs.docFooter,"docusaurus-mt-lg"),children:[l&&(0,i.jsx)(E,{tags:o}),c&&(0,i.jsx)(A,{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:a,formattedLastUpdatedAt:s})]}):null}var I=n(9194),M=n(7976);function U(e){const t=e.map((e=>({...e,parentIndex:-1,children:[]}))),n=Array(7).fill(-1);t.forEach(((e,t)=>{const s=n.slice(2,e.level);e.parentIndex=Math.max(...s),n[e.level]=t}));const s=[];return t.forEach((e=>{const{parentIndex:n,...a}=e;n>=0?t[n].children.push(a):s.push(a)})),s}function S(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:s}=e;return t.flatMap((e=>{const t=S({toc:e.children,minHeadingLevel:n,maxHeadingLevel:s});return function(e){return e.level>=n&&e.level<=s}(e)?[{...e,children:t}]:t}))}function z(e){const t=e.getBoundingClientRect();return t.top===t.bottom?z(e.parentNode):t}function R(e,t){let{anchorTopOffset:n}=t;const s=e.find((e=>z(e).top>=n));if(s){return function(e){return e.top>0&&e.bottom{e.current=t?0:document.querySelector(".navbar").clientHeight}),[t]),e}function O(e){const t=(0,s.useRef)(void 0),n=V();(0,s.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:s,linkActiveClassName:a,minHeadingLevel:o,maxHeadingLevel:i}=e;function l(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(s),l=function(e){let{minHeadingLevel:t,maxHeadingLevel:n}=e;const s=[];for(let a=t;a<=n;a+=1)s.push(`h${a}.anchor`);return Array.from(document.querySelectorAll(s.join()))}({minHeadingLevel:o,maxHeadingLevel:i}),c=R(l,{anchorTopOffset:n.current}),r=e.find((e=>c&&c.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e)));e.forEach((e=>{!function(e,n){n?(t.current&&t.current!==e&&t.current.classList.remove(a),e.classList.add(a),t.current=e):e.classList.remove(a)}(e,e===r)}))}return document.addEventListener("scroll",l),document.addEventListener("resize",l),l(),()=>{document.removeEventListener("scroll",l),document.removeEventListener("resize",l)}}),[e,n])}function P(e){let{toc:t,className:n,linkClassName:s,isChild:a}=e;return t.length?(0,i.jsx)("ul",{className:a?void 0:n,children:t.map((e=>(0,i.jsxs)("li",{children:[(0,i.jsx)(C.Z,{to:`#${e.id}`,className:s??void 0,dangerouslySetInnerHTML:{__html:e.value}}),(0,i.jsx)(P,{isChild:!0,toc:e.children,className:n,linkClassName:s})]},e.id)))}):null}const D=s.memo(P);function $(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:a="table-of-contents__link",linkActiveClassName:o,minHeadingLevel:l,maxHeadingLevel:c,...r}=e;const d=(0,M.L)(),u=l??d.tableOfContents.minHeadingLevel,m=c??d.tableOfContents.maxHeadingLevel,h=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:a}=e;return(0,s.useMemo)((()=>S({toc:U(t),minHeadingLevel:n,maxHeadingLevel:a})),[t,n,a])}({toc:t,minHeadingLevel:u,maxHeadingLevel:m});return O((0,s.useMemo)((()=>{if(a&&o)return{linkClassName:a,linkActiveClassName:o,minHeadingLevel:u,maxHeadingLevel:m}}),[a,o,u,m])),(0,i.jsx)(D,{toc:h,className:n,linkClassName:a,...r})}const W={tocCollapsibleButton:"tocCollapsibleButton_hvO9",tocCollapsibleButtonExpanded:"tocCollapsibleButtonExpanded_jLwa"};function F(e){let{collapsed:t,...n}=e;return(0,i.jsx)("button",{type:"button",...n,className:(0,u.Z)("clean-btn",W.tocCollapsibleButton,!t&&W.tocCollapsibleButtonExpanded,n.className),children:(0,i.jsx)(b.Z,{id:"theme.TOCCollapsible.toggleButtonLabel",description:"The label used by the button on the collapsible TOC component",children:"On this page"})})}const q={tocCollapsible:"tocCollapsible_KBQs",tocCollapsibleContent:"tocCollapsibleContent_Ye80",tocCollapsibleExpanded:"tocCollapsibleExpanded_PGxk"};function G(e){let{toc:t,className:n,minHeadingLevel:s,maxHeadingLevel:a}=e;const{collapsed:o,toggleCollapsed:l}=(0,I.u)({initialState:!0});return(0,i.jsxs)("div",{className:(0,u.Z)(q.tocCollapsible,!o&&q.tocCollapsibleExpanded,n),children:[(0,i.jsx)(F,{collapsed:o,onClick:l}),(0,i.jsx)(I.z,{lazy:!0,className:q.tocCollapsibleContent,collapsed:o,children:(0,i.jsx)($,{toc:t,minHeadingLevel:s,maxHeadingLevel:a})})]})}const K={tocMobile:"tocMobile_ws0O"};function Q(){const{toc:e,frontMatter:t}=r();return(0,i.jsx)(G,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:(0,u.Z)(g.k.docs.docTocMobile,K.tocMobile)})}const X={tableOfContents:"tableOfContents_WpGv",docItemContainer:"docItemContainer_tKG8"},J="table-of-contents__link toc-highlight",Y="table-of-contents__link--active";function ee(e){let{className:t,...n}=e;return(0,i.jsx)("div",{className:(0,u.Z)(X.tableOfContents,"thin-scrollbar",t),children:(0,i.jsx)($,{...n,linkClassName:J,linkActiveClassName:Y})})}function te(){const{toc:e,frontMatter:t}=r();return(0,i.jsx)(ee,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:g.k.docs.docTocDesktop})}var ne=n(387),se=n(1340),ae=n(5522),oe=n(3614),ie=n(3868);function le(){const{prism:e}=(0,M.L)(),{colorMode:t}=(0,ie.I)(),n=e.theme,s=e.darkTheme||n;return"dark"===t?s:n}var ce=n(6494),re=n.n(ce);const de=/title=(?["'])(?.*?)\1/,ue=/\{(?[\d,-]+)\}/,me={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"},lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""}};function he(e,t){const n=e.map((e=>{const{start:n,end:s}=me[e];return`(?:${n}\\s*(${t.flatMap((e=>[e.line,e.block?.start,e.block?.end].filter(Boolean))).join("|")})\\s*${s})`})).join("|");return new RegExp(`^\\s*(?:${n})\\s*$`)}function pe(e,t){let n=e.replace(/\n$/,"");const{language:s,magicComments:a,metastring:o}=t;if(o&&ue.test(o)){const e=o.match(ue).groups.range;if(0===a.length)throw new Error(`A highlight range has been given in code block's metastring (\`\`\` ${o}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);const t=a[0].className,s=re()(e).filter((e=>e>0)).map((e=>[e-1,[t]]));return{lineClassNames:Object.fromEntries(s),code:n}}if(void 0===s)return{lineClassNames:{},code:n};const i=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return he(["js","jsBlock"],t);case"jsx":case"tsx":return he(["js","jsBlock","jsx"],t);case"html":return he(["js","jsBlock","html"],t);case"python":case"py":case"bash":return he(["bash"],t);case"markdown":case"md":return he(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return he(["tex"],t);case"lua":case"haskell":case"sql":return he(["lua"],t);case"wasm":return he(["wasm"],t);default:return he(Object.keys(me).filter((e=>!["lua","wasm","tex","latex","matlab"].includes(e))),t)}}(s,a),l=n.split("\n"),c=Object.fromEntries(a.map((e=>[e.className,{start:0,range:""}]))),r=Object.fromEntries(a.filter((e=>e.line)).map((e=>{let{className:t,line:n}=e;return[n,t]}))),d=Object.fromEntries(a.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.start,t]}))),u=Object.fromEntries(a.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.end,t]})));for(let h=0;hvoid 0!==e));r[t]?c[r[t]].range+=`${h},`:d[t]?c[d[t]].start=h:u[t]&&(c[u[t]].range+=`${c[u[t]].start}-${h-1},`),l.splice(h,1)}n=l.join("\n");const m={};return Object.entries(c).forEach((e=>{let[t,{range:n}]=e;re()(n).forEach((e=>{m[e]??=[],m[e].push(t)}))})),{lineClassNames:m,code:n}}const fe={codeBlockContainer:"codeBlockContainer_S5A8"};function xe(e){let{as:t,...n}=e;const s=function(e){const t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach((e=>{let[s,a]=e;const o=t[s];o&&"string"==typeof a&&(n[o]=a)})),n}(le());return(0,i.jsx)(t,{...n,style:s,className:(0,u.Z)(n.className,fe.codeBlockContainer,g.k.common.codeBlock)})}const ge={codeBlockContent:"codeBlockContent_YNlh",codeBlockTitle:"codeBlockTitle__i9l",codeBlock:"codeBlock_TZkG",codeBlockStandalone:"codeBlockStandalone_xPVH",codeBlockLines:"codeBlockLines_EUv5",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_Vonu",buttonGroup:"buttonGroup_NC4x"};function be(e){let{children:t,className:n}=e;return(0,i.jsx)(xe,{as:"pre",tabIndex:0,className:(0,u.Z)(ge.codeBlockStandalone,"thin-scrollbar",n),children:(0,i.jsx)("code",{className:ge.codeBlockLines,children:t})})}const je={attributes:!0,characterData:!0,childList:!0,subtree:!0};function ve(e,t){const[n,a]=(0,s.useState)(),i=(0,s.useCallback)((()=>{a(e.current?.closest("[role=tabpanel][hidden]"))}),[e,a]);(0,s.useEffect)((()=>{i()}),[i]),function(e,t,n){void 0===n&&(n=je);const a=(0,o.zX)(t),i=(0,o.Ql)(n);(0,s.useEffect)((()=>{const t=new MutationObserver(a);return e&&t.observe(e,i),()=>t.disconnect()}),[e,a,i])}(n,(e=>{e.forEach((e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),i())}))}),{attributes:!0,characterData:!1,childList:!1,subtree:!1})}var Ne=n(5830);const Ce={codeLine:"codeLine_zffC",codeLineNumber:"codeLineNumber_CQsK",codeLineContent:"codeLineContent_zR9y"};function ke(e){let{line:t,classNames:n,showLineNumbers:s,getLineProps:a,getTokenProps:o}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");const l=a({line:t,className:(0,u.Z)(n,s&&Ce.codeLine)}),c=t.map(((e,t)=>(0,i.jsx)("span",{...o({token:e,key:t})},t)));return(0,i.jsxs)("span",{...l,children:[s?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("span",{className:Ce.codeLineNumber}),(0,i.jsx)("span",{className:Ce.codeLineContent,children:c})]}):c,(0,i.jsx)("br",{})]})}function Le(e){return(0,i.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,i.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function ye(e){return(0,i.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,i.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}const _e={copyButtonCopied:"copyButtonCopied_qzE3",copyButtonIcons:"copyButtonIcons_m247",copyButtonIcon:"copyButtonIcon_SAPK",copyButtonSuccessIcon:"copyButtonSuccessIcon_VaTI"};function Be(e){let{code:t,className:n}=e;const[a,o]=(0,s.useState)(!1),l=(0,s.useRef)(void 0),c=(0,s.useCallback)((()=>{!function(e,t){let{target:n=document.body}=void 0===t?{}:t;if("string"!=typeof e)throw new TypeError(`Expected parameter \`text\` to be a \`string\`, got \`${typeof e}\`.`);const s=document.createElement("textarea"),a=document.activeElement;s.value=e,s.setAttribute("readonly",""),s.style.contain="strict",s.style.position="absolute",s.style.left="-9999px",s.style.fontSize="12pt";const o=document.getSelection(),i=o.rangeCount>0&&o.getRangeAt(0);n.append(s),s.select(),s.selectionStart=0,s.selectionEnd=e.length;let l=!1;try{l=document.execCommand("copy")}catch{}s.remove(),i&&(o.removeAllRanges(),o.addRange(i)),a&&a.focus()}(t),o(!0),l.current=window.setTimeout((()=>{o(!1)}),1e3)}),[t]);return(0,s.useEffect)((()=>()=>window.clearTimeout(l.current)),[]),(0,i.jsx)("button",{type:"button","aria-label":a?(0,b.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,b.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,b.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,u.Z)("clean-btn",n,_e.copyButton,a&&_e.copyButtonCopied),onClick:c,children:(0,i.jsxs)("span",{className:_e.copyButtonIcons,"aria-hidden":"true",children:[(0,i.jsx)(Le,{className:_e.copyButtonIcon}),(0,i.jsx)(ye,{className:_e.copyButtonSuccessIcon})]})})}function we(e){return(0,i.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,i.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}const Ze={wordWrapButtonIcon:"wordWrapButtonIcon_RDpj",wordWrapButtonEnabled:"wordWrapButtonEnabled_tVnV"};function Te(e){let{className:t,onClick:n,isEnabled:s}=e;const a=(0,b.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,i.jsx)("button",{type:"button",onClick:n,className:(0,u.Z)("clean-btn",t,s&&Ze.wordWrapButtonEnabled),"aria-label":a,title:a,children:(0,i.jsx)(we,{className:Ze.wordWrapButtonIcon,"aria-hidden":"true"})})}function Ee(e){let{children:t,className:n="",metastring:a,title:o,showLineNumbers:l,language:c}=e;const{prism:{defaultLanguage:r,magicComments:d}}=(0,M.L)(),m=function(e){return e?.toLowerCase()}(c??function(e){const t=e.split(" ").find((e=>e.startsWith("language-")));return t?.replace(/language-/,"")}(n)??r),h=le(),p=function(){const[e,t]=(0,s.useState)(!1),[n,a]=(0,s.useState)(!1),o=(0,s.useRef)(null),i=(0,s.useCallback)((()=>{const n=o.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t((e=>!e))}),[o,e]),l=(0,s.useCallback)((()=>{const{scrollWidth:e,clientWidth:t}=o.current,n=e>t||o.current.querySelector("code").hasAttribute("style");a(n)}),[o]);return ve(o,l),(0,s.useEffect)((()=>{l()}),[e,l]),(0,s.useEffect)((()=>(window.addEventListener("resize",l,{passive:!0}),()=>{window.removeEventListener("resize",l)})),[l]),{codeBlockRef:o,isEnabled:e,isCodeScrollable:n,toggle:i}}(),f=function(e){return e?.match(de)?.groups.title??""}(a)||o,{lineClassNames:x,code:g}=pe(t,{metastring:a,language:m,magicComments:d}),b=l??function(e){return Boolean(e?.includes("showLineNumbers"))}(a);return(0,i.jsxs)(xe,{as:"div",className:(0,u.Z)(n,m&&!n.includes(`language-${m}`)&&`language-${m}`),children:[f&&(0,i.jsx)("div",{className:ge.codeBlockTitle,children:f}),(0,i.jsxs)("div",{className:ge.codeBlockContent,children:[(0,i.jsx)(Ne.y$,{theme:h,code:g,language:m??"text",children:e=>{let{className:t,style:n,tokens:s,getLineProps:a,getTokenProps:o}=e;return(0,i.jsx)("pre",{tabIndex:0,ref:p.codeBlockRef,className:(0,u.Z)(t,ge.codeBlock,"thin-scrollbar"),style:n,children:(0,i.jsx)("code",{className:(0,u.Z)(ge.codeBlockLines,b&&ge.codeBlockLinesWithNumbering),children:s.map(((e,t)=>(0,i.jsx)(ke,{line:e,getLineProps:a,getTokenProps:o,classNames:x[t],showLineNumbers:b},t)))})})}}),(0,i.jsxs)("div",{className:ge.buttonGroup,children:[(p.isEnabled||p.isCodeScrollable)&&(0,i.jsx)(Te,{className:ge.codeButton,onClick:()=>p.toggle(),isEnabled:p.isEnabled}),(0,i.jsx)(Be,{className:ge.codeButton,code:g})]})]})]})}function Ae(e){let{children:t,...n}=e;const a=(0,oe.Z)(),o=function(e){return s.Children.toArray(e).some((e=>(0,s.isValidElement)(e)))?e:Array.isArray(e)?e.join(""):e}(t),l="string"==typeof o?Ee:be;return(0,i.jsx)(l,{...n,children:o},String(a))}const He={details:"details__0w5",isBrowser:"isBrowser_crgh",collapsibleContent:"collapsibleContent_IA5c"};function Ie(e){return!!e&&("SUMMARY"===e.tagName||Ie(e.parentElement))}function Me(e,t){return!!e&&(e===t||Me(e.parentElement,t))}function Ue(e){let{summary:t,children:n,...a}=e;const o=(0,oe.Z)(),l=(0,s.useRef)(null),{collapsed:c,setCollapsed:r}=(0,I.u)({initialState:!a.open}),[d,m]=(0,s.useState)(a.open),h=s.isValidElement(t)?t:(0,i.jsx)("summary",{children:t??"Details"});return(0,i.jsxs)("details",{...a,ref:l,open:d,"data-collapsed":c,className:(0,u.Z)(He.details,o&&He.isBrowser,a.className),onMouseDown:e=>{Ie(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();const t=e.target;Ie(t)&&Me(t,l.current)&&(e.preventDefault(),c?(r(!1),m(!0)):r(!0))},children:[h,(0,i.jsx)(I.z,{lazy:!1,collapsed:c,disableSSRStyle:!0,onCollapseTransitionEnd:e=>{r(e),m(!e)},children:(0,i.jsx)("div",{className:He.collapsibleContent,children:n})})]})}const Se={details:"details_m1yB"},ze="alert alert--info";function Re(e){let{...t}=e;return(0,i.jsx)(Ue,{...t,className:(0,u.Z)(ze,Se.details,t.className)})}function Ve(e){const t=s.Children.toArray(e.children),n=t.find((e=>s.isValidElement(e)&&"summary"===e.type)),a=(0,i.jsx)(i.Fragment,{children:t.filter((e=>e!==n))});return(0,i.jsx)(Re,{...e,summary:n,children:a})}function Oe(e){return(0,i.jsx)(ne.Z,{...e})}const Pe={containsTaskList:"containsTaskList_EXnq"};function De(e){if(void 0!==e)return(0,u.Z)(e,e?.includes("contains-task-list")&&Pe.containsTaskList)}const $e={img:"img_Cqxl"};function We(e){const{mdxAdmonitionTitle:t,rest:n}=function(e){const t=s.Children.toArray(e),n=t.find((e=>s.isValidElement(e)&&"mdxAdmonitionTitle"===e.type)),a=t.filter((e=>e!==n)),o=n?.props.children;return{mdxAdmonitionTitle:o,rest:a.length>0?(0,i.jsx)(i.Fragment,{children:a}):null}}(e.children),a=e.title??t;return{...e,...a&&{title:a},children:n}}const Fe={admonition:"admonition_MDQZ",admonitionHeading:"admonitionHeading_1BEx",admonitionIcon:"admonitionIcon_y6FV",admonitionContent:"admonitionContent_s3fC"};function qe(e){let{type:t,className:n,children:s}=e;return(0,i.jsx)("div",{className:(0,u.Z)(g.k.common.admonition,g.k.common.admonitionType(t),Fe.admonition,n),children:s})}function Ge(e){let{icon:t,title:n}=e;return(0,i.jsxs)("div",{className:Fe.admonitionHeading,children:[(0,i.jsx)("span",{className:Fe.admonitionIcon,children:t}),n]})}function Ke(e){let{children:t}=e;return t?(0,i.jsx)("div",{className:Fe.admonitionContent,children:t}):null}function Qe(e){const{type:t,icon:n,title:s,children:a,className:o}=e;return(0,i.jsxs)(qe,{type:t,className:o,children:[(0,i.jsx)(Ge,{title:s,icon:n}),(0,i.jsx)(Ke,{children:a})]})}function Xe(e){return(0,i.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,i.jsx)("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"})})}const Je={icon:(0,i.jsx)(Xe,{}),title:(0,i.jsx)(b.Z,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function Ye(e){return(0,i.jsx)(Qe,{...Je,...e,className:(0,u.Z)("alert alert--secondary",e.className),children:e.children})}function et(e){return(0,i.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,i.jsx)("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})})}const tt={icon:(0,i.jsx)(et,{}),title:(0,i.jsx)(b.Z,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function nt(e){return(0,i.jsx)(Qe,{...tt,...e,className:(0,u.Z)("alert alert--success",e.className),children:e.children})}function st(e){return(0,i.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,i.jsx)("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})})}const at={icon:(0,i.jsx)(st,{}),title:(0,i.jsx)(b.Z,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function ot(e){return(0,i.jsx)(Qe,{...at,...e,className:(0,u.Z)("alert alert--info",e.className),children:e.children})}function it(e){return(0,i.jsx)("svg",{viewBox:"0 0 16 16",...e,children:(0,i.jsx)("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"})})}const lt={icon:(0,i.jsx)(it,{}),title:(0,i.jsx)(b.Z,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})};function ct(e){return(0,i.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,i.jsx)("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"})})}const rt={icon:(0,i.jsx)(ct,{}),title:(0,i.jsx)(b.Z,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})};const dt={icon:(0,i.jsx)(it,{}),title:(0,i.jsx)(b.Z,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})};const ut={...{note:Ye,tip:nt,info:ot,warning:function(e){return(0,i.jsx)(Qe,{...lt,...e,className:(0,u.Z)("alert alert--warning",e.className),children:e.children})},danger:function(e){return(0,i.jsx)(Qe,{...rt,...e,className:(0,u.Z)("alert alert--danger",e.className),children:e.children})}},...{secondary:e=>(0,i.jsx)(Ye,{title:"secondary",...e}),important:e=>(0,i.jsx)(ot,{title:"important",...e}),success:e=>(0,i.jsx)(nt,{title:"success",...e}),caution:function(e){return(0,i.jsx)(Qe,{...dt,...e,className:(0,u.Z)("alert alert--warning",e.className),children:e.children})}}};function mt(e){const t=We(e),n=(s=t.type,ut[s]||(console.warn(`No admonition component found for admonition type "${s}". Using Info as fallback.`),ut.info));var s;return(0,i.jsx)(n,{...t})}var ht=n(1361);const pt={Head:ae.Z,details:Ve,Details:Ve,code:function(e){return s.Children.toArray(e.children).every((e=>"string"==typeof e&&!e.includes("\n")))?(0,i.jsx)("code",{...e}):(0,i.jsx)(Ae,{...e})},a:function(e){return(0,i.jsx)(C.Z,{...e})},pre:function(e){return(0,i.jsx)(i.Fragment,{children:e.children})},ul:function(e){return(0,i.jsx)("ul",{...e,className:De(e.className)})},img:function(e){return(0,i.jsx)("img",{loading:"lazy",...e,className:(t=e.className,(0,u.Z)(t,$e.img))});var t},h1:e=>(0,i.jsx)(Oe,{as:"h1",...e}),h2:e=>(0,i.jsx)(Oe,{as:"h2",...e}),h3:e=>(0,i.jsx)(Oe,{as:"h3",...e}),h4:e=>(0,i.jsx)(Oe,{as:"h4",...e}),h5:e=>(0,i.jsx)(Oe,{as:"h5",...e}),h6:e=>(0,i.jsx)(Oe,{as:"h6",...e}),admonition:mt,mermaid:ht.Z};function ft(e){let{children:t}=e;return(0,i.jsx)(se.Z,{components:pt,children:t})}function xt(e){let{children:t}=e;const n=function(){const{metadata:e,frontMatter:t,contentTitle:n}=r();return t.hide_title||void 0!==n?null:e.title}();return(0,i.jsxs)("div",{className:(0,u.Z)(g.k.docs.docMarkdown,"markdown"),children:[n&&(0,i.jsx)("header",{children:(0,i.jsx)(ne.Z,{as:"h1",children:n})}),(0,i.jsx)(ft,{children:t})]})}var gt=n(8811);function bt(){return(0,i.jsx)(b.Z,{id:"theme.unlistedContent.title",description:"The unlisted content banner title",children:"Unlisted page"})}function jt(){return(0,i.jsx)(b.Z,{id:"theme.unlistedContent.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function vt(){return(0,i.jsx)(ae.Z,{children:(0,i.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}function Nt(e){let{className:t}=e;return(0,i.jsx)(mt,{type:"caution",title:(0,i.jsx)(bt,{}),className:(0,u.Z)(t,g.k.common.unlistedBanner),children:(0,i.jsx)(jt,{})})}function Ct(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(vt,{}),(0,i.jsx)(Nt,{...e})]})}const kt={docItemContainer:"docItemContainer_xnBR",docItemCol:"docItemCol_oiza"};function Lt(e){let{children:t}=e;const n=function(){const{frontMatter:e,toc:t}=r(),n=(0,m.i)(),s=e.hide_table_of_contents,a=!s&&t.length>0;return{hidden:s,mobile:a?(0,i.jsx)(Q,{}):void 0,desktop:!a||"desktop"!==n&&"ssr"!==n?void 0:(0,i.jsx)(te,{})}}(),{metadata:{unlisted:s}}=r();return(0,i.jsxs)("div",{className:"row",children:[(0,i.jsxs)("div",{className:(0,u.Z)("col",!n.hidden&&kt.docItemCol),children:[s&&(0,i.jsx)(Ct,{}),(0,i.jsx)(f.Z,{}),(0,i.jsxs)("div",{className:kt.docItemContainer,children:[(0,i.jsxs)("article",{children:[(0,i.jsx)(gt.Z,{}),(0,i.jsx)(x.Z,{}),n.mobile,(0,i.jsx)(xt,{children:t}),(0,i.jsx)(H,{})]}),(0,i.jsx)(p,{})]})]}),n.desktop&&(0,i.jsx)("div",{className:"col col--3",children:n.desktop})]})}function yt(e){const t=`docs-doc-id-${e.content.metadata.id}`,n=e.content;return(0,i.jsx)(c,{content:e.content,children:(0,i.jsxs)(a.FG,{className:t,children:[(0,i.jsx)(d,{}),(0,i.jsx)(Lt,{children:(0,i.jsx)(n,{})})]})})}},5008:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});n(79);var s=n(6138),a=n(3230),o=n(8263),i=n(5250);function l(e){const{permalink:t,title:n,subLabel:s,isNext:l}=e;return(0,i.jsxs)(o.Z,{className:(0,a.Z)("pagination-nav__link",l?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t,children:[s&&(0,i.jsx)("div",{className:"pagination-nav__sublabel",children:s}),(0,i.jsx)("div",{className:"pagination-nav__label",children:n})]})}function c(e){const{previous:t,next:n}=e;return(0,i.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,s.I)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"}),children:[t&&(0,i.jsx)(l,{...t,subLabel:(0,i.jsx)(s.Z,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc",children:"Previous"})}),n&&(0,i.jsx)(l,{...n,subLabel:(0,i.jsx)(s.Z,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc",children:"Next"}),isNext:!0})]})}},5729:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});n(79);var s=n(3230),a=n(6138),o=n(6605),i=n(7286),l=n(5250);function c(e){let{className:t}=e;const n=(0,i.E)();return n.badge?(0,l.jsx)("span",{className:(0,s.Z)(t,o.k.docs.docVersionBadge,"badge badge--secondary"),children:(0,l.jsx)(a.Z,{id:"theme.docs.versionBadge.label",values:{versionLabel:n.label},children:"Version: {versionLabel}"})}):null}},3996:(e,t,n)=>{"use strict";n.d(t,{Z:()=>x});n(79);var s=n(3230),a=n(7268),o=n(8263),i=n(6138),l=n(5050),c=n(6605),r=n(7959),d=n(7286),u=n(5250);const m={unreleased:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,u.jsx)(i.Z,{id:"theme.docs.versions.unreleasedVersionLabel",description:"The label used to tell the user that he's browsing an unreleased doc version",values:{siteTitle:t,versionLabel:(0,u.jsx)("b",{children:n.label})},children:"This is unreleased documentation for {siteTitle} {versionLabel} version."})},unmaintained:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,u.jsx)(i.Z,{id:"theme.docs.versions.unmaintainedVersionLabel",description:"The label used to tell the user that he's browsing an unmaintained doc version",values:{siteTitle:t,versionLabel:(0,u.jsx)("b",{children:n.label})},children:"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained."})}};function h(e){const t=m[e.versionMetadata.banner];return(0,u.jsx)(t,{...e})}function p(e){let{versionLabel:t,to:n,onClick:s}=e;return(0,u.jsx)(i.Z,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:t,latestVersionLink:(0,u.jsx)("b",{children:(0,u.jsx)(o.Z,{to:n,onClick:s,children:(0,u.jsx)(i.Z,{id:"theme.docs.versions.latestVersionLinkLabel",description:"The label used for the latest version suggestion link label",children:"latest version"})})})},children:"For up-to-date documentation, see the {latestVersionLink} ({versionLabel})."})}function f(e){let{className:t,versionMetadata:n}=e;const{siteConfig:{title:o}}=(0,a.Z)(),{pluginId:i}=(0,l.gA)({failfast:!0}),{savePreferredVersionName:d}=(0,r.J)(i),{latestDocSuggestion:m,latestVersionSuggestion:f}=(0,l.Jo)(i),x=m??(g=f).docs.find((e=>e.id===g.mainDocId));var g;return(0,u.jsxs)("div",{className:(0,s.Z)(t,c.k.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert",children:[(0,u.jsx)("div",{children:(0,u.jsx)(h,{siteTitle:o,versionMetadata:n})}),(0,u.jsx)("div",{className:"margin-top--md",children:(0,u.jsx)(p,{versionLabel:f.label,to:x.path,onClick:()=>d(f.name)})})]})}function x(e){let{className:t}=e;const n=(0,d.E)();return n.banner?(0,u.jsx)(f,{className:t,versionMetadata:n}):null}},6494:(e,t)=>{function n(e){let t,n=[];for(let s of e.split(",").map((e=>e.trim())))if(/^-?\d+$/.test(s))n.push(parseInt(s,10));else if(t=s.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[e,s,a,o]=t;if(s&&o){s=parseInt(s),o=parseInt(o);const e=s{"use strict";n.d(t,{Z:()=>l,a:()=>i});var s=n(79);const a={},o=s.createContext(a);function i(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/17896441.496f6cf7.js b/assets/js/17896441.496f6cf7.js
new file mode 100644
index 00000000..36c72a02
--- /dev/null
+++ b/assets/js/17896441.496f6cf7.js
@@ -0,0 +1 @@
+(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[401],{8899:(e,t,n)=>{"use strict";n.d(t,{A:()=>b});n(8318);var s=n(6601),a=n(4955),o=n(6490),i=n(3197),c=n(2748),l=n(2244),r=n(9303),d=n(9214);function u(e){return(0,d.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,d.jsx)("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z",fill:"currentColor"})})}const m={breadcrumbHomeIcon:"breadcrumbHomeIcon_LNkd"};function h(){const e=(0,r.A)("/");return(0,d.jsx)("li",{className:"breadcrumbs__item",children:(0,d.jsx)(c.A,{"aria-label":(0,l.T)({id:"theme.docs.breadcrumbs.home",message:"Home page",description:"The ARIA label for the home page in the breadcrumbs"}),className:"breadcrumbs__link",href:e,children:(0,d.jsx)(u,{className:m.breadcrumbHomeIcon})})})}const p={breadcrumbsContainer:"breadcrumbsContainer_MCAL"};function f(e){let{children:t,href:n,isLast:s}=e;const a="breadcrumbs__link";return s?(0,d.jsx)("span",{className:a,itemProp:"name",children:t}):n?(0,d.jsx)(c.A,{className:a,href:n,itemProp:"item",children:(0,d.jsx)("span",{itemProp:"name",children:t})}):(0,d.jsx)("span",{className:a,children:t})}function x(e){let{children:t,active:n,index:a,addMicrodata:o}=e;return(0,d.jsxs)("li",{...o&&{itemScope:!0,itemProp:"itemListElement",itemType:"https://schema.org/ListItem"},className:(0,s.A)("breadcrumbs__item",{"breadcrumbs__item--active":n}),children:[t,(0,d.jsx)("meta",{itemProp:"position",content:String(a+1)})]})}function b(){const e=(0,o.OF)(),t=(0,i.Dt)();return e?(0,d.jsx)("nav",{className:(0,s.A)(a.G.docs.docBreadcrumbs,p.breadcrumbsContainer),"aria-label":(0,l.T)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"}),children:(0,d.jsxs)("ul",{className:"breadcrumbs",itemScope:!0,itemType:"https://schema.org/BreadcrumbList",children:[t&&(0,d.jsx)(h,{}),e.map(((t,n)=>{const s=n===e.length-1,a="category"===t.type&&t.linkUnlisted?void 0:t.href;return(0,d.jsx)(x,{active:s,index:n,addMicrodata:!!a,children:(0,d.jsx)(f,{href:a,isLast:s,children:t.label})},n)}))]})}):null}},367:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>Tt});var s=n(8318),a=n(9586),o=n(1568),i=n(9214);const c=s.createContext(null);function l(e){let{children:t,content:n}=e;const a=function(e){return(0,s.useMemo)((()=>({metadata:e.metadata,frontMatter:e.frontMatter,assets:e.assets,contentTitle:e.contentTitle,toc:e.toc})),[e])}(n);return(0,i.jsx)(c.Provider,{value:a,children:t})}function r(){const e=(0,s.useContext)(c);if(null===e)throw new o.dV("DocProvider");return e}function d(){const{metadata:e,frontMatter:t,assets:n}=r();return(0,i.jsx)(a.be,{title:e.title,description:e.description,keywords:t.keywords,image:n.image??t.image})}var u=n(6601),m=n(6657),h=n(361);function p(){const{metadata:e}=r();return(0,i.jsx)(h.A,{previous:e.previous,next:e.next})}var f=n(788),x=n(8485),b=n(4955),g=n(2244),v=n(2748);const j={tag:"tag_TcOn",tagRegular:"tagRegular__Ox_",tagWithCount:"tagWithCount_qNYo"};function N(e){let{permalink:t,label:n,count:s}=e;return(0,i.jsxs)(v.A,{href:t,className:(0,u.A)(j.tag,s?j.tagWithCount:j.tagRegular),children:[n,s&&(0,i.jsx)("span",{children:s})]})}const A={tags:"tags_h_qB",tag:"tag_qAPN"};function C(e){let{tags:t}=e;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("b",{children:(0,i.jsx)(g.A,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list",children:"Tags:"})}),(0,i.jsx)("ul",{className:(0,u.A)(A.tags,"padding--none","margin-left--sm"),children:t.map((e=>{let{label:t,permalink:n}=e;return(0,i.jsx)("li",{className:A.tag,children:(0,i.jsx)(N,{label:t,permalink:n})},n)}))})]})}const k={iconEdit:"iconEdit_b02C"};function y(e){let{className:t,...n}=e;return(0,i.jsx)("svg",{fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,u.A)(k.iconEdit,t),"aria-hidden":"true",...n,children:(0,i.jsx)("g",{children:(0,i.jsx)("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"})})})}function L(e){let{editUrl:t}=e;return(0,i.jsxs)(v.A,{to:t,className:b.G.common.editThisPage,children:[(0,i.jsx)(y,{}),(0,i.jsx)(g.A,{id:"theme.common.editThisPage",description:"The link label to edit the current page",children:"Edit this page"})]})}var _=n(7940);function B(e){void 0===e&&(e={});const{i18n:{currentLocale:t}}=(0,_.A)(),n=function(){const{i18n:{currentLocale:e,localeConfigs:t}}=(0,_.A)();return t[e].calendar}();return new Intl.DateTimeFormat(t,{calendar:n,...e})}function w(e){let{lastUpdatedAt:t}=e;const n=new Date(t),s=B({day:"numeric",month:"short",year:"numeric",timeZone:"UTC"}).format(n);return(0,i.jsx)(g.A,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:(0,i.jsx)("b",{children:(0,i.jsx)("time",{dateTime:n.toISOString(),itemProp:"dateModified",children:s})})},children:" on {date}"})}function T(e){let{lastUpdatedBy:t}=e;return(0,i.jsx)(g.A,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:(0,i.jsx)("b",{children:t})},children:" by {user}"})}function E(e){let{lastUpdatedAt:t,lastUpdatedBy:n}=e;return(0,i.jsxs)("span",{className:b.G.common.lastUpdated,children:[(0,i.jsx)(g.A,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:t?(0,i.jsx)(w,{lastUpdatedAt:t}):"",byUser:n?(0,i.jsx)(T,{lastUpdatedBy:n}):""},children:"Last updated{atDate}{byUser}"}),!1]})}const H={lastUpdated:"lastUpdated_RDRp"};function M(e){let{className:t,editUrl:n,lastUpdatedAt:s,lastUpdatedBy:a}=e;return(0,i.jsxs)("div",{className:(0,u.A)("row",t),children:[(0,i.jsx)("div",{className:"col",children:n&&(0,i.jsx)(L,{editUrl:n})}),(0,i.jsx)("div",{className:(0,u.A)("col",H.lastUpdated),children:(s||a)&&(0,i.jsx)(E,{lastUpdatedAt:s,lastUpdatedBy:a})})]})}function I(){const{metadata:e}=r(),{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:s,tags:a}=e,o=a.length>0,c=!!(t||n||s);return o||c?(0,i.jsxs)("footer",{className:(0,u.A)(b.G.docs.docFooter,"docusaurus-mt-lg"),children:[o&&(0,i.jsx)("div",{className:(0,u.A)("row margin-top--sm",b.G.docs.docFooterTagsRow),children:(0,i.jsx)("div",{className:"col",children:(0,i.jsx)(C,{tags:a})})}),c&&(0,i.jsx)(M,{className:(0,u.A)("margin-top--sm",b.G.docs.docFooterEditMetaRow),editUrl:t,lastUpdatedAt:n,lastUpdatedBy:s})]}):null}var S=n(6946),U=n(9042);function R(e){const t=e.map((e=>({...e,parentIndex:-1,children:[]}))),n=Array(7).fill(-1);t.forEach(((e,t)=>{const s=n.slice(2,e.level);e.parentIndex=Math.max(...s),n[e.level]=t}));const s=[];return t.forEach((e=>{const{parentIndex:n,...a}=e;n>=0?t[n].children.push(a):s.push(a)})),s}function z(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:s}=e;return t.flatMap((e=>{const t=z({toc:e.children,minHeadingLevel:n,maxHeadingLevel:s});return function(e){return e.level>=n&&e.level<=s}(e)?[{...e,children:t}]:t}))}function O(e){const t=e.getBoundingClientRect();return t.top===t.bottom?O(e.parentNode):t}function V(e,t){let{anchorTopOffset:n}=t;const s=e.find((e=>O(e).top>=n));if(s){return function(e){return e.top>0&&e.bottom{e.current=t?0:document.querySelector(".navbar").clientHeight}),[t]),e}function W(e){const t=(0,s.useRef)(void 0),n=P();(0,s.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:s,linkActiveClassName:a,minHeadingLevel:o,maxHeadingLevel:i}=e;function c(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(s),c=function(e){let{minHeadingLevel:t,maxHeadingLevel:n}=e;const s=[];for(let a=t;a<=n;a+=1)s.push(`h${a}.anchor`);return Array.from(document.querySelectorAll(s.join()))}({minHeadingLevel:o,maxHeadingLevel:i}),l=V(c,{anchorTopOffset:n.current}),r=e.find((e=>l&&l.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e)));e.forEach((e=>{!function(e,n){n?(t.current&&t.current!==e&&t.current.classList.remove(a),e.classList.add(a),t.current=e):e.classList.remove(a)}(e,e===r)}))}return document.addEventListener("scroll",c),document.addEventListener("resize",c),c(),()=>{document.removeEventListener("scroll",c),document.removeEventListener("resize",c)}}),[e,n])}function D(e){let{toc:t,className:n,linkClassName:s,isChild:a}=e;return t.length?(0,i.jsx)("ul",{className:a?void 0:n,children:t.map((e=>(0,i.jsxs)("li",{children:[(0,i.jsx)(v.A,{to:`#${e.id}`,className:s??void 0,dangerouslySetInnerHTML:{__html:e.value}}),(0,i.jsx)(D,{isChild:!0,toc:e.children,className:n,linkClassName:s})]},e.id)))}):null}const q=s.memo(D);function G(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:a="table-of-contents__link",linkActiveClassName:o,minHeadingLevel:c,maxHeadingLevel:l,...r}=e;const d=(0,U.p)(),u=c??d.tableOfContents.minHeadingLevel,m=l??d.tableOfContents.maxHeadingLevel,h=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:a}=e;return(0,s.useMemo)((()=>z({toc:R(t),minHeadingLevel:n,maxHeadingLevel:a})),[t,n,a])}({toc:t,minHeadingLevel:u,maxHeadingLevel:m});return W((0,s.useMemo)((()=>{if(a&&o)return{linkClassName:a,linkActiveClassName:o,minHeadingLevel:u,maxHeadingLevel:m}}),[a,o,u,m])),(0,i.jsx)(q,{toc:h,className:n,linkClassName:a,...r})}const $={tocCollapsibleButton:"tocCollapsibleButton_HvO1",tocCollapsibleButtonExpanded:"tocCollapsibleButtonExpanded_Y5eq"};function F(e){let{collapsed:t,...n}=e;return(0,i.jsx)("button",{type:"button",...n,className:(0,u.A)("clean-btn",$.tocCollapsibleButton,!t&&$.tocCollapsibleButtonExpanded,n.className),children:(0,i.jsx)(g.A,{id:"theme.TOCCollapsible.toggleButtonLabel",description:"The label used by the button on the collapsible TOC component",children:"On this page"})})}const K={tocCollapsible:"tocCollapsible_3mEJ",tocCollapsibleContent:"tocCollapsibleContent_gUYS",tocCollapsibleExpanded:"tocCollapsibleExpanded_MwNh"};function Y(e){let{toc:t,className:n,minHeadingLevel:s,maxHeadingLevel:a}=e;const{collapsed:o,toggleCollapsed:c}=(0,S.u)({initialState:!0});return(0,i.jsxs)("div",{className:(0,u.A)(K.tocCollapsible,!o&&K.tocCollapsibleExpanded,n),children:[(0,i.jsx)(F,{collapsed:o,onClick:c}),(0,i.jsx)(S.N,{lazy:!0,className:K.tocCollapsibleContent,collapsed:o,children:(0,i.jsx)(G,{toc:t,minHeadingLevel:s,maxHeadingLevel:a})})]})}const Z={tocMobile:"tocMobile_RWKW"};function Q(){const{toc:e,frontMatter:t}=r();return(0,i.jsx)(Y,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:(0,u.A)(b.G.docs.docTocMobile,Z.tocMobile)})}const X={tableOfContents:"tableOfContents_Q98t",docItemContainer:"docItemContainer_MR74"},J="table-of-contents__link toc-highlight",ee="table-of-contents__link--active";function te(e){let{className:t,...n}=e;return(0,i.jsx)("div",{className:(0,u.A)(X.tableOfContents,"thin-scrollbar",t),children:(0,i.jsx)(G,{...n,linkClassName:J,linkActiveClassName:ee})})}function ne(){const{toc:e,frontMatter:t}=r();return(0,i.jsx)(te,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:b.G.docs.docTocDesktop})}var se=n(9790),ae=n(3159),oe=n(298),ie=n(1277),ce=n(3745);function le(){const{prism:e}=(0,U.p)(),{colorMode:t}=(0,ce.G)(),n=e.theme,s=e.darkTheme||n;return"dark"===t?s:n}var re=n(1357),de=n.n(re);const ue=/title=(?["'])(?.*?)\1/,me=/\{(?[\d,-]+)\}/,he={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},pe={...he,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},vbnet:{start:"(?:_\\s*)?['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},fe=Object.keys(he);function xe(e,t){const n=e.map((e=>{const{start:n,end:s}=pe[e];return`(?:${n}\\s*(${t.flatMap((e=>[e.line,e.block?.start,e.block?.end].filter(Boolean))).join("|")})\\s*${s})`})).join("|");return new RegExp(`^\\s*(?:${n})\\s*$`)}function be(e,t){let n=e.replace(/\n$/,"");const{language:s,magicComments:a,metastring:o}=t;if(o&&me.test(o)){const e=o.match(me).groups.range;if(0===a.length)throw new Error(`A highlight range has been given in code block's metastring (\`\`\` ${o}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);const t=a[0].className,s=de()(e).filter((e=>e>0)).map((e=>[e-1,[t]]));return{lineClassNames:Object.fromEntries(s),code:n}}if(void 0===s)return{lineClassNames:{},code:n};const i=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return xe(["js","jsBlock"],t);case"jsx":case"tsx":return xe(["js","jsBlock","jsx"],t);case"html":return xe(["js","jsBlock","html"],t);case"python":case"py":case"bash":return xe(["bash"],t);case"markdown":case"md":return xe(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return xe(["tex"],t);case"lua":case"haskell":case"sql":return xe(["lua"],t);case"wasm":return xe(["wasm"],t);case"vb":case"vba":case"visual-basic":return xe(["vb","rem"],t);case"vbnet":return xe(["vbnet","rem"],t);case"batch":return xe(["rem"],t);case"basic":return xe(["rem","f90"],t);case"fsharp":return xe(["js","ml"],t);case"ocaml":case"sml":return xe(["ml"],t);case"fortran":return xe(["f90"],t);case"cobol":return xe(["cobol"],t);default:return xe(fe,t)}}(s,a),c=n.split("\n"),l=Object.fromEntries(a.map((e=>[e.className,{start:0,range:""}]))),r=Object.fromEntries(a.filter((e=>e.line)).map((e=>{let{className:t,line:n}=e;return[n,t]}))),d=Object.fromEntries(a.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.start,t]}))),u=Object.fromEntries(a.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.end,t]})));for(let h=0;hvoid 0!==e));r[t]?l[r[t]].range+=`${h},`:d[t]?l[d[t]].start=h:u[t]&&(l[u[t]].range+=`${l[u[t]].start}-${h-1},`),c.splice(h,1)}n=c.join("\n");const m={};return Object.entries(l).forEach((e=>{let[t,{range:n}]=e;de()(n).forEach((e=>{m[e]??=[],m[e].push(t)}))})),{lineClassNames:m,code:n}}const ge={codeBlockContainer:"codeBlockContainer_o7sT"};function ve(e){let{as:t,...n}=e;const s=function(e){const t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach((e=>{let[s,a]=e;const o=t[s];o&&"string"==typeof a&&(n[o]=a)})),n}(le());return(0,i.jsx)(t,{...n,style:s,className:(0,u.A)(n.className,ge.codeBlockContainer,b.G.common.codeBlock)})}const je={codeBlockContent:"codeBlockContent_XvFc",codeBlockTitle:"codeBlockTitle_IitW",codeBlock:"codeBlock_U4pN",codeBlockStandalone:"codeBlockStandalone_DfEn",codeBlockLines:"codeBlockLines_IRKw",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_q7Be",buttonGroup:"buttonGroup_PxBI"};function Ne(e){let{children:t,className:n}=e;return(0,i.jsx)(ve,{as:"pre",tabIndex:0,className:(0,u.A)(je.codeBlockStandalone,"thin-scrollbar",n),children:(0,i.jsx)("code",{className:je.codeBlockLines,children:t})})}const Ae={attributes:!0,characterData:!0,childList:!0,subtree:!0};function Ce(e,t){const[n,a]=(0,s.useState)(),i=(0,s.useCallback)((()=>{a(e.current?.closest("[role=tabpanel][hidden]"))}),[e,a]);(0,s.useEffect)((()=>{i()}),[i]),function(e,t,n){void 0===n&&(n=Ae);const a=(0,o._q)(t),i=(0,o.Be)(n);(0,s.useEffect)((()=>{const t=new MutationObserver(a);return e&&t.observe(e,i),()=>t.disconnect()}),[e,a,i])}(n,(e=>{e.forEach((e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),i())}))}),{attributes:!0,characterData:!1,childList:!1,subtree:!1})}var ke=n(9095);const ye={codeLine:"codeLine_yEMT",codeLineNumber:"codeLineNumber_vv5L",codeLineContent:"codeLineContent_Z6Y8"};function Le(e){let{line:t,classNames:n,showLineNumbers:s,getLineProps:a,getTokenProps:o}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");const c=a({line:t,className:(0,u.A)(n,s&&ye.codeLine)}),l=t.map(((e,t)=>(0,i.jsx)("span",{...o({token:e,key:t})},t)));return(0,i.jsxs)("span",{...c,children:[s?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("span",{className:ye.codeLineNumber}),(0,i.jsx)("span",{className:ye.codeLineContent,children:l})]}):l,(0,i.jsx)("br",{})]})}function _e(e){return(0,i.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,i.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function Be(e){return(0,i.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,i.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}const we={copyButtonCopied:"copyButtonCopied_nqPX",copyButtonIcons:"copyButtonIcons_Peqn",copyButtonIcon:"copyButtonIcon_quKz",copyButtonSuccessIcon:"copyButtonSuccessIcon_eyQu"};function Te(e){let{code:t,className:n}=e;const[a,o]=(0,s.useState)(!1),c=(0,s.useRef)(void 0),l=(0,s.useCallback)((()=>{!function(e,t){let{target:n=document.body}=void 0===t?{}:t;if("string"!=typeof e)throw new TypeError(`Expected parameter \`text\` to be a \`string\`, got \`${typeof e}\`.`);const s=document.createElement("textarea"),a=document.activeElement;s.value=e,s.setAttribute("readonly",""),s.style.contain="strict",s.style.position="absolute",s.style.left="-9999px",s.style.fontSize="12pt";const o=document.getSelection(),i=o.rangeCount>0&&o.getRangeAt(0);n.append(s),s.select(),s.selectionStart=0,s.selectionEnd=e.length;let c=!1;try{c=document.execCommand("copy")}catch{}s.remove(),i&&(o.removeAllRanges(),o.addRange(i)),a&&a.focus()}(t),o(!0),c.current=window.setTimeout((()=>{o(!1)}),1e3)}),[t]);return(0,s.useEffect)((()=>()=>window.clearTimeout(c.current)),[]),(0,i.jsx)("button",{type:"button","aria-label":a?(0,g.T)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,g.T)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,g.T)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,u.A)("clean-btn",n,we.copyButton,a&&we.copyButtonCopied),onClick:l,children:(0,i.jsxs)("span",{className:we.copyButtonIcons,"aria-hidden":"true",children:[(0,i.jsx)(_e,{className:we.copyButtonIcon}),(0,i.jsx)(Be,{className:we.copyButtonSuccessIcon})]})})}function Ee(e){return(0,i.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,i.jsx)("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"})})}const He={wordWrapButtonIcon:"wordWrapButtonIcon_caaT",wordWrapButtonEnabled:"wordWrapButtonEnabled_cQl6"};function Me(e){let{className:t,onClick:n,isEnabled:s}=e;const a=(0,g.T)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,i.jsx)("button",{type:"button",onClick:n,className:(0,u.A)("clean-btn",t,s&&He.wordWrapButtonEnabled),"aria-label":a,title:a,children:(0,i.jsx)(Ee,{className:He.wordWrapButtonIcon,"aria-hidden":"true"})})}function Ie(e){let{children:t,className:n="",metastring:a,title:o,showLineNumbers:c,language:l}=e;const{prism:{defaultLanguage:r,magicComments:d}}=(0,U.p)(),m=function(e){return e?.toLowerCase()}(l??function(e){const t=e.split(" ").find((e=>e.startsWith("language-")));return t?.replace(/language-/,"")}(n)??r),h=le(),p=function(){const[e,t]=(0,s.useState)(!1),[n,a]=(0,s.useState)(!1),o=(0,s.useRef)(null),i=(0,s.useCallback)((()=>{const n=o.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t((e=>!e))}),[o,e]),c=(0,s.useCallback)((()=>{const{scrollWidth:e,clientWidth:t}=o.current,n=e>t||o.current.querySelector("code").hasAttribute("style");a(n)}),[o]);return Ce(o,c),(0,s.useEffect)((()=>{c()}),[e,c]),(0,s.useEffect)((()=>(window.addEventListener("resize",c,{passive:!0}),()=>{window.removeEventListener("resize",c)})),[c]),{codeBlockRef:o,isEnabled:e,isCodeScrollable:n,toggle:i}}(),f=function(e){return e?.match(ue)?.groups.title??""}(a)||o,{lineClassNames:x,code:b}=be(t,{metastring:a,language:m,magicComments:d}),g=c??function(e){return Boolean(e?.includes("showLineNumbers"))}(a);return(0,i.jsxs)(ve,{as:"div",className:(0,u.A)(n,m&&!n.includes(`language-${m}`)&&`language-${m}`),children:[f&&(0,i.jsx)("div",{className:je.codeBlockTitle,children:f}),(0,i.jsxs)("div",{className:je.codeBlockContent,children:[(0,i.jsx)(ke.f4,{theme:h,code:b,language:m??"text",children:e=>{let{className:t,style:n,tokens:s,getLineProps:a,getTokenProps:o}=e;return(0,i.jsx)("pre",{tabIndex:0,ref:p.codeBlockRef,className:(0,u.A)(t,je.codeBlock,"thin-scrollbar"),style:n,children:(0,i.jsx)("code",{className:(0,u.A)(je.codeBlockLines,g&&je.codeBlockLinesWithNumbering),children:s.map(((e,t)=>(0,i.jsx)(Le,{line:e,getLineProps:a,getTokenProps:o,classNames:x[t],showLineNumbers:g},t)))})})}}),(0,i.jsxs)("div",{className:je.buttonGroup,children:[(p.isEnabled||p.isCodeScrollable)&&(0,i.jsx)(Me,{className:je.codeButton,onClick:()=>p.toggle(),isEnabled:p.isEnabled}),(0,i.jsx)(Te,{className:je.codeButton,code:b})]})]})]})}function Se(e){let{children:t,...n}=e;const a=(0,ie.A)(),o=function(e){return s.Children.toArray(e).some((e=>(0,s.isValidElement)(e)))?e:Array.isArray(e)?e.join(""):e}(t),c="string"==typeof o?Ie:Ne;return(0,i.jsx)(c,{...n,children:o},String(a))}function Ue(e){return(0,i.jsx)("code",{...e})}var Re=n(940);const ze={details:"details_qlAf",isBrowser:"isBrowser_Ka6_",collapsibleContent:"collapsibleContent_eRqf"};function Oe(e){return!!e&&("SUMMARY"===e.tagName||Oe(e.parentElement))}function Ve(e,t){return!!e&&(e===t||Ve(e.parentElement,t))}function Pe(e){let{summary:t,children:n,...a}=e;(0,Re.A)().collectAnchor(a.id);const o=(0,ie.A)(),c=(0,s.useRef)(null),{collapsed:l,setCollapsed:r}=(0,S.u)({initialState:!a.open}),[d,m]=(0,s.useState)(a.open),h=s.isValidElement(t)?t:(0,i.jsx)("summary",{children:t??"Details"});return(0,i.jsxs)("details",{...a,ref:c,open:d,"data-collapsed":l,className:(0,u.A)(ze.details,o&&ze.isBrowser,a.className),onMouseDown:e=>{Oe(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();const t=e.target;Oe(t)&&Ve(t,c.current)&&(e.preventDefault(),l?(r(!1),m(!0)):r(!0))},children:[h,(0,i.jsx)(S.N,{lazy:!1,collapsed:l,disableSSRStyle:!0,onCollapseTransitionEnd:e=>{r(e),m(!e)},children:(0,i.jsx)("div",{className:ze.collapsibleContent,children:n})})]})}const We={details:"details_dACs"},De="alert alert--info";function qe(e){let{...t}=e;return(0,i.jsx)(Pe,{...t,className:(0,u.A)(De,We.details,t.className)})}function Ge(e){const t=s.Children.toArray(e.children),n=t.find((e=>s.isValidElement(e)&&"summary"===e.type)),a=(0,i.jsx)(i.Fragment,{children:t.filter((e=>e!==n))});return(0,i.jsx)(qe,{...e,summary:n,children:a})}function $e(e){return(0,i.jsx)(se.A,{...e})}const Fe={containsTaskList:"containsTaskList_AZvt"};function Ke(e){if(void 0!==e)return(0,u.A)(e,e?.includes("contains-task-list")&&Fe.containsTaskList)}const Ye={img:"img_jhL2"};function Ze(e){const{mdxAdmonitionTitle:t,rest:n}=function(e){const t=s.Children.toArray(e),n=t.find((e=>s.isValidElement(e)&&"mdxAdmonitionTitle"===e.type)),a=t.filter((e=>e!==n)),o=n?.props.children;return{mdxAdmonitionTitle:o,rest:a.length>0?(0,i.jsx)(i.Fragment,{children:a}):null}}(e.children),a=e.title??t;return{...e,...a&&{title:a},children:n}}const Qe={admonition:"admonition_lqVy",admonitionHeading:"admonitionHeading_np37",admonitionIcon:"admonitionIcon_Gva6",admonitionContent:"admonitionContent_KPqu"};function Xe(e){let{type:t,className:n,children:s}=e;return(0,i.jsx)("div",{className:(0,u.A)(b.G.common.admonition,b.G.common.admonitionType(t),Qe.admonition,n),children:s})}function Je(e){let{icon:t,title:n}=e;return(0,i.jsxs)("div",{className:Qe.admonitionHeading,children:[(0,i.jsx)("span",{className:Qe.admonitionIcon,children:t}),n]})}function et(e){let{children:t}=e;return t?(0,i.jsx)("div",{className:Qe.admonitionContent,children:t}):null}function tt(e){const{type:t,icon:n,title:s,children:a,className:o}=e;return(0,i.jsxs)(Xe,{type:t,className:o,children:[(0,i.jsx)(Je,{title:s,icon:n}),(0,i.jsx)(et,{children:a})]})}function nt(e){return(0,i.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,i.jsx)("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"})})}const st={icon:(0,i.jsx)(nt,{}),title:(0,i.jsx)(g.A,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function at(e){return(0,i.jsx)(tt,{...st,...e,className:(0,u.A)("alert alert--secondary",e.className),children:e.children})}function ot(e){return(0,i.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,i.jsx)("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})})}const it={icon:(0,i.jsx)(ot,{}),title:(0,i.jsx)(g.A,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function ct(e){return(0,i.jsx)(tt,{...it,...e,className:(0,u.A)("alert alert--success",e.className),children:e.children})}function lt(e){return(0,i.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,i.jsx)("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})})}const rt={icon:(0,i.jsx)(lt,{}),title:(0,i.jsx)(g.A,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function dt(e){return(0,i.jsx)(tt,{...rt,...e,className:(0,u.A)("alert alert--info",e.className),children:e.children})}function ut(e){return(0,i.jsx)("svg",{viewBox:"0 0 16 16",...e,children:(0,i.jsx)("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"})})}const mt={icon:(0,i.jsx)(ut,{}),title:(0,i.jsx)(g.A,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})};function ht(e){return(0,i.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,i.jsx)("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"})})}const pt={icon:(0,i.jsx)(ht,{}),title:(0,i.jsx)(g.A,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})};const ft={icon:(0,i.jsx)(ut,{}),title:(0,i.jsx)(g.A,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})};const xt={...{note:at,tip:ct,info:dt,warning:function(e){return(0,i.jsx)(tt,{...mt,...e,className:(0,u.A)("alert alert--warning",e.className),children:e.children})},danger:function(e){return(0,i.jsx)(tt,{...pt,...e,className:(0,u.A)("alert alert--danger",e.className),children:e.children})}},...{secondary:e=>(0,i.jsx)(at,{title:"secondary",...e}),important:e=>(0,i.jsx)(dt,{title:"important",...e}),success:e=>(0,i.jsx)(ct,{title:"success",...e}),caution:function(e){return(0,i.jsx)(tt,{...ft,...e,className:(0,u.A)("alert alert--warning",e.className),children:e.children})}}};function bt(e){const t=Ze(e),n=(s=t.type,xt[s]||(console.warn(`No admonition component found for admonition type "${s}". Using Info as fallback.`),xt.info));var s;return(0,i.jsx)(n,{...t})}var gt=n(3436);const vt={Head:oe.A,details:Ge,Details:Ge,code:function(e){return function(e){return void 0!==e.children&&s.Children.toArray(e.children).every((e=>"string"==typeof e&&!e.includes("\n")))}(e)?(0,i.jsx)(Ue,{...e}):(0,i.jsx)(Se,{...e})},a:function(e){return(0,i.jsx)(v.A,{...e})},pre:function(e){return(0,i.jsx)(i.Fragment,{children:e.children})},ul:function(e){return(0,i.jsx)("ul",{...e,className:Ke(e.className)})},li:function(e){return(0,Re.A)().collectAnchor(e.id),(0,i.jsx)("li",{...e})},img:function(e){return(0,i.jsx)("img",{decoding:"async",loading:"lazy",...e,className:(t=e.className,(0,u.A)(t,Ye.img))});var t},h1:e=>(0,i.jsx)($e,{as:"h1",...e}),h2:e=>(0,i.jsx)($e,{as:"h2",...e}),h3:e=>(0,i.jsx)($e,{as:"h3",...e}),h4:e=>(0,i.jsx)($e,{as:"h4",...e}),h5:e=>(0,i.jsx)($e,{as:"h5",...e}),h6:e=>(0,i.jsx)($e,{as:"h6",...e}),admonition:bt,mermaid:gt.A};function jt(e){let{children:t}=e;return(0,i.jsx)(ae.x,{components:vt,children:t})}function Nt(e){let{children:t}=e;const n=function(){const{metadata:e,frontMatter:t,contentTitle:n}=r();return t.hide_title||void 0!==n?null:e.title}();return(0,i.jsxs)("div",{className:(0,u.A)(b.G.docs.docMarkdown,"markdown"),children:[n&&(0,i.jsx)("header",{children:(0,i.jsx)(se.A,{as:"h1",children:n})}),(0,i.jsx)(jt,{children:t})]})}var At=n(8899);function Ct(){return(0,i.jsx)(g.A,{id:"theme.unlistedContent.title",description:"The unlisted content banner title",children:"Unlisted page"})}function kt(){return(0,i.jsx)(g.A,{id:"theme.unlistedContent.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function yt(){return(0,i.jsx)(oe.A,{children:(0,i.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}function Lt(e){let{className:t}=e;return(0,i.jsx)(bt,{type:"caution",title:(0,i.jsx)(Ct,{}),className:(0,u.A)(t,b.G.common.unlistedBanner),children:(0,i.jsx)(kt,{})})}function _t(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(yt,{}),(0,i.jsx)(Lt,{...e})]})}const Bt={docItemContainer:"docItemContainer_rfuH",docItemCol:"docItemCol_W8_c"};function wt(e){let{children:t}=e;const n=function(){const{frontMatter:e,toc:t}=r(),n=(0,m.l)(),s=e.hide_table_of_contents,a=!s&&t.length>0;return{hidden:s,mobile:a?(0,i.jsx)(Q,{}):void 0,desktop:!a||"desktop"!==n&&"ssr"!==n?void 0:(0,i.jsx)(ne,{})}}(),{metadata:{unlisted:s}}=r();return(0,i.jsxs)("div",{className:"row",children:[(0,i.jsxs)("div",{className:(0,u.A)("col",!n.hidden&&Bt.docItemCol),children:[s&&(0,i.jsx)(_t,{}),(0,i.jsx)(f.A,{}),(0,i.jsxs)("div",{className:Bt.docItemContainer,children:[(0,i.jsxs)("article",{children:[(0,i.jsx)(At.A,{}),(0,i.jsx)(x.A,{}),n.mobile,(0,i.jsx)(Nt,{children:t}),(0,i.jsx)(I,{})]}),(0,i.jsx)(p,{})]})]}),n.desktop&&(0,i.jsx)("div",{className:"col col--3",children:n.desktop})]})}function Tt(e){const t=`docs-doc-id-${e.content.metadata.id}`,n=e.content;return(0,i.jsx)(l,{content:e.content,children:(0,i.jsxs)(a.e3,{className:t,children:[(0,i.jsx)(d,{}),(0,i.jsx)(wt,{children:(0,i.jsx)(n,{})})]})})}},361:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});n(8318);var s=n(2244),a=n(6601),o=n(2748),i=n(9214);function c(e){const{permalink:t,title:n,subLabel:s,isNext:c}=e;return(0,i.jsxs)(o.A,{className:(0,a.A)("pagination-nav__link",c?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t,children:[s&&(0,i.jsx)("div",{className:"pagination-nav__sublabel",children:s}),(0,i.jsx)("div",{className:"pagination-nav__label",children:n})]})}function l(e){const{previous:t,next:n}=e;return(0,i.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,s.T)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"}),children:[t&&(0,i.jsx)(c,{...t,subLabel:(0,i.jsx)(s.A,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc",children:"Previous"})}),n&&(0,i.jsx)(c,{...n,subLabel:(0,i.jsx)(s.A,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc",children:"Next"}),isNext:!0})]})}},8485:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});n(8318);var s=n(6601),a=n(2244),o=n(4955),i=n(6584),c=n(9214);function l(e){let{className:t}=e;const n=(0,i.r)();return n.badge?(0,c.jsx)("span",{className:(0,s.A)(t,o.G.docs.docVersionBadge,"badge badge--secondary"),children:(0,c.jsx)(a.A,{id:"theme.docs.versionBadge.label",values:{versionLabel:n.label},children:"Version: {versionLabel}"})}):null}},788:(e,t,n)=>{"use strict";n.d(t,{A:()=>x});n(8318);var s=n(6601),a=n(7940),o=n(2748),i=n(2244),c=n(2316),l=n(4955),r=n(5321),d=n(6584),u=n(9214);const m={unreleased:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,u.jsx)(i.A,{id:"theme.docs.versions.unreleasedVersionLabel",description:"The label used to tell the user that he's browsing an unreleased doc version",values:{siteTitle:t,versionLabel:(0,u.jsx)("b",{children:n.label})},children:"This is unreleased documentation for {siteTitle} {versionLabel} version."})},unmaintained:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,u.jsx)(i.A,{id:"theme.docs.versions.unmaintainedVersionLabel",description:"The label used to tell the user that he's browsing an unmaintained doc version",values:{siteTitle:t,versionLabel:(0,u.jsx)("b",{children:n.label})},children:"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained."})}};function h(e){const t=m[e.versionMetadata.banner];return(0,u.jsx)(t,{...e})}function p(e){let{versionLabel:t,to:n,onClick:s}=e;return(0,u.jsx)(i.A,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:t,latestVersionLink:(0,u.jsx)("b",{children:(0,u.jsx)(o.A,{to:n,onClick:s,children:(0,u.jsx)(i.A,{id:"theme.docs.versions.latestVersionLinkLabel",description:"The label used for the latest version suggestion link label",children:"latest version"})})})},children:"For up-to-date documentation, see the {latestVersionLink} ({versionLabel})."})}function f(e){let{className:t,versionMetadata:n}=e;const{siteConfig:{title:o}}=(0,a.A)(),{pluginId:i}=(0,c.vT)({failfast:!0}),{savePreferredVersionName:d}=(0,r.g1)(i),{latestDocSuggestion:m,latestVersionSuggestion:f}=(0,c.HW)(i),x=m??(b=f).docs.find((e=>e.id===b.mainDocId));var b;return(0,u.jsxs)("div",{className:(0,s.A)(t,l.G.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert",children:[(0,u.jsx)("div",{children:(0,u.jsx)(h,{siteTitle:o,versionMetadata:n})}),(0,u.jsx)("div",{className:"margin-top--md",children:(0,u.jsx)(p,{versionLabel:f.label,to:x.path,onClick:()=>d(f.name)})})]})}function x(e){let{className:t}=e;const n=(0,d.r)();return n.banner?(0,u.jsx)(f,{className:t,versionMetadata:n}):null}},1357:(e,t)=>{function n(e){let t,n=[];for(let s of e.split(",").map((e=>e.trim())))if(/^-?\d+$/.test(s))n.push(parseInt(s,10));else if(t=s.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[e,s,a,o]=t;if(s&&o){s=parseInt(s),o=parseInt(o);const e=s{"use strict";n.d(t,{R:()=>i,x:()=>c});var s=n(8318);const a={},o=s.createContext(a);function i(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/1a061de6.dc73d4ce.js b/assets/js/1a061de6.dc73d4ce.js
deleted file mode 100644
index 42a5b25a..00000000
--- a/assets/js/1a061de6.dc73d4ce.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[69],{2501:e=>{e.exports=JSON.parse('{"title":"Types","slug":"/category/types","permalink":"/greenfield-js-sdk/category/types","navigation":{"previous":{"title":"Message Type URL","permalink":"/greenfield-js-sdk/constants/msg-type-url"},"next":{"title":"ActionType","permalink":"/greenfield-js-sdk/types/action"}}}')}}]);
\ No newline at end of file
diff --git a/assets/js/1a061de6.fe4b884a.js b/assets/js/1a061de6.fe4b884a.js
new file mode 100644
index 00000000..a28f8a58
--- /dev/null
+++ b/assets/js/1a061de6.fe4b884a.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[901],{6124:e=>{e.exports=JSON.parse('{"title":"Types","slug":"/category/types","permalink":"/greenfield-js-sdk/category/types","navigation":{"previous":{"title":"Message Type URL","permalink":"/greenfield-js-sdk/constants/msg-type-url"},"next":{"title":"ActionType","permalink":"/greenfield-js-sdk/types/action"}}}')}}]);
\ No newline at end of file
diff --git a/assets/js/209101c8.da226055.js b/assets/js/209101c8.da226055.js
deleted file mode 100644
index f6f80294..00000000
--- a/assets/js/209101c8.da226055.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[888],{8682:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>f,frontMatter:()=>s,metadata:()=>c,toc:()=>u});var r=n(5250),a=n(1340),l=n(3880),i=n(8119);const s={id:"greenfield-client",title:"Greenfield Client",sidebar_position:1},o="Create Greenfield Client",c={id:"client/greenfield-client",title:"Greenfield Client",description:"| params | description |",source:"@site/docs/client/greenfield.mdx",sourceDirName:"client",slug:"/client/greenfield-client",permalink:"/greenfield-js-sdk/client/greenfield-client",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/client/greenfield.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{id:"greenfield-client",title:"Greenfield Client",sidebar_position:1},sidebar:"GettingStartSidebar",previous:{title:"Client",permalink:"/greenfield-js-sdk/category/client"},next:{title:"Tx Client",permalink:"/greenfield-js-sdk/client/tx-client"}},d={},u=[];function h(e){const t={a:"a",admonition:"admonition",code:"code",h1:"h1",li:"li",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,a.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h1,{id:"create-greenfield-client",children:"Create Greenfield Client"}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"params"}),(0,r.jsx)(t.th,{children:"description"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"GRPC_URL"}),(0,r.jsx)(t.td,{children:"Greenfield grpc url"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"GREEN_CHAIN_ID"}),(0,r.jsx)(t.td,{children:"Greenfield chain id"})]})]})]}),"\n",(0,r.jsxs)(l.Z,{groupId:"example",children:[(0,r.jsx)(i.Z,{value:"Browser",label:"Browser",children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-js",children:"import { Client } from '@bnb-chain/greenfield-js-sdk';\n\nconst client = Client.create(GRPC_URL, String(GREEN_CHAIN_ID), {\n zkCryptoUrl:\n 'https://unpkg.com/@bnb-chain/greenfield-zk-crypto@0.0.3/dist/node/zk-crypto.wasm',\n});\n"})})}),(0,r.jsx)(i.Z,{value:"Nodejs",label:"Nodejs",children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-js",children:"const { Client } = require('@bnb-chain/greenfield-js-sdk');\nconst client = Client.create(GRPC_URL, GREEN_CHAIN_ID);\n"})})})]}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsx)(t.p,{children:"The browser needs to load wasm manually."})}),"\n",(0,r.jsx)(t.p,{children:"The JS SDK consists of two parts:"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:["Chain: ",(0,r.jsx)(t.a,{href:"https://docs.bnbchain.org/greenfield-docs/docs/api/blockchain-rest",children:"https://docs.bnbchain.org/greenfield-docs/docs/api/blockchain-rest"})]}),"\n",(0,r.jsxs)(t.li,{children:["Storage Provider: ",(0,r.jsx)(t.a,{href:"https://docs.bnbchain.org/greenfield-docs/docs/api/storage-provider-rest",children:"https://docs.bnbchain.org/greenfield-docs/docs/api/storage-provider-rest"})]}),"\n"]})]})}function f(e={}){const{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(h,{...e})}):h(e)}},8119:(e,t,n)=>{n.d(t,{Z:()=>i});n(79);var r=n(3230);const a={tabItem:"tabItem_jc9D"};var l=n(5250);function i(e){let{children:t,hidden:n,className:i}=e;return(0,l.jsx)("div",{role:"tabpanel",className:(0,r.Z)(a.tabItem,i),hidden:n,children:t})}},3880:(e,t,n)=>{n.d(t,{Z:()=>y});var r=n(79),a=n(3230),l=n(4803),i=n(7911),s=n(9121),o=n(3757),c=n(2052),d=n(8991);function u(e){return r.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,r.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function h(e){const{values:t,children:n}=e;return(0,r.useMemo)((()=>{const e=t??function(e){return u(e).map((e=>{let{props:{value:t,label:n,attributes:r,default:a}}=e;return{value:t,label:n,attributes:r,default:a}}))}(n);return function(e){const t=(0,c.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function f(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function p(e){let{queryString:t=!1,groupId:n}=e;const a=(0,i.k6)(),l=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,o._X)(l),(0,r.useCallback)((e=>{if(!l)return;const t=new URLSearchParams(a.location.search);t.set(l,e),a.replace({...a.location,search:t.toString()})}),[l,a])]}function b(e){const{defaultValue:t,queryString:n=!1,groupId:a}=e,l=h(e),[i,o]=(0,r.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!f({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const r=n.find((e=>e.default))??n[0];if(!r)throw new Error("Unexpected error: 0 tabValues");return r.value}({defaultValue:t,tabValues:l}))),[c,u]=p({queryString:n,groupId:a}),[b,m]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[a,l]=(0,d.Nk)(n);return[a,(0,r.useCallback)((e=>{n&&l.set(e)}),[n,l])]}({groupId:a}),g=(()=>{const e=c??b;return f({value:e,tabValues:l})?e:null})();(0,s.Z)((()=>{g&&o(g)}),[g]);return{selectedValue:i,selectValue:(0,r.useCallback)((e=>{if(!f({value:e,tabValues:l}))throw new Error(`Can't select invalid tab value=${e}`);o(e),u(e),m(e)}),[u,m,l]),tabValues:l}}var m=n(3614);const g={tabList:"tabList_WnI6",tabItem:"tabItem_R4Tu"};var j=n(5250);function x(e){let{className:t,block:n,selectedValue:r,selectValue:i,tabValues:s}=e;const o=[],{blockElementScrollPositionUntilNextRender:c}=(0,l.o5)(),d=e=>{const t=e.currentTarget,n=o.indexOf(t),a=s[n].value;a!==r&&(c(t),i(a))},u=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const n=o.indexOf(e.currentTarget)+1;t=o[n]??o[0];break}case"ArrowLeft":{const n=o.indexOf(e.currentTarget)-1;t=o[n]??o[o.length-1];break}}t?.focus()};return(0,j.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,a.Z)("tabs",{"tabs--block":n},t),children:s.map((e=>{let{value:t,label:n,attributes:l}=e;return(0,j.jsx)("li",{role:"tab",tabIndex:r===t?0:-1,"aria-selected":r===t,ref:e=>o.push(e),onKeyDown:u,onClick:d,...l,className:(0,a.Z)("tabs__item",g.tabItem,l?.className,{"tabs__item--active":r===t}),children:n??t},t)}))})}function v(e){let{lazy:t,children:n,selectedValue:a}=e;const l=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=l.find((e=>e.props.value===a));return e?(0,r.cloneElement)(e,{className:"margin-top--md"}):null}return(0,j.jsx)("div",{className:"margin-top--md",children:l.map(((e,t)=>(0,r.cloneElement)(e,{key:t,hidden:e.props.value!==a})))})}function k(e){const t=b(e);return(0,j.jsxs)("div",{className:(0,a.Z)("tabs-container",g.tabList),children:[(0,j.jsx)(x,{...e,...t}),(0,j.jsx)(v,{...e,...t})]})}function y(e){const t=(0,m.Z)();return(0,j.jsx)(k,{...e,children:u(e.children)},String(t))}},1340:(e,t,n)=>{n.d(t,{Z:()=>s,a:()=>i});var r=n(79);const a={},l=r.createContext(a);function i(e){const t=r.useContext(l);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),r.createElement(l.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/209101c8.efd2433f.js b/assets/js/209101c8.efd2433f.js
new file mode 100644
index 00000000..e5182e41
--- /dev/null
+++ b/assets/js/209101c8.efd2433f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[471],{9059:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>f,frontMatter:()=>s,metadata:()=>c,toc:()=>u});var r=n(9214),a=n(3159),l=n(3428),i=n(7012);const s={id:"greenfield-client",title:"Greenfield Client",sidebar_position:1},o="Create Greenfield Client",c={id:"client/greenfield-client",title:"Greenfield Client",description:"| params | description |",source:"@site/docs/client/greenfield.mdx",sourceDirName:"client",slug:"/client/greenfield-client",permalink:"/greenfield-js-sdk/client/greenfield-client",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/client/greenfield.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{id:"greenfield-client",title:"Greenfield Client",sidebar_position:1},sidebar:"GettingStartSidebar",previous:{title:"Client",permalink:"/greenfield-js-sdk/category/client"},next:{title:"Tx Client",permalink:"/greenfield-js-sdk/client/tx-client"}},d={},u=[];function h(e){const t={a:"a",admonition:"admonition",code:"code",h1:"h1",li:"li",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,a.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h1,{id:"create-greenfield-client",children:"Create Greenfield Client"}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{children:"params"}),(0,r.jsx)(t.th,{children:"description"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"GRPC_URL"}),(0,r.jsx)(t.td,{children:"Greenfield grpc url"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{children:"GREEN_CHAIN_ID"}),(0,r.jsx)(t.td,{children:"Greenfield chain id"})]})]})]}),"\n",(0,r.jsxs)(l.A,{groupId:"example",children:[(0,r.jsx)(i.A,{value:"Browser",label:"Browser",children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-js",children:"import { Client } from '@bnb-chain/greenfield-js-sdk';\n\nconst client = Client.create(GRPC_URL, String(GREEN_CHAIN_ID), {\n zkCryptoUrl:\n 'https://unpkg.com/@bnb-chain/greenfield-zk-crypto@0.0.3/dist/node/zk-crypto.wasm',\n});\n"})})}),(0,r.jsx)(i.A,{value:"Nodejs",label:"Nodejs",children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-js",children:"const { Client } = require('@bnb-chain/greenfield-js-sdk');\nconst client = Client.create(GRPC_URL, GREEN_CHAIN_ID);\n"})})})]}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsx)(t.p,{children:"The browser needs to load wasm manually."})}),"\n",(0,r.jsx)(t.p,{children:"The JS SDK consists of two parts:"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:["Chain: ",(0,r.jsx)(t.a,{href:"https://docs.bnbchain.org/greenfield-docs/docs/api/blockchain-rest",children:"https://docs.bnbchain.org/greenfield-docs/docs/api/blockchain-rest"})]}),"\n",(0,r.jsxs)(t.li,{children:["Storage Provider: ",(0,r.jsx)(t.a,{href:"https://docs.bnbchain.org/greenfield-docs/docs/api/storage-provider-rest",children:"https://docs.bnbchain.org/greenfield-docs/docs/api/storage-provider-rest"})]}),"\n"]})]})}function f(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(h,{...e})}):h(e)}},7012:(e,t,n)=>{n.d(t,{A:()=>i});n(8318);var r=n(6601);const a={tabItem:"tabItem_V9qR"};var l=n(9214);function i(e){let{children:t,hidden:n,className:i}=e;return(0,l.jsx)("div",{role:"tabpanel",className:(0,r.A)(a.tabItem,i),hidden:n,children:t})}},3428:(e,t,n)=>{n.d(t,{A:()=>k});var r=n(8318),a=n(6601),l=n(2676),i=n(6325),s=n(9471),o=n(4081),c=n(4526),d=n(4110);function u(e){return r.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,r.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function h(e){const{values:t,children:n}=e;return(0,r.useMemo)((()=>{const e=t??function(e){return u(e).map((e=>{let{props:{value:t,label:n,attributes:r,default:a}}=e;return{value:t,label:n,attributes:r,default:a}}))}(n);return function(e){const t=(0,c.X)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function f(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function p(e){let{queryString:t=!1,groupId:n}=e;const a=(0,i.W6)(),l=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,o.aZ)(l),(0,r.useCallback)((e=>{if(!l)return;const t=new URLSearchParams(a.location.search);t.set(l,e),a.replace({...a.location,search:t.toString()})}),[l,a])]}function b(e){const{defaultValue:t,queryString:n=!1,groupId:a}=e,l=h(e),[i,o]=(0,r.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!f({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const r=n.find((e=>e.default))??n[0];if(!r)throw new Error("Unexpected error: 0 tabValues");return r.value}({defaultValue:t,tabValues:l}))),[c,u]=p({queryString:n,groupId:a}),[b,m]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[a,l]=(0,d.Dv)(n);return[a,(0,r.useCallback)((e=>{n&&l.set(e)}),[n,l])]}({groupId:a}),g=(()=>{const e=c??b;return f({value:e,tabValues:l})?e:null})();(0,s.A)((()=>{g&&o(g)}),[g]);return{selectedValue:i,selectValue:(0,r.useCallback)((e=>{if(!f({value:e,tabValues:l}))throw new Error(`Can't select invalid tab value=${e}`);o(e),u(e),m(e)}),[u,m,l]),tabValues:l}}var m=n(1277);const g={tabList:"tabList_SOjC",tabItem:"tabItem_mOaW"};var x=n(9214);function j(e){let{className:t,block:n,selectedValue:r,selectValue:i,tabValues:s}=e;const o=[],{blockElementScrollPositionUntilNextRender:c}=(0,l.a_)(),d=e=>{const t=e.currentTarget,n=o.indexOf(t),a=s[n].value;a!==r&&(c(t),i(a))},u=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const n=o.indexOf(e.currentTarget)+1;t=o[n]??o[0];break}case"ArrowLeft":{const n=o.indexOf(e.currentTarget)-1;t=o[n]??o[o.length-1];break}}t?.focus()};return(0,x.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,a.A)("tabs",{"tabs--block":n},t),children:s.map((e=>{let{value:t,label:n,attributes:l}=e;return(0,x.jsx)("li",{role:"tab",tabIndex:r===t?0:-1,"aria-selected":r===t,ref:e=>o.push(e),onKeyDown:u,onClick:d,...l,className:(0,a.A)("tabs__item",g.tabItem,l?.className,{"tabs__item--active":r===t}),children:n??t},t)}))})}function v(e){let{lazy:t,children:n,selectedValue:a}=e;const l=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=l.find((e=>e.props.value===a));return e?(0,r.cloneElement)(e,{className:"margin-top--md"}):null}return(0,x.jsx)("div",{className:"margin-top--md",children:l.map(((e,t)=>(0,r.cloneElement)(e,{key:t,hidden:e.props.value!==a})))})}function y(e){const t=b(e);return(0,x.jsxs)("div",{className:(0,a.A)("tabs-container",g.tabList),children:[(0,x.jsx)(j,{...e,...t}),(0,x.jsx)(v,{...e,...t})]})}function k(e){const t=(0,m.A)();return(0,x.jsx)(y,{...e,children:u(e.children)},String(t))}},3159:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>s});var r=n(8318);const a={},l=r.createContext(a);function i(e){const t=r.useContext(l);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),r.createElement(l.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/23206eaf.6c39f126.js b/assets/js/23206eaf.5eec8ddb.js
similarity index 92%
rename from assets/js/23206eaf.6c39f126.js
rename to assets/js/23206eaf.5eec8ddb.js
index 9f1834ed..b0c0a8d2 100644
--- a/assets/js/23206eaf.6c39f126.js
+++ b/assets/js/23206eaf.5eec8ddb.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[982],{6114:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>l,default:()=>g,frontMatter:()=>s,metadata:()=>a,toc:()=>d});var i=t(5250),r=t(1340);const s={id:"query-client",title:"Query Client",sidebar_position:2},l=void 0,a={id:"client/query-client",title:"Query Client",description:"It's an encapsulation of the",source:"@site/docs/client/query-client.mdx",sourceDirName:"client",slug:"/client/query-client",permalink:"/greenfield-js-sdk/client/query-client",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/client/query-client.mdx",tags:[],version:"current",sidebarPosition:2,frontMatter:{id:"query-client",title:"Query Client",sidebar_position:2},sidebar:"GettingStartSidebar",previous:{title:"Tx Client",permalink:"/greenfield-js-sdk/client/tx-client"},next:{title:"Storage Provider Client",permalink:"/greenfield-js-sdk/client/sp-client"}},c={},d=[{value:"getAuthQueryClient",id:"getauthqueryclient",level:2},{value:"getBankQueryClient",id:"getbankqueryclient",level:2},{value:"getBridgeQueryClient",id:"getbridgequeryclient",level:2},{value:"getChallengeQueryClient",id:"getchallengequeryclient",level:2},{value:"getCrosschainQueryClient",id:"getcrosschainqueryclient",level:2},{value:"getFeeGrantQueryClient",id:"getfeegrantqueryclient",level:2},{value:"getGashubClient",id:"getgashubclient",level:2},{value:"getPaymentQueryClient",id:"getpaymentqueryclient",level:2},{value:"getSpQueryClient",id:"getspqueryclient",level:2},{value:"getStorageQueryClient",id:"getstoragequeryclient",level:2},{value:"getVirtualGroupClient",id:"getvirtualgroupclient",level:2}];function o(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",p:"p",pre:"pre",...(0,r.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.p,{children:["It's an encapsulation of the\n",(0,i.jsx)(n.a,{href:"https://docs.bnbchain.org/greenfield-docs/docs/api/blockchain-rest",children:"Blockchain API"}),"."]}),"\n",(0,i.jsx)(n.admonition,{type:"info",children:(0,i.jsxs)(n.p,{children:["In most cases, you probably don't need to use the ",(0,i.jsx)(n.code,{children:"Query Client"})," directly."]})}),"\n",(0,i.jsx)(n.h2,{id:"getauthqueryclient",children:"getAuthQueryClient"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"const rpc = await client.queryClient.getAuthQueryClient();\nawait rpc.Account({\n address: '0x0000000000000000000000000000000000000001',\n});\n"})}),"\n",(0,i.jsxs)(n.p,{children:["More APIs: ",(0,i.jsx)(n.a,{href:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/account-info",children:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/account-info"})]}),"\n",(0,i.jsx)(n.h2,{id:"getbankqueryclient",children:"getBankQueryClient"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"const rpc = await client.queryClient.getBankQueryClient();\nawait rpc.Balance({\n address: '0x0000000000000000000000000000000000000001',\n denom: 'BNB',\n});\n"})}),"\n",(0,i.jsxs)(n.p,{children:["More APIs: ",(0,i.jsx)(n.a,{href:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/account-info",children:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/account-info"})]}),"\n",(0,i.jsx)(n.h2,{id:"getbridgequeryclient",children:"getBridgeQueryClient"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"const rpc = await client.queryClient.getBridgeQueryClient();\nawait rpc.Params();\n"})}),"\n",(0,i.jsxs)(n.p,{children:["More APIs: ",(0,i.jsx)(n.a,{href:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/bridge-params",children:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/bridge-params"})]}),"\n",(0,i.jsx)(n.h2,{id:"getchallengequeryclient",children:"getChallengeQueryClient"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"const rpc = await client.queryClient.getChallengeQueryClient();\nawait rpc.Params();\n"})}),"\n",(0,i.jsxs)(n.p,{children:["More APIs: ",(0,i.jsx)(n.a,{href:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/attested-challenge",children:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/attested-challenge"})]}),"\n",(0,i.jsx)(n.h2,{id:"getcrosschainqueryclient",children:"getCrosschainQueryClient"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"const rpc = await client.queryClient.getCrosschainQueryClient();\nawait rpc.Params();\n"})}),"\n",(0,i.jsxs)(n.p,{children:["More apis: ",(0,i.jsx)(n.a,{href:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/attested-challenge",children:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/attested-challenge"})]}),"\n",(0,i.jsx)(n.h2,{id:"getfeegrantqueryclient",children:"getFeeGrantQueryClient"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"const rpc = await client.queryClient.getFeeGrantQueryClient();\nawait rpc.Params();\n"})}),"\n",(0,i.jsxs)(n.p,{children:["More APIs: ",(0,i.jsx)(n.a,{href:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/allowance",children:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/allowance"})]}),"\n",(0,i.jsx)(n.h2,{id:"getgashubclient",children:"getGashubClient"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"const rpc = await this.queryClient.getGashubClient();\nawait rpc.MsgGasParams(request);\n"})}),"\n",(0,i.jsxs)(n.p,{children:["More APIs: ",(0,i.jsx)(n.a,{href:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/msg-gas-params",children:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/msg-gas-params"})]}),"\n",(0,i.jsx)(n.h2,{id:"getpaymentqueryclient",children:"getPaymentQueryClient"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"const rpc = await this.queryClient.getPaymentQueryClient();\nawait rpc.Params();\n"})}),"\n",(0,i.jsxs)(n.p,{children:["More APIs: ",(0,i.jsx)(n.a,{href:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/msg-gas-params",children:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/msg-gas-params"})]}),"\n",(0,i.jsx)(n.h2,{id:"getspqueryclient",children:"getSpQueryClient"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"const rpc = await this.queryClient.getSpQueryClient();\nawait rpc.Params();\n"})}),"\n",(0,i.jsxs)(n.p,{children:["More APIs:\n",(0,i.jsx)(n.a,{href:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/query-global-sp-store-price-by-time",children:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/query-global-sp-store-price-by-time"})]}),"\n",(0,i.jsx)(n.h2,{id:"getstoragequeryclient",children:"getStorageQueryClient"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"const rpc = await client.queryClient.getStorageQueryClient();\nawait rpc.HeadBucketById({\n bucketId: '1',\n});\n"})}),"\n",(0,i.jsxs)(n.p,{children:["More APIs: ",(0,i.jsx)(n.a,{href:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/query-group-members-exist",children:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/query-group-members-exist"})]}),"\n",(0,i.jsx)(n.h2,{id:"getvirtualgroupclient",children:"getVirtualGroupClient"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"const rpc = await client.queryClient.getVirtualGroupClient();\nawait rpc.Params();\n"})}),"\n",(0,i.jsxs)(n.p,{children:["More APIs:\n",(0,i.jsx)(n.a,{href:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/available-global-virtual-group-families",children:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/available-global-virtual-group-families"})]})]})}function g(e={}){const{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(o,{...e})}):o(e)}},1340:(e,n,t)=>{t.d(n,{Z:()=>a,a:()=>l});var i=t(79);const r={},s=i.createContext(r);function l(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[794],{9308:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>l,default:()=>g,frontMatter:()=>s,metadata:()=>a,toc:()=>d});var i=t(9214),r=t(3159);const s={id:"query-client",title:"Query Client",sidebar_position:2},l=void 0,a={id:"client/query-client",title:"Query Client",description:"It's an encapsulation of the",source:"@site/docs/client/query-client.mdx",sourceDirName:"client",slug:"/client/query-client",permalink:"/greenfield-js-sdk/client/query-client",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/client/query-client.mdx",tags:[],version:"current",sidebarPosition:2,frontMatter:{id:"query-client",title:"Query Client",sidebar_position:2},sidebar:"GettingStartSidebar",previous:{title:"Tx Client",permalink:"/greenfield-js-sdk/client/tx-client"},next:{title:"Storage Provider Client",permalink:"/greenfield-js-sdk/client/sp-client"}},c={},d=[{value:"getAuthQueryClient",id:"getauthqueryclient",level:2},{value:"getBankQueryClient",id:"getbankqueryclient",level:2},{value:"getBridgeQueryClient",id:"getbridgequeryclient",level:2},{value:"getChallengeQueryClient",id:"getchallengequeryclient",level:2},{value:"getCrosschainQueryClient",id:"getcrosschainqueryclient",level:2},{value:"getFeeGrantQueryClient",id:"getfeegrantqueryclient",level:2},{value:"getGashubClient",id:"getgashubclient",level:2},{value:"getPaymentQueryClient",id:"getpaymentqueryclient",level:2},{value:"getSpQueryClient",id:"getspqueryclient",level:2},{value:"getStorageQueryClient",id:"getstoragequeryclient",level:2},{value:"getVirtualGroupClient",id:"getvirtualgroupclient",level:2}];function o(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",p:"p",pre:"pre",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.p,{children:["It's an encapsulation of the\n",(0,i.jsx)(n.a,{href:"https://docs.bnbchain.org/greenfield-docs/docs/api/blockchain-rest",children:"Blockchain API"}),"."]}),"\n",(0,i.jsx)(n.admonition,{type:"info",children:(0,i.jsxs)(n.p,{children:["In most cases, you probably don't need to use the ",(0,i.jsx)(n.code,{children:"Query Client"})," directly."]})}),"\n",(0,i.jsx)(n.h2,{id:"getauthqueryclient",children:"getAuthQueryClient"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"const rpc = await client.queryClient.getAuthQueryClient();\nawait rpc.Account({\n address: '0x0000000000000000000000000000000000000001',\n});\n"})}),"\n",(0,i.jsxs)(n.p,{children:["More APIs: ",(0,i.jsx)(n.a,{href:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/account-info",children:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/account-info"})]}),"\n",(0,i.jsx)(n.h2,{id:"getbankqueryclient",children:"getBankQueryClient"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"const rpc = await client.queryClient.getBankQueryClient();\nawait rpc.Balance({\n address: '0x0000000000000000000000000000000000000001',\n denom: 'BNB',\n});\n"})}),"\n",(0,i.jsxs)(n.p,{children:["More APIs: ",(0,i.jsx)(n.a,{href:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/account-info",children:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/account-info"})]}),"\n",(0,i.jsx)(n.h2,{id:"getbridgequeryclient",children:"getBridgeQueryClient"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"const rpc = await client.queryClient.getBridgeQueryClient();\nawait rpc.Params();\n"})}),"\n",(0,i.jsxs)(n.p,{children:["More APIs: ",(0,i.jsx)(n.a,{href:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/bridge-params",children:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/bridge-params"})]}),"\n",(0,i.jsx)(n.h2,{id:"getchallengequeryclient",children:"getChallengeQueryClient"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"const rpc = await client.queryClient.getChallengeQueryClient();\nawait rpc.Params();\n"})}),"\n",(0,i.jsxs)(n.p,{children:["More APIs: ",(0,i.jsx)(n.a,{href:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/attested-challenge",children:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/attested-challenge"})]}),"\n",(0,i.jsx)(n.h2,{id:"getcrosschainqueryclient",children:"getCrosschainQueryClient"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"const rpc = await client.queryClient.getCrosschainQueryClient();\nawait rpc.Params();\n"})}),"\n",(0,i.jsxs)(n.p,{children:["More apis: ",(0,i.jsx)(n.a,{href:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/attested-challenge",children:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/attested-challenge"})]}),"\n",(0,i.jsx)(n.h2,{id:"getfeegrantqueryclient",children:"getFeeGrantQueryClient"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"const rpc = await client.queryClient.getFeeGrantQueryClient();\nawait rpc.Params();\n"})}),"\n",(0,i.jsxs)(n.p,{children:["More APIs: ",(0,i.jsx)(n.a,{href:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/allowance",children:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/allowance"})]}),"\n",(0,i.jsx)(n.h2,{id:"getgashubclient",children:"getGashubClient"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"const rpc = await this.queryClient.getGashubClient();\nawait rpc.MsgGasParams(request);\n"})}),"\n",(0,i.jsxs)(n.p,{children:["More APIs: ",(0,i.jsx)(n.a,{href:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/msg-gas-params",children:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/msg-gas-params"})]}),"\n",(0,i.jsx)(n.h2,{id:"getpaymentqueryclient",children:"getPaymentQueryClient"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"const rpc = await this.queryClient.getPaymentQueryClient();\nawait rpc.Params();\n"})}),"\n",(0,i.jsxs)(n.p,{children:["More APIs: ",(0,i.jsx)(n.a,{href:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/msg-gas-params",children:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/msg-gas-params"})]}),"\n",(0,i.jsx)(n.h2,{id:"getspqueryclient",children:"getSpQueryClient"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"const rpc = await this.queryClient.getSpQueryClient();\nawait rpc.Params();\n"})}),"\n",(0,i.jsxs)(n.p,{children:["More APIs:\n",(0,i.jsx)(n.a,{href:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/query-global-sp-store-price-by-time",children:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/query-global-sp-store-price-by-time"})]}),"\n",(0,i.jsx)(n.h2,{id:"getstoragequeryclient",children:"getStorageQueryClient"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"const rpc = await client.queryClient.getStorageQueryClient();\nawait rpc.HeadBucketById({\n bucketId: '1',\n});\n"})}),"\n",(0,i.jsxs)(n.p,{children:["More APIs: ",(0,i.jsx)(n.a,{href:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/query-group-members-exist",children:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/query-group-members-exist"})]}),"\n",(0,i.jsx)(n.h2,{id:"getvirtualgroupclient",children:"getVirtualGroupClient"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"const rpc = await client.queryClient.getVirtualGroupClient();\nawait rpc.Params();\n"})}),"\n",(0,i.jsxs)(n.p,{children:["More APIs:\n",(0,i.jsx)(n.a,{href:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/available-global-virtual-group-families",children:"https://docs.bnbchain.org/greenfield-docs/docs/greenfield-api/available-global-virtual-group-families"})]})]})}function g(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(o,{...e})}):o(e)}},3159:(e,n,t)=>{t.d(n,{R:()=>l,x:()=>a});var i=t(8318);const r={},s=i.createContext(r);function l(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/2ae18816.18517886.js b/assets/js/2ae18816.18517886.js
deleted file mode 100644
index 2b2c0e38..00000000
--- a/assets/js/2ae18816.18517886.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[36],{5800:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>i,contentTitle:()=>c,default:()=>u,frontMatter:()=>s,metadata:()=>a,toc:()=>o});var r=t(5250),d=t(1340);const s={id:"redundancy",title:"RedundancyType"},c=void 0,a={id:"types/redundancy",title:"RedundancyType",description:"RedundancyType represents the redundancy algorithm type for object data, which can be either",source:"@site/docs/types/redundancy.mdx",sourceDirName:"types",slug:"/types/redundancy",permalink:"/greenfield-js-sdk/types/redundancy",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/types/redundancy.mdx",tags:[],version:"current",frontMatter:{id:"redundancy",title:"RedundancyType"},sidebar:"GettingStartSidebar",previous:{title:"PrincipalType",permalink:"/greenfield-js-sdk/types/principal"},next:{title:"Timestamp",permalink:"/greenfield-js-sdk/types/timestamp"}},i={},o=[];function p(e){const n={code:"code",p:"p",pre:"pre",...(0,d.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.p,{children:"RedundancyType represents the redundancy algorithm type for object data, which can be either\nmulti-replica or erasure coding."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-tsx",children:"export enum RedundancyType {\n REDUNDANCY_EC_TYPE = 0,\n REDUNDANCY_REPLICA_TYPE = 1,\n UNRECOGNIZED = -1,\n}\n"})})]})}function u(e={}){const{wrapper:n}={...(0,d.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(p,{...e})}):p(e)}},1340:(e,n,t)=>{t.d(n,{Z:()=>a,a:()=>c});var r=t(79);const d={},s=r.createContext(d);function c(e){const n=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:c(e.components),r.createElement(s.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/2ae18816.594d2ba1.js b/assets/js/2ae18816.594d2ba1.js
new file mode 100644
index 00000000..38491da1
--- /dev/null
+++ b/assets/js/2ae18816.594d2ba1.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[251],{5741:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>c,default:()=>u,frontMatter:()=>s,metadata:()=>i,toc:()=>o});var r=t(9214),d=t(3159);const s={id:"redundancy",title:"RedundancyType"},c=void 0,i={id:"types/redundancy",title:"RedundancyType",description:"RedundancyType represents the redundancy algorithm type for object data, which can be either",source:"@site/docs/types/redundancy.mdx",sourceDirName:"types",slug:"/types/redundancy",permalink:"/greenfield-js-sdk/types/redundancy",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/types/redundancy.mdx",tags:[],version:"current",frontMatter:{id:"redundancy",title:"RedundancyType"},sidebar:"GettingStartSidebar",previous:{title:"PrincipalType",permalink:"/greenfield-js-sdk/types/principal"},next:{title:"Timestamp",permalink:"/greenfield-js-sdk/types/timestamp"}},a={},o=[];function p(e){const n={code:"code",p:"p",pre:"pre",...(0,d.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.p,{children:"RedundancyType represents the redundancy algorithm type for object data, which can be either\nmulti-replica or erasure coding."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-tsx",children:"export enum RedundancyType {\n REDUNDANCY_EC_TYPE = 0,\n REDUNDANCY_REPLICA_TYPE = 1,\n UNRECOGNIZED = -1,\n}\n"})})]})}function u(e={}){const{wrapper:n}={...(0,d.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(p,{...e})}):p(e)}},3159:(e,n,t)=>{t.d(n,{R:()=>c,x:()=>i});var r=t(8318);const d={},s=r.createContext(d);function c(e){const n=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:c(e.components),r.createElement(s.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/2dbd2a66.e3447683.js b/assets/js/2dbd2a66.e3447683.js
new file mode 100644
index 00000000..085228fe
--- /dev/null
+++ b/assets/js/2dbd2a66.e3447683.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[456],{4966:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>r,default:()=>p,frontMatter:()=>i,metadata:()=>c,toc:()=>d});var o=t(9214),s=t(3159);const i={id:"action",title:"ActionType"},r=void 0,c={id:"types/action",title:"ActionType",description:"The operations you can execute in greenfield storage network",source:"@site/docs/types/action.mdx",sourceDirName:"types",slug:"/types/action",permalink:"/greenfield-js-sdk/types/action",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/types/action.mdx",tags:[],version:"current",frontMatter:{id:"action",title:"ActionType"},sidebar:"GettingStartSidebar",previous:{title:"Types",permalink:"/greenfield-js-sdk/category/types"},next:{title:"Coin",permalink:"/greenfield-js-sdk/types/coin"}},a={},d=[];function T(e){const n={code:"code",p:"p",pre:"pre",...(0,s.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:"The operations you can execute in greenfield storage network"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-jsx",children:"export enum ActionType {\n ACTION_UNSPECIFIED = 0,\n ACTION_UPDATE_BUCKET_INFO = 1,\n ACTION_DELETE_BUCKET = 2,\n ACTION_CREATE_OBJECT = 3,\n ACTION_DELETE_OBJECT = 4,\n ACTION_COPY_OBJECT = 5,\n ACTION_GET_OBJECT = 6,\n ACTION_EXECUTE_OBJECT = 7,\n ACTION_LIST_OBJECT = 8,\n ACTION_UPDATE_GROUP_MEMBER = 9,\n ACTION_DELETE_GROUP = 10,\n ACTION_UPDATE_OBJECT_INFO = 11,\n ACTION_UPDATE_GROUP_EXTRA = 12,\n ACTION_TYPE_ALL = 99,\n UNRECOGNIZED = -1,\n}\n"})})]})}function p(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(T,{...e})}):T(e)}},3159:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>c});var o=t(8318);const s={},i=o.createContext(s);function r(e){const n=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/2dbd2a66.e73f1cb4.js b/assets/js/2dbd2a66.e73f1cb4.js
deleted file mode 100644
index 1c773f9b..00000000
--- a/assets/js/2dbd2a66.e73f1cb4.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[380],{753:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>r,default:()=>p,frontMatter:()=>i,metadata:()=>c,toc:()=>d});var o=t(5250),s=t(1340);const i={id:"action",title:"ActionType"},r=void 0,c={id:"types/action",title:"ActionType",description:"The operations you can execute in greenfield storage network",source:"@site/docs/types/action.mdx",sourceDirName:"types",slug:"/types/action",permalink:"/greenfield-js-sdk/types/action",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/types/action.mdx",tags:[],version:"current",frontMatter:{id:"action",title:"ActionType"},sidebar:"GettingStartSidebar",previous:{title:"Types",permalink:"/greenfield-js-sdk/category/types"},next:{title:"Coin",permalink:"/greenfield-js-sdk/types/coin"}},a={},d=[];function T(e){const n={code:"code",p:"p",pre:"pre",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.p,{children:"The operations you can execute in greenfield storage network"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-jsx",children:"export enum ActionType {\n ACTION_UNSPECIFIED = 0,\n ACTION_UPDATE_BUCKET_INFO = 1,\n ACTION_DELETE_BUCKET = 2,\n ACTION_CREATE_OBJECT = 3,\n ACTION_DELETE_OBJECT = 4,\n ACTION_COPY_OBJECT = 5,\n ACTION_GET_OBJECT = 6,\n ACTION_EXECUTE_OBJECT = 7,\n ACTION_LIST_OBJECT = 8,\n ACTION_UPDATE_GROUP_MEMBER = 9,\n ACTION_DELETE_GROUP = 10,\n ACTION_UPDATE_OBJECT_INFO = 11,\n ACTION_UPDATE_GROUP_EXTRA = 12,\n ACTION_TYPE_ALL = 99,\n UNRECOGNIZED = -1,\n}\n"})})]})}function p(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(T,{...e})}):T(e)}},1340:(e,n,t)=>{t.d(n,{Z:()=>c,a:()=>r});var o=t(79);const s={},i=o.createContext(s);function r(e){const n=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/3be563aa.d0027936.js b/assets/js/3be563aa.894bdc9d.js
similarity index 74%
rename from assets/js/3be563aa.d0027936.js
rename to assets/js/3be563aa.894bdc9d.js
index bc0f38b3..1fa88ce7 100644
--- a/assets/js/3be563aa.d0027936.js
+++ b/assets/js/3be563aa.894bdc9d.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[728],{5114:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>m,frontMatter:()=>o,metadata:()=>r,toc:()=>d});var s=t(5250),i=t(1340);const o={id:"timestamp",title:"Timestamp"},a=void 0,r={id:"types/timestamp",title:"Timestamp",description:"A Timestamp represents a point in time independent of any time zone or local calendar, encoded as a",source:"@site/docs/types/timestamp.mdx",sourceDirName:"types",slug:"/types/timestamp",permalink:"/greenfield-js-sdk/types/timestamp",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/types/timestamp.mdx",tags:[],version:"current",frontMatter:{id:"timestamp",title:"Timestamp"},sidebar:"GettingStartSidebar",previous:{title:"RedundancyType",permalink:"/greenfield-js-sdk/types/redundancy"},next:{title:"VisibilityType",permalink:"/greenfield-js-sdk/types/visibility"}},c={},d=[];function p(e){const n={code:"code",p:"p",pre:"pre",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:"A Timestamp represents a point in time independent of any time zone or local calendar, encoded as a\ncount of seconds and fractions of seconds at nanosecond resolution. The count is relative to an\nepoch at UTC midnight on January 1, 1970, in the proleptic Gregorian calendar which extends the\nGregorian calendar backwards to year one."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",children:"export interface Timestamp {\n /**\n * Represents seconds of UTC time since Unix epoch\n * 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to\n * 9999-12-31T23:59:59Z inclusive.\n */\n seconds: Long;\n /**\n * Non-negative fractions of a second at nanosecond resolution. Negative\n * second values with fractions must still have non-negative nanos values\n * that count forward in time. Must be from 0 to 999,999,999\n * inclusive.\n */\n nanos: number;\n}\n"})})]})}function m(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},1340:(e,n,t)=>{t.d(n,{Z:()=>r,a:()=>a});var s=t(79);const i={},o=s.createContext(i);function a(e){const n=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(o.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[897],{4066:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>m,frontMatter:()=>o,metadata:()=>r,toc:()=>d});var s=t(9214),i=t(3159);const o={id:"timestamp",title:"Timestamp"},a=void 0,r={id:"types/timestamp",title:"Timestamp",description:"A Timestamp represents a point in time independent of any time zone or local calendar, encoded as a",source:"@site/docs/types/timestamp.mdx",sourceDirName:"types",slug:"/types/timestamp",permalink:"/greenfield-js-sdk/types/timestamp",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/types/timestamp.mdx",tags:[],version:"current",frontMatter:{id:"timestamp",title:"Timestamp"},sidebar:"GettingStartSidebar",previous:{title:"RedundancyType",permalink:"/greenfield-js-sdk/types/redundancy"},next:{title:"VisibilityType",permalink:"/greenfield-js-sdk/types/visibility"}},c={},d=[];function p(e){const n={code:"code",p:"p",pre:"pre",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:"A Timestamp represents a point in time independent of any time zone or local calendar, encoded as a\ncount of seconds and fractions of seconds at nanosecond resolution. The count is relative to an\nepoch at UTC midnight on January 1, 1970, in the proleptic Gregorian calendar which extends the\nGregorian calendar backwards to year one."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",children:"export interface Timestamp {\n /**\n * Represents seconds of UTC time since Unix epoch\n * 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to\n * 9999-12-31T23:59:59Z inclusive.\n */\n seconds: Long;\n /**\n * Non-negative fractions of a second at nanosecond resolution. Negative\n * second values with fractions must still have non-negative nanos values\n * that count forward in time. Must be from 0 to 999,999,999\n * inclusive.\n */\n nanos: number;\n}\n"})})]})}function m(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},3159:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>r});var s=t(8318);const i={},o=s.createContext(i);function a(e){const n=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(o.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/3beee713.97644bfc.js b/assets/js/3beee713.97644bfc.js
new file mode 100644
index 00000000..c557c396
--- /dev/null
+++ b/assets/js/3beee713.97644bfc.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[290],{6976:(e,t,n)=>{n.d(t,{Ay:()=>o,RM:()=>a});var s=n(9214),r=n(3159);const a=[];function i(e){const t={a:"a",admonition:"admonition",p:"p",...(0,r.R)(),...e.components};return(0,s.jsx)(t.admonition,{type:"tip",children:(0,s.jsxs)(t.p,{children:["This is only ",(0,s.jsx)(t.a,{href:"/client/tx-client",children:"construct"})," tx, next need ",(0,s.jsx)(t.a,{href:"/client/tx-client#simulate",children:"simulate"})," and\n",(0,s.jsx)(t.a,{href:"/client/tx-client#broadcast",children:"broadcast"})]})})}function o(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(i,{...e})}):i(e)}},1985:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>d,toc:()=>l});var s=n(9214),r=n(3159),a=n(9322);n(6976);const i={id:"gashub",title:"Gashub"},o=void 0,d={id:"api/gashub",title:"Gashub",description:"getMsgGasParams",source:"@site/docs/api/gashub.mdx",sourceDirName:"api",slug:"/api/gashub",permalink:"/greenfield-js-sdk/api/gashub",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/api/gashub.mdx",tags:[],version:"current",frontMatter:{id:"gashub",title:"Gashub"},sidebar:"GettingStartSidebar",previous:{title:"Feegrant",permalink:"/greenfield-js-sdk/api/feegrant"},next:{title:"Group",permalink:"/greenfield-js-sdk/api/group"}},c={},l=[{value:"getMsgGasParams ",id:"getmsggasparams-",level:2}];function p(e){const t={a:"a",code:"code",h2:"h2",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(t.h2,{id:"getmsggasparams-",children:["getMsgGasParams ",(0,s.jsx)(a.A,{type:"Query"})]}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"msgTypeUrls"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/constants/msg-type-url",children:"Message Type URL"})})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"pagination"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/types/pagination",children:"Pagination"})})]})]})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="example"',children:"await client.gashub.getMsgGasParams({\n msgTypeUrls: [],\n pagination: {\n countTotal: true,\n key: Uint8Array.from([]),\n limit: Long.fromInt(10),\n offset: Long.fromInt(0),\n reverse: false,\n },\n});\n"})})]})}function h(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},9322:(e,t,n)=>{n.d(t,{A:()=>r});n(8318);var s=n(9214);const r=e=>{const{type:t}=e;return(0,s.jsx)("span",{style:{backgroundColor:"#25c2a0",borderRadius:"5px",color:"#FFF",fontSize:14,padding:2},children:t})}},3159:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>o});var s=n(8318);const r={},a=s.createContext(r);function i(e){const t=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),s.createElement(a.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/3beee713.a3b33c3e.js b/assets/js/3beee713.a3b33c3e.js
deleted file mode 100644
index e6ccae45..00000000
--- a/assets/js/3beee713.a3b33c3e.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[266],{8695:(e,t,n)=>{n.d(t,{ZP:()=>i});var s=n(5250),r=n(1340);function a(e){const t={a:"a",admonition:"admonition",p:"p",...(0,r.a)(),...e.components};return(0,s.jsx)(t.admonition,{type:"tip",children:(0,s.jsxs)(t.p,{children:["This is only ",(0,s.jsx)(t.a,{href:"/client/tx-client",children:"construct"})," tx, next need ",(0,s.jsx)(t.a,{href:"/client/tx-client#simulate",children:"simulate"})," and\n",(0,s.jsx)(t.a,{href:"/client/tx-client#broadcast",children:"broadcast"})]})})}function i(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},9238:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>d,toc:()=>l});var s=n(5250),r=n(1340),a=n(2503);n(8695);const i={id:"gashub",title:"Gashub"},o=void 0,d={id:"api/gashub",title:"Gashub",description:"getMsgGasParams",source:"@site/docs/api/gashub.mdx",sourceDirName:"api",slug:"/api/gashub",permalink:"/greenfield-js-sdk/api/gashub",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/api/gashub.mdx",tags:[],version:"current",frontMatter:{id:"gashub",title:"Gashub"},sidebar:"GettingStartSidebar",previous:{title:"Feegrant",permalink:"/greenfield-js-sdk/api/feegrant"},next:{title:"Group",permalink:"/greenfield-js-sdk/api/group"}},c={},l=[{value:"getMsgGasParams ",id:"getmsggasparams-",level:2}];function p(e){const t={a:"a",code:"code",h2:"h2",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(t.h2,{id:"getmsggasparams-",children:["getMsgGasParams ",(0,s.jsx)(a.Z,{type:"Query"})]}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"msgTypeUrls"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/constants/msg-type-url",children:"Message Type URL"})})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"pagination"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/types/pagination",children:"Pagination"})})]})]})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="example"',children:"await client.gashub.getMsgGasParams({\n msgTypeUrls: [],\n pagination: {\n countTotal: true,\n key: Uint8Array.from([]),\n limit: Long.fromInt(10),\n offset: Long.fromInt(0),\n reverse: false,\n },\n});\n"})})]})}function h(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},2503:(e,t,n)=>{n.d(t,{Z:()=>r});n(79);var s=n(5250);const r=e=>{const{type:t}=e;return(0,s.jsx)("span",{style:{backgroundColor:"#25c2a0",borderRadius:"5px",color:"#FFF",fontSize:14,padding:2},children:t})}},1340:(e,t,n)=>{n.d(t,{Z:()=>o,a:()=>i});var s=n(79);const r={},a=s.createContext(r);function i(e){const t=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),s.createElement(a.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/43352d7e.abeae512.js b/assets/js/43352d7e.abeae512.js
deleted file mode 100644
index 2817fb30..00000000
--- a/assets/js/43352d7e.abeae512.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[135],{8695:(e,t,i)=>{i.d(t,{ZP:()=>n});var l=i(5250),r=i(1340);function a(e){const t={a:"a",admonition:"admonition",p:"p",...(0,r.a)(),...e.components};return(0,l.jsx)(t.admonition,{type:"tip",children:(0,l.jsxs)(t.p,{children:["This is only ",(0,l.jsx)(t.a,{href:"/client/tx-client",children:"construct"})," tx, next need ",(0,l.jsx)(t.a,{href:"/client/tx-client#simulate",children:"simulate"})," and\n",(0,l.jsx)(t.a,{href:"/client/tx-client#broadcast",children:"broadcast"})]})})}function n(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,l.jsx)(t,{...e,children:(0,l.jsx)(a,{...e})}):a(e)}},9301:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>d,contentTitle:()=>s,default:()=>p,frontMatter:()=>n,metadata:()=>o,toc:()=>u});var l=i(5250),r=i(1340),a=i(2503);i(8695);const n={id:"virtual-group",title:"VirtualGroup"},s=void 0,o={id:"api/virtual-group",title:"VirtualGroup",description:"getGlobalVirtualGroup",source:"@site/docs/api/virtualGroup.mdx",sourceDirName:"api",slug:"/api/virtual-group",permalink:"/greenfield-js-sdk/api/virtual-group",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/api/virtualGroup.mdx",tags:[],version:"current",frontMatter:{id:"virtual-group",title:"VirtualGroup"},sidebar:"GettingStartSidebar",previous:{title:"Sp",permalink:"/greenfield-js-sdk/api/sp"},next:{title:"constants",permalink:"/greenfield-js-sdk/category/constants"}},d={},u=[{value:"getGlobalVirtualGroup ",id:"getglobalvirtualgroup-",level:2},{value:"getGlobalVirtualGroupByFamilyID ",id:"getglobalvirtualgroupbyfamilyid-",level:2},{value:"getGlobalVirtualGroupFamily ",id:"getglobalvirtualgroupfamily-",level:2},{value:"getGlobalVirtualGroupFamilies ",id:"getglobalvirtualgroupfamilies-",level:2}];function c(e){const t={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.a)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(t.h2,{id:"getglobalvirtualgroup-",children:["getGlobalVirtualGroup ",(0,l.jsx)(a.Z,{type:"Query"})]}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{children:"params"}),(0,l.jsx)(t.th,{children:"description"})]})}),(0,l.jsx)(t.tbody,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{children:"globalVirtualGroupId"}),(0,l.jsx)(t.td,{children:"virtual group id"})]})})]}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-jsx",metastring:'title="example"',children:"await client.virtualGroup.getGlobalVirtualGroup({\n globalVirtualGroupId: 11,\n});\n"})}),"\n",(0,l.jsxs)(t.h2,{id:"getglobalvirtualgroupbyfamilyid-",children:["getGlobalVirtualGroupByFamilyID ",(0,l.jsx)(a.Z,{type:"Query"})]}),"\n",(0,l.jsx)(t.p,{children:"Query the virtual group family by ID."}),"\n",(0,l.jsx)(t.p,{children:"Virtual group family(VGF) serve as a means of grouping global virtual groups. Each bucket must be\nassociated with a unique global virtual group family and cannot cross families."}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{children:"params"}),(0,l.jsx)(t.th,{children:"description"})]})}),(0,l.jsx)(t.tbody,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{children:"globalVirtualGroupFamilyId"}),(0,l.jsx)(t.td,{children:"VGF id"})]})})]}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-jsx",metastring:'title="example"',children:"await client.virtualGroup.getGlobalVirtualGroupByFamilyID({\n globalVirtualGroupFamilyId: 11,\n});\n"})}),"\n",(0,l.jsxs)(t.h2,{id:"getglobalvirtualgroupfamily-",children:["getGlobalVirtualGroupFamily ",(0,l.jsx)(a.Z,{type:"Query"})]}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{children:"params"}),(0,l.jsx)(t.th,{children:"description"})]})}),(0,l.jsx)(t.tbody,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{children:"familyId"}),(0,l.jsx)(t.td,{children:"family id"})]})})]}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-jsx",metastring:'title="example"',children:"await client.virtualGroup.getGlobalVirtualGroupFamily({\n familyId: 11,\n});\n"})}),"\n",(0,l.jsxs)(t.h2,{id:"getglobalvirtualgroupfamilies-",children:["getGlobalVirtualGroupFamilies ",(0,l.jsx)(a.Z,{type:"Query"})]}),"\n",(0,l.jsx)(t.p,{children:"Get All global virtual group families."}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{children:"params"}),(0,l.jsx)(t.th,{children:"description"})]})}),(0,l.jsx)(t.tbody,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{children:"pagination"}),(0,l.jsx)(t.td,{children:(0,l.jsx)(t.a,{href:"/types/pagination",children:"Pagination"})})]})})]}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-jsx",metastring:'title="example"',children:"await client.virtualGroup.getGlobalVirtualGroupFamilies({\n pagination: {\n countTotal: true,\n key: Uint8Array.from([]),\n limit: Long.fromInt(10),\n offset: Long.fromInt(0),\n reverse: false,\n },\n});\n"})})]})}function p(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,l.jsx)(t,{...e,children:(0,l.jsx)(c,{...e})}):c(e)}},2503:(e,t,i)=>{i.d(t,{Z:()=>r});i(79);var l=i(5250);const r=e=>{const{type:t}=e;return(0,l.jsx)("span",{style:{backgroundColor:"#25c2a0",borderRadius:"5px",color:"#FFF",fontSize:14,padding:2},children:t})}},1340:(e,t,i)=>{i.d(t,{Z:()=>s,a:()=>n});var l=i(79);const r={},a=l.createContext(r);function n(e){const t=l.useContext(a);return l.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:n(e.components),l.createElement(a.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/43352d7e.be0ef457.js b/assets/js/43352d7e.be0ef457.js
new file mode 100644
index 00000000..b9b120ac
--- /dev/null
+++ b/assets/js/43352d7e.be0ef457.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[114],{6976:(e,t,i)=>{i.d(t,{Ay:()=>s,RM:()=>a});var l=i(9214),r=i(3159);const a=[];function n(e){const t={a:"a",admonition:"admonition",p:"p",...(0,r.R)(),...e.components};return(0,l.jsx)(t.admonition,{type:"tip",children:(0,l.jsxs)(t.p,{children:["This is only ",(0,l.jsx)(t.a,{href:"/client/tx-client",children:"construct"})," tx, next need ",(0,l.jsx)(t.a,{href:"/client/tx-client#simulate",children:"simulate"})," and\n",(0,l.jsx)(t.a,{href:"/client/tx-client#broadcast",children:"broadcast"})]})})}function s(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,l.jsx)(t,{...e,children:(0,l.jsx)(n,{...e})}):n(e)}},8671:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>d,contentTitle:()=>s,default:()=>p,frontMatter:()=>n,metadata:()=>o,toc:()=>c});var l=i(9214),r=i(3159),a=i(9322);i(6976);const n={id:"virtual-group",title:"VirtualGroup"},s=void 0,o={id:"api/virtual-group",title:"VirtualGroup",description:"getGlobalVirtualGroup",source:"@site/docs/api/virtualGroup.mdx",sourceDirName:"api",slug:"/api/virtual-group",permalink:"/greenfield-js-sdk/api/virtual-group",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/api/virtualGroup.mdx",tags:[],version:"current",frontMatter:{id:"virtual-group",title:"VirtualGroup"},sidebar:"GettingStartSidebar",previous:{title:"Sp",permalink:"/greenfield-js-sdk/api/sp"},next:{title:"constants",permalink:"/greenfield-js-sdk/category/constants"}},d={},c=[{value:"getGlobalVirtualGroup ",id:"getglobalvirtualgroup-",level:2},{value:"getGlobalVirtualGroupByFamilyID ",id:"getglobalvirtualgroupbyfamilyid-",level:2},{value:"getGlobalVirtualGroupFamily ",id:"getglobalvirtualgroupfamily-",level:2},{value:"getGlobalVirtualGroupFamilies ",id:"getglobalvirtualgroupfamilies-",level:2}];function u(e){const t={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.R)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(t.h2,{id:"getglobalvirtualgroup-",children:["getGlobalVirtualGroup ",(0,l.jsx)(a.A,{type:"Query"})]}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{children:"params"}),(0,l.jsx)(t.th,{children:"description"})]})}),(0,l.jsx)(t.tbody,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{children:"globalVirtualGroupId"}),(0,l.jsx)(t.td,{children:"virtual group id"})]})})]}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-jsx",metastring:'title="example"',children:"await client.virtualGroup.getGlobalVirtualGroup({\n globalVirtualGroupId: 11,\n});\n"})}),"\n",(0,l.jsxs)(t.h2,{id:"getglobalvirtualgroupbyfamilyid-",children:["getGlobalVirtualGroupByFamilyID ",(0,l.jsx)(a.A,{type:"Query"})]}),"\n",(0,l.jsx)(t.p,{children:"Query the virtual group family by ID."}),"\n",(0,l.jsx)(t.p,{children:"Virtual group family(VGF) serve as a means of grouping global virtual groups. Each bucket must be\nassociated with a unique global virtual group family and cannot cross families."}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{children:"params"}),(0,l.jsx)(t.th,{children:"description"})]})}),(0,l.jsx)(t.tbody,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{children:"globalVirtualGroupFamilyId"}),(0,l.jsx)(t.td,{children:"VGF id"})]})})]}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-jsx",metastring:'title="example"',children:"await client.virtualGroup.getGlobalVirtualGroupByFamilyID({\n globalVirtualGroupFamilyId: 11,\n});\n"})}),"\n",(0,l.jsxs)(t.h2,{id:"getglobalvirtualgroupfamily-",children:["getGlobalVirtualGroupFamily ",(0,l.jsx)(a.A,{type:"Query"})]}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{children:"params"}),(0,l.jsx)(t.th,{children:"description"})]})}),(0,l.jsx)(t.tbody,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{children:"familyId"}),(0,l.jsx)(t.td,{children:"family id"})]})})]}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-jsx",metastring:'title="example"',children:"await client.virtualGroup.getGlobalVirtualGroupFamily({\n familyId: 11,\n});\n"})}),"\n",(0,l.jsxs)(t.h2,{id:"getglobalvirtualgroupfamilies-",children:["getGlobalVirtualGroupFamilies ",(0,l.jsx)(a.A,{type:"Query"})]}),"\n",(0,l.jsx)(t.p,{children:"Get All global virtual group families."}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{children:"params"}),(0,l.jsx)(t.th,{children:"description"})]})}),(0,l.jsx)(t.tbody,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{children:"pagination"}),(0,l.jsx)(t.td,{children:(0,l.jsx)(t.a,{href:"/types/pagination",children:"Pagination"})})]})})]}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-jsx",metastring:'title="example"',children:"await client.virtualGroup.getGlobalVirtualGroupFamilies({\n pagination: {\n countTotal: true,\n key: Uint8Array.from([]),\n limit: Long.fromInt(10),\n offset: Long.fromInt(0),\n reverse: false,\n },\n});\n"})})]})}function p(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,l.jsx)(t,{...e,children:(0,l.jsx)(u,{...e})}):u(e)}},9322:(e,t,i)=>{i.d(t,{A:()=>r});i(8318);var l=i(9214);const r=e=>{const{type:t}=e;return(0,l.jsx)("span",{style:{backgroundColor:"#25c2a0",borderRadius:"5px",color:"#FFF",fontSize:14,padding:2},children:t})}},3159:(e,t,i)=>{i.d(t,{R:()=>n,x:()=>s});var l=i(8318);const r={},a=l.createContext(r);function n(e){const t=l.useContext(a);return l.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:n(e.components),l.createElement(a.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/433aefdb.8572c107.js b/assets/js/433aefdb.4f3a3466.js
similarity index 85%
rename from assets/js/433aefdb.8572c107.js
rename to assets/js/433aefdb.4f3a3466.js
index 61a0b530..918f4db6 100644
--- a/assets/js/433aefdb.8572c107.js
+++ b/assets/js/433aefdb.4f3a3466.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[369],{5759:e=>{e.exports=JSON.parse('{"title":"Constants","slug":"/category/constants","permalink":"/greenfield-js-sdk/category/constants","navigation":{"previous":{"title":"VirtualGroup","permalink":"/greenfield-js-sdk/api/virtual-group"},"next":{"title":"Message Type URL","permalink":"/greenfield-js-sdk/constants/msg-type-url"}}}')}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[287],{9092:e=>{e.exports=JSON.parse('{"title":"Constants","slug":"/category/constants","permalink":"/greenfield-js-sdk/category/constants","navigation":{"previous":{"title":"VirtualGroup","permalink":"/greenfield-js-sdk/api/virtual-group"},"next":{"title":"Message Type URL","permalink":"/greenfield-js-sdk/constants/msg-type-url"}}}')}}]);
\ No newline at end of file
diff --git a/assets/js/444.6f6477a6.js b/assets/js/444.6f6477a6.js
deleted file mode 100644
index f39c62e2..00000000
--- a/assets/js/444.6f6477a6.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! For license information please see 444.6f6477a6.js.LICENSE.txt */
-"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[444],{3468:(e,t,n)=>{t.__esModule=!0,t.default=void 0;var r=i(n(79)),o=i(n(5623));function i(e){return e&&e.__esModule?e:{default:e}}function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t{t.__esModule=!0,t.default=void 0;var r=i(n(79)),o=i(n(5623));function i(e){return e&&e.__esModule?e:{default:e}}function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t{t.__esModule=!0,t.default=void 0;var r=i(n(79)),o=i(n(5623));function i(e){return e&&e.__esModule?e:{default:e}}function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t{t.__esModule=!0,t.default=void 0;var r=i(n(79)),o=i(n(5623));function i(e){return e&&e.__esModule?e:{default:e}}function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t{t.__esModule=!0,t.default=void 0;var r=i(n(79)),o=i(n(9519));function i(e){return e&&e.__esModule?e:{default:e}}var a=function(e){var t=e.size,n=void 0===t?24:t,o=e.fill,i=void 0===o?"#000":o,a=e.className,s=e.path;return r.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:n,height:n,viewBox:"0 0 24 24",className:a},r.default.createElement("path",{d:"M0 0h24v24H0z",fill:"none"}),r.default.createElement("path",{fill:i,d:s}))};a.propTypes={size:o.default.number,fill:o.default.string,className:o.default.string,path:o.default.string.isRequired};var s=a;t.default=s},9958:(e,t,n)=>{t.__esModule=!0,t.default=void 0;var r=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=f(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var a=o?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(r,i,a):r[i]=e[i]}r.default=e,n&&n.set(e,r);return r}(n(79)),o=u(n(9519)),i=n(4991),a=u(n(1871)),s=n(9365),l=n(3254),c=n(89);function u(e){return e&&e.__esModule?e:{default:e}}function f(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(f=function(e){return e?n:t})(e)}function d(){return d=Object.assign?Object.assign.bind():function(e){for(var t=1;t1?(0,c.guessMaxImageWidth)(n.state.dimensions):0,supportsWebp:c.supportsWebp}),t=n.props.getUrl,r=t?t(e):e.src,o=n.props.shouldAutoDownload(h(h({},n.state),{},{size:e.size}));n.setState({pickedSrc:e,shouldAutoDownload:o,url:r},(function(){o&&n.load(!1)}))}})),m(v(n),"onLeave",(function(){n.state.loadState!==b||n.state.userTriggered||(n.setState({inViewport:!1}),n.cancel(!1))})),n.state={loadState:w,connection:c.nativeConnection?{downlink:navigator.connection.downlink,rtt:navigator.connection.rtt,effectiveType:navigator.connection.effectiveType}:null,onLine:!0,overThreshold:!1,inViewport:!1,userTriggered:!1,possiblySlowNetwork:!1},n}n=e,(t=o).prototype=Object.create(n.prototype),t.prototype.constructor=t,g(t,n);var s=o.prototype;return s.componentDidMount=function(){var e=this;c.nativeConnection?(this.updateConnection=function(){navigator.onLine&&e.state.loadState===w&&e.setState({connection:{effectiveType:navigator.connection.effectiveType,downlink:navigator.connection.downlink,rtt:navigator.connection.rtt}})},navigator.connection.addEventListener("onchange",this.updateConnection)):this.props.threshold&&(this.possiblySlowNetworkListener=function(t){if(e.state.loadState===w){var n=t.detail.possiblySlowNetwork;!e.state.possiblySlowNetwork&&n&&e.setState({possiblySlowNetwork:n})}},window.document.addEventListener("possiblySlowNetwork",this.possiblySlowNetworkListener)),this.updateOnlineStatus=function(){return e.setState({onLine:navigator.onLine})},this.updateOnlineStatus(),window.addEventListener("online",this.updateOnlineStatus),window.addEventListener("offline",this.updateOnlineStatus)},s.componentWillUnmount=function(){this.clear(),c.nativeConnection?navigator.connection.removeEventListener("onchange",this.updateConnection):this.props.threshold&&window.document.removeEventListener("possiblySlowNetwork",this.possiblySlowNetworkListener),window.removeEventListener("online",this.updateOnlineStatus),window.removeEventListener("offline",this.updateOnlineStatus)},s.clear=function(){this.loader&&(this.loader.cancel(),this.loader=void 0)},s.cancel=function(e){b===this.state.loadState&&(this.clear(),this.loadStateChange(w,e))},s.loadStateChange=function(e,t,n){void 0===n&&(n=null),this.setState({loadState:e,overThreshold:!1,userTriggered:!!t,loadInfo:n})},s.render=function(){var e=this,t=this.props.getIcon(this.state),n=this.props.getMessage(t,this.state);return r.default.createElement(i.Waypoint,{onEnter:this.onEnter,onLeave:this.onLeave},r.default.createElement(a.default,d({},this.props,(0,c.fallbackParams)(this.props),{onClick:this.onClick,icon:t,src:this.state.url||"",onDimensions:function(t){return e.setState({dimensions:t})},message:n})))},o}(r.Component);t.default=S,m(S,"propTypes",{threshold:o.default.number,getUrl:o.default.func,srcSet:o.default.arrayOf(o.default.shape({width:o.default.number.isRequired,src:o.default.string,size:o.default.number,format:o.default.oneOf(["jpeg","jpg","webp","png","gif"])})).isRequired,shouldAutoDownload:o.default.func,getMessage:o.default.func,getIcon:o.default.func,loader:o.default.oneOf(["image","xhr"]),width:o.default.number.isRequired,height:o.default.number.isRequired,placeholder:o.default.oneOfType([o.default.shape({color:o.default.string.isRequired}),o.default.shape({lqip:o.default.string.isRequired})]).isRequired,icons:o.default.object.isRequired,theme:o.default.object.isRequired}),m(S,"defaultProps",{shouldAutoDownload:function(e){var t=e.connection,n=e.size,r=e.threshold;if(e.possiblySlowNetwork)return!1;if(!t)return!0;var o=t.downlink,i=t.rtt;switch(t.effectiveType){case"slow-2g":case"2g":return!1;case"3g":return!!(o&&n&&r)&&8*n/(1e3*o)+i{t.__esModule=!0,t.default=void 0;var r=s(n(79)),o=s(n(9958)),i=s(n(4466)),a=s(n(6680));function s(e){return e&&e.__esModule?e:{default:e}}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t{t.__esModule=!0,t.default=void 0;var r=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=l(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var a=o?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(r,i,a):r[i]=e[i]}r.default=e,n&&n.set(e,r);return r}(n(79)),o=s(n(9519)),i=s(n(3776)),a=n(9365);function s(e){return e&&e.__esModule?e:{default:e}}function l(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(l=function(e){return e?n:t})(e)}function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t{t.__esModule=!0,t.default=void 0;t.default=function(){for(var e,t=[],n=arguments.length,r=new Array(n),o=0;o1?t.join(" "):t[0],style:e}}},9365:(e,t)=>{t.__esModule=!0,t.loadStates=t.icons=void 0;var n="loading",r="loaded",o="error",i={load:"load",loading:n,loaded:r,error:o,noicon:"noicon",offline:"offline"};t.icons=i;var a={initial:"initial",loading:n,loaded:r,error:o};t.loadStates=a},89:(e,t)=>{t.__esModule=!0,t.supportsWebp=t.ssr=t.selectSrc=t.nativeConnection=t.guessMaxImageWidth=t.fallbackParams=t.bytesToSize=void 0;var n="undefined"==typeof window||"ReactSnap"===window.navigator.userAgent;t.ssr=n;var r=!n&&!!window.navigator.connection;t.nativeConnection=r;t.guessMaxImageWidth=function(e,t){if(n)return 0;t||(t=window);var r,o=e.width,i=t.screen,a=i.width,s=i.height,l=document.documentElement,c=t.innerWidth||l.clientWidth,u=t.innerHeight||l.clientHeight,f=t.devicePixelRatio||1;if(a>c){var d=document.getElementsByTagName("body")[0],p=c-o;r=(d.clientHeight>u||d.clientHeight>s)&&p<=15?a-p:o/c*a}else r=o;return r*f};t.bytesToSize=function(e){var t=["Bytes","KB","MB","GB","TB"];if(0===e)return"n/a";var n=parseInt(Math.floor(Math.log(e)/Math.log(1024)),10);return 0===n?e+" "+t[n]:(e/Math.pow(1024,n)).toFixed(1)+" "+t[n]};var o=function(){if(n)return!1;var e=document.createElement("canvas");return!(!e.getContext||!e.getContext("2d"))&&0===e.toDataURL("image/webp").indexOf("data:image/webp")}();t.supportsWebp=o;var i=function(e){return"webp"===e.format||e.src&&e.src.match(/\.webp($|\?.*)/i)};t.selectSrc=function(e){var t,n,r=e.srcSet,o=e.maxImageWidth,a=e.supportsWebp;if(0===r.length)throw new Error("Need at least one item in srcSet");if(a)0===(t=r.filter(i)).length&&(t=r);else if(0===(t=r.filter((function(e){return!i(e)}))).length)throw new Error("Need at least one supported format item in srcSet");var s=t.filter((function(e){return e.width>=o}));return 0===s.length?(s=t,n=Math.max.apply(null,s.map((function(e){return e.width})))):n=Math.min.apply(null,s.map((function(e){return e.width}))),t.filter((function(e){return e.width===n}))[0]};t.fallbackParams=function(e){var t=e.srcSet,r=e.getUrl;if(!n)return{};var o=t.filter((function(e){return!i(e)})),a=o[0];return{nsSrcSet:o.map((function(e){return(r?r(e):e.src)+" "+e.width+"w"})).join(","),nsSrc:r?r(a):a.src,ssr:n}}},4466:(e,t,n)=>{t.__esModule=!0,t.default=void 0;var r,o=c(n(3468)),i=c(n(7574)),a=c(n(9979)),s=c(n(877)),l=n(9365);function c(e){return e&&e.__esModule?e:{default:e}}var u=l.icons.load,f=l.icons.loading,d=l.icons.loaded,p=l.icons.error,h=l.icons.noicon,v=l.icons.offline,g=((r={})[u]=o.default,r[f]=s.default,r[d]=null,r[p]=a.default,r[h]=null,r[v]=i.default,r);t.default=g},3254:(e,t,n)=>{t.__esModule=!0,t.xhrLoader=t.timeout=t.imageLoader=t.combineCancel=void 0;var r=n(4232);function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t{t.__esModule=!0,t.default=void 0;t.default={placeholder:{backgroundSize:"cover",backgroundRepeat:"no-repeat",position:"relative"},img:{width:"100%",height:"auto",maxWidth:"100%",marginBottom:"-4px"},icon:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",textAlign:"center"},noscript:{position:"absolute",top:0,left:0}}},4232:(e,t)=>{t.__esModule=!0,t.unfetch=t.UnfetchAbortController=void 0;t.UnfetchAbortController=function(){var e=this;this.signal={onabort:function(){}},this.abort=function(){return e.signal.onabort()}};t.unfetch=function(e,t){return t=t||{},new Promise((function(n,r){var o=new XMLHttpRequest;for(var i in o.open(t.method||"get",e,!0),t.headers)o.setRequestHeader(i,t.headers[i]);function a(){var e,t=[],n=[],r={};return o.getAllResponseHeaders().replace(/^(.*?):\s*?([\s\S]*?)$/gm,(function(o,i,a){t.push(i=i.toLowerCase()),n.push([i,a]),e=r[i],r[i]=e?e+","+a:a})),{ok:2==(o.status/100|0),status:o.status,statusText:o.statusText,url:o.responseURL,clone:a,text:function(){return Promise.resolve(o.responseText)},json:function(){return Promise.resolve(o.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([o.response]))},headers:{keys:function(){return t},entries:function(){return n},get:function(e){return r[e.toLowerCase()]},has:function(e){return e.toLowerCase()in r}}}}o.withCredentials="include"===t.credentials,o.onload=function(){n(a())},o.onerror=r,t.signal&&(t.signal.onabort=function(){o.onerror=o.onload=void 0,o.abort()}),o.send(t.body)}))}},815:(e,t,n)=>{var r;t.Z=void 0;var o=((r=n(2630))&&r.__esModule?r:{default:r}).default;t.Z=o},8367:(e,t,n)=>{n.d(t,{Z:()=>s});n(79);var r=n(815),o=n(6138),i=n(5250);function a(e,t){switch(e){case"noicon":case"loaded":return null;case"loading":return(0,o.I)({id:"theme.IdealImageMessage.loading",message:"Loading...",description:"When the full-scale image is loading"});case"load":{const{pickedSrc:e}=t,{size:n}=e,r=n?` (${function(e){const t=["B","KB","MB","GB","TB"];if(0===e)return"n/a";const n=Math.floor(Math.log(e)/Math.log(1024));return 0===n?`${e} ${t[n]}`:`${(e/1024**n).toFixed(1)} ${t[n]}`}(n)})`:"";return(0,o.I)({id:"theme.IdealImageMessage.load",message:"Click to load{sizeMessage}",description:"To prompt users to load the full image. sizeMessage is a parenthesized size figure."},{sizeMessage:r})}case"offline":return(0,o.I)({id:"theme.IdealImageMessage.offline",message:"Your browser is offline. Image not loaded",description:"When the user is viewing an offline document"});case"error":{const{loadInfo:e}=t;return 404===e?(0,o.I)({id:"theme.IdealImageMessage.404error",message:"404. Image not found",description:"When the image is not found"}):(0,o.I)({id:"theme.IdealImageMessage.error",message:"Error. Click to reload",description:"When the image fails to load for unknown error"})}default:throw new Error(`Wrong icon: ${e}`)}}function s(e){const{img:t,...n}=e;return"string"==typeof t||"default"in t?(0,i.jsx)("img",{src:"string"==typeof t?t:t.default,...n}):(0,i.jsx)(r.Z,{...n,height:t.src.height??100,width:t.src.width??100,placeholder:{lqip:t.preSrc},src:t.src.src,srcSet:t.src.images.map((e=>({...e,src:e.path}))),getMessage:a})}},2810:(e,t)=>{var n,r=Symbol.for("react.element"),o=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),l=Symbol.for("react.provider"),c=Symbol.for("react.context"),u=Symbol.for("react.server_context"),f=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),p=Symbol.for("react.suspense_list"),h=Symbol.for("react.memo"),v=Symbol.for("react.lazy"),g=Symbol.for("react.offscreen");function m(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case i:case s:case a:case d:case p:return e;default:switch(e=e&&e.$$typeof){case u:case c:case f:case v:case h:case l:return e;default:return t}}case o:return t}}}n=Symbol.for("react.module.reference"),t.isForwardRef=function(e){return m(e)===f}},2037:(e,t,n)=>{e.exports=n(2810)},4991:(e,t,n)=>{n.r(t),n.d(t,{Waypoint:()=>E});var r=n(9688),o=!("undefined"==typeof window||!window.document||!window.document.createElement);var i=void 0;function a(){return void 0===i&&(i=function(){if(!o)return!1;if(!window.addEventListener||!window.removeEventListener||!Object.defineProperty)return!1;var e=!1;try{var t=Object.defineProperty({},"passive",{get:function(){e=!0}}),n=function(){};window.addEventListener("testPassiveEventSupport",n,t),window.removeEventListener("testPassiveEventSupport",n,t)}catch(r){}return e}()),i}function s(e){e.handlers===e.nextHandlers&&(e.nextHandlers=e.handlers.slice())}function l(e){this.target=e,this.events={}}l.prototype.getEventHandlers=function(e,t){var n,r=String(e)+" "+String((n=t)?!0===n?100:(n.capture<<0)+(n.passive<<1)+(n.once<<2):0);return this.events[r]||(this.events[r]={handlers:[],handleEvent:void 0},this.events[r].nextHandlers=this.events[r].handlers),this.events[r]},l.prototype.handleEvent=function(e,t,n){var r=this.getEventHandlers(e,t);r.handlers=r.nextHandlers,r.handlers.forEach((function(e){e&&e(n)}))},l.prototype.add=function(e,t,n){var r=this,o=this.getEventHandlers(e,n);s(o),0===o.nextHandlers.length&&(o.handleEvent=this.handleEvent.bind(this,e,n),this.target.addEventListener(e,o.handleEvent,n)),o.nextHandlers.push(t);var i=!0;return function(){if(i){i=!1,s(o);var a=o.nextHandlers.indexOf(t);o.nextHandlers.splice(a,1),0===o.nextHandlers.length&&(r.target&&r.target.removeEventListener(e,o.handleEvent,n),o.handleEvent=void 0)}}};var c="__consolidated_events_handlers__";function u(e,t,n,r){e[c]||(e[c]=new l(e));var o=function(e){if(e)return a()?e:!!e.capture}(r);return e[c].add(t,n,o)}var f=n(79),d=n(2037);function p(e,t){var n,r=(n=e,!isNaN(parseFloat(n))&&isFinite(n)?parseFloat(n):"px"===n.slice(-2)?parseFloat(n.slice(0,-2)):void 0);if("number"==typeof r)return r;var o=function(e){if("%"===e.slice(-1))return parseFloat(e.slice(0,-1))/100}(e);return"number"==typeof o?o*t:void 0}var h="above",v="inside",g="below",m="invisible";function w(e){return"string"==typeof e.type}var b;var y=[];function O(e){y.push(e),b||(b=setTimeout((function(){var e;for(b=null;e=y.shift();)e()}),0));var t=!0;return function(){if(t){t=!1;var n=y.indexOf(e);-1!==n&&(y.splice(n,1),!y.length&&b&&(clearTimeout(b),b=null))}}}var S="undefined"!=typeof window,j={debug:!1,scrollableAncestor:void 0,children:void 0,topOffset:"0px",bottomOffset:"0px",horizontal:!1,onEnter:function(){},onLeave:function(){},onPositionChange:function(){},fireOnRapidScroll:!0},E=function(e){function t(t){var n;return(n=e.call(this,t)||this).refElement=function(e){n._ref=e},n}(0,r.Z)(t,e);var o=t.prototype;return o.componentDidMount=function(){var e=this;S&&(this.cancelOnNextTick=O((function(){e.cancelOnNextTick=null;var t=e.props,n=t.children;t.debug;!function(e,t){if(e&&!w(e)&&!t)throw new Error(" needs a DOM element to compute boundaries. The child you passed is neither a DOM element (e.g.
) nor does it use the innerRef prop.\n\nSee https://goo.gl/LrBNgw for more info.")}(n,e._ref),e._handleScroll=e._handleScroll.bind(e),e.scrollableAncestor=e._findScrollableAncestor(),e.scrollEventListenerUnsubscribe=u(e.scrollableAncestor,"scroll",e._handleScroll,{passive:!0}),e.resizeEventListenerUnsubscribe=u(window,"resize",e._handleScroll,{passive:!0}),e._handleScroll(null)})))},o.componentDidUpdate=function(){var e=this;S&&this.scrollableAncestor&&(this.cancelOnNextTick||(this.cancelOnNextTick=O((function(){e.cancelOnNextTick=null,e._handleScroll(null)}))))},o.componentWillUnmount=function(){S&&(this.scrollEventListenerUnsubscribe&&this.scrollEventListenerUnsubscribe(),this.resizeEventListenerUnsubscribe&&this.resizeEventListenerUnsubscribe(),this.cancelOnNextTick&&this.cancelOnNextTick())},o._findScrollableAncestor=function(){var e=this.props,t=e.horizontal,r=e.scrollableAncestor;if(r)return function(e){return"window"===e?n.g.window:e}(r);for(var o=this._ref;o.parentNode;){if((o=o.parentNode)===document.body)return window;var i=window.getComputedStyle(o),a=(t?i.getPropertyValue("overflow-x"):i.getPropertyValue("overflow-y"))||i.getPropertyValue("overflow");if("auto"===a||"scroll"===a||"overlay"===a)return o}return window},o._handleScroll=function(e){if(this._ref){var t=this._getBounds(),n=function(e){return e.viewportBottom-e.viewportTop==0?m:e.viewportTop<=e.waypointTop&&e.waypointTop<=e.viewportBottom||e.viewportTop<=e.waypointBottom&&e.waypointBottom<=e.viewportBottom||e.waypointTop<=e.viewportTop&&e.viewportBottom<=e.waypointBottom?v:e.viewportBottom{n.d(t,{Z:()=>s,a:()=>a});var r=n(79);const o={},i=r.createContext(o);function a(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/45e29900.6fc50f11.js b/assets/js/45e29900.6fc50f11.js
deleted file mode 100644
index 7fb6951d..00000000
--- a/assets/js/45e29900.6fc50f11.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[656],{8695:(e,r,n)=>{n.d(r,{ZP:()=>a});var t=n(5250),s=n(1340);function i(e){const r={a:"a",admonition:"admonition",p:"p",...(0,s.a)(),...e.components};return(0,t.jsx)(r.admonition,{type:"tip",children:(0,t.jsxs)(r.p,{children:["This is only ",(0,t.jsx)(r.a,{href:"/client/tx-client",children:"construct"})," tx, next need ",(0,t.jsx)(r.a,{href:"/client/tx-client#simulate",children:"simulate"})," and\n",(0,t.jsx)(r.a,{href:"/client/tx-client#broadcast",children:"broadcast"})]})})}function a(e={}){const{wrapper:r}={...(0,s.a)(),...e.components};return r?(0,t.jsx)(r,{...e,children:(0,t.jsx)(i,{...e})}):i(e)}},670:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>h,contentTitle:()=>c,default:()=>j,frontMatter:()=>d,metadata:()=>u,toc:()=>p});var t=n(5250),s=n(1340),i=n(2503),a=n(8695),o=n(3880),l=n(8119);const d={id:"group",title:"Group"},c=void 0,u={id:"api/group",title:"Group",description:"createGroup",source:"@site/docs/api/group.mdx",sourceDirName:"api",slug:"/api/group",permalink:"/greenfield-js-sdk/api/group",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/api/group.mdx",tags:[],version:"current",frontMatter:{id:"group",title:"Group"},sidebar:"GettingStartSidebar",previous:{title:"Gashub",permalink:"/greenfield-js-sdk/api/gashub"},next:{title:"Object",permalink:"/greenfield-js-sdk/api/object"}},h={},p=[{value:"createGroup ",id:"creategroup-",level:2},{value:"deleteGroup ",id:"deletegroup-",level:2},{value:"getBucketPolicyOfGroup ",id:"getbucketpolicyofgroup-",level:2},{value:"getObjectPolicyOfGroup ",id:"getobjectpolicyofgroup-",level:2},{value:"headGroup ",id:"headgroup-",level:2},{value:"headGroupMember ",id:"headgroupmember-",level:2},{value:"leaveGroup ",id:"leavegroup-",level:2},{value:"putGroupPolicy ",id:"putgrouppolicy-",level:2},{value:"updateGroupExtra ",id:"updategroupextra-",level:2},{value:"updateGroupMember ",id:"updategroupmember-",level:2}];function x(e){const r={a:"a",admonition:"admonition",code:"code",h2:"h2",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(r.h2,{id:"creategroup-",children:["createGroup ",(0,t.jsx)(i.Z,{type:"Tx"})]}),"\n",(0,t.jsxs)(r.p,{children:["Create a new group without group members on Greenfield blockchain, and group members can be added by\n",(0,t.jsx)(r.a,{href:"#updategroupmember",children:"updateGroupMember"})," transaction."]}),"\n",(0,t.jsxs)(r.p,{children:["A ",(0,t.jsx)(r.code,{children:"Group"})," is a collection of accounts that share the same permissions, allowing them to be handled\nas a single entity."]}),"\n",(0,t.jsx)(r.p,{children:"Examples of permissions include:"}),"\n",(0,t.jsxs)(r.ul,{children:["\n",(0,t.jsxs)(r.li,{children:[(0,t.jsx)(r.code,{children:"Put"}),", ",(0,t.jsx)(r.code,{children:"List"}),", ",(0,t.jsx)(r.code,{children:"Get"}),", ",(0,t.jsx)(r.code,{children:"Delete"}),", ",(0,t.jsx)(r.code,{children:"Copy"}),", and ",(0,t.jsx)(r.code,{children:"Execute"})," data objects;"]}),"\n",(0,t.jsxs)(r.li,{children:[(0,t.jsx)(r.code,{children:"Create"}),", ",(0,t.jsx)(r.code,{children:"Delete"}),", and ",(0,t.jsx)(r.code,{children:"List"})," buckets"]}),"\n",(0,t.jsxs)(r.li,{children:[(0,t.jsx)(r.code,{children:"Create"}),", ",(0,t.jsx)(r.code,{children:"Delete"}),", ",(0,t.jsx)(r.code,{children:"ListMembers"}),", ",(0,t.jsx)(r.code,{children:"Leave groups"})]}),"\n",(0,t.jsxs)(r.li,{children:[(0,t.jsx)(r.code,{children:"Create"}),", ",(0,t.jsx)(r.code,{children:"Associate payment accounts"})]}),"\n",(0,t.jsxs)(r.li,{children:[(0,t.jsx)(r.code,{children:"Grant"}),", ",(0,t.jsx)(r.code,{children:"Revoke"})," the above permissions"]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["For more details regarding ",(0,t.jsx)(r.code,{children:"Group"}),", please refer to\n",(0,t.jsx)(r.a,{href:"https://docs.bnbchain.org/greenfield-docs/docs/guide/greenfield-blockchain/modules/permission",children:"https://docs.bnbchain.org/greenfield-docs/docs/guide/greenfield-blockchain/modules/permission"}),"."]}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"params"}),(0,t.jsx)(r.th,{children:"description"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"creator"}),(0,t.jsx)(r.td,{children:"the account address of group owner who create the group"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"groupName"}),(0,t.jsx)(r.td,{children:"the name of the group. it's not globally unique"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"extra"}),(0,t.jsx)(r.td,{children:"extra info for the group"})]})]})]}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-jsx",metastring:'title="example"',children:"const tx = await client.group.createGroup({\n creator: '0x00..',\n groupName: 'group_name',\n extra: 'extra_info',\n});\n"})}),"\n",(0,t.jsx)(a.ZP,{}),"\n",(0,t.jsxs)(r.h2,{id:"deletegroup-",children:["deleteGroup ",(0,t.jsx)(i.Z,{type:"Tx"})]}),"\n",(0,t.jsxs)(r.p,{children:["Delete a group on Greenfield blockchain. The sender ",(0,t.jsx)(r.strong,{children:"MUST"})," only be the group owner, group members\nor others would fail to send this transaction."]}),"\n",(0,t.jsx)(r.admonition,{type:"warning",children:(0,t.jsx)(r.p,{children:"Deleting a group will result in granted permission revoked. Members within the group will no longer\nhave access to resources (bucket, object) which granted permission on."})}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"params"}),(0,t.jsx)(r.th,{children:"description"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"operator"}),(0,t.jsx)(r.td,{children:"the account address of the operator who has the DeleteGroup permission of the group to be deleted"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"groupName"}),(0,t.jsx)(r.td,{children:"the name of the group which to be deleted"})]})]})]}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-jsx",metastring:'title="example"',children:"const tx = await client.group.deleteGroup({\n groupName: 'group_name',\n operator: '0x00..',\n});\n"})}),"\n",(0,t.jsx)(a.ZP,{}),"\n",(0,t.jsxs)(r.h2,{id:"getbucketpolicyofgroup-",children:["getBucketPolicyOfGroup ",(0,t.jsx)(i.Z,{type:"Query"})]}),"\n",(0,t.jsx)(r.p,{children:"Queries a bucket of policy that grants permission to a group."}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"params"}),(0,t.jsx)(r.th,{children:"description"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"bucketName"}),(0,t.jsx)(r.td,{children:"bucket name"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"groupId"}),(0,t.jsx)(r.td,{children:"group id"})]})]})]}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-jsx",metastring:'title="example"',children:"await client.group.getBucketPolicyOfGroup('bucket_name', 1);\n"})}),"\n",(0,t.jsxs)(r.h2,{id:"getobjectpolicyofgroup-",children:["getObjectPolicyOfGroup ",(0,t.jsx)(i.Z,{type:"Query"})]}),"\n",(0,t.jsx)(r.p,{children:"Queries a object of policy that grants permission to a group."}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"params"}),(0,t.jsx)(r.th,{children:"description"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"bucketName"}),(0,t.jsx)(r.td,{children:"bucket name"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"objectName"}),(0,t.jsx)(r.td,{children:"object name"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"groupId"}),(0,t.jsx)(r.td,{children:"group id"})]})]})]}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-jsx",metastring:'title="example"',children:"await client.group.getObjectPolicyOfGroup('bucket_name', 'object_name', 1);\n"})}),"\n",(0,t.jsxs)(r.h2,{id:"headgroup-",children:["headGroup ",(0,t.jsx)(i.Z,{type:"Query"})]}),"\n",(0,t.jsx)(r.p,{children:"Query the groupInfo on chain, return the group info if exists."}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"params"}),(0,t.jsx)(r.th,{children:"description"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"groupName"}),(0,t.jsx)(r.td,{children:"group name"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"groupOwner"}),(0,t.jsx)(r.td,{children:"owner of group"})]})]})]}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-jsx",metastring:'title="example"',children:"await client.group.headGroup('group_name', '0x00..');\n"})}),"\n",(0,t.jsxs)(r.h2,{id:"headgroupmember-",children:["headGroupMember ",(0,t.jsx)(i.Z,{type:"Query"})]}),"\n",(0,t.jsx)(r.p,{children:"Query the group member info on chain, return true if the member exists in group."}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"params"}),(0,t.jsx)(r.th,{children:"description"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"groupName"}),(0,t.jsx)(r.td,{children:"group name"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"groupOwner"}),(0,t.jsx)(r.td,{children:"owner of group"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"member"}),(0,t.jsx)(r.td,{children:"member of group"})]})]})]}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-jsx",metastring:'title="example"',children:"await client.group.headGroupMember(\n 'groupName',\n '0x00..',\n '0x903904936a4328fac5477c0d96acf2E2bCaCD33d',\n);\n"})}),"\n",(0,t.jsxs)(r.h2,{id:"leavegroup-",children:["leaveGroup ",(0,t.jsx)(i.Z,{type:"Tx"})]}),"\n",(0,t.jsx)(r.p,{children:"Leave a group. A group member initially leaves a group."}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"params"}),(0,t.jsx)(r.th,{children:"description"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"address"}),(0,t.jsx)(r.td,{children:"operator address"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"member"}),(0,t.jsx)(r.td,{children:"the account address of the member who want to leave the group"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"groupOwner"}),(0,t.jsx)(r.td,{children:"the owner of the group you want to leave"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"groupName"}),(0,t.jsx)(r.td,{children:"the name of the group you want to leave"})]})]})]}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-jsx",metastring:'title="example"',children:"await client.group.leaveGroup(\n '0x...', // address\n {\n member: '0x...',\n groupOwner: '0x...',\n groupName: 'group_name',\n },\n);\n"})}),"\n",(0,t.jsx)(a.ZP,{}),"\n",(0,t.jsxs)(r.h2,{id:"putgrouppolicy-",children:["putGroupPolicy ",(0,t.jsx)(i.Z,{type:"Tx"})]}),"\n",(0,t.jsx)(r.p,{children:"Apply group policy to user specified by principalAddr, the sender needs to be the owner of the\ngroup."}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"params"}),(0,t.jsx)(r.th,{children:"description"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"owner"}),(0,t.jsx)(r.td,{children:"owner of group"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"groupName"}),(0,t.jsx)(r.td,{children:"name of group"})]})]})]}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-tsx",metastring:'title="example"',children:"import { PermissionTypes } from '@bnb-chain/greenfield-js-sdk';\nconst statement: PermissionTypes.Statement = {\n effect: PermissionTypes.Effect.EFFECT_ALLOW,\n actions: [PermissionTypes.ActionType.ACTION_UPDATE_GROUP_MEMBER],\n resources: [],\n};\n\nawait client.group.putGroupPolicy(\n '0x...', // owner\n 'group_name',\n {\n operator: '0x...', // address\n statements: [statement],\n principal: {\n type: PermissionTypes.PrincipalType.PRINCIPAL_TYPE_GNFD_ACCOUNT,\n value: '0x0000000000000000000000000000000000000001',\n },\n },\n);\n"})}),"\n",(0,t.jsx)(a.ZP,{}),"\n",(0,t.jsxs)(r.h2,{id:"updategroupextra-",children:["updateGroupExtra ",(0,t.jsx)(i.Z,{type:"Tx"})]}),"\n",(0,t.jsx)(r.p,{children:"Update a group extra."}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"params"}),(0,t.jsx)(r.th,{children:"description"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"operator"}),(0,t.jsx)(r.td,{children:"the account address of the operator who has the UpdateGroupMember permission of the group"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"groupOwner"}),(0,t.jsx)(r.td,{children:"the account address of the group owner"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"groupName"}),(0,t.jsx)(r.td,{children:"the name of the group which to be updated"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"extra"}),(0,t.jsx)(r.td,{children:"extra info for the group to update"})]})]})]}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-jsx",metastring:'title="example"',children:"await client.group.updateGroupExtra({\n operator: '0x...',\n groupOwner: '0x...',\n groupName: 'group_name',\n extra: 'extra info',\n});\n"})}),"\n",(0,t.jsx)(a.ZP,{}),"\n",(0,t.jsxs)(r.h2,{id:"updategroupmember-",children:["updateGroupMember ",(0,t.jsx)(i.Z,{type:"Tx"})]}),"\n",(0,t.jsx)(r.p,{children:"Update a group by adding or removing members. The sender can be the group owner or any individual\naccount(Principle) that has been granted permission by the group owner."}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"params"}),(0,t.jsx)(r.th,{children:"description"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"operator"}),(0,t.jsx)(r.td,{children:"the account address of the operator who has the UpdateGroupMember permission of the group"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"groupOwner"}),(0,t.jsx)(r.td,{children:"the account address of the group owner"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"groupName"}),(0,t.jsx)(r.td,{children:"the name of the group which to be updated"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"membersToAdd"}),(0,t.jsx)(r.td,{children:"MsgGroupMember[]"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"membersToDelete"}),(0,t.jsx)(r.td,{children:"string[]"})]})]})]}),"\n",(0,t.jsxs)(o.Z,{children:[(0,t.jsx)(l.Z,{value:"add",label:"add members",children:(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-jsx",metastring:'title="example"',children:"await client.group.updateGroupMember({\n operator: '0x..',\n groupOwner: '0x..',\n groupName: 'group_name',\n membersToAdd: [\n {\n expirationTime: toTimestamp(date),\n member: '0x903904936a4328fac5477c0d96acf2E2bCaCD33d',\n },\n ],\n membersToDelete: [],\n});\n"})})}),(0,t.jsx)(l.Z,{value:"del",label:"delete members",children:(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-jsx",metastring:'title="example"',children:"await client.group.updateGroupMember({\n operator: '0x..',\n groupOwner: '0x..',\n groupName: 'group_name',\n membersToAdd: [],\n membersToDelete: ['0x903904936a4328fac5477c0d96acf2E2bCaCD33d'],\n});\n"})})})]}),"\n",(0,t.jsx)(a.ZP,{})]})}function j(e={}){const{wrapper:r}={...(0,s.a)(),...e.components};return r?(0,t.jsx)(r,{...e,children:(0,t.jsx)(x,{...e})}):x(e)}},2503:(e,r,n)=>{n.d(r,{Z:()=>s});n(79);var t=n(5250);const s=e=>{const{type:r}=e;return(0,t.jsx)("span",{style:{backgroundColor:"#25c2a0",borderRadius:"5px",color:"#FFF",fontSize:14,padding:2},children:r})}},8119:(e,r,n)=>{n.d(r,{Z:()=>a});n(79);var t=n(3230);const s={tabItem:"tabItem_jc9D"};var i=n(5250);function a(e){let{children:r,hidden:n,className:a}=e;return(0,i.jsx)("div",{role:"tabpanel",className:(0,t.Z)(s.tabItem,a),hidden:n,children:r})}},3880:(e,r,n)=>{n.d(r,{Z:()=>w});var t=n(79),s=n(3230),i=n(4803),a=n(7911),o=n(9121),l=n(3757),d=n(2052),c=n(8991);function u(e){return t.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,t.isValidElement)(e)&&function(e){const{props:r}=e;return!!r&&"object"==typeof r&&"value"in r}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function h(e){const{values:r,children:n}=e;return(0,t.useMemo)((()=>{const e=r??function(e){return u(e).map((e=>{let{props:{value:r,label:n,attributes:t,default:s}}=e;return{value:r,label:n,attributes:t,default:s}}))}(n);return function(e){const r=(0,d.l)(e,((e,r)=>e.value===r.value));if(r.length>0)throw new Error(`Docusaurus error: Duplicate values "${r.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[r,n])}function p(e){let{value:r,tabValues:n}=e;return n.some((e=>e.value===r))}function x(e){let{queryString:r=!1,groupId:n}=e;const s=(0,a.k6)(),i=function(e){let{queryString:r=!1,groupId:n}=e;if("string"==typeof r)return r;if(!1===r)return null;if(!0===r&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:r,groupId:n});return[(0,l._X)(i),(0,t.useCallback)((e=>{if(!i)return;const r=new URLSearchParams(s.location.search);r.set(i,e),s.replace({...s.location,search:r.toString()})}),[i,s])]}function j(e){const{defaultValue:r,queryString:n=!1,groupId:s}=e,i=h(e),[a,l]=(0,t.useState)((()=>function(e){let{defaultValue:r,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(r){if(!p({value:r,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${r}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return r}const t=n.find((e=>e.default))??n[0];if(!t)throw new Error("Unexpected error: 0 tabValues");return t.value}({defaultValue:r,tabValues:i}))),[d,u]=x({queryString:n,groupId:s}),[j,m]=function(e){let{groupId:r}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(r),[s,i]=(0,c.Nk)(n);return[s,(0,t.useCallback)((e=>{n&&i.set(e)}),[n,i])]}({groupId:s}),g=(()=>{const e=d??j;return p({value:e,tabValues:i})?e:null})();(0,o.Z)((()=>{g&&l(g)}),[g]);return{selectedValue:a,selectValue:(0,t.useCallback)((e=>{if(!p({value:e,tabValues:i}))throw new Error(`Can't select invalid tab value=${e}`);l(e),u(e),m(e)}),[u,m,i]),tabValues:i}}var m=n(3614);const g={tabList:"tabList_WnI6",tabItem:"tabItem_R4Tu"};var b=n(5250);function f(e){let{className:r,block:n,selectedValue:t,selectValue:a,tabValues:o}=e;const l=[],{blockElementScrollPositionUntilNextRender:d}=(0,i.o5)(),c=e=>{const r=e.currentTarget,n=l.indexOf(r),s=o[n].value;s!==t&&(d(r),a(s))},u=e=>{let r=null;switch(e.key){case"Enter":c(e);break;case"ArrowRight":{const n=l.indexOf(e.currentTarget)+1;r=l[n]??l[0];break}case"ArrowLeft":{const n=l.indexOf(e.currentTarget)-1;r=l[n]??l[l.length-1];break}}r?.focus()};return(0,b.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,s.Z)("tabs",{"tabs--block":n},r),children:o.map((e=>{let{value:r,label:n,attributes:i}=e;return(0,b.jsx)("li",{role:"tab",tabIndex:t===r?0:-1,"aria-selected":t===r,ref:e=>l.push(e),onKeyDown:u,onClick:c,...i,className:(0,s.Z)("tabs__item",g.tabItem,i?.className,{"tabs__item--active":t===r}),children:n??r},r)}))})}function y(e){let{lazy:r,children:n,selectedValue:s}=e;const i=(Array.isArray(n)?n:[n]).filter(Boolean);if(r){const e=i.find((e=>e.props.value===s));return e?(0,t.cloneElement)(e,{className:"margin-top--md"}):null}return(0,b.jsx)("div",{className:"margin-top--md",children:i.map(((e,r)=>(0,t.cloneElement)(e,{key:r,hidden:e.props.value!==s})))})}function v(e){const r=j(e);return(0,b.jsxs)("div",{className:(0,s.Z)("tabs-container",g.tabList),children:[(0,b.jsx)(f,{...e,...r}),(0,b.jsx)(y,{...e,...r})]})}function w(e){const r=(0,m.Z)();return(0,b.jsx)(v,{...e,children:u(e.children)},String(r))}},1340:(e,r,n)=>{n.d(r,{Z:()=>o,a:()=>a});var t=n(79);const s={},i=t.createContext(s);function a(e){const r=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function o(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),t.createElement(i.Provider,{value:r},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/45e29900.ff0aa075.js b/assets/js/45e29900.ff0aa075.js
new file mode 100644
index 00000000..dc09e7d0
--- /dev/null
+++ b/assets/js/45e29900.ff0aa075.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[941],{6976:(e,r,n)=>{n.d(r,{Ay:()=>o,RM:()=>i});var t=n(9214),s=n(3159);const i=[];function a(e){const r={a:"a",admonition:"admonition",p:"p",...(0,s.R)(),...e.components};return(0,t.jsx)(r.admonition,{type:"tip",children:(0,t.jsxs)(r.p,{children:["This is only ",(0,t.jsx)(r.a,{href:"/client/tx-client",children:"construct"})," tx, next need ",(0,t.jsx)(r.a,{href:"/client/tx-client#simulate",children:"simulate"})," and\n",(0,t.jsx)(r.a,{href:"/client/tx-client#broadcast",children:"broadcast"})]})})}function o(e={}){const{wrapper:r}={...(0,s.R)(),...e.components};return r?(0,t.jsx)(r,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},4252:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>h,contentTitle:()=>c,default:()=>j,frontMatter:()=>d,metadata:()=>u,toc:()=>p});var t=n(9214),s=n(3159),i=n(9322),a=n(6976),o=n(3428),l=n(7012);const d={id:"group",title:"Group"},c=void 0,u={id:"api/group",title:"Group",description:"createGroup",source:"@site/docs/api/group.mdx",sourceDirName:"api",slug:"/api/group",permalink:"/greenfield-js-sdk/api/group",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/api/group.mdx",tags:[],version:"current",frontMatter:{id:"group",title:"Group"},sidebar:"GettingStartSidebar",previous:{title:"Gashub",permalink:"/greenfield-js-sdk/api/gashub"},next:{title:"Object",permalink:"/greenfield-js-sdk/api/object"}},h={},p=[{value:"createGroup ",id:"creategroup-",level:2},...a.RM,{value:"deleteGroup ",id:"deletegroup-",level:2},...a.RM,{value:"getBucketPolicyOfGroup ",id:"getbucketpolicyofgroup-",level:2},{value:"getObjectPolicyOfGroup ",id:"getobjectpolicyofgroup-",level:2},{value:"headGroup ",id:"headgroup-",level:2},{value:"headGroupMember ",id:"headgroupmember-",level:2},{value:"leaveGroup ",id:"leavegroup-",level:2},...a.RM,{value:"putGroupPolicy ",id:"putgrouppolicy-",level:2},...a.RM,{value:"updateGroupExtra ",id:"updategroupextra-",level:2},...a.RM,{value:"updateGroupMember ",id:"updategroupmember-",level:2},...a.RM];function x(e){const r={a:"a",admonition:"admonition",code:"code",h2:"h2",li:"li",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(r.h2,{id:"creategroup-",children:["createGroup ",(0,t.jsx)(i.A,{type:"Tx"})]}),"\n",(0,t.jsxs)(r.p,{children:["Create a new group without group members on Greenfield blockchain, and group members can be added by\n",(0,t.jsx)(r.a,{href:"#updategroupmember",children:"updateGroupMember"})," transaction."]}),"\n",(0,t.jsxs)(r.p,{children:["A ",(0,t.jsx)(r.code,{children:"Group"})," is a collection of accounts that share the same permissions, allowing them to be handled\nas a single entity."]}),"\n",(0,t.jsx)(r.p,{children:"Examples of permissions include:"}),"\n",(0,t.jsxs)(r.ul,{children:["\n",(0,t.jsxs)(r.li,{children:[(0,t.jsx)(r.code,{children:"Put"}),", ",(0,t.jsx)(r.code,{children:"List"}),", ",(0,t.jsx)(r.code,{children:"Get"}),", ",(0,t.jsx)(r.code,{children:"Delete"}),", ",(0,t.jsx)(r.code,{children:"Copy"}),", and ",(0,t.jsx)(r.code,{children:"Execute"})," data objects;"]}),"\n",(0,t.jsxs)(r.li,{children:[(0,t.jsx)(r.code,{children:"Create"}),", ",(0,t.jsx)(r.code,{children:"Delete"}),", and ",(0,t.jsx)(r.code,{children:"List"})," buckets"]}),"\n",(0,t.jsxs)(r.li,{children:[(0,t.jsx)(r.code,{children:"Create"}),", ",(0,t.jsx)(r.code,{children:"Delete"}),", ",(0,t.jsx)(r.code,{children:"ListMembers"}),", ",(0,t.jsx)(r.code,{children:"Leave groups"})]}),"\n",(0,t.jsxs)(r.li,{children:[(0,t.jsx)(r.code,{children:"Create"}),", ",(0,t.jsx)(r.code,{children:"Associate payment accounts"})]}),"\n",(0,t.jsxs)(r.li,{children:[(0,t.jsx)(r.code,{children:"Grant"}),", ",(0,t.jsx)(r.code,{children:"Revoke"})," the above permissions"]}),"\n"]}),"\n",(0,t.jsxs)(r.p,{children:["For more details regarding ",(0,t.jsx)(r.code,{children:"Group"}),", please refer to\n",(0,t.jsx)(r.a,{href:"https://docs.bnbchain.org/greenfield-docs/docs/guide/greenfield-blockchain/modules/permission",children:"https://docs.bnbchain.org/greenfield-docs/docs/guide/greenfield-blockchain/modules/permission"}),"."]}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"params"}),(0,t.jsx)(r.th,{children:"description"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"creator"}),(0,t.jsx)(r.td,{children:"the account address of group owner who create the group"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"groupName"}),(0,t.jsx)(r.td,{children:"the name of the group. it's not globally unique"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"extra"}),(0,t.jsx)(r.td,{children:"extra info for the group"})]})]})]}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-jsx",metastring:'title="example"',children:"const tx = await client.group.createGroup({\n creator: '0x00..',\n groupName: 'group_name',\n extra: 'extra_info',\n});\n"})}),"\n",(0,t.jsx)(a.Ay,{}),"\n",(0,t.jsxs)(r.h2,{id:"deletegroup-",children:["deleteGroup ",(0,t.jsx)(i.A,{type:"Tx"})]}),"\n",(0,t.jsxs)(r.p,{children:["Delete a group on Greenfield blockchain. The sender ",(0,t.jsx)(r.strong,{children:"MUST"})," only be the group owner, group members\nor others would fail to send this transaction."]}),"\n",(0,t.jsx)(r.admonition,{type:"warning",children:(0,t.jsx)(r.p,{children:"Deleting a group will result in granted permission revoked. Members within the group will no longer\nhave access to resources (bucket, object) which granted permission on."})}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"params"}),(0,t.jsx)(r.th,{children:"description"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"operator"}),(0,t.jsx)(r.td,{children:"the account address of the operator who has the DeleteGroup permission of the group to be deleted"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"groupName"}),(0,t.jsx)(r.td,{children:"the name of the group which to be deleted"})]})]})]}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-jsx",metastring:'title="example"',children:"const tx = await client.group.deleteGroup({\n groupName: 'group_name',\n operator: '0x00..',\n});\n"})}),"\n",(0,t.jsx)(a.Ay,{}),"\n",(0,t.jsxs)(r.h2,{id:"getbucketpolicyofgroup-",children:["getBucketPolicyOfGroup ",(0,t.jsx)(i.A,{type:"Query"})]}),"\n",(0,t.jsx)(r.p,{children:"Queries a bucket of policy that grants permission to a group."}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"params"}),(0,t.jsx)(r.th,{children:"description"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"bucketName"}),(0,t.jsx)(r.td,{children:"bucket name"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"groupId"}),(0,t.jsx)(r.td,{children:"group id"})]})]})]}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-jsx",metastring:'title="example"',children:"await client.group.getBucketPolicyOfGroup('bucket_name', 1);\n"})}),"\n",(0,t.jsxs)(r.h2,{id:"getobjectpolicyofgroup-",children:["getObjectPolicyOfGroup ",(0,t.jsx)(i.A,{type:"Query"})]}),"\n",(0,t.jsx)(r.p,{children:"Queries a object of policy that grants permission to a group."}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"params"}),(0,t.jsx)(r.th,{children:"description"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"bucketName"}),(0,t.jsx)(r.td,{children:"bucket name"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"objectName"}),(0,t.jsx)(r.td,{children:"object name"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"groupId"}),(0,t.jsx)(r.td,{children:"group id"})]})]})]}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-jsx",metastring:'title="example"',children:"await client.group.getObjectPolicyOfGroup('bucket_name', 'object_name', 1);\n"})}),"\n",(0,t.jsxs)(r.h2,{id:"headgroup-",children:["headGroup ",(0,t.jsx)(i.A,{type:"Query"})]}),"\n",(0,t.jsx)(r.p,{children:"Query the groupInfo on chain, return the group info if exists."}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"params"}),(0,t.jsx)(r.th,{children:"description"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"groupName"}),(0,t.jsx)(r.td,{children:"group name"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"groupOwner"}),(0,t.jsx)(r.td,{children:"owner of group"})]})]})]}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-jsx",metastring:'title="example"',children:"await client.group.headGroup('group_name', '0x00..');\n"})}),"\n",(0,t.jsxs)(r.h2,{id:"headgroupmember-",children:["headGroupMember ",(0,t.jsx)(i.A,{type:"Query"})]}),"\n",(0,t.jsx)(r.p,{children:"Query the group member info on chain, return true if the member exists in group."}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"params"}),(0,t.jsx)(r.th,{children:"description"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"groupName"}),(0,t.jsx)(r.td,{children:"group name"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"groupOwner"}),(0,t.jsx)(r.td,{children:"owner of group"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"member"}),(0,t.jsx)(r.td,{children:"member of group"})]})]})]}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-jsx",metastring:'title="example"',children:"await client.group.headGroupMember(\n 'groupName',\n '0x00..',\n '0x903904936a4328fac5477c0d96acf2E2bCaCD33d',\n);\n"})}),"\n",(0,t.jsxs)(r.h2,{id:"leavegroup-",children:["leaveGroup ",(0,t.jsx)(i.A,{type:"Tx"})]}),"\n",(0,t.jsx)(r.p,{children:"Leave a group. A group member initially leaves a group."}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"params"}),(0,t.jsx)(r.th,{children:"description"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"address"}),(0,t.jsx)(r.td,{children:"operator address"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"member"}),(0,t.jsx)(r.td,{children:"the account address of the member who want to leave the group"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"groupOwner"}),(0,t.jsx)(r.td,{children:"the owner of the group you want to leave"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"groupName"}),(0,t.jsx)(r.td,{children:"the name of the group you want to leave"})]})]})]}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-jsx",metastring:'title="example"',children:"await client.group.leaveGroup(\n '0x...', // address\n {\n member: '0x...',\n groupOwner: '0x...',\n groupName: 'group_name',\n },\n);\n"})}),"\n",(0,t.jsx)(a.Ay,{}),"\n",(0,t.jsxs)(r.h2,{id:"putgrouppolicy-",children:["putGroupPolicy ",(0,t.jsx)(i.A,{type:"Tx"})]}),"\n",(0,t.jsx)(r.p,{children:"Apply group policy to user specified by principalAddr, the sender needs to be the owner of the\ngroup."}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"params"}),(0,t.jsx)(r.th,{children:"description"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"owner"}),(0,t.jsx)(r.td,{children:"owner of group"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"groupName"}),(0,t.jsx)(r.td,{children:"name of group"})]})]})]}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-tsx",metastring:'title="example"',children:"import { PermissionTypes } from '@bnb-chain/greenfield-js-sdk';\nconst statement: PermissionTypes.Statement = {\n effect: PermissionTypes.Effect.EFFECT_ALLOW,\n actions: [PermissionTypes.ActionType.ACTION_UPDATE_GROUP_MEMBER],\n resources: [],\n};\n\nawait client.group.putGroupPolicy(\n '0x...', // owner\n 'group_name',\n {\n operator: '0x...', // address\n statements: [statement],\n principal: {\n type: PermissionTypes.PrincipalType.PRINCIPAL_TYPE_GNFD_ACCOUNT,\n value: '0x0000000000000000000000000000000000000001',\n },\n },\n);\n"})}),"\n",(0,t.jsx)(a.Ay,{}),"\n",(0,t.jsxs)(r.h2,{id:"updategroupextra-",children:["updateGroupExtra ",(0,t.jsx)(i.A,{type:"Tx"})]}),"\n",(0,t.jsx)(r.p,{children:"Update a group extra."}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"params"}),(0,t.jsx)(r.th,{children:"description"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"operator"}),(0,t.jsx)(r.td,{children:"the account address of the operator who has the UpdateGroupMember permission of the group"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"groupOwner"}),(0,t.jsx)(r.td,{children:"the account address of the group owner"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"groupName"}),(0,t.jsx)(r.td,{children:"the name of the group which to be updated"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"extra"}),(0,t.jsx)(r.td,{children:"extra info for the group to update"})]})]})]}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-jsx",metastring:'title="example"',children:"await client.group.updateGroupExtra({\n operator: '0x...',\n groupOwner: '0x...',\n groupName: 'group_name',\n extra: 'extra info',\n});\n"})}),"\n",(0,t.jsx)(a.Ay,{}),"\n",(0,t.jsxs)(r.h2,{id:"updategroupmember-",children:["updateGroupMember ",(0,t.jsx)(i.A,{type:"Tx"})]}),"\n",(0,t.jsx)(r.p,{children:"Update a group by adding or removing members. The sender can be the group owner or any individual\naccount(Principle) that has been granted permission by the group owner."}),"\n",(0,t.jsxs)(r.table,{children:[(0,t.jsx)(r.thead,{children:(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.th,{children:"params"}),(0,t.jsx)(r.th,{children:"description"})]})}),(0,t.jsxs)(r.tbody,{children:[(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"operator"}),(0,t.jsx)(r.td,{children:"the account address of the operator who has the UpdateGroupMember permission of the group"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"groupOwner"}),(0,t.jsx)(r.td,{children:"the account address of the group owner"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"groupName"}),(0,t.jsx)(r.td,{children:"the name of the group which to be updated"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"membersToAdd"}),(0,t.jsx)(r.td,{children:"MsgGroupMember[]"})]}),(0,t.jsxs)(r.tr,{children:[(0,t.jsx)(r.td,{children:"membersToDelete"}),(0,t.jsx)(r.td,{children:"string[]"})]})]})]}),"\n",(0,t.jsxs)(o.A,{children:[(0,t.jsx)(l.A,{value:"add",label:"add members",children:(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-jsx",metastring:'title="example"',children:"await client.group.updateGroupMember({\n operator: '0x..',\n groupOwner: '0x..',\n groupName: 'group_name',\n membersToAdd: [\n {\n expirationTime: toTimestamp(date),\n member: '0x903904936a4328fac5477c0d96acf2E2bCaCD33d',\n },\n ],\n membersToDelete: [],\n});\n"})})}),(0,t.jsx)(l.A,{value:"del",label:"delete members",children:(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-jsx",metastring:'title="example"',children:"await client.group.updateGroupMember({\n operator: '0x..',\n groupOwner: '0x..',\n groupName: 'group_name',\n membersToAdd: [],\n membersToDelete: ['0x903904936a4328fac5477c0d96acf2E2bCaCD33d'],\n});\n"})})})]}),"\n",(0,t.jsx)(a.Ay,{})]})}function j(e={}){const{wrapper:r}={...(0,s.R)(),...e.components};return r?(0,t.jsx)(r,{...e,children:(0,t.jsx)(x,{...e})}):x(e)}},9322:(e,r,n)=>{n.d(r,{A:()=>s});n(8318);var t=n(9214);const s=e=>{const{type:r}=e;return(0,t.jsx)("span",{style:{backgroundColor:"#25c2a0",borderRadius:"5px",color:"#FFF",fontSize:14,padding:2},children:r})}},7012:(e,r,n)=>{n.d(r,{A:()=>a});n(8318);var t=n(6601);const s={tabItem:"tabItem_V9qR"};var i=n(9214);function a(e){let{children:r,hidden:n,className:a}=e;return(0,i.jsx)("div",{role:"tabpanel",className:(0,t.A)(s.tabItem,a),hidden:n,children:r})}},3428:(e,r,n)=>{n.d(r,{A:()=>w});var t=n(8318),s=n(6601),i=n(2676),a=n(6325),o=n(9471),l=n(4081),d=n(4526),c=n(4110);function u(e){return t.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,t.isValidElement)(e)&&function(e){const{props:r}=e;return!!r&&"object"==typeof r&&"value"in r}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function h(e){const{values:r,children:n}=e;return(0,t.useMemo)((()=>{const e=r??function(e){return u(e).map((e=>{let{props:{value:r,label:n,attributes:t,default:s}}=e;return{value:r,label:n,attributes:t,default:s}}))}(n);return function(e){const r=(0,d.X)(e,((e,r)=>e.value===r.value));if(r.length>0)throw new Error(`Docusaurus error: Duplicate values "${r.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[r,n])}function p(e){let{value:r,tabValues:n}=e;return n.some((e=>e.value===r))}function x(e){let{queryString:r=!1,groupId:n}=e;const s=(0,a.W6)(),i=function(e){let{queryString:r=!1,groupId:n}=e;if("string"==typeof r)return r;if(!1===r)return null;if(!0===r&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:r,groupId:n});return[(0,l.aZ)(i),(0,t.useCallback)((e=>{if(!i)return;const r=new URLSearchParams(s.location.search);r.set(i,e),s.replace({...s.location,search:r.toString()})}),[i,s])]}function j(e){const{defaultValue:r,queryString:n=!1,groupId:s}=e,i=h(e),[a,l]=(0,t.useState)((()=>function(e){let{defaultValue:r,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(r){if(!p({value:r,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${r}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return r}const t=n.find((e=>e.default))??n[0];if(!t)throw new Error("Unexpected error: 0 tabValues");return t.value}({defaultValue:r,tabValues:i}))),[d,u]=x({queryString:n,groupId:s}),[j,m]=function(e){let{groupId:r}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(r),[s,i]=(0,c.Dv)(n);return[s,(0,t.useCallback)((e=>{n&&i.set(e)}),[n,i])]}({groupId:s}),g=(()=>{const e=d??j;return p({value:e,tabValues:i})?e:null})();(0,o.A)((()=>{g&&l(g)}),[g]);return{selectedValue:a,selectValue:(0,t.useCallback)((e=>{if(!p({value:e,tabValues:i}))throw new Error(`Can't select invalid tab value=${e}`);l(e),u(e),m(e)}),[u,m,i]),tabValues:i}}var m=n(1277);const g={tabList:"tabList_SOjC",tabItem:"tabItem_mOaW"};var b=n(9214);function f(e){let{className:r,block:n,selectedValue:t,selectValue:a,tabValues:o}=e;const l=[],{blockElementScrollPositionUntilNextRender:d}=(0,i.a_)(),c=e=>{const r=e.currentTarget,n=l.indexOf(r),s=o[n].value;s!==t&&(d(r),a(s))},u=e=>{let r=null;switch(e.key){case"Enter":c(e);break;case"ArrowRight":{const n=l.indexOf(e.currentTarget)+1;r=l[n]??l[0];break}case"ArrowLeft":{const n=l.indexOf(e.currentTarget)-1;r=l[n]??l[l.length-1];break}}r?.focus()};return(0,b.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,s.A)("tabs",{"tabs--block":n},r),children:o.map((e=>{let{value:r,label:n,attributes:i}=e;return(0,b.jsx)("li",{role:"tab",tabIndex:t===r?0:-1,"aria-selected":t===r,ref:e=>l.push(e),onKeyDown:u,onClick:c,...i,className:(0,s.A)("tabs__item",g.tabItem,i?.className,{"tabs__item--active":t===r}),children:n??r},r)}))})}function y(e){let{lazy:r,children:n,selectedValue:s}=e;const i=(Array.isArray(n)?n:[n]).filter(Boolean);if(r){const e=i.find((e=>e.props.value===s));return e?(0,t.cloneElement)(e,{className:"margin-top--md"}):null}return(0,b.jsx)("div",{className:"margin-top--md",children:i.map(((e,r)=>(0,t.cloneElement)(e,{key:r,hidden:e.props.value!==s})))})}function v(e){const r=j(e);return(0,b.jsxs)("div",{className:(0,s.A)("tabs-container",g.tabList),children:[(0,b.jsx)(f,{...e,...r}),(0,b.jsx)(y,{...e,...r})]})}function w(e){const r=(0,m.A)();return(0,b.jsx)(v,{...e,children:u(e.children)},String(r))}},3159:(e,r,n)=>{n.d(r,{R:()=>a,x:()=>o});var t=n(8318);const s={},i=t.createContext(s);function a(e){const r=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function o(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),t.createElement(i.Provider,{value:r},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/469c860f.0b339347.js b/assets/js/469c860f.0b339347.js
new file mode 100644
index 00000000..ae28034b
--- /dev/null
+++ b/assets/js/469c860f.0b339347.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[977],{6976:(e,t,n)=>{n.d(t,{Ay:()=>a,RM:()=>i});var s=n(9214),r=n(3159);const i=[];function c(e){const t={a:"a",admonition:"admonition",p:"p",...(0,r.R)(),...e.components};return(0,s.jsx)(t.admonition,{type:"tip",children:(0,s.jsxs)(t.p,{children:["This is only ",(0,s.jsx)(t.a,{href:"/client/tx-client",children:"construct"})," tx, next need ",(0,s.jsx)(t.a,{href:"/client/tx-client#simulate",children:"simulate"})," and\n",(0,s.jsx)(t.a,{href:"/client/tx-client#broadcast",children:"broadcast"})]})})}function a(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},211:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>h,default:()=>j,frontMatter:()=>l,metadata:()=>o,toc:()=>p});var s=n(9214),r=n(3159),i=n(3428),c=n(7012),a=n(9322),d=n(6976);const l={id:"bucket",title:"Bucket"},h=void 0,o={id:"api/bucket",title:"Bucket",description:"createBucket",source:"@site/docs/api/bucket.mdx",sourceDirName:"api",slug:"/api/bucket",permalink:"/greenfield-js-sdk/api/bucket",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/api/bucket.mdx",tags:[],version:"current",frontMatter:{id:"bucket",title:"Bucket"},sidebar:"GettingStartSidebar",previous:{title:"Account",permalink:"/greenfield-js-sdk/api/account"},next:{title:"Crosschain",permalink:"/greenfield-js-sdk/api/crosschain"}},u={},p=[{value:"createBucket ",id:"createbucket--",level:2},{value:"deleteBucket ",id:"deletebucket-",level:2},...d.RM,{value:"deleteBucketPolicy ",id:"deletebucketpolicy-",level:2},...d.RM,{value:"getBucketMeta ",id:"getbucketmeta-",level:2},{value:"getBucketPolicy ",id:"getbucketpolicy-",level:2},{value:"getBucketReadQuota ",id:"getbucketreadquota-",level:2},{value:"headBucket ",id:"headbucket-",level:2},{value:"headBucketById ",id:"headbucketbyid-",level:2},{value:"headBucketExtra ",id:"headbucketextra-",level:2},{value:"listBucketReadRecords ",id:"listbucketreadrecords-",level:2},{value:"listBuckets ",id:"listbuckets-",level:2},{value:"listBucketsByIds ",id:"listbucketsbyids-",level:2},{value:"listBucketsByPaymentAccount ",id:"listbucketsbypaymentaccount-",level:2},{value:"putBucketPolicy ",id:"putbucketpolicy-",level:2},...d.RM,{value:"updateBucketInfo ",id:"updatebucketinfo-",level:2},...d.RM];function x(e){const t={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(t.h2,{id:"createbucket--",children:["createBucket ",(0,s.jsx)(a.A,{type:"Storage Provider"})," ",(0,s.jsx)(a.A,{type:"Tx"})]}),"\n",(0,s.jsx)(t.p,{children:"Create a new bucket in greenfield. This API sends a request to the storage provider to get approval\nfor creating bucket and sends the createBucket transaction to the Greenfield."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"bucket name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"creator"}),(0,s.jsx)(t.td,{children:"creator account address"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"visibility"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/types/visibility",children:"VisibilityType"})})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"chargedReadQuota"}),(0,s.jsx)(t.td,{children:"defines the traffic quota that you read from primary sp"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"spInfo"}),(0,s.jsx)(t.td,{children:"primary sp address"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"paymentAddress"}),(0,s.jsx)(t.td,{children:"payment address"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"tags"}),(0,s.jsx)(t.td,{children:"defines a list of tags which will be set to the bucket"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"authType"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/client/sp-client#authtype",children:"AuthType"})})]})]})]}),"\n",(0,s.jsxs)(i.A,{groupId:"example",children:[(0,s.jsx)(c.A,{value:"Browser",label:"Browser",children:(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",children:"const tx = await client.bucket.createBucket(\n {\n bucketName: 'bucket_name',\n creator: address,\n visibility: 'VISIBILITY_TYPE_PUBLIC_READ',\n chargedReadQuota: '0',\n spInfo: {\n primarySpAddress: 'primary_sp_address',\n },\n paymentAddress: address,\n tags: {\n tags: [],\n },\n },\n // highlight-start\n {\n type: 'EDDSA',\n domain: window.location.origin,\n seed: offChainData.seedString,\n address,\n },\n // highlight-end\n);\n"})})}),(0,s.jsx)(c.A,{value:"Nodejs",label:"Nodejs",children:(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"const createBucketTx = await client.bucket.createBucket(\n {\n bucketName: bucketName,\n creator: ACCOUNT_ADDRESS,\n visibility: 'VISIBILITY_TYPE_PUBLIC_READ',\n chargedReadQuota: '0',\n spInfo: {\n primarySpAddress: spInfo.primarySpAddress,\n },\n paymentAddress: ACCOUNT_ADDRESS,\n },\n // highlight-start\n {\n type: 'ECDSA',\n privateKey: ACCOUNT_PRIVATEKEY,\n },\n // highlight-end\n);\n"})})})]}),"\n",(0,s.jsxs)(t.h2,{id:"deletebucket-",children:["deleteBucket ",(0,s.jsx)(a.A,{type:"Tx"})]}),"\n",(0,s.jsx)(t.p,{children:"Send DeleteBucket msg to greenfield chain and return txn hash."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"The name of the bucket to be deleted"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"operator"}),(0,s.jsx)(t.td,{children:"operator account address"})]})]})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="Browser | Nodejs"',children:"const tx = await client.bucket.deleteBucket({\n bucketName: bucketName,\n operator: address,\n});\n"})}),"\n",(0,s.jsx)(d.Ay,{}),"\n",(0,s.jsxs)(t.h2,{id:"deletebucketpolicy-",children:["deleteBucketPolicy ",(0,s.jsx)(a.A,{type:"Tx"})]}),"\n",(0,s.jsx)(t.p,{children:"Delete the bucket policy of the principal."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"operator"}),(0,s.jsx)(t.td,{})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"The bucket name identifies the bucket"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"principalAddr"}),(0,s.jsx)(t.td,{children:"Principal define the roles that can grant permissions"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"principalType"}),(0,s.jsx)(t.td,{children:"PrincipalType refers to the identity type of system users or entities."})]})]})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="Browser | Nodejs"',children:"const tx = await client.bucket.deleteBucketPolicy(\n address,\n bucketName,\n address,\n 'PRINCIPAL_TYPE_GNFD_ACCOUNT',\n);\n"})}),"\n",(0,s.jsx)(d.Ay,{}),"\n",(0,s.jsxs)(t.h2,{id:"getbucketmeta-",children:["getBucketMeta ",(0,s.jsx)(a.A,{type:"Storage Provider"})]}),"\n",(0,s.jsx)(t.p,{children:"This API is used to get bucket meta by bucket name."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"bucket name"})]})})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="Browser | Nodejs"',children:"const bucketInfo = await client.bucket.getBucketMeta({\n bucketName: 'bucketName',\n});\n"})}),"\n",(0,s.jsxs)(t.h2,{id:"getbucketpolicy-",children:["getBucketPolicy ",(0,s.jsx)(a.A,{type:"Query"})]}),"\n",(0,s.jsx)(t.p,{children:"Get the bucket policy info of the user specified by principalAddr."}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="Browser | Nodejs"',children:"import { GRNToString, newBucketGRN } from '@bnb-chain/greenfield-js-sdk';\nawait client.bucket.getBucketPolicy({\n resource: GRNToString(newBucketGRN(bucketName)),\n principalAddress: '0x00..',\n});\n"})}),"\n",(0,s.jsxs)(t.h2,{id:"getbucketreadquota-",children:["getBucketReadQuota ",(0,s.jsx)(a.A,{type:"Storage Provider"})]}),"\n",(0,s.jsx)(t.p,{children:"Query the quota info of the specific bucket of current month."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"bucket name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"authType"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/client/sp-client#authtype",children:"AuthType"})})]})]})]}),"\n",(0,s.jsxs)(i.A,{groupId:"example",children:[(0,s.jsx)(c.A,{value:"Browser",label:"Browser",children:(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",children:"const tx = await client.bucket.getBucketReadQuota(\n {\n bucketName: 'bucketName',\n },\n // highlight-start\n {\n type: 'EDDSA',\n seed: offChainData.seedString,\n domain: window.location.origin,\n address,\n },\n // highlight-end\n);\n"})})}),(0,s.jsx)(c.A,{value:"Nodejs",label:"Nodejs",children:(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"const tx = await client.bucket.getBucketReadQuota(\n {\n bucketName: 'bucketName',\n },\n // highlight-start\n {\n type: 'ECDSA',\n privateKey: ACCOUNT_PRIVATEKEY,\n },\n // highlight-end\n);\n"})})})]}),"\n",(0,s.jsxs)(t.h2,{id:"headbucket-",children:["headBucket ",(0,s.jsx)(a.A,{type:"Query"})]}),"\n",(0,s.jsx)(t.p,{children:"query the bucketInfo on chain, return the bucket info if exists."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"bucket name"})]})})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="Browser | Nodejs"',children:"const bucketInfo = await client.bucket.headBucket(bucketName);\n"})}),"\n",(0,s.jsxs)(t.h2,{id:"headbucketbyid-",children:["headBucketById ",(0,s.jsx)(a.A,{type:"Query"})]}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketId"}),(0,s.jsx)(t.td,{children:"bucket id"})]})})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="Browser | Nodejs"',children:"const bucketInfo = await client.bucket.headBucketById(bucketId);\n"})}),"\n",(0,s.jsxs)(t.h2,{id:"headbucketextra-",children:["headBucketExtra ",(0,s.jsx)(a.A,{type:"Query"})]}),"\n",(0,s.jsx)(t.p,{children:"Queries a bucket extra info (with gvg bindings and price time) with specify name."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"bucket name"})]})})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="Browser | Nodejs"',children:"const bucketInfo = await client.bucket.headBucketExtra('bucketName');\n"})}),"\n",(0,s.jsxs)(t.h2,{id:"listbucketreadrecords-",children:["listBucketReadRecords ",(0,s.jsx)(a.A,{type:"Storage Provider"})]}),"\n",(0,s.jsx)(t.p,{children:"List the download record info of the specific bucket of the current month."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"bucket name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"authType"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/client/sp-client#authtype",children:"AuthType"})})]})]})]}),"\n",(0,s.jsxs)(i.A,{groupId:"example",children:[(0,s.jsx)(c.A,{value:"Browser",label:"Browser",children:(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",children:"const tx = await client.bucket.listBucketReadRecords(\n {\n bucketName: 'bucketName',\n startTimeStamp,\n endTimeStamp,\n maxRecords: 1000,\n },\n // highlight-start\n {\n type: 'EDDSA',\n domain: window.location.origin,\n seed: offChainData.seedString,\n address,\n },\n // highlight-end\n);\n"})})}),(0,s.jsx)(c.A,{value:"Nodejs",label:"Nodejs",children:(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"const tx = await client.bucket.listBucketReadRecords(\n {\n bucketName: 'bucketName',\n startTimeStamp,\n endTimeStamp,\n maxRecords: 1000,\n },\n // highlight-start\n {\n type: 'ECDSA',\n privateKey: ACCOUNT_PRIVATEKEY,\n },\n // highlight-end\n);\n"})})})]}),"\n",(0,s.jsxs)(t.h2,{id:"listbuckets-",children:["listBuckets ",(0,s.jsx)(a.A,{type:"Storage Provider"})]}),"\n",(0,s.jsx)(t.p,{children:"Lists the bucket info of the user."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"address"}),(0,s.jsx)(t.td,{children:"user account"})]})})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="Browser | Nodejs"',children:"const res = await client.bucket.listBuckets({\n address: '0x...',\n});\n"})}),"\n",(0,s.jsxs)(t.h2,{id:"listbucketsbyids-",children:["listBucketsByIds ",(0,s.jsx)(a.A,{type:"Storage Provider"})]}),"\n",(0,s.jsx)(t.p,{children:"Lists the bucket info of the user."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ids"}),(0,s.jsx)(t.td,{children:"bucket ids array"})]})})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="Browser | Nodejs"',children:"await client.bucket.listBucketsByIds({\n ids: ['1', '2'],\n});\n"})}),"\n",(0,s.jsxs)(t.h2,{id:"listbucketsbypaymentaccount-",children:["listBucketsByPaymentAccount ",(0,s.jsx)(a.A,{type:"Storage Provider"})]}),"\n",(0,s.jsx)(t.p,{children:"List bucket info by payment account."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"paymentAccount"}),(0,s.jsx)(t.td,{children:"payment account address"})]})})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="Browser | Nodejs"',children:"const res = await client.bucket.listBucketsByPaymentAccount({\n paymentAccount: '0x00...',\n});\n"})}),"\n",(0,s.jsxs)(t.h2,{id:"putbucketpolicy-",children:["putBucketPolicy ",(0,s.jsx)(a.A,{type:"Tx"})]}),"\n",(0,s.jsx)(t.p,{children:"Apply bucket policy to the principal, return the txn hash."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"bucket name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"statements"}),(0,s.jsx)(t.td,{children:"Policies outline the specific details of permissions, including the Effect, ActionList, and Resources."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"principal"}),(0,s.jsx)(t.td,{children:"Indicates the marshaled principal content of greenfield permission types, users can generate it by NewPrincipalWithAccount or NewPrincipalWithGroupId method."})]})]})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="Browser | Nodejs"',children:"import { GRNToString, newBucketGRN, PermissionTypes } from '@bnb-chain/greenfield-js-sdk';\nconst statement: PermissionTypes.Statement = {\n effect: PermissionTypes.Effect.EFFECT_ALLOW,\n actions: [PermissionTypes.ActionType.ACTION_UPDATE_BUCKET_INFO],\n resources: [GRNToString(newBucketGRN(bucketName))],\n};\nconst tx = await client.bucket.putBucketPolicy(bucketName, {\n operator: address,\n statements: [statement],\n principal: {\n type: PermissionTypes.PrincipalType.PRINCIPAL_TYPE_GNFD_ACCOUNT,\n value: '0x0000000000000000000000000000000000000001',\n },\n});\n"})}),"\n",(0,s.jsx)(d.Ay,{}),"\n",(0,s.jsxs)(t.h2,{id:"updatebucketinfo-",children:["updateBucketInfo ",(0,s.jsx)(a.A,{type:"Tx"})]}),"\n",(0,s.jsx)(t.p,{children:"Update the bucket meta on chain, including read quota, payment address or visibility. It will send\nthe MsgUpdateBucketInfo msg to greenfield to update the meta."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"bucket name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"operator"}),(0,s.jsx)(t.td,{children:"operator account address"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"visibility"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/types/visibility",children:"VisibilityType"})})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"paymentAddress"}),(0,s.jsx)(t.td,{children:"payment address"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"chargedReadQuota"}),(0,s.jsx)(t.td,{children:"defines the traffic quota that you read from primary sp"})]})]})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="Browser | Nodejs"',children:"await client.bucket.updateBucketInfo({\n bucketName: bucketName,\n operator: address,\n visibility: 1,\n paymentAddress: address,\n chargedReadQuota: '100',\n});\n"})}),"\n",(0,s.jsx)(d.Ay,{})]})}function j(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(x,{...e})}):x(e)}},9322:(e,t,n)=>{n.d(t,{A:()=>r});n(8318);var s=n(9214);const r=e=>{const{type:t}=e;return(0,s.jsx)("span",{style:{backgroundColor:"#25c2a0",borderRadius:"5px",color:"#FFF",fontSize:14,padding:2},children:t})}},7012:(e,t,n)=>{n.d(t,{A:()=>c});n(8318);var s=n(6601);const r={tabItem:"tabItem_V9qR"};var i=n(9214);function c(e){let{children:t,hidden:n,className:c}=e;return(0,i.jsx)("div",{role:"tabpanel",className:(0,s.A)(r.tabItem,c),hidden:n,children:t})}},3428:(e,t,n)=>{n.d(t,{A:()=>A});var s=n(8318),r=n(6601),i=n(2676),c=n(6325),a=n(9471),d=n(4081),l=n(4526),h=n(4110);function o(e){return s.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,s.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function u(e){const{values:t,children:n}=e;return(0,s.useMemo)((()=>{const e=t??function(e){return o(e).map((e=>{let{props:{value:t,label:n,attributes:s,default:r}}=e;return{value:t,label:n,attributes:s,default:r}}))}(n);return function(e){const t=(0,l.X)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function p(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function x(e){let{queryString:t=!1,groupId:n}=e;const r=(0,c.W6)(),i=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,d.aZ)(i),(0,s.useCallback)((e=>{if(!i)return;const t=new URLSearchParams(r.location.search);t.set(i,e),r.replace({...r.location,search:t.toString()})}),[i,r])]}function j(e){const{defaultValue:t,queryString:n=!1,groupId:r}=e,i=u(e),[c,d]=(0,s.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!p({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const s=n.find((e=>e.default))??n[0];if(!s)throw new Error("Unexpected error: 0 tabValues");return s.value}({defaultValue:t,tabValues:i}))),[l,o]=x({queryString:n,groupId:r}),[j,b]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[r,i]=(0,h.Dv)(n);return[r,(0,s.useCallback)((e=>{n&&i.set(e)}),[n,i])]}({groupId:r}),m=(()=>{const e=l??j;return p({value:e,tabValues:i})?e:null})();(0,a.A)((()=>{m&&d(m)}),[m]);return{selectedValue:c,selectValue:(0,s.useCallback)((e=>{if(!p({value:e,tabValues:i}))throw new Error(`Can't select invalid tab value=${e}`);d(e),o(e),b(e)}),[o,b,i]),tabValues:i}}var b=n(1277);const m={tabList:"tabList_SOjC",tabItem:"tabItem_mOaW"};var y=n(9214);function k(e){let{className:t,block:n,selectedValue:s,selectValue:c,tabValues:a}=e;const d=[],{blockElementScrollPositionUntilNextRender:l}=(0,i.a_)(),h=e=>{const t=e.currentTarget,n=d.indexOf(t),r=a[n].value;r!==s&&(l(t),c(r))},o=e=>{let t=null;switch(e.key){case"Enter":h(e);break;case"ArrowRight":{const n=d.indexOf(e.currentTarget)+1;t=d[n]??d[0];break}case"ArrowLeft":{const n=d.indexOf(e.currentTarget)-1;t=d[n]??d[d.length-1];break}}t?.focus()};return(0,y.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.A)("tabs",{"tabs--block":n},t),children:a.map((e=>{let{value:t,label:n,attributes:i}=e;return(0,y.jsx)("li",{role:"tab",tabIndex:s===t?0:-1,"aria-selected":s===t,ref:e=>d.push(e),onKeyDown:o,onClick:h,...i,className:(0,r.A)("tabs__item",m.tabItem,i?.className,{"tabs__item--active":s===t}),children:n??t},t)}))})}function g(e){let{lazy:t,children:n,selectedValue:r}=e;const i=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=i.find((e=>e.props.value===r));return e?(0,s.cloneElement)(e,{className:"margin-top--md"}):null}return(0,y.jsx)("div",{className:"margin-top--md",children:i.map(((e,t)=>(0,s.cloneElement)(e,{key:t,hidden:e.props.value!==r})))})}function f(e){const t=j(e);return(0,y.jsxs)("div",{className:(0,r.A)("tabs-container",m.tabList),children:[(0,y.jsx)(k,{...e,...t}),(0,y.jsx)(g,{...e,...t})]})}function A(e){const t=(0,b.A)();return(0,y.jsx)(f,{...e,children:o(e.children)},String(t))}},3159:(e,t,n)=>{n.d(t,{R:()=>c,x:()=>a});var s=n(8318);const r={},i=s.createContext(r);function c(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/469c860f.971fb5be.js b/assets/js/469c860f.971fb5be.js
deleted file mode 100644
index 2eb60b06..00000000
--- a/assets/js/469c860f.971fb5be.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[87],{8695:(e,t,n)=>{n.d(t,{ZP:()=>c});var s=n(5250),r=n(1340);function i(e){const t={a:"a",admonition:"admonition",p:"p",...(0,r.a)(),...e.components};return(0,s.jsx)(t.admonition,{type:"tip",children:(0,s.jsxs)(t.p,{children:["This is only ",(0,s.jsx)(t.a,{href:"/client/tx-client",children:"construct"})," tx, next need ",(0,s.jsx)(t.a,{href:"/client/tx-client#simulate",children:"simulate"})," and\n",(0,s.jsx)(t.a,{href:"/client/tx-client#broadcast",children:"broadcast"})]})})}function c(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(i,{...e})}):i(e)}},5287:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>h,default:()=>j,frontMatter:()=>l,metadata:()=>o,toc:()=>p});var s=n(5250),r=n(1340),i=n(3880),c=n(8119),a=n(2503),d=n(8695);const l={id:"bucket",title:"Bucket"},h=void 0,o={id:"api/bucket",title:"Bucket",description:"createBucket",source:"@site/docs/api/bucket.mdx",sourceDirName:"api",slug:"/api/bucket",permalink:"/greenfield-js-sdk/api/bucket",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/api/bucket.mdx",tags:[],version:"current",frontMatter:{id:"bucket",title:"Bucket"},sidebar:"GettingStartSidebar",previous:{title:"Account",permalink:"/greenfield-js-sdk/api/account"},next:{title:"Crosschain",permalink:"/greenfield-js-sdk/api/crosschain"}},u={},p=[{value:"createBucket ",id:"createbucket--",level:2},{value:"deleteBucket ",id:"deletebucket-",level:2},{value:"deleteBucketPolicy ",id:"deletebucketpolicy-",level:2},{value:"getBucketMeta ",id:"getbucketmeta-",level:2},{value:"getBucketPolicy ",id:"getbucketpolicy-",level:2},{value:"getBucketReadQuota ",id:"getbucketreadquota-",level:2},{value:"headBucket ",id:"headbucket-",level:2},{value:"headBucketById ",id:"headbucketbyid-",level:2},{value:"headBucketExtra ",id:"headbucketextra-",level:2},{value:"listBucketReadRecords ",id:"listbucketreadrecords-",level:2},{value:"listBuckets ",id:"listbuckets-",level:2},{value:"listBucketsByIds ",id:"listbucketsbyids-",level:2},{value:"listBucketsByPaymentAccount ",id:"listbucketsbypaymentaccount-",level:2},{value:"putBucketPolicy ",id:"putbucketpolicy-",level:2},{value:"updateBucketInfo ",id:"updatebucketinfo-",level:2}];function x(e){const t={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(t.h2,{id:"createbucket--",children:["createBucket ",(0,s.jsx)(a.Z,{type:"Storage Provider"})," ",(0,s.jsx)(a.Z,{type:"Tx"})]}),"\n",(0,s.jsx)(t.p,{children:"Create a new bucket in greenfield. This API sends a request to the storage provider to get approval\nfor creating bucket and sends the createBucket transaction to the Greenfield."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"bucket name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"creator"}),(0,s.jsx)(t.td,{children:"creator account address"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"visibility"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/types/visibility",children:"VisibilityType"})})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"chargedReadQuota"}),(0,s.jsx)(t.td,{children:"defines the traffic quota that you read from primary sp"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"spInfo"}),(0,s.jsx)(t.td,{children:"primary sp address"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"paymentAddress"}),(0,s.jsx)(t.td,{children:"payment address"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"tags"}),(0,s.jsx)(t.td,{children:"defines a list of tags which will be set to the bucket"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"authType"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/client/sp-client#authtype",children:"AuthType"})})]})]})]}),"\n",(0,s.jsxs)(i.Z,{groupId:"example",children:[(0,s.jsx)(c.Z,{value:"Browser",label:"Browser",children:(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",children:"const tx = await client.bucket.createBucket(\n {\n bucketName: 'bucket_name',\n creator: address,\n visibility: 'VISIBILITY_TYPE_PUBLIC_READ',\n chargedReadQuota: '0',\n spInfo: {\n primarySpAddress: 'primary_sp_address',\n },\n paymentAddress: address,\n tags: {\n tags: [],\n },\n },\n // highlight-start\n {\n type: 'EDDSA',\n domain: window.location.origin,\n seed: offChainData.seedString,\n address,\n },\n // highlight-end\n);\n"})})}),(0,s.jsx)(c.Z,{value:"Nodejs",label:"Nodejs",children:(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"const createBucketTx = await client.bucket.createBucket(\n {\n bucketName: bucketName,\n creator: ACCOUNT_ADDRESS,\n visibility: 'VISIBILITY_TYPE_PUBLIC_READ',\n chargedReadQuota: '0',\n spInfo: {\n primarySpAddress: spInfo.primarySpAddress,\n },\n paymentAddress: ACCOUNT_ADDRESS,\n },\n // highlight-start\n {\n type: 'ECDSA',\n privateKey: ACCOUNT_PRIVATEKEY,\n },\n // highlight-end\n);\n"})})})]}),"\n",(0,s.jsxs)(t.h2,{id:"deletebucket-",children:["deleteBucket ",(0,s.jsx)(a.Z,{type:"Tx"})]}),"\n",(0,s.jsx)(t.p,{children:"Send DeleteBucket msg to greenfield chain and return txn hash."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"The name of the bucket to be deleted"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"operator"}),(0,s.jsx)(t.td,{children:"operator account address"})]})]})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="Browser | Nodejs"',children:"const tx = await client.bucket.deleteBucket({\n bucketName: bucketName,\n operator: address,\n});\n"})}),"\n",(0,s.jsx)(d.ZP,{}),"\n",(0,s.jsxs)(t.h2,{id:"deletebucketpolicy-",children:["deleteBucketPolicy ",(0,s.jsx)(a.Z,{type:"Tx"})]}),"\n",(0,s.jsx)(t.p,{children:"Delete the bucket policy of the principal."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"operator"}),(0,s.jsx)(t.td,{})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"The bucket name identifies the bucket"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"principalAddr"}),(0,s.jsx)(t.td,{children:"Principal define the roles that can grant permissions"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"principalType"}),(0,s.jsx)(t.td,{children:"PrincipalType refers to the identity type of system users or entities."})]})]})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="Browser | Nodejs"',children:"const tx = await client.bucket.deleteBucketPolicy(\n address,\n bucketName,\n address,\n 'PRINCIPAL_TYPE_GNFD_ACCOUNT',\n);\n"})}),"\n",(0,s.jsx)(d.ZP,{}),"\n",(0,s.jsxs)(t.h2,{id:"getbucketmeta-",children:["getBucketMeta ",(0,s.jsx)(a.Z,{type:"Storage Provider"})]}),"\n",(0,s.jsx)(t.p,{children:"This API is used to get bucket meta by bucket name."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"bucket name"})]})})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="Browser | Nodejs"',children:"const bucketInfo = await client.bucket.getBucketMeta({\n bucketName: 'bucketName',\n});\n"})}),"\n",(0,s.jsxs)(t.h2,{id:"getbucketpolicy-",children:["getBucketPolicy ",(0,s.jsx)(a.Z,{type:"Query"})]}),"\n",(0,s.jsx)(t.p,{children:"Get the bucket policy info of the user specified by principalAddr."}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="Browser | Nodejs"',children:"import { GRNToString, newBucketGRN } from '@bnb-chain/greenfield-js-sdk';\nawait client.bucket.getBucketPolicy({\n resource: GRNToString(newBucketGRN(bucketName)),\n principalAddress: '0x00..',\n});\n"})}),"\n",(0,s.jsxs)(t.h2,{id:"getbucketreadquota-",children:["getBucketReadQuota ",(0,s.jsx)(a.Z,{type:"Storage Provider"})]}),"\n",(0,s.jsx)(t.p,{children:"Query the quota info of the specific bucket of current month."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"bucket name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"authType"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/client/sp-client#authtype",children:"AuthType"})})]})]})]}),"\n",(0,s.jsxs)(i.Z,{groupId:"example",children:[(0,s.jsx)(c.Z,{value:"Browser",label:"Browser",children:(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",children:"const tx = await client.bucket.getBucketReadQuota(\n {\n bucketName: 'bucketName',\n },\n // highlight-start\n {\n type: 'EDDSA',\n seed: offChainData.seedString,\n domain: window.location.origin,\n address,\n },\n // highlight-end\n);\n"})})}),(0,s.jsx)(c.Z,{value:"Nodejs",label:"Nodejs",children:(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"const tx = await client.bucket.getBucketReadQuota(\n {\n bucketName: 'bucketName',\n },\n // highlight-start\n {\n type: 'ECDSA',\n privateKey: ACCOUNT_PRIVATEKEY,\n },\n // highlight-end\n);\n"})})})]}),"\n",(0,s.jsxs)(t.h2,{id:"headbucket-",children:["headBucket ",(0,s.jsx)(a.Z,{type:"Query"})]}),"\n",(0,s.jsx)(t.p,{children:"query the bucketInfo on chain, return the bucket info if exists."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"bucket name"})]})})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="Browser | Nodejs"',children:"const bucketInfo = await client.bucket.headBucket(bucketName);\n"})}),"\n",(0,s.jsxs)(t.h2,{id:"headbucketbyid-",children:["headBucketById ",(0,s.jsx)(a.Z,{type:"Query"})]}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketId"}),(0,s.jsx)(t.td,{children:"bucket id"})]})})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="Browser | Nodejs"',children:"const bucketInfo = await client.bucket.headBucketById(bucketId);\n"})}),"\n",(0,s.jsxs)(t.h2,{id:"headbucketextra-",children:["headBucketExtra ",(0,s.jsx)(a.Z,{type:"Query"})]}),"\n",(0,s.jsx)(t.p,{children:"Queries a bucket extra info (with gvg bindings and price time) with specify name."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"bucket name"})]})})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="Browser | Nodejs"',children:"const bucketInfo = await client.bucket.headBucketExtra('bucketName');\n"})}),"\n",(0,s.jsxs)(t.h2,{id:"listbucketreadrecords-",children:["listBucketReadRecords ",(0,s.jsx)(a.Z,{type:"Storage Provider"})]}),"\n",(0,s.jsx)(t.p,{children:"List the download record info of the specific bucket of the current month."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"bucket name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"authType"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/client/sp-client#authtype",children:"AuthType"})})]})]})]}),"\n",(0,s.jsxs)(i.Z,{groupId:"example",children:[(0,s.jsx)(c.Z,{value:"Browser",label:"Browser",children:(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",children:"const tx = await client.bucket.listBucketReadRecords(\n {\n bucketName: 'bucketName',\n startTimeStamp,\n endTimeStamp,\n maxRecords: 1000,\n },\n // highlight-start\n {\n type: 'EDDSA',\n domain: window.location.origin,\n seed: offChainData.seedString,\n address,\n },\n // highlight-end\n);\n"})})}),(0,s.jsx)(c.Z,{value:"Nodejs",label:"Nodejs",children:(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"const tx = await client.bucket.listBucketReadRecords(\n {\n bucketName: 'bucketName',\n startTimeStamp,\n endTimeStamp,\n maxRecords: 1000,\n },\n // highlight-start\n {\n type: 'ECDSA',\n privateKey: ACCOUNT_PRIVATEKEY,\n },\n // highlight-end\n);\n"})})})]}),"\n",(0,s.jsxs)(t.h2,{id:"listbuckets-",children:["listBuckets ",(0,s.jsx)(a.Z,{type:"Storage Provider"})]}),"\n",(0,s.jsx)(t.p,{children:"Lists the bucket info of the user."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"address"}),(0,s.jsx)(t.td,{children:"user account"})]})})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="Browser | Nodejs"',children:"const res = await client.bucket.listBuckets({\n address: '0x...',\n});\n"})}),"\n",(0,s.jsxs)(t.h2,{id:"listbucketsbyids-",children:["listBucketsByIds ",(0,s.jsx)(a.Z,{type:"Storage Provider"})]}),"\n",(0,s.jsx)(t.p,{children:"Lists the bucket info of the user."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ids"}),(0,s.jsx)(t.td,{children:"bucket ids array"})]})})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="Browser | Nodejs"',children:"await client.bucket.listBucketsByIds({\n ids: ['1', '2'],\n});\n"})}),"\n",(0,s.jsxs)(t.h2,{id:"listbucketsbypaymentaccount-",children:["listBucketsByPaymentAccount ",(0,s.jsx)(a.Z,{type:"Storage Provider"})]}),"\n",(0,s.jsx)(t.p,{children:"List bucket info by payment account."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"paymentAccount"}),(0,s.jsx)(t.td,{children:"payment account address"})]})})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="Browser | Nodejs"',children:"const res = await client.bucket.listBucketsByPaymentAccount({\n paymentAccount: '0x00...',\n});\n"})}),"\n",(0,s.jsxs)(t.h2,{id:"putbucketpolicy-",children:["putBucketPolicy ",(0,s.jsx)(a.Z,{type:"Tx"})]}),"\n",(0,s.jsx)(t.p,{children:"Apply bucket policy to the principal, return the txn hash."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"bucket name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"statements"}),(0,s.jsx)(t.td,{children:"Policies outline the specific details of permissions, including the Effect, ActionList, and Resources."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"principal"}),(0,s.jsx)(t.td,{children:"Indicates the marshaled principal content of greenfield permission types, users can generate it by NewPrincipalWithAccount or NewPrincipalWithGroupId method."})]})]})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="Browser | Nodejs"',children:"import { GRNToString, newBucketGRN, PermissionTypes } from '@bnb-chain/greenfield-js-sdk';\nconst statement: PermissionTypes.Statement = {\n effect: PermissionTypes.Effect.EFFECT_ALLOW,\n actions: [PermissionTypes.ActionType.ACTION_UPDATE_BUCKET_INFO],\n resources: [GRNToString(newBucketGRN(bucketName))],\n};\nconst tx = await client.bucket.putBucketPolicy(bucketName, {\n operator: address,\n statements: [statement],\n principal: {\n type: PermissionTypes.PrincipalType.PRINCIPAL_TYPE_GNFD_ACCOUNT,\n value: '0x0000000000000000000000000000000000000001',\n },\n});\n"})}),"\n",(0,s.jsx)(d.ZP,{}),"\n",(0,s.jsxs)(t.h2,{id:"updatebucketinfo-",children:["updateBucketInfo ",(0,s.jsx)(a.Z,{type:"Tx"})]}),"\n",(0,s.jsx)(t.p,{children:"Update the bucket meta on chain, including read quota, payment address or visibility. It will send\nthe MsgUpdateBucketInfo msg to greenfield to update the meta."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"bucket name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"operator"}),(0,s.jsx)(t.td,{children:"operator account address"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"visibility"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/types/visibility",children:"VisibilityType"})})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"paymentAddress"}),(0,s.jsx)(t.td,{children:"payment address"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"chargedReadQuota"}),(0,s.jsx)(t.td,{children:"defines the traffic quota that you read from primary sp"})]})]})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="Browser | Nodejs"',children:"await client.bucket.updateBucketInfo({\n bucketName: bucketName,\n operator: address,\n visibility: 1,\n paymentAddress: address,\n chargedReadQuota: '100',\n});\n"})}),"\n",(0,s.jsx)(d.ZP,{})]})}function j(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(x,{...e})}):x(e)}},2503:(e,t,n)=>{n.d(t,{Z:()=>r});n(79);var s=n(5250);const r=e=>{const{type:t}=e;return(0,s.jsx)("span",{style:{backgroundColor:"#25c2a0",borderRadius:"5px",color:"#FFF",fontSize:14,padding:2},children:t})}},8119:(e,t,n)=>{n.d(t,{Z:()=>c});n(79);var s=n(3230);const r={tabItem:"tabItem_jc9D"};var i=n(5250);function c(e){let{children:t,hidden:n,className:c}=e;return(0,i.jsx)("div",{role:"tabpanel",className:(0,s.Z)(r.tabItem,c),hidden:n,children:t})}},3880:(e,t,n)=>{n.d(t,{Z:()=>v});var s=n(79),r=n(3230),i=n(4803),c=n(7911),a=n(9121),d=n(3757),l=n(2052),h=n(8991);function o(e){return s.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,s.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function u(e){const{values:t,children:n}=e;return(0,s.useMemo)((()=>{const e=t??function(e){return o(e).map((e=>{let{props:{value:t,label:n,attributes:s,default:r}}=e;return{value:t,label:n,attributes:s,default:r}}))}(n);return function(e){const t=(0,l.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function p(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function x(e){let{queryString:t=!1,groupId:n}=e;const r=(0,c.k6)(),i=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,d._X)(i),(0,s.useCallback)((e=>{if(!i)return;const t=new URLSearchParams(r.location.search);t.set(i,e),r.replace({...r.location,search:t.toString()})}),[i,r])]}function j(e){const{defaultValue:t,queryString:n=!1,groupId:r}=e,i=u(e),[c,d]=(0,s.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!p({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const s=n.find((e=>e.default))??n[0];if(!s)throw new Error("Unexpected error: 0 tabValues");return s.value}({defaultValue:t,tabValues:i}))),[l,o]=x({queryString:n,groupId:r}),[j,b]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[r,i]=(0,h.Nk)(n);return[r,(0,s.useCallback)((e=>{n&&i.set(e)}),[n,i])]}({groupId:r}),m=(()=>{const e=l??j;return p({value:e,tabValues:i})?e:null})();(0,a.Z)((()=>{m&&d(m)}),[m]);return{selectedValue:c,selectValue:(0,s.useCallback)((e=>{if(!p({value:e,tabValues:i}))throw new Error(`Can't select invalid tab value=${e}`);d(e),o(e),b(e)}),[o,b,i]),tabValues:i}}var b=n(3614);const m={tabList:"tabList_WnI6",tabItem:"tabItem_R4Tu"};var k=n(5250);function y(e){let{className:t,block:n,selectedValue:s,selectValue:c,tabValues:a}=e;const d=[],{blockElementScrollPositionUntilNextRender:l}=(0,i.o5)(),h=e=>{const t=e.currentTarget,n=d.indexOf(t),r=a[n].value;r!==s&&(l(t),c(r))},o=e=>{let t=null;switch(e.key){case"Enter":h(e);break;case"ArrowRight":{const n=d.indexOf(e.currentTarget)+1;t=d[n]??d[0];break}case"ArrowLeft":{const n=d.indexOf(e.currentTarget)-1;t=d[n]??d[d.length-1];break}}t?.focus()};return(0,k.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.Z)("tabs",{"tabs--block":n},t),children:a.map((e=>{let{value:t,label:n,attributes:i}=e;return(0,k.jsx)("li",{role:"tab",tabIndex:s===t?0:-1,"aria-selected":s===t,ref:e=>d.push(e),onKeyDown:o,onClick:h,...i,className:(0,r.Z)("tabs__item",m.tabItem,i?.className,{"tabs__item--active":s===t}),children:n??t},t)}))})}function g(e){let{lazy:t,children:n,selectedValue:r}=e;const i=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=i.find((e=>e.props.value===r));return e?(0,s.cloneElement)(e,{className:"margin-top--md"}):null}return(0,k.jsx)("div",{className:"margin-top--md",children:i.map(((e,t)=>(0,s.cloneElement)(e,{key:t,hidden:e.props.value!==r})))})}function f(e){const t=j(e);return(0,k.jsxs)("div",{className:(0,r.Z)("tabs-container",m.tabList),children:[(0,k.jsx)(y,{...e,...t}),(0,k.jsx)(g,{...e,...t})]})}function v(e){const t=(0,b.Z)();return(0,k.jsx)(f,{...e,children:o(e.children)},String(t))}},1340:(e,t,n)=>{n.d(t,{Z:()=>a,a:()=>c});var s=n(79);const r={},i=s.createContext(r);function c(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/5b8570a6.433d6853.js b/assets/js/5b8570a6.433d6853.js
new file mode 100644
index 00000000..d394e774
--- /dev/null
+++ b/assets/js/5b8570a6.433d6853.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[727],{6976:(e,t,n)=>{n.d(t,{Ay:()=>l,RM:()=>i});var s=n(9214),r=n(3159);const i=[];function c(e){const t={a:"a",admonition:"admonition",p:"p",...(0,r.R)(),...e.components};return(0,s.jsx)(t.admonition,{type:"tip",children:(0,s.jsxs)(t.p,{children:["This is only ",(0,s.jsx)(t.a,{href:"/client/tx-client",children:"construct"})," tx, next need ",(0,s.jsx)(t.a,{href:"/client/tx-client#simulate",children:"simulate"})," and\n",(0,s.jsx)(t.a,{href:"/client/tx-client#broadcast",children:"broadcast"})]})})}function l(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},9048:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>j,contentTitle:()=>o,default:()=>b,frontMatter:()=>a,metadata:()=>h,toc:()=>x});var s=n(9214),r=n(3159),i=n(9322),c=n(6976),l=n(3428),d=n(7012);const a={id:"object",title:"Object"},o=void 0,h={id:"api/object",title:"Object",description:"cancelCreateObject",source:"@site/docs/api/object.mdx",sourceDirName:"api",slug:"/api/object",permalink:"/greenfield-js-sdk/api/object",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/api/object.mdx",tags:[],version:"current",frontMatter:{id:"object",title:"Object"},sidebar:"GettingStartSidebar",previous:{title:"Group",permalink:"/greenfield-js-sdk/api/group"},next:{title:"Payment",permalink:"/greenfield-js-sdk/api/payment"}},j={},x=[{value:"cancelCreateObject ",id:"cancelcreateobject-",level:2},{value:"createFolder ",id:"createfolder--",level:2},...c.RM,{value:"createObject ",id:"createobject--",level:2},...c.RM,{value:"deleteObject ",id:"deleteobject-",level:2},...c.RM,{value:"deleteObjectPolicy ",id:"deleteobjectpolicy-",level:2},...c.RM,{value:"downloadFile ",id:"downloadfile-",level:2},{value:"getObjectPolicy ",id:"getobjectpolicy-",level:2},{value:"getObjectPreviewUrl ",id:"getobjectpreviewurl-",level:2},{value:"headObject ",id:"headobject-",level:2},{value:"headObjectById ",id:"headobjectbyid-",level:2},{value:"listObjects ",id:"listobjects-",level:2},{value:"listObjectsByIds ",id:"listobjectsbyids-",level:2},{value:"listObjectPolicies ",id:"listobjectpolicies-",level:2},{value:"putObjectPolicy ",id:"putobjectpolicy-",level:2},...c.RM,{value:"updateObjectInfo ",id:"updateobjectinfo-",level:2},...c.RM,{value:"uploadObject ",id:"uploadobject-",level:2}];function p(e){const t={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(t.h2,{id:"cancelcreateobject-",children:["cancelCreateObject ",(0,s.jsx)(i.A,{type:"Tx"})]}),"\n",(0,s.jsxs)(t.p,{children:["Send ",(0,s.jsx)(t.code,{children:"CancelCreateObject"})," txn to greenfield chain."]}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"operator"}),(0,s.jsx)(t.td,{children:"the account address of the operator"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"the name of the bucket"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"objectName"}),(0,s.jsx)(t.td,{children:"the name of the object"})]})]})]}),"\n",(0,s.jsxs)(t.h2,{id:"createfolder--",children:["createFolder ",(0,s.jsx)(i.A,{type:"Storage Provider"})," ",(0,s.jsx)(i.A,{type:"Tx"})]}),"\n",(0,s.jsx)(t.p,{children:"Send create empty object txn to greenfield chain."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"bucket name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"objectName"}),(0,s.jsx)(t.td,{children:"object name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"creator"}),(0,s.jsx)(t.td,{children:"the creator of object"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"tags"}),(0,s.jsx)(t.td,{children:"defines a list of tags which will be set to the object"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"authType"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/client/sp-client#authtype",children:"AuthType"})})]})]})]}),"\n",(0,s.jsxs)(l.A,{groupId:"example",children:[(0,s.jsx)(d.A,{value:"Browser",label:"Browser",children:(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",children:"const tx = await client.object.createFolder(\n {\n bucketName: createObjectInfo.bucketName,\n objectName: createObjectInfo.objectName + '/',\n creator: address,\n tags: {\n tags: [],\n },\n },\n // highlight-start\n {\n type: 'EDDSA',\n domain: window.location.origin,\n seed: offChainData.seedString,\n address,\n },\n // highlight-end\n);\n"})})}),(0,s.jsx)(d.A,{value:"Nodejs",label:"Nodejs",children:(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"const tx = await client.object.createFolder(\n {\n bucketName: bucketName,\n objectName: objectName + '/',\n creator: ACCOUNT_ADDRESS,\n },\n // highlight-start\n {\n type: 'ECDSA',\n privateKey: ACCOUNT_PRIVATEKEY,\n },\n // highlight-end\n);\n"})})})]}),"\n",(0,s.jsx)(c.Ay,{}),"\n",(0,s.jsxs)(t.h2,{id:"createobject--",children:["createObject ",(0,s.jsx)(i.A,{type:"Storage Provider"})," ",(0,s.jsx)(i.A,{type:"Tx"})]}),"\n",(0,s.jsx)(t.p,{children:"Get approval of creating object and send createObject txn to greenfield chain."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"bucket name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"objectName"}),(0,s.jsx)(t.td,{children:"object name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"creator"}),(0,s.jsx)(t.td,{children:"the creator of object"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"visibility"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/types/visibility",children:"VisibilityType"})})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"fileType"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"https://developer.mozilla.org/en-US/docs/Web/API/File/type",children:"file type"})})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"redundancyType"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/types/redundancy",children:"RedundancyType"})})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"authType"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/client/sp-client#authtype",children:"AuthType"})})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"contentLength"}),(0,s.jsx)(t.td,{children:"file content length"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"expectCheckSums"}),(0,s.jsx)(t.td,{children:"file's expectCheckSums"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"tags"}),(0,s.jsx)(t.td,{children:"defines a list of tags which will be set to the object"})]})]})]}),"\n",(0,s.jsxs)(l.A,{groupId:"example",children:[(0,s.jsx)(d.A,{value:"Browser",label:"Browser",children:(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",children:"// https://github.com/bnb-chain/greenfield-js-sdk/blob/main/examples/nextjs/src/components/object/create/index.tsx#L76-L95\nconst tx = await client.object.createObject(\n {\n bucketName: 'bucket_name',\n objectName: 'object_name',\n creator: '0x...',\n visibility: 'VISIBILITY_TYPE_PRIVATE',\n fileType: 'json',\n redundancyType: 'REDUNDANCY_EC_TYPE',\n contentLength: 13311,\n expectCheckSums: JSON.parse(expectCheckSums),\n tags: {\n tags: [],\n },\n },\n // highlight-start\n {\n type: 'EDDSA',\n domain: window.location.origin,\n seed: offChainData.seedString,\n address,\n },\n // highlight-end\n);\n"})})}),(0,s.jsx)(d.A,{value:"Nodejs",label:"Nodejs",children:(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"// https://github.com/bnb-chain/greenfield-js-sdk/blob/main/examples/nodejs/cases/storage.js#L61-L76\nconst tx = await client.object.createObject(\n {\n bucketName: bucketName,\n objectName: objectName,\n creator: ACCOUNT_ADDRESS,\n visibility: 'VISIBILITY_TYPE_PRIVATE',\n fileType: fileType,\n redundancyType: 'REDUNDANCY_EC_TYPE',\n contentLength,\n expectCheckSums: JSON.parse(expectCheckSums),\n },\n // highlight-start\n {\n type: 'ECDSA',\n privateKey: ACCOUNT_PRIVATEKEY,\n },\n // highlight-end\n);\n"})})})]}),"\n",(0,s.jsx)(c.Ay,{}),"\n",(0,s.jsxs)(t.h2,{id:"deleteobject-",children:["deleteObject ",(0,s.jsx)(i.A,{type:"Tx"})]}),"\n",(0,s.jsx)(t.p,{children:"Send DeleteObject msg to greenfield chain and return txn hash."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"operator"}),(0,s.jsx)(t.td,{children:"the account address of the operator who has the DeleteObject permission of the object to be deleted"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"the name of the bucket where the object which to be deleted is stored"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"objectName"}),(0,s.jsx)(t.td,{children:"the name of the object which to be deleted"})]})]})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="Browser / Nodejs Example"',children:"const tx = await client.object.deleteObject({\n bucketName: 'bucket_name',\n objectName: 'object_name',\n operator: '0x000..',\n});\n"})}),"\n",(0,s.jsx)(c.Ay,{}),"\n",(0,s.jsxs)(t.h2,{id:"deleteobjectpolicy-",children:["deleteObjectPolicy ",(0,s.jsx)(i.A,{type:"Tx"})]}),"\n",(0,s.jsx)(t.p,{children:"Delete the object policy of the principal."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"operator"}),(0,s.jsx)(t.td,{children:"the granter who grant the permission to another principal"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"the name of the bucket"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"objectName"}),(0,s.jsx)(t.td,{children:"the name of the object"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"principalAddr"}),(0,s.jsx)(t.td,{children:"principal address"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"principal"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/types/principal",children:"PrincipalType"})})]})]})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="Browser / Nodejs Example"',children:"const tx = await client.object.deleteObjectPolicy(\n '0x000..', // operator\n 'bucket_name', // bucket name\n 'object_name', // object name\n '0x000..', // principalAddr\n 'PRINCIPAL_TYPE_GNFD_GROUP', // PrincipalType\n);\n"})}),"\n",(0,s.jsx)(c.Ay,{}),"\n",(0,s.jsxs)(t.h2,{id:"downloadfile-",children:["downloadFile ",(0,s.jsx)(i.A,{type:"Storage Provider"})]}),"\n",(0,s.jsx)(t.p,{children:"Download s3 object payload and return the related object info."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"bucket name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"objectName"}),(0,s.jsx)(t.td,{children:"object name"})]})]})]}),"\n",(0,s.jsxs)(l.A,{groupId:"example",children:[(0,s.jsx)(d.A,{value:"Browser",label:"Browser",children:(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",children:"await client.object.downloadFile(\n {\n bucketName,\n objectName,\n },\n // highlight-start\n {\n type: 'EDDSA',\n address,\n domain: window.location.origin,\n seed: offChainData.seedString,\n },\n // highlight-end\n);\n"})})}),(0,s.jsx)(d.A,{value:"Nodejs",label:"Nodejs",children:(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"await client.object.downloadFile(\n {\n bucketName,\n objectName,\n },\n // highlight-start\n {\n type: 'ECDSA',\n privateKey: ACCOUNT_PRIVATEKEY,\n },\n // highlight-end\n);\n"})})})]}),"\n",(0,s.jsxs)(t.h2,{id:"getobjectpolicy-",children:["getObjectPolicy ",(0,s.jsx)(i.A,{type:"Query"})]}),"\n",(0,s.jsx)(t.p,{children:"Get the object policy info of the user specified by principalAddr."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"bucket name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"objectName"}),(0,s.jsx)(t.td,{children:"object name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"principalAddr"}),(0,s.jsx)(t.td,{children:"principal address"})]})]})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="example"',children:"const tx = await client.object.getObjectPolicy('bucket_name', 'object_name', '0x...');\n"})}),"\n",(0,s.jsxs)(t.h2,{id:"getobjectpreviewurl-",children:["getObjectPreviewUrl ",(0,s.jsx)(i.A,{type:"Storage Provider"})]}),"\n",(0,s.jsx)(t.p,{children:"Get the object preview url."}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="Browser"',children:"const res = await client.object.getObjectPreviewUrl(\n {\n bucketName: 'bucket_name',\n objectName: 'object_name',\n queryMap: {\n view: '1',\n 'X-Gnfd-User-Address': address,\n 'X-Gnfd-App-Domain': window.location.origin,\n 'X-Gnfd-Expiry-Timestamp': '2023-09-03T09%3A23%3A39Z',\n },\n },\n {\n type: 'EDDSA',\n address,\n domain: window.location.origin,\n seed: offChainData.seedString,\n },\n);\n"})}),"\n",(0,s.jsxs)(t.h2,{id:"headobject-",children:["headObject ",(0,s.jsx)(i.A,{type:"Query"})]}),"\n",(0,s.jsx)(t.p,{children:"Query the objectInfo on chain to check the object id, return the object info if exists."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"bucket name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"objectName"}),(0,s.jsx)(t.td,{children:"object name"})]})]})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="example"',children:"await client.object.headObject(bucketName, objectName);\n"})}),"\n",(0,s.jsxs)(t.h2,{id:"headobjectbyid-",children:["headObjectById ",(0,s.jsx)(i.A,{type:"Query"})]}),"\n",(0,s.jsx)(t.p,{children:"Query the objectInfo on chain by object id, return the object info if exists."}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="example"',children:"await client.object.headObjectById('12');\n"})}),"\n",(0,s.jsxs)(t.h2,{id:"listobjects-",children:["listObjects ",(0,s.jsx)(i.A,{type:"Storage Provider"})]}),"\n",(0,s.jsx)(t.p,{children:"Lists the object info of the bucket."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"bucket name"})]})})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="example"',children:"const res = await client.object.listObjects({\n bucketName,\n});\n"})}),"\n",(0,s.jsxs)(t.h2,{id:"listobjectsbyids-",children:["listObjectsByIds ",(0,s.jsx)(i.A,{type:"Storage Provider"})]}),"\n",(0,s.jsx)(t.p,{children:"List objects by object ids."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ids"}),(0,s.jsx)(t.td,{children:"object ids array"})]})})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="example"',children:"await client.object.listObjectsByIds({\n ids: ['1', '2'],\n});\n"})}),"\n",(0,s.jsxs)(t.h2,{id:"listobjectpolicies-",children:["listObjectPolicies ",(0,s.jsx)(i.A,{type:"Storage Provider"})]}),"\n",(0,s.jsx)(t.p,{children:"List object policies by object info and action type."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"bucket name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"objectName"}),(0,s.jsx)(t.td,{children:"object name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"actionType"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/types/action",children:"ActionType"})})]})]})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="example"',children:"const res = await client.object.listObjectPolicies({\n bucketName: 'bucket_name',\n objectName: 'object_name',\n actionType: 'ACTION_GET_OBJECT',\n});\n"})}),"\n",(0,s.jsxs)(t.h2,{id:"putobjectpolicy-",children:["putObjectPolicy ",(0,s.jsx)(i.A,{type:"Tx"})]}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"operator"}),(0,s.jsx)(t.td,{children:"operator address"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"principal"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/types/principal",children:"Principal"})})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Apply object policy to the principal, return the txn hash."}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="example"',children:"import { PermissionTypes } from '@bnb-chain/greenfield-js-sdk';\nconst statement: PermissionTypes.Statement = {\n effect: PermissionTypes.Effect.EFFECT_ALLOW,\n actions: [PermissionTypes.ActionType.ACTION_GET_OBJECT],\n resources: [],\n};\nawait client.object.putObjectPolicy('bucket_name', 'object_name', {\n operator: '0x...',\n statements: [statement],\n principal: {\n type: PermissionTypes.PrincipalType.PRINCIPAL_TYPE_GNFD_ACCOUNT,\n value: '0x0000000000000000000000000000000000000001',\n },\n});\n"})}),"\n",(0,s.jsx)(c.Ay,{}),"\n",(0,s.jsxs)(t.h2,{id:"updateobjectinfo-",children:["updateObjectInfo ",(0,s.jsx)(i.A,{type:"Tx"})]}),"\n",(0,s.jsx)(t.p,{children:"Update object info by sending message to greenfield."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"bucket name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"objectName"}),(0,s.jsx)(t.td,{children:"object name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"operator"}),(0,s.jsx)(t.td,{children:"operator address"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"visibility"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/types/visibility",children:"VisibilityType"})})]})]})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="example"',children:"const tx = await client.object.updateObjectInfo({\n bucketName: 'bucket_name',\n objectName: 'object_name',\n operator: '0x...',\n visibility: 'VISIBILITY_TYPE_PUBLIC_READ',\n});\n"})}),"\n",(0,s.jsx)(c.Ay,{}),"\n",(0,s.jsxs)(t.h2,{id:"uploadobject-",children:["uploadObject ",(0,s.jsx)(i.A,{type:"Storage Provider"})]}),"\n",(0,s.jsx)(t.p,{children:"Uploading the object to bucket."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"bucket name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"objectName"}),(0,s.jsx)(t.td,{children:"object name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"body"}),(0,s.jsx)(t.td,{children:"file"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"txnHash"}),(0,s.jsxs)(t.td,{children:[(0,s.jsx)(t.a,{href:"#createobject",children:"createObject"})," 's hash"]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"authType"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/client/sp-client#authtype",children:"AuthType"})})]})]})]}),"\n",(0,s.jsxs)(l.A,{groupId:"example",children:[(0,s.jsx)(d.A,{value:"Browser",label:"Browser",children:(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",children:"const uploadRes = await client.object.uploadObject(\n {\n bucketName: createObjectInfo.bucketName,\n objectName: createObjectInfo.objectName,\n body: file,\n txnHash: txHash,\n },\n // highlight-start\n {\n type: 'EDDSA',\n domain: window.location.origin,\n seed: offChainData.seedString,\n address,\n },\n // highlight-end\n);\n"})})}),(0,s.jsx)(d.A,{value:"Nodejs",label:"Nodejs",children:(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"const uploadRes = await client.object.uploadObject(\n {\n bucketName: bucketName,\n objectName: objectName,\n body: fileBuffer,\n txnHash: createObjectTxRes.transactionHash,\n },\n // highlight-start\n {\n type: 'ECDSA',\n privateKey: ACCOUNT_PRIVATEKEY,\n },\n // highlight-end\n);\n"})})})]})]})}function b(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},9322:(e,t,n)=>{n.d(t,{A:()=>r});n(8318);var s=n(9214);const r=e=>{const{type:t}=e;return(0,s.jsx)("span",{style:{backgroundColor:"#25c2a0",borderRadius:"5px",color:"#FFF",fontSize:14,padding:2},children:t})}},7012:(e,t,n)=>{n.d(t,{A:()=>c});n(8318);var s=n(6601);const r={tabItem:"tabItem_V9qR"};var i=n(9214);function c(e){let{children:t,hidden:n,className:c}=e;return(0,i.jsx)("div",{role:"tabpanel",className:(0,s.A)(r.tabItem,c),hidden:n,children:t})}},3428:(e,t,n)=>{n.d(t,{A:()=>v});var s=n(8318),r=n(6601),i=n(2676),c=n(6325),l=n(9471),d=n(4081),a=n(4526),o=n(4110);function h(e){return s.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,s.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function j(e){const{values:t,children:n}=e;return(0,s.useMemo)((()=>{const e=t??function(e){return h(e).map((e=>{let{props:{value:t,label:n,attributes:s,default:r}}=e;return{value:t,label:n,attributes:s,default:r}}))}(n);return function(e){const t=(0,a.X)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function x(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function p(e){let{queryString:t=!1,groupId:n}=e;const r=(0,c.W6)(),i=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,d.aZ)(i),(0,s.useCallback)((e=>{if(!i)return;const t=new URLSearchParams(r.location.search);t.set(i,e),r.replace({...r.location,search:t.toString()})}),[i,r])]}function b(e){const{defaultValue:t,queryString:n=!1,groupId:r}=e,i=j(e),[c,d]=(0,s.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!x({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const s=n.find((e=>e.default))??n[0];if(!s)throw new Error("Unexpected error: 0 tabValues");return s.value}({defaultValue:t,tabValues:i}))),[a,h]=p({queryString:n,groupId:r}),[b,u]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[r,i]=(0,o.Dv)(n);return[r,(0,s.useCallback)((e=>{n&&i.set(e)}),[n,i])]}({groupId:r}),m=(()=>{const e=a??b;return x({value:e,tabValues:i})?e:null})();(0,l.A)((()=>{m&&d(m)}),[m]);return{selectedValue:c,selectValue:(0,s.useCallback)((e=>{if(!x({value:e,tabValues:i}))throw new Error(`Can't select invalid tab value=${e}`);d(e),h(e),u(e)}),[h,u,i]),tabValues:i}}var u=n(1277);const m={tabList:"tabList_SOjC",tabItem:"tabItem_mOaW"};var y=n(9214);function g(e){let{className:t,block:n,selectedValue:s,selectValue:c,tabValues:l}=e;const d=[],{blockElementScrollPositionUntilNextRender:a}=(0,i.a_)(),o=e=>{const t=e.currentTarget,n=d.indexOf(t),r=l[n].value;r!==s&&(a(t),c(r))},h=e=>{let t=null;switch(e.key){case"Enter":o(e);break;case"ArrowRight":{const n=d.indexOf(e.currentTarget)+1;t=d[n]??d[0];break}case"ArrowLeft":{const n=d.indexOf(e.currentTarget)-1;t=d[n]??d[d.length-1];break}}t?.focus()};return(0,y.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.A)("tabs",{"tabs--block":n},t),children:l.map((e=>{let{value:t,label:n,attributes:i}=e;return(0,y.jsx)("li",{role:"tab",tabIndex:s===t?0:-1,"aria-selected":s===t,ref:e=>d.push(e),onKeyDown:h,onClick:o,...i,className:(0,r.A)("tabs__item",m.tabItem,i?.className,{"tabs__item--active":s===t}),children:n??t},t)}))})}function f(e){let{lazy:t,children:n,selectedValue:r}=e;const i=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=i.find((e=>e.props.value===r));return e?(0,s.cloneElement)(e,{className:"margin-top--md"}):null}return(0,y.jsx)("div",{className:"margin-top--md",children:i.map(((e,t)=>(0,s.cloneElement)(e,{key:t,hidden:e.props.value!==r})))})}function A(e){const t=b(e);return(0,y.jsxs)("div",{className:(0,r.A)("tabs-container",m.tabList),children:[(0,y.jsx)(g,{...e,...t}),(0,y.jsx)(f,{...e,...t})]})}function v(e){const t=(0,u.A)();return(0,y.jsx)(A,{...e,children:h(e.children)},String(t))}},3159:(e,t,n)=>{n.d(t,{R:()=>c,x:()=>l});var s=n(8318);const r={},i=s.createContext(r);function c(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/5b8570a6.466f56e4.js b/assets/js/5b8570a6.466f56e4.js
deleted file mode 100644
index 4976e889..00000000
--- a/assets/js/5b8570a6.466f56e4.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[426],{8695:(e,t,n)=>{n.d(t,{ZP:()=>c});var s=n(5250),r=n(1340);function i(e){const t={a:"a",admonition:"admonition",p:"p",...(0,r.a)(),...e.components};return(0,s.jsx)(t.admonition,{type:"tip",children:(0,s.jsxs)(t.p,{children:["This is only ",(0,s.jsx)(t.a,{href:"/client/tx-client",children:"construct"})," tx, next need ",(0,s.jsx)(t.a,{href:"/client/tx-client#simulate",children:"simulate"})," and\n",(0,s.jsx)(t.a,{href:"/client/tx-client#broadcast",children:"broadcast"})]})})}function c(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(i,{...e})}):i(e)}},1751:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>j,contentTitle:()=>o,default:()=>b,frontMatter:()=>a,metadata:()=>h,toc:()=>x});var s=n(5250),r=n(1340),i=n(2503),c=n(8695),l=n(3880),d=n(8119);const a={id:"object",title:"Object"},o=void 0,h={id:"api/object",title:"Object",description:"cancelCreateObject",source:"@site/docs/api/object.mdx",sourceDirName:"api",slug:"/api/object",permalink:"/greenfield-js-sdk/api/object",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/api/object.mdx",tags:[],version:"current",frontMatter:{id:"object",title:"Object"},sidebar:"GettingStartSidebar",previous:{title:"Group",permalink:"/greenfield-js-sdk/api/group"},next:{title:"Payment",permalink:"/greenfield-js-sdk/api/payment"}},j={},x=[{value:"cancelCreateObject ",id:"cancelcreateobject-",level:2},{value:"createFolder ",id:"createfolder--",level:2},{value:"createObject ",id:"createobject--",level:2},{value:"deleteObject ",id:"deleteobject-",level:2},{value:"deleteObjectPolicy ",id:"deleteobjectpolicy-",level:2},{value:"downloadFile ",id:"downloadfile-",level:2},{value:"getObjectPolicy ",id:"getobjectpolicy-",level:2},{value:"getObjectPreviewUrl ",id:"getobjectpreviewurl-",level:2},{value:"headObject ",id:"headobject-",level:2},{value:"headObjectById ",id:"headobjectbyid-",level:2},{value:"listObjects ",id:"listobjects-",level:2},{value:"listObjectsByIds ",id:"listobjectsbyids-",level:2},{value:"listObjectPolicies ",id:"listobjectpolicies-",level:2},{value:"putObjectPolicy ",id:"putobjectpolicy-",level:2},{value:"updateObjectInfo ",id:"updateobjectinfo-",level:2},{value:"uploadObject ",id:"uploadobject-",level:2}];function p(e){const t={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(t.h2,{id:"cancelcreateobject-",children:["cancelCreateObject ",(0,s.jsx)(i.Z,{type:"Tx"})]}),"\n",(0,s.jsxs)(t.p,{children:["Send ",(0,s.jsx)(t.code,{children:"CancelCreateObject"})," txn to greenfield chain."]}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"operator"}),(0,s.jsx)(t.td,{children:"the account address of the operator"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"the name of the bucket"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"objectName"}),(0,s.jsx)(t.td,{children:"the name of the object"})]})]})]}),"\n",(0,s.jsxs)(t.h2,{id:"createfolder--",children:["createFolder ",(0,s.jsx)(i.Z,{type:"Storage Provider"})," ",(0,s.jsx)(i.Z,{type:"Tx"})]}),"\n",(0,s.jsx)(t.p,{children:"Send create empty object txn to greenfield chain."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"bucket name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"objectName"}),(0,s.jsx)(t.td,{children:"object name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"creator"}),(0,s.jsx)(t.td,{children:"the creator of object"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"tags"}),(0,s.jsx)(t.td,{children:"defines a list of tags which will be set to the object"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"authType"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/client/sp-client#authtype",children:"AuthType"})})]})]})]}),"\n",(0,s.jsxs)(l.Z,{groupId:"example",children:[(0,s.jsx)(d.Z,{value:"Browser",label:"Browser",children:(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",children:"const tx = await client.object.createFolder(\n {\n bucketName: createObjectInfo.bucketName,\n objectName: createObjectInfo.objectName + '/',\n creator: address,\n tags: {\n tags: [],\n },\n },\n // highlight-start\n {\n type: 'EDDSA',\n domain: window.location.origin,\n seed: offChainData.seedString,\n address,\n },\n // highlight-end\n);\n"})})}),(0,s.jsx)(d.Z,{value:"Nodejs",label:"Nodejs",children:(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"const tx = await client.object.createFolder(\n {\n bucketName: bucketName,\n objectName: objectName + '/',\n creator: ACCOUNT_ADDRESS,\n },\n // highlight-start\n {\n type: 'ECDSA',\n privateKey: ACCOUNT_PRIVATEKEY,\n },\n // highlight-end\n);\n"})})})]}),"\n",(0,s.jsx)(c.ZP,{}),"\n",(0,s.jsxs)(t.h2,{id:"createobject--",children:["createObject ",(0,s.jsx)(i.Z,{type:"Storage Provider"})," ",(0,s.jsx)(i.Z,{type:"Tx"})]}),"\n",(0,s.jsx)(t.p,{children:"Get approval of creating object and send createObject txn to greenfield chain."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"bucket name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"objectName"}),(0,s.jsx)(t.td,{children:"object name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"creator"}),(0,s.jsx)(t.td,{children:"the creator of object"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"visibility"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/types/visibility",children:"VisibilityType"})})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"fileType"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"https://developer.mozilla.org/en-US/docs/Web/API/File/type",children:"file type"})})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"redundancyType"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/types/redundancy",children:"RedundancyType"})})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"authType"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/client/sp-client#authtype",children:"AuthType"})})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"contentLength"}),(0,s.jsx)(t.td,{children:"file content length"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"expectCheckSums"}),(0,s.jsx)(t.td,{children:"file's expectCheckSums"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"tags"}),(0,s.jsx)(t.td,{children:"defines a list of tags which will be set to the object"})]})]})]}),"\n",(0,s.jsxs)(l.Z,{groupId:"example",children:[(0,s.jsx)(d.Z,{value:"Browser",label:"Browser",children:(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",children:"// https://github.com/bnb-chain/greenfield-js-sdk/blob/main/examples/nextjs/src/components/object/create/index.tsx#L76-L95\nconst tx = await client.object.createObject(\n {\n bucketName: 'bucket_name',\n objectName: 'object_name',\n creator: '0x...',\n visibility: 'VISIBILITY_TYPE_PRIVATE',\n fileType: 'json',\n redundancyType: 'REDUNDANCY_EC_TYPE',\n contentLength: 13311,\n expectCheckSums: JSON.parse(expectCheckSums),\n tags: {\n tags: [],\n },\n },\n // highlight-start\n {\n type: 'EDDSA',\n domain: window.location.origin,\n seed: offChainData.seedString,\n address,\n },\n // highlight-end\n);\n"})})}),(0,s.jsx)(d.Z,{value:"Nodejs",label:"Nodejs",children:(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"// https://github.com/bnb-chain/greenfield-js-sdk/blob/main/examples/nodejs/cases/storage.js#L61-L76\nconst tx = await client.object.createObject(\n {\n bucketName: bucketName,\n objectName: objectName,\n creator: ACCOUNT_ADDRESS,\n visibility: 'VISIBILITY_TYPE_PRIVATE',\n fileType: fileType,\n redundancyType: 'REDUNDANCY_EC_TYPE',\n contentLength,\n expectCheckSums: JSON.parse(expectCheckSums),\n },\n // highlight-start\n {\n type: 'ECDSA',\n privateKey: ACCOUNT_PRIVATEKEY,\n },\n // highlight-end\n);\n"})})})]}),"\n",(0,s.jsx)(c.ZP,{}),"\n",(0,s.jsxs)(t.h2,{id:"deleteobject-",children:["deleteObject ",(0,s.jsx)(i.Z,{type:"Tx"})]}),"\n",(0,s.jsx)(t.p,{children:"Send DeleteObject msg to greenfield chain and return txn hash."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"operator"}),(0,s.jsx)(t.td,{children:"the account address of the operator who has the DeleteObject permission of the object to be deleted"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"the name of the bucket where the object which to be deleted is stored"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"objectName"}),(0,s.jsx)(t.td,{children:"the name of the object which to be deleted"})]})]})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="Browser / Nodejs Example"',children:"const tx = await client.object.deleteObject({\n bucketName: 'bucket_name',\n objectName: 'object_name',\n operator: '0x000..',\n});\n"})}),"\n",(0,s.jsx)(c.ZP,{}),"\n",(0,s.jsxs)(t.h2,{id:"deleteobjectpolicy-",children:["deleteObjectPolicy ",(0,s.jsx)(i.Z,{type:"Tx"})]}),"\n",(0,s.jsx)(t.p,{children:"Delete the object policy of the principal."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"operator"}),(0,s.jsx)(t.td,{children:"the granter who grant the permission to another principal"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"the name of the bucket"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"objectName"}),(0,s.jsx)(t.td,{children:"the name of the object"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"principalAddr"}),(0,s.jsx)(t.td,{children:"principal address"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"principal"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/types/principal",children:"PrincipalType"})})]})]})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="Browser / Nodejs Example"',children:"const tx = await client.object.deleteObjectPolicy(\n '0x000..', // operator\n 'bucket_name', // bucket name\n 'object_name', // object name\n '0x000..', // principalAddr\n 'PRINCIPAL_TYPE_GNFD_GROUP', // PrincipalType\n);\n"})}),"\n",(0,s.jsx)(c.ZP,{}),"\n",(0,s.jsxs)(t.h2,{id:"downloadfile-",children:["downloadFile ",(0,s.jsx)(i.Z,{type:"Storage Provider"})]}),"\n",(0,s.jsx)(t.p,{children:"Download s3 object payload and return the related object info."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"bucket name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"objectName"}),(0,s.jsx)(t.td,{children:"object name"})]})]})]}),"\n",(0,s.jsxs)(l.Z,{groupId:"example",children:[(0,s.jsx)(d.Z,{value:"Browser",label:"Browser",children:(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",children:"await client.object.downloadFile(\n {\n bucketName,\n objectName,\n },\n // highlight-start\n {\n type: 'EDDSA',\n address,\n domain: window.location.origin,\n seed: offChainData.seedString,\n },\n // highlight-end\n);\n"})})}),(0,s.jsx)(d.Z,{value:"Nodejs",label:"Nodejs",children:(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"await client.object.downloadFile(\n {\n bucketName,\n objectName,\n },\n // highlight-start\n {\n type: 'ECDSA',\n privateKey: ACCOUNT_PRIVATEKEY,\n },\n // highlight-end\n);\n"})})})]}),"\n",(0,s.jsxs)(t.h2,{id:"getobjectpolicy-",children:["getObjectPolicy ",(0,s.jsx)(i.Z,{type:"Query"})]}),"\n",(0,s.jsx)(t.p,{children:"Get the object policy info of the user specified by principalAddr."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"bucket name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"objectName"}),(0,s.jsx)(t.td,{children:"object name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"principalAddr"}),(0,s.jsx)(t.td,{children:"principal address"})]})]})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="example"',children:"const tx = await client.object.getObjectPolicy('bucket_name', 'object_name', '0x...');\n"})}),"\n",(0,s.jsxs)(t.h2,{id:"getobjectpreviewurl-",children:["getObjectPreviewUrl ",(0,s.jsx)(i.Z,{type:"Storage Provider"})]}),"\n",(0,s.jsx)(t.p,{children:"Get the object preview url."}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="Browser"',children:"const res = await client.object.getObjectPreviewUrl(\n {\n bucketName: 'bucket_name',\n objectName: 'object_name',\n queryMap: {\n view: '1',\n 'X-Gnfd-User-Address': address,\n 'X-Gnfd-App-Domain': window.location.origin,\n 'X-Gnfd-Expiry-Timestamp': '2023-09-03T09%3A23%3A39Z',\n },\n },\n {\n type: 'EDDSA',\n address,\n domain: window.location.origin,\n seed: offChainData.seedString,\n },\n);\n"})}),"\n",(0,s.jsxs)(t.h2,{id:"headobject-",children:["headObject ",(0,s.jsx)(i.Z,{type:"Query"})]}),"\n",(0,s.jsx)(t.p,{children:"Query the objectInfo on chain to check the object id, return the object info if exists."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"bucket name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"objectName"}),(0,s.jsx)(t.td,{children:"object name"})]})]})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="example"',children:"await client.object.headObject(bucketName, objectName);\n"})}),"\n",(0,s.jsxs)(t.h2,{id:"headobjectbyid-",children:["headObjectById ",(0,s.jsx)(i.Z,{type:"Query"})]}),"\n",(0,s.jsx)(t.p,{children:"Query the objectInfo on chain by object id, return the object info if exists."}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="example"',children:"await client.object.headObjectById('12');\n"})}),"\n",(0,s.jsxs)(t.h2,{id:"listobjects-",children:["listObjects ",(0,s.jsx)(i.Z,{type:"Storage Provider"})]}),"\n",(0,s.jsx)(t.p,{children:"Lists the object info of the bucket."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"bucket name"})]})})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="example"',children:"const res = await client.object.listObjects({\n bucketName,\n});\n"})}),"\n",(0,s.jsxs)(t.h2,{id:"listobjectsbyids-",children:["listObjectsByIds ",(0,s.jsx)(i.Z,{type:"Storage Provider"})]}),"\n",(0,s.jsx)(t.p,{children:"List objects by object ids."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"ids"}),(0,s.jsx)(t.td,{children:"object ids array"})]})})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="example"',children:"await client.object.listObjectsByIds({\n ids: ['1', '2'],\n});\n"})}),"\n",(0,s.jsxs)(t.h2,{id:"listobjectpolicies-",children:["listObjectPolicies ",(0,s.jsx)(i.Z,{type:"Storage Provider"})]}),"\n",(0,s.jsx)(t.p,{children:"List object policies by object info and action type."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"bucket name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"objectName"}),(0,s.jsx)(t.td,{children:"object name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"actionType"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/types/action",children:"ActionType"})})]})]})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="example"',children:"const res = await client.object.listObjectPolicies({\n bucketName: 'bucket_name',\n objectName: 'object_name',\n actionType: 'ACTION_GET_OBJECT',\n});\n"})}),"\n",(0,s.jsxs)(t.h2,{id:"putobjectpolicy-",children:["putObjectPolicy ",(0,s.jsx)(i.Z,{type:"Tx"})]}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"operator"}),(0,s.jsx)(t.td,{children:"operator address"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"principal"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/types/principal",children:"Principal"})})]})]})]}),"\n",(0,s.jsx)(t.p,{children:"Apply object policy to the principal, return the txn hash."}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="example"',children:"import { PermissionTypes } from '@bnb-chain/greenfield-js-sdk';\nconst statement: PermissionTypes.Statement = {\n effect: PermissionTypes.Effect.EFFECT_ALLOW,\n actions: [PermissionTypes.ActionType.ACTION_GET_OBJECT],\n resources: [],\n};\nawait client.object.putObjectPolicy('bucket_name', 'object_name', {\n operator: '0x...',\n statements: [statement],\n principal: {\n type: PermissionTypes.PrincipalType.PRINCIPAL_TYPE_GNFD_ACCOUNT,\n value: '0x0000000000000000000000000000000000000001',\n },\n});\n"})}),"\n",(0,s.jsx)(c.ZP,{}),"\n",(0,s.jsxs)(t.h2,{id:"updateobjectinfo-",children:["updateObjectInfo ",(0,s.jsx)(i.Z,{type:"Tx"})]}),"\n",(0,s.jsx)(t.p,{children:"Update object info by sending message to greenfield."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"bucket name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"objectName"}),(0,s.jsx)(t.td,{children:"object name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"operator"}),(0,s.jsx)(t.td,{children:"operator address"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"visibility"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/types/visibility",children:"VisibilityType"})})]})]})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="example"',children:"const tx = await client.object.updateObjectInfo({\n bucketName: 'bucket_name',\n objectName: 'object_name',\n operator: '0x...',\n visibility: 'VISIBILITY_TYPE_PUBLIC_READ',\n});\n"})}),"\n",(0,s.jsx)(c.ZP,{}),"\n",(0,s.jsxs)(t.h2,{id:"uploadobject-",children:["uploadObject ",(0,s.jsx)(i.Z,{type:"Storage Provider"})]}),"\n",(0,s.jsx)(t.p,{children:"Uploading the object to bucket."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"bucketName"}),(0,s.jsx)(t.td,{children:"bucket name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"objectName"}),(0,s.jsx)(t.td,{children:"object name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"body"}),(0,s.jsx)(t.td,{children:"file"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"txnHash"}),(0,s.jsxs)(t.td,{children:[(0,s.jsx)(t.a,{href:"#createobject",children:"createObject"})," 's hash"]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"authType"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/client/sp-client#authtype",children:"AuthType"})})]})]})]}),"\n",(0,s.jsxs)(l.Z,{groupId:"example",children:[(0,s.jsx)(d.Z,{value:"Browser",label:"Browser",children:(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",children:"const uploadRes = await client.object.uploadObject(\n {\n bucketName: createObjectInfo.bucketName,\n objectName: createObjectInfo.objectName,\n body: file,\n txnHash: txHash,\n },\n // highlight-start\n {\n type: 'EDDSA',\n domain: window.location.origin,\n seed: offChainData.seedString,\n address,\n },\n // highlight-end\n);\n"})})}),(0,s.jsx)(d.Z,{value:"Nodejs",label:"Nodejs",children:(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:"const uploadRes = await client.object.uploadObject(\n {\n bucketName: bucketName,\n objectName: objectName,\n body: fileBuffer,\n txnHash: createObjectTxRes.transactionHash,\n },\n // highlight-start\n {\n type: 'ECDSA',\n privateKey: ACCOUNT_PRIVATEKEY,\n },\n // highlight-end\n);\n"})})})]})]})}function b(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},2503:(e,t,n)=>{n.d(t,{Z:()=>r});n(79);var s=n(5250);const r=e=>{const{type:t}=e;return(0,s.jsx)("span",{style:{backgroundColor:"#25c2a0",borderRadius:"5px",color:"#FFF",fontSize:14,padding:2},children:t})}},8119:(e,t,n)=>{n.d(t,{Z:()=>c});n(79);var s=n(3230);const r={tabItem:"tabItem_jc9D"};var i=n(5250);function c(e){let{children:t,hidden:n,className:c}=e;return(0,i.jsx)("div",{role:"tabpanel",className:(0,s.Z)(r.tabItem,c),hidden:n,children:t})}},3880:(e,t,n)=>{n.d(t,{Z:()=>N});var s=n(79),r=n(3230),i=n(4803),c=n(7911),l=n(9121),d=n(3757),a=n(2052),o=n(8991);function h(e){return s.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,s.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function j(e){const{values:t,children:n}=e;return(0,s.useMemo)((()=>{const e=t??function(e){return h(e).map((e=>{let{props:{value:t,label:n,attributes:s,default:r}}=e;return{value:t,label:n,attributes:s,default:r}}))}(n);return function(e){const t=(0,a.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function x(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function p(e){let{queryString:t=!1,groupId:n}=e;const r=(0,c.k6)(),i=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,d._X)(i),(0,s.useCallback)((e=>{if(!i)return;const t=new URLSearchParams(r.location.search);t.set(i,e),r.replace({...r.location,search:t.toString()})}),[i,r])]}function b(e){const{defaultValue:t,queryString:n=!1,groupId:r}=e,i=j(e),[c,d]=(0,s.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!x({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const s=n.find((e=>e.default))??n[0];if(!s)throw new Error("Unexpected error: 0 tabValues");return s.value}({defaultValue:t,tabValues:i}))),[a,h]=p({queryString:n,groupId:r}),[b,u]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[r,i]=(0,o.Nk)(n);return[r,(0,s.useCallback)((e=>{n&&i.set(e)}),[n,i])]}({groupId:r}),m=(()=>{const e=a??b;return x({value:e,tabValues:i})?e:null})();(0,l.Z)((()=>{m&&d(m)}),[m]);return{selectedValue:c,selectValue:(0,s.useCallback)((e=>{if(!x({value:e,tabValues:i}))throw new Error(`Can't select invalid tab value=${e}`);d(e),h(e),u(e)}),[h,u,i]),tabValues:i}}var u=n(3614);const m={tabList:"tabList_WnI6",tabItem:"tabItem_R4Tu"};var y=n(5250);function g(e){let{className:t,block:n,selectedValue:s,selectValue:c,tabValues:l}=e;const d=[],{blockElementScrollPositionUntilNextRender:a}=(0,i.o5)(),o=e=>{const t=e.currentTarget,n=d.indexOf(t),r=l[n].value;r!==s&&(a(t),c(r))},h=e=>{let t=null;switch(e.key){case"Enter":o(e);break;case"ArrowRight":{const n=d.indexOf(e.currentTarget)+1;t=d[n]??d[0];break}case"ArrowLeft":{const n=d.indexOf(e.currentTarget)-1;t=d[n]??d[d.length-1];break}}t?.focus()};return(0,y.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.Z)("tabs",{"tabs--block":n},t),children:l.map((e=>{let{value:t,label:n,attributes:i}=e;return(0,y.jsx)("li",{role:"tab",tabIndex:s===t?0:-1,"aria-selected":s===t,ref:e=>d.push(e),onKeyDown:h,onClick:o,...i,className:(0,r.Z)("tabs__item",m.tabItem,i?.className,{"tabs__item--active":s===t}),children:n??t},t)}))})}function f(e){let{lazy:t,children:n,selectedValue:r}=e;const i=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=i.find((e=>e.props.value===r));return e?(0,s.cloneElement)(e,{className:"margin-top--md"}):null}return(0,y.jsx)("div",{className:"margin-top--md",children:i.map(((e,t)=>(0,s.cloneElement)(e,{key:t,hidden:e.props.value!==r})))})}function T(e){const t=b(e);return(0,y.jsxs)("div",{className:(0,r.Z)("tabs-container",m.tabList),children:[(0,y.jsx)(g,{...e,...t}),(0,y.jsx)(f,{...e,...t})]})}function N(e){const t=(0,u.Z)();return(0,y.jsx)(T,{...e,children:h(e.children)},String(t))}},1340:(e,t,n)=>{n.d(t,{Z:()=>l,a:()=>c});var s=n(79);const r={},i=s.createContext(r);function c(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/5e95c892.731de5d9.js b/assets/js/5e95c892.731de5d9.js
deleted file mode 100644
index 31e4f3fc..00000000
--- a/assets/js/5e95c892.731de5d9.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[661],{8865:(e,s,r)=>{r.r(s),r.d(s,{default:()=>k});r(79);var d=r(3230),c=r(9546),n=r(6605),u=r(6254),a=r(833),l=r(5250);function k(e){return(0,l.jsx)(c.FG,{className:(0,d.Z)(n.k.wrapper.docsPages),children:(0,l.jsx)(a.Z,{children:(0,u.H)(e.route.routes)})})}}}]);
\ No newline at end of file
diff --git a/assets/js/5e95c892.cfef3777.js b/assets/js/5e95c892.cfef3777.js
new file mode 100644
index 00000000..9ce1209b
--- /dev/null
+++ b/assets/js/5e95c892.cfef3777.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[647],{795:(e,s,r)=>{r.r(s),r.d(s,{default:()=>t});r(8318);var d=r(6601),c=r(9586),n=r(4955),u=r(2841),a=r(6952),l=r(9214);function t(e){return(0,l.jsx)(c.e3,{className:(0,d.A)(n.G.wrapper.docsPages),children:(0,l.jsx)(a.A,{children:(0,u.v)(e.route.routes)})})}}}]);
\ No newline at end of file
diff --git a/assets/js/619.e52a475e.js b/assets/js/619.e52a475e.js
new file mode 100644
index 00000000..2192ae28
--- /dev/null
+++ b/assets/js/619.e52a475e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[619],{9973:(e,t,n)=>{n.d(t,{A:()=>d});n(8318);var s=n(6601),i=n(2244),o=n(9790),r=n(9214);function d(e){let{className:t}=e;return(0,r.jsx)("main",{className:(0,s.A)("container margin-vert--xl",t),children:(0,r.jsx)("div",{className:"row",children:(0,r.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,r.jsx)(o.A,{as:"h1",className:"hero__title",children:(0,r.jsx)(i.A,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,r.jsx)("p",{children:(0,r.jsx)(i.A,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,r.jsx)("p",{children:(0,r.jsx)(i.A,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}},4619:(e,t,n)=>{n.r(t),n.d(t,{default:()=>a});n(8318);var s=n(2244),i=n(9586),o=n(6952),r=n(9973),d=n(9214);function a(){const e=(0,s.T)({id:"theme.NotFound.title",message:"Page Not Found"});return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(i.be,{title:e}),(0,d.jsx)(o.A,{children:(0,d.jsx)(r.A,{})})]})}}}]);
\ No newline at end of file
diff --git a/assets/js/6e6aa86b.40aab094.js b/assets/js/6e6aa86b.8dee3262.js
similarity index 55%
rename from assets/js/6e6aa86b.40aab094.js
rename to assets/js/6e6aa86b.8dee3262.js
index c2af7e78..ca98416f 100644
--- a/assets/js/6e6aa86b.40aab094.js
+++ b/assets/js/6e6aa86b.8dee3262.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[594],{8671:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>c,default:()=>u,frontMatter:()=>o,metadata:()=>d,toc:()=>l});var t=i(5250),r=i(1340),s=i(2503);const o={id:"api-overview",title:"Overview",sidebar_position:1},c=void 0,d={id:"api/api-overview",title:"Overview",description:"The SDK contains three APIs:",source:"@site/docs/api/overview.mdx",sourceDirName:"api",slug:"/api/api-overview",permalink:"/greenfield-js-sdk/api/api-overview",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/api/overview.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{id:"api-overview",title:"Overview",sidebar_position:1},sidebar:"GettingStartSidebar",previous:{title:"API",permalink:"/greenfield-js-sdk/category/api"},next:{title:"Account",permalink:"/greenfield-js-sdk/api/account"}},a={},l=[];function p(e){const n={a:"a",li:"li",p:"p",ul:"ul",...(0,r.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:"The SDK contains three APIs:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(s.Z,{type:"Tx"}),"\n",(0,t.jsx)(n.p,{children:"send message to greenfield"}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(s.Z,{type:"Query"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://docs.bnbchain.org/greenfield-docs/docs/api/blockchain-rest",children:"query"})," info from greenfield."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(s.Z,{type:"Storage Provider"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://docs.bnbchain.org/greenfield-docs/docs/api/storage-provider-rest",children:"more details"})}),"\n"]}),"\n"]})]})}function u(e={}){const{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(p,{...e})}):p(e)}},2503:(e,n,i)=>{i.d(n,{Z:()=>r});i(79);var t=i(5250);const r=e=>{const{type:n}=e;return(0,t.jsx)("span",{style:{backgroundColor:"#25c2a0",borderRadius:"5px",color:"#FFF",fontSize:14,padding:2},children:n})}},1340:(e,n,i)=>{i.d(n,{Z:()=>c,a:()=>o});var t=i(79);const r={},s=t.createContext(r);function o(e){const n=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),t.createElement(s.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[300],{8712:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>c,default:()=>u,frontMatter:()=>o,metadata:()=>d,toc:()=>l});var t=i(9214),r=i(3159),s=i(9322);const o={id:"api-overview",title:"Overview",sidebar_position:1},c=void 0,d={id:"api/api-overview",title:"Overview",description:"The SDK contains three APIs:",source:"@site/docs/api/overview.mdx",sourceDirName:"api",slug:"/api/api-overview",permalink:"/greenfield-js-sdk/api/api-overview",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/api/overview.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{id:"api-overview",title:"Overview",sidebar_position:1},sidebar:"GettingStartSidebar",previous:{title:"API",permalink:"/greenfield-js-sdk/category/api"},next:{title:"Account",permalink:"/greenfield-js-sdk/api/account"}},a={},l=[];function p(e){const n={a:"a",li:"li",p:"p",ul:"ul",...(0,r.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.p,{children:"The SDK contains three APIs:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(s.A,{type:"Tx"}),"\n",(0,t.jsx)(n.p,{children:"send message to greenfield"}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(s.A,{type:"Query"}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.a,{href:"https://docs.bnbchain.org/greenfield-docs/docs/api/blockchain-rest",children:"query"})," info from greenfield."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsx)(s.A,{type:"Storage Provider"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://docs.bnbchain.org/greenfield-docs/docs/api/storage-provider-rest",children:"more details"})}),"\n"]}),"\n"]})]})}function u(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(p,{...e})}):p(e)}},9322:(e,n,i)=>{i.d(n,{A:()=>r});i(8318);var t=i(9214);const r=e=>{const{type:n}=e;return(0,t.jsx)("span",{style:{backgroundColor:"#25c2a0",borderRadius:"5px",color:"#FFF",fontSize:14,padding:2},children:n})}},3159:(e,n,i)=>{i.d(n,{R:()=>o,x:()=>c});var t=i(8318);const r={},s=t.createContext(r);function o(e){const n=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),t.createElement(s.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/6f233aca.373cabdc.js b/assets/js/6f233aca.373cabdc.js
deleted file mode 100644
index 9d56d2c1..00000000
--- a/assets/js/6f233aca.373cabdc.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[411],{7793:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>l,metadata:()=>u,toc:()=>d});var r=n(5250),a=n(1340),s=n(3880),i=n(8119);const l={id:"sp-client",sidebar_position:3,title:"Storage Provider Client"},o=void 0,u={id:"client/sp-client",title:"Storage Provider Client",description:"The API related to storage providers is troublesome.",source:"@site/docs/client/sp-client.mdx",sourceDirName:"client",slug:"/client/sp-client",permalink:"/greenfield-js-sdk/client/sp-client",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/client/sp-client.mdx",tags:[],version:"current",sidebarPosition:3,frontMatter:{id:"sp-client",sidebar_position:3,title:"Storage Provider Client"},sidebar:"GettingStartSidebar",previous:{title:"Query Client",permalink:"/greenfield-js-sdk/client/query-client"},next:{title:"API",permalink:"/greenfield-js-sdk/category/api"}},c={},d=[{value:"AuthType",id:"authtype",level:2},{value:"Sp Api Example",id:"sp-api-example",level:2}];function p(e){const t={a:"a",code:"code",h2:"h2",li:"li",p:"p",pre:"pre",ul:"ul",...(0,a.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.p,{children:"The API related to storage providers is troublesome."}),"\n",(0,r.jsx)(t.h2,{id:"authtype",children:"AuthType"}),"\n",(0,r.jsxs)(t.p,{children:["SDK support two\n",(0,r.jsx)(t.a,{href:"https://docs.bnbchain.org/greenfield-docs/docs/api/storage-provider-rest#authentication-type",children:"authentication type"}),":"]}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:"ECDSA: It is usually used on Node.js(Because it need to use a private key)"}),"\n",(0,r.jsx)(t.li,{children:"EDDSA: It is usually used in a browser"}),"\n"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-jsx",metastring:'title="AuthType"',children:"/**\n * ECDSA Signature\n */\nexport type ECDSA = {\n type: 'ECDSA',\n privateKey: string,\n};\n/**\n * EDDSA Signature\n */\nexport type EDDSA = {\n type: 'EDDSA',\n seed: string,\n domain: string,\n address: string,\n};\nexport type AuthType = ECDSA | EDDSA;\n"})}),"\n",(0,r.jsx)(t.h2,{id:"sp-api-example",children:"Sp Api Example"}),"\n",(0,r.jsxs)(t.p,{children:["Take ",(0,r.jsx)(t.code,{children:"getBucketReadQuota"})," as a complete example:"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-js",metastring:'title="offchainAuth"',children:"const getAllSps = async () => {\n const sps = await getSps();\n\n return sps.map((sp) => {\n return {\n address: sp.operatorAddress,\n endpoint: sp.endpoint,\n name: sp.description?.moniker,\n };\n });\n};\n\n// generate seed:\nconst allSps = await getAllSps();\nconst offchainAuthRes = await client.offchainauth.genOffChainAuthKeyPairAndUpload(\n {\n sps: allSps,\n chainId: GREEN_CHAIN_ID,\n expirationMs: 5 * 24 * 60 * 60 * 1000,\n domain: window.location.origin,\n address: 'your address',\n },\n provider: 'wallet provider',\n);\n"})}),"\n",(0,r.jsxs)(s.Z,{children:[(0,r.jsx)(i.Z,{value:"Browser",label:"Browser",children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-jsx",metastring:'title="browser"',children:"// request sp api\nconst bucketQuota = await client.bucket.getBucketReadQuota(\n {\n bucketName,\n },\n // highlight-start\n {\n type: 'EDDSA',\n seed: offchainAuthRes.seedString,\n domain: window.location.origin,\n address: '0x...',\n },\n // highlight-end\n);\n"})})}),(0,r.jsx)(i.Z,{value:"Nodejs",label:"Nodejs",children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-jsx",metastring:'title="Nodejs"',children:"// request sp api\nconst bucketQuota = await client.bucket.getBucketReadQuota(\n {\n bucketName,\n },\n // highlight-start\n {\n type: 'ECDSA',\n privateKey: '0x....',\n },\n // highlight-end\n);\n"})})})]})]})}function h(e={}){const{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(p,{...e})}):p(e)}},8119:(e,t,n)=>{n.d(t,{Z:()=>i});n(79);var r=n(3230);const a={tabItem:"tabItem_jc9D"};var s=n(5250);function i(e){let{children:t,hidden:n,className:i}=e;return(0,s.jsx)("div",{role:"tabpanel",className:(0,r.Z)(a.tabItem,i),hidden:n,children:t})}},3880:(e,t,n)=>{n.d(t,{Z:()=>S});var r=n(79),a=n(3230),s=n(4803),i=n(7911),l=n(9121),o=n(3757),u=n(2052),c=n(8991);function d(e){return r.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,r.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function p(e){const{values:t,children:n}=e;return(0,r.useMemo)((()=>{const e=t??function(e){return d(e).map((e=>{let{props:{value:t,label:n,attributes:r,default:a}}=e;return{value:t,label:n,attributes:r,default:a}}))}(n);return function(e){const t=(0,u.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function h(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function f(e){let{queryString:t=!1,groupId:n}=e;const a=(0,i.k6)(),s=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,o._X)(s),(0,r.useCallback)((e=>{if(!s)return;const t=new URLSearchParams(a.location.search);t.set(s,e),a.replace({...a.location,search:t.toString()})}),[s,a])]}function m(e){const{defaultValue:t,queryString:n=!1,groupId:a}=e,s=p(e),[i,o]=(0,r.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!h({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const r=n.find((e=>e.default))??n[0];if(!r)throw new Error("Unexpected error: 0 tabValues");return r.value}({defaultValue:t,tabValues:s}))),[u,d]=f({queryString:n,groupId:a}),[m,g]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[a,s]=(0,c.Nk)(n);return[a,(0,r.useCallback)((e=>{n&&s.set(e)}),[n,s])]}({groupId:a}),b=(()=>{const e=u??m;return h({value:e,tabValues:s})?e:null})();(0,l.Z)((()=>{b&&o(b)}),[b]);return{selectedValue:i,selectValue:(0,r.useCallback)((e=>{if(!h({value:e,tabValues:s}))throw new Error(`Can't select invalid tab value=${e}`);o(e),d(e),g(e)}),[d,g,s]),tabValues:s}}var g=n(3614);const b={tabList:"tabList_WnI6",tabItem:"tabItem_R4Tu"};var v=n(5250);function x(e){let{className:t,block:n,selectedValue:r,selectValue:i,tabValues:l}=e;const o=[],{blockElementScrollPositionUntilNextRender:u}=(0,s.o5)(),c=e=>{const t=e.currentTarget,n=o.indexOf(t),a=l[n].value;a!==r&&(u(t),i(a))},d=e=>{let t=null;switch(e.key){case"Enter":c(e);break;case"ArrowRight":{const n=o.indexOf(e.currentTarget)+1;t=o[n]??o[0];break}case"ArrowLeft":{const n=o.indexOf(e.currentTarget)-1;t=o[n]??o[o.length-1];break}}t?.focus()};return(0,v.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,a.Z)("tabs",{"tabs--block":n},t),children:l.map((e=>{let{value:t,label:n,attributes:s}=e;return(0,v.jsx)("li",{role:"tab",tabIndex:r===t?0:-1,"aria-selected":r===t,ref:e=>o.push(e),onKeyDown:d,onClick:c,...s,className:(0,a.Z)("tabs__item",b.tabItem,s?.className,{"tabs__item--active":r===t}),children:n??t},t)}))})}function y(e){let{lazy:t,children:n,selectedValue:a}=e;const s=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=s.find((e=>e.props.value===a));return e?(0,r.cloneElement)(e,{className:"margin-top--md"}):null}return(0,v.jsx)("div",{className:"margin-top--md",children:s.map(((e,t)=>(0,r.cloneElement)(e,{key:t,hidden:e.props.value!==a})))})}function j(e){const t=m(e);return(0,v.jsxs)("div",{className:(0,a.Z)("tabs-container",b.tabList),children:[(0,v.jsx)(x,{...e,...t}),(0,v.jsx)(y,{...e,...t})]})}function S(e){const t=(0,g.Z)();return(0,v.jsx)(j,{...e,children:d(e.children)},String(t))}},1340:(e,t,n)=>{n.d(t,{Z:()=>l,a:()=>i});var r=n(79);const a={},s=r.createContext(a);function i(e){const t=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),r.createElement(s.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/6f233aca.d13ba6a0.js b/assets/js/6f233aca.d13ba6a0.js
new file mode 100644
index 00000000..c0952fac
--- /dev/null
+++ b/assets/js/6f233aca.d13ba6a0.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[982],{3029:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>l,metadata:()=>u,toc:()=>d});var r=n(9214),a=n(3159),s=n(3428),i=n(7012);const l={id:"sp-client",sidebar_position:3,title:"Storage Provider Client"},o=void 0,u={id:"client/sp-client",title:"Storage Provider Client",description:"The API related to storage providers is troublesome.",source:"@site/docs/client/sp-client.mdx",sourceDirName:"client",slug:"/client/sp-client",permalink:"/greenfield-js-sdk/client/sp-client",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/client/sp-client.mdx",tags:[],version:"current",sidebarPosition:3,frontMatter:{id:"sp-client",sidebar_position:3,title:"Storage Provider Client"},sidebar:"GettingStartSidebar",previous:{title:"Query Client",permalink:"/greenfield-js-sdk/client/query-client"},next:{title:"API",permalink:"/greenfield-js-sdk/category/api"}},c={},d=[{value:"AuthType",id:"authtype",level:2},{value:"Sp Api Example",id:"sp-api-example",level:2}];function p(e){const t={a:"a",code:"code",h2:"h2",li:"li",p:"p",pre:"pre",ul:"ul",...(0,a.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.p,{children:"The API related to storage providers is troublesome."}),"\n",(0,r.jsx)(t.h2,{id:"authtype",children:"AuthType"}),"\n",(0,r.jsxs)(t.p,{children:["SDK support two\n",(0,r.jsx)(t.a,{href:"https://docs.bnbchain.org/greenfield-docs/docs/api/storage-provider-rest#authentication-type",children:"authentication type"}),":"]}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:"ECDSA: It is usually used on Node.js(Because it need to use a private key)"}),"\n",(0,r.jsx)(t.li,{children:"EDDSA: It is usually used in a browser"}),"\n"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-jsx",metastring:'title="AuthType"',children:"/**\n * ECDSA Signature\n */\nexport type ECDSA = {\n type: 'ECDSA',\n privateKey: string,\n};\n/**\n * EDDSA Signature\n */\nexport type EDDSA = {\n type: 'EDDSA',\n seed: string,\n domain: string,\n address: string,\n};\nexport type AuthType = ECDSA | EDDSA;\n"})}),"\n",(0,r.jsx)(t.h2,{id:"sp-api-example",children:"Sp Api Example"}),"\n",(0,r.jsxs)(t.p,{children:["Take ",(0,r.jsx)(t.code,{children:"getBucketReadQuota"})," as a complete example:"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-js",metastring:'title="offchainAuth"',children:"const getAllSps = async () => {\n const sps = await getSps();\n\n return sps.map((sp) => {\n return {\n address: sp.operatorAddress,\n endpoint: sp.endpoint,\n name: sp.description?.moniker,\n };\n });\n};\n\n// generate seed:\nconst allSps = await getAllSps();\nconst offchainAuthRes = await client.offchainauth.genOffChainAuthKeyPairAndUpload(\n {\n sps: allSps,\n chainId: GREEN_CHAIN_ID,\n expirationMs: 5 * 24 * 60 * 60 * 1000,\n domain: window.location.origin,\n address: 'your address',\n },\n provider: 'wallet provider',\n);\n"})}),"\n",(0,r.jsxs)(s.A,{children:[(0,r.jsx)(i.A,{value:"Browser",label:"Browser",children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-jsx",metastring:'title="browser"',children:"// request sp api\nconst bucketQuota = await client.bucket.getBucketReadQuota(\n {\n bucketName,\n },\n // highlight-start\n {\n type: 'EDDSA',\n seed: offchainAuthRes.seedString,\n domain: window.location.origin,\n address: '0x...',\n },\n // highlight-end\n);\n"})})}),(0,r.jsx)(i.A,{value:"Nodejs",label:"Nodejs",children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-jsx",metastring:'title="Nodejs"',children:"// request sp api\nconst bucketQuota = await client.bucket.getBucketReadQuota(\n {\n bucketName,\n },\n // highlight-start\n {\n type: 'ECDSA',\n privateKey: '0x....',\n },\n // highlight-end\n);\n"})})})]})]})}function h(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(p,{...e})}):p(e)}},7012:(e,t,n)=>{n.d(t,{A:()=>i});n(8318);var r=n(6601);const a={tabItem:"tabItem_V9qR"};var s=n(9214);function i(e){let{children:t,hidden:n,className:i}=e;return(0,s.jsx)("div",{role:"tabpanel",className:(0,r.A)(a.tabItem,i),hidden:n,children:t})}},3428:(e,t,n)=>{n.d(t,{A:()=>A});var r=n(8318),a=n(6601),s=n(2676),i=n(6325),l=n(9471),o=n(4081),u=n(4526),c=n(4110);function d(e){return r.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,r.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function p(e){const{values:t,children:n}=e;return(0,r.useMemo)((()=>{const e=t??function(e){return d(e).map((e=>{let{props:{value:t,label:n,attributes:r,default:a}}=e;return{value:t,label:n,attributes:r,default:a}}))}(n);return function(e){const t=(0,u.X)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function h(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function f(e){let{queryString:t=!1,groupId:n}=e;const a=(0,i.W6)(),s=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,o.aZ)(s),(0,r.useCallback)((e=>{if(!s)return;const t=new URLSearchParams(a.location.search);t.set(s,e),a.replace({...a.location,search:t.toString()})}),[s,a])]}function m(e){const{defaultValue:t,queryString:n=!1,groupId:a}=e,s=p(e),[i,o]=(0,r.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!h({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const r=n.find((e=>e.default))??n[0];if(!r)throw new Error("Unexpected error: 0 tabValues");return r.value}({defaultValue:t,tabValues:s}))),[u,d]=f({queryString:n,groupId:a}),[m,g]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[a,s]=(0,c.Dv)(n);return[a,(0,r.useCallback)((e=>{n&&s.set(e)}),[n,s])]}({groupId:a}),b=(()=>{const e=u??m;return h({value:e,tabValues:s})?e:null})();(0,l.A)((()=>{b&&o(b)}),[b]);return{selectedValue:i,selectValue:(0,r.useCallback)((e=>{if(!h({value:e,tabValues:s}))throw new Error(`Can't select invalid tab value=${e}`);o(e),d(e),g(e)}),[d,g,s]),tabValues:s}}var g=n(1277);const b={tabList:"tabList_SOjC",tabItem:"tabItem_mOaW"};var v=n(9214);function x(e){let{className:t,block:n,selectedValue:r,selectValue:i,tabValues:l}=e;const o=[],{blockElementScrollPositionUntilNextRender:u}=(0,s.a_)(),c=e=>{const t=e.currentTarget,n=o.indexOf(t),a=l[n].value;a!==r&&(u(t),i(a))},d=e=>{let t=null;switch(e.key){case"Enter":c(e);break;case"ArrowRight":{const n=o.indexOf(e.currentTarget)+1;t=o[n]??o[0];break}case"ArrowLeft":{const n=o.indexOf(e.currentTarget)-1;t=o[n]??o[o.length-1];break}}t?.focus()};return(0,v.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,a.A)("tabs",{"tabs--block":n},t),children:l.map((e=>{let{value:t,label:n,attributes:s}=e;return(0,v.jsx)("li",{role:"tab",tabIndex:r===t?0:-1,"aria-selected":r===t,ref:e=>o.push(e),onKeyDown:d,onClick:c,...s,className:(0,a.A)("tabs__item",b.tabItem,s?.className,{"tabs__item--active":r===t}),children:n??t},t)}))})}function y(e){let{lazy:t,children:n,selectedValue:a}=e;const s=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=s.find((e=>e.props.value===a));return e?(0,r.cloneElement)(e,{className:"margin-top--md"}):null}return(0,v.jsx)("div",{className:"margin-top--md",children:s.map(((e,t)=>(0,r.cloneElement)(e,{key:t,hidden:e.props.value!==a})))})}function j(e){const t=m(e);return(0,v.jsxs)("div",{className:(0,a.A)("tabs-container",b.tabList),children:[(0,v.jsx)(x,{...e,...t}),(0,v.jsx)(y,{...e,...t})]})}function A(e){const t=(0,g.A)();return(0,v.jsx)(j,{...e,children:d(e.children)},String(t))}},3159:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>l});var r=n(8318);const a={},s=r.createContext(a);function i(e){const t=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),r.createElement(s.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/7a96ca3d.d8155e50.js b/assets/js/7a96ca3d.6423648a.js
similarity index 88%
rename from assets/js/7a96ca3d.d8155e50.js
rename to assets/js/7a96ca3d.6423648a.js
index ae5f6571..e1116181 100644
--- a/assets/js/7a96ca3d.d8155e50.js
+++ b/assets/js/7a96ca3d.6423648a.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[835],{2488:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>d,default:()=>h,frontMatter:()=>r,metadata:()=>l,toc:()=>a});var t=i(5250),s=i(1340);const r={id:"getting-started-overview",sidebar_position:1,slug:"/"},d="Overview",l={id:"getting-started/getting-started-overview",title:"Overview",description:"You can find some package documentation below:",source:"@site/docs/getting-started/overview.md",sourceDirName:"getting-started",slug:"/",permalink:"/greenfield-js-sdk/",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/getting-started/overview.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{id:"getting-started-overview",sidebar_position:1,slug:"/"},sidebar:"GettingStartSidebar",previous:{title:"Getting Started",permalink:"/greenfield-js-sdk/category/getting-started"},next:{title:"Install",permalink:"/greenfield-js-sdk/getting-started/install"}},c={},a=[{value:"Online Examples",id:"online-examples",level:2},{value:"Supported JS environments",id:"supported-js-environments",level:2},{value:"Contribution",id:"contribution",level:2}];function o(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h1,{id:"overview",children:"Overview"}),"\n",(0,t.jsx)(n.p,{children:"You can find some package documentation below:"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Package"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Version"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.a,{href:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/packages/js-sdk/README.md",children:"@bnb-chain/greenfield-js-sdk"})}),(0,t.jsx)(n.td,{children:"A client library for Greenfield Chain"}),(0,t.jsx)(n.td,{children:(0,t.jsx)(n.a,{href:"https://www.npmjs.com/package/@bnb-chain/greenfield-js-sdk",children:(0,t.jsx)(n.img,{src:"https://img.shields.io/npm/v/%40bnb-chain%2Fgreenfield-js-sdk?color=blue",alt:"npm"})})})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.a,{href:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/packages/reed-solomon",children:"@bnb-chain/reed-solomon"})}),(0,t.jsxs)(n.td,{children:["calculate file's ",(0,t.jsx)(n.code,{children:"checksums"})]}),(0,t.jsx)(n.td,{children:(0,t.jsx)(n.a,{href:"https://www.npmjs.com/package/@bnb-chain/reed-solomon",children:(0,t.jsx)(n.img,{src:"https://img.shields.io/npm/v/%40bnb-chain%2Freed-solomon?color=blue",alt:"npm"})})})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.a,{href:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/packages/zk-crypto/README.md",children:"@bnb-chain/greenfield-zk-crypto"})}),(0,t.jsx)(n.td,{children:"WASM module about sign crypto"}),(0,t.jsx)(n.td,{children:(0,t.jsx)(n.a,{href:"https://www.npmjs.com/package/@bnb-chain/greenfield-zk-crypto",children:(0,t.jsx)(n.img,{src:"https://img.shields.io/npm/v/%40bnb-chain%2Fgreenfield-zk-crypto?color=blue",alt:"npm"})})})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.a,{href:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/packages/create-gnfd-app/README.md",children:"@bnb-chain/create-gnfd-app"})}),(0,t.jsx)(n.td,{children:"Create Greenfield App Quickly"}),(0,t.jsx)(n.td,{children:(0,t.jsx)(n.a,{href:"https://www.npmjs.com/package/@bnb-chain/create-gnfd-app",children:(0,t.jsx)(n.img,{src:"https://img.shields.io/npm/v/%40bnb-chain%2Fcreate-gnfd-app?color=blue",alt:"npm"})})})]})]})]}),"\n",(0,t.jsx)(n.h2,{id:"online-examples",children:"Online Examples"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://codesandbox.io/p/github/rrr523/greenfield-nextjs-template/main",children:"Nextjs"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://codesandbox.io/p/github/rrr523/greenfield-cra-template/main",children:"Create React App"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://codesandbox.io/p/github/rrr523/greenfield-vite-template/main",children:"Vite"})}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"supported-js-environments",children:"Supported JS environments"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsx)(n.li,{children:"Modern browsers (Chromium, Firefox, Safari)"}),"\n",(0,t.jsx)(n.li,{children:"Browser extensions (Chromium, Firefox)"}),"\n",(0,t.jsx)(n.li,{children:"Nodejs"}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"contribution",children:"Contribution"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsx)(n.li,{children:"install dependencies"}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"> pnpm install\n"})}),"\n",(0,t.jsxs)(n.ol,{start:"2",children:["\n",(0,t.jsx)(n.li,{children:"Build package:"}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"> pnpm run build\n"})})]})}function h(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(o,{...e})}):o(e)}},1340:(e,n,i)=>{i.d(n,{Z:()=>l,a:()=>d});var t=i(79);const s={},r=t.createContext(s);function d(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:d(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[271],{5804:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>c,contentTitle:()=>d,default:()=>h,frontMatter:()=>r,metadata:()=>l,toc:()=>a});var t=i(9214),s=i(3159);const r={id:"getting-started-overview",sidebar_position:1,slug:"/"},d="Overview",l={id:"getting-started/getting-started-overview",title:"Overview",description:"You can find some package documentation below:",source:"@site/docs/getting-started/overview.md",sourceDirName:"getting-started",slug:"/",permalink:"/greenfield-js-sdk/",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/getting-started/overview.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{id:"getting-started-overview",sidebar_position:1,slug:"/"},sidebar:"GettingStartSidebar",previous:{title:"Getting Started",permalink:"/greenfield-js-sdk/category/getting-started"},next:{title:"Install",permalink:"/greenfield-js-sdk/getting-started/install"}},c={},a=[{value:"Online Examples",id:"online-examples",level:2},{value:"Supported JS environments",id:"supported-js-environments",level:2},{value:"Contribution",id:"contribution",level:2}];function o(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h1,{id:"overview",children:"Overview"}),"\n",(0,t.jsx)(n.p,{children:"You can find some package documentation below:"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Package"}),(0,t.jsx)(n.th,{children:"Description"}),(0,t.jsx)(n.th,{children:"Version"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.a,{href:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/packages/js-sdk/README.md",children:"@bnb-chain/greenfield-js-sdk"})}),(0,t.jsx)(n.td,{children:"A client library for Greenfield Chain"}),(0,t.jsx)(n.td,{children:(0,t.jsx)(n.a,{href:"https://www.npmjs.com/package/@bnb-chain/greenfield-js-sdk",children:(0,t.jsx)(n.img,{src:"https://img.shields.io/npm/v/%40bnb-chain%2Fgreenfield-js-sdk?color=blue",alt:"npm"})})})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.a,{href:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/packages/reed-solomon",children:"@bnb-chain/reed-solomon"})}),(0,t.jsxs)(n.td,{children:["calculate file's ",(0,t.jsx)(n.code,{children:"checksums"})]}),(0,t.jsx)(n.td,{children:(0,t.jsx)(n.a,{href:"https://www.npmjs.com/package/@bnb-chain/reed-solomon",children:(0,t.jsx)(n.img,{src:"https://img.shields.io/npm/v/%40bnb-chain%2Freed-solomon?color=blue",alt:"npm"})})})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.a,{href:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/packages/zk-crypto/README.md",children:"@bnb-chain/greenfield-zk-crypto"})}),(0,t.jsx)(n.td,{children:"WASM module about sign crypto"}),(0,t.jsx)(n.td,{children:(0,t.jsx)(n.a,{href:"https://www.npmjs.com/package/@bnb-chain/greenfield-zk-crypto",children:(0,t.jsx)(n.img,{src:"https://img.shields.io/npm/v/%40bnb-chain%2Fgreenfield-zk-crypto?color=blue",alt:"npm"})})})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.a,{href:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/packages/create-gnfd-app/README.md",children:"@bnb-chain/create-gnfd-app"})}),(0,t.jsx)(n.td,{children:"Create Greenfield App Quickly"}),(0,t.jsx)(n.td,{children:(0,t.jsx)(n.a,{href:"https://www.npmjs.com/package/@bnb-chain/create-gnfd-app",children:(0,t.jsx)(n.img,{src:"https://img.shields.io/npm/v/%40bnb-chain%2Fcreate-gnfd-app?color=blue",alt:"npm"})})})]})]})]}),"\n",(0,t.jsx)(n.h2,{id:"online-examples",children:"Online Examples"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://codesandbox.io/p/github/rrr523/greenfield-nextjs-template/main",children:"Nextjs"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://codesandbox.io/p/github/rrr523/greenfield-cra-template/main",children:"Create React App"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"https://codesandbox.io/p/github/rrr523/greenfield-vite-template/main",children:"Vite"})}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"supported-js-environments",children:"Supported JS environments"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsx)(n.li,{children:"Modern browsers (Chromium, Firefox, Safari)"}),"\n",(0,t.jsx)(n.li,{children:"Browser extensions (Chromium, Firefox)"}),"\n",(0,t.jsx)(n.li,{children:"Nodejs"}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"contribution",children:"Contribution"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsx)(n.li,{children:"install dependencies"}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"> pnpm install\n"})}),"\n",(0,t.jsxs)(n.ol,{start:"2",children:["\n",(0,t.jsx)(n.li,{children:"Build package:"}),"\n"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"> pnpm run build\n"})})]})}function h(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(o,{...e})}):o(e)}},3159:(e,n,i)=>{i.d(n,{R:()=>d,x:()=>l});var t=i(8318);const s={},r=t.createContext(s);function d(e){const n=t.useContext(r);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:d(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/7bcd82cb.2d536620.js b/assets/js/7bcd82cb.2d536620.js
deleted file mode 100644
index 61266957..00000000
--- a/assets/js/7bcd82cb.2d536620.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[660],{8695:(e,n,t)=>{t.d(n,{ZP:()=>c});var s=t(5250),r=t(1340);function i(e){const n={a:"a",admonition:"admonition",p:"p",...(0,r.a)(),...e.components};return(0,s.jsx)(n.admonition,{type:"tip",children:(0,s.jsxs)(n.p,{children:["This is only ",(0,s.jsx)(n.a,{href:"/client/tx-client",children:"construct"})," tx, next need ",(0,s.jsx)(n.a,{href:"/client/tx-client#simulate",children:"simulate"})," and\n",(0,s.jsx)(n.a,{href:"/client/tx-client#broadcast",children:"broadcast"})]})})}function c(e={}){const{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(i,{...e})}):i(e)}},9878:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>j,frontMatter:()=>d,metadata:()=>h,toc:()=>o});var s=t(5250),r=t(1340),i=t(2503),c=t(8695);const d={id:"crosschain",title:"Crosschain"},a=void 0,h={id:"api/crosschain",title:"Crosschain",description:"getChannelSendSequence",source:"@site/docs/api/crosschain.mdx",sourceDirName:"api",slug:"/api/crosschain",permalink:"/greenfield-js-sdk/api/crosschain",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/api/crosschain.mdx",tags:[],version:"current",frontMatter:{id:"crosschain",title:"Crosschain"},sidebar:"GettingStartSidebar",previous:{title:"Bucket",permalink:"/greenfield-js-sdk/api/bucket"},next:{title:"Feegrant",permalink:"/greenfield-js-sdk/api/feegrant"}},l={},o=[{value:"getChannelSendSequence ",id:"getchannelsendsequence-",level:2},{value:"getChannelReceiveSequence ",id:"getchannelreceivesequence-",level:2},{value:"getCrosschainPackage ",id:"getcrosschainpackage-",level:2},{value:"getInturnRelayer ",id:"getinturnrelayer-",level:2},{value:"mirrorBucket ",id:"mirrorbucket-",level:2},{value:"mirrorGroup ",id:"mirrorgroup-",level:2},{value:"mirrorObject ",id:"mirrorobject-",level:2},{value:"transferOut ",id:"transferout-",level:2}];function x(e){const n={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(n.h2,{id:"getchannelsendsequence-",children:["getChannelSendSequence ",(0,s.jsx)(i.Z,{type:"Query"})]}),"\n",(0,s.jsx)(n.p,{children:"Get the next send sequence for a channel."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"params"}),(0,s.jsx)(n.th,{children:"description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"destChainId"}),(0,s.jsx)(n.td,{children:"destination chain id"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"channelId"}),(0,s.jsx)(n.td,{children:"channel id of the cross chain package"})]})]})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"await client.crosschain.getChannelSendSequence({\n destChainId: '5600',\n channelId: '97',\n});\n"})}),"\n",(0,s.jsxs)(n.h2,{id:"getchannelreceivesequence-",children:["getChannelReceiveSequence ",(0,s.jsx)(i.Z,{type:"Query"})]}),"\n",(0,s.jsx)(n.p,{children:"Get the next receive sequence for a channel."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"params"}),(0,s.jsx)(n.th,{children:"description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"destChainId"}),(0,s.jsx)(n.td,{children:"destination chain id"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"channelId"}),(0,s.jsx)(n.td,{children:"channel id of the cross chain package"})]})]})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"await client.crosschain.getChannelReceiveSequence({\n destChainId: '5600',\n channelId: '97',\n});\n"})}),"\n",(0,s.jsxs)(n.h2,{id:"getcrosschainpackage-",children:["getCrosschainPackage ",(0,s.jsx)(i.Z,{type:"Query"})]}),"\n",(0,s.jsx)(n.p,{children:"Get the cross-chain package by sequence."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"params"}),(0,s.jsx)(n.th,{children:"description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"destChainId"}),(0,s.jsx)(n.td,{children:"destination chain id"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"channelId"}),(0,s.jsx)(n.td,{children:"channel id of the cross chain package"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"sequence"}),(0,s.jsx)(n.td,{children:"sequence of the cross chain package"})]})]})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"await client.crosschain.getCrosschainPackage({\n destChainId: '5600',\n channelId: '97',\n sequence: '111',\n});\n"})}),"\n",(0,s.jsxs)(n.h2,{id:"getinturnrelayer-",children:["getInturnRelayer ",(0,s.jsx)(i.Z,{type:"Query"})]}),"\n",(0,s.jsx)(n.p,{children:"Get the in-turn relayer bls public key and its relay interval."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"await client.crosschain.getInturnRelayer();\n"})}),"\n",(0,s.jsxs)(n.h2,{id:"mirrorbucket-",children:["mirrorBucket ",(0,s.jsx)(i.Z,{type:"Tx"})]}),"\n",(0,s.jsx)(n.p,{children:"Mirror the bucket to BSC as an NFT."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"params"}),(0,s.jsx)(n.th,{children:"description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"creator"}),(0,s.jsx)(n.td,{children:"defines the account address of the grantee who has the DeleteBucket permission of the bucket to be deleted."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"id"}),(0,s.jsx)(n.td,{children:"defines the unique u256 for bucket"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"bucketName"}),(0,s.jsx)(n.td,{children:"defines a globally unique name of bucket"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"destChainId"}),(0,s.jsx)(n.td,{children:"destination chain id"})]})]})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"const tx = await client.crosschain.mirrorBucket({\n bucketName: 'bucket_name',\n id: 'bucket_id',\n creator: '0x00...',\n destChainId: '97',\n});\n"})}),"\n",(0,s.jsx)(c.ZP,{}),"\n",(0,s.jsxs)(n.h2,{id:"mirrorgroup-",children:["mirrorGroup ",(0,s.jsx)(i.Z,{type:"Tx"})]}),"\n",(0,s.jsx)(n.p,{children:"Mirror the group to BSC as an NFT."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"params"}),(0,s.jsx)(n.th,{children:"description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"operator"}),(0,s.jsx)(n.td,{children:"defines the account address of the operator who is the owner of the group"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"id"}),(0,s.jsx)(n.td,{children:"the unique u256 for group"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"groupName"}),(0,s.jsx)(n.td,{children:"the name of the group"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"destChainId"}),(0,s.jsx)(n.td,{children:"destination chain id"})]})]})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"const tx = await client.crosschain.mirrorGroup({\n groupName: 'group_name',\n id: 'group_id',\n operator: '0x00...',\n destChainId: '97',\n});\n"})}),"\n",(0,s.jsx)(c.ZP,{}),"\n",(0,s.jsxs)(n.h2,{id:"mirrorobject-",children:["mirrorObject ",(0,s.jsx)(i.Z,{type:"Tx"})]}),"\n",(0,s.jsx)(n.p,{children:"Mirror the object to BSC as an NFT."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"params"}),(0,s.jsx)(n.th,{children:"description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"operator"}),(0,s.jsx)(n.td,{children:"the account address of the operator who has the DeleteObject permission of the object to be deleted"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"id"}),(0,s.jsx)(n.td,{children:"the unique u256 for object"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"bucketName"}),(0,s.jsx)(n.td,{children:"the name of the bucket where the object is stored"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"objectName"}),(0,s.jsx)(n.td,{children:"the name of object"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"destChainId"}),(0,s.jsx)(n.td,{children:"destination chain id"})]})]})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"const tx = await client.crosschain.mirrorObject({\n bucketName: 'bucket_name',\n objectName: 'object_name',\n id: 'object_id',\n operator: '0x00...',\n destChainId: '97',\n});\n"})}),"\n",(0,s.jsx)(c.ZP,{}),"\n",(0,s.jsxs)(n.h2,{id:"transferout-",children:["transferOut ",(0,s.jsx)(i.Z,{type:"Tx"})]}),"\n",(0,s.jsx)(n.p,{children:"Make a transfer from Greenfield to BSC."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"params"}),(0,s.jsx)(n.th,{children:"description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"from"}),(0,s.jsx)(n.td,{children:"from address"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"to"}),(0,s.jsx)(n.td,{children:"to address"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"amount"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"/types/coin",children:"Coin"})})]})]})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"const tx = await client.crosschain.transferOut({\n from: '0x00...',\n to: '0x0000000000000000000000000000000000000001',\n amount: {\n amount: '1000000000',\n denom: 'BNB',\n },\n});\n"})}),"\n",(0,s.jsx)(c.ZP,{})]})}function j(e={}){const{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(x,{...e})}):x(e)}},2503:(e,n,t)=>{t.d(n,{Z:()=>r});t(79);var s=t(5250);const r=e=>{const{type:n}=e;return(0,s.jsx)("span",{style:{backgroundColor:"#25c2a0",borderRadius:"5px",color:"#FFF",fontSize:14,padding:2},children:n})}},1340:(e,n,t)=>{t.d(n,{Z:()=>d,a:()=>c});var s=t(79);const r={},i=s.createContext(r);function c(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/7bcd82cb.b162b834.js b/assets/js/7bcd82cb.b162b834.js
new file mode 100644
index 00000000..844438a6
--- /dev/null
+++ b/assets/js/7bcd82cb.b162b834.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[556],{6976:(e,n,t)=>{t.d(n,{Ay:()=>d,RM:()=>i});var s=t(9214),r=t(3159);const i=[];function c(e){const n={a:"a",admonition:"admonition",p:"p",...(0,r.R)(),...e.components};return(0,s.jsx)(n.admonition,{type:"tip",children:(0,s.jsxs)(n.p,{children:["This is only ",(0,s.jsx)(n.a,{href:"/client/tx-client",children:"construct"})," tx, next need ",(0,s.jsx)(n.a,{href:"/client/tx-client#simulate",children:"simulate"})," and\n",(0,s.jsx)(n.a,{href:"/client/tx-client#broadcast",children:"broadcast"})]})})}function d(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},5126:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>j,frontMatter:()=>d,metadata:()=>h,toc:()=>o});var s=t(9214),r=t(3159),i=t(9322),c=t(6976);const d={id:"crosschain",title:"Crosschain"},a=void 0,h={id:"api/crosschain",title:"Crosschain",description:"getChannelSendSequence",source:"@site/docs/api/crosschain.mdx",sourceDirName:"api",slug:"/api/crosschain",permalink:"/greenfield-js-sdk/api/crosschain",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/api/crosschain.mdx",tags:[],version:"current",frontMatter:{id:"crosschain",title:"Crosschain"},sidebar:"GettingStartSidebar",previous:{title:"Bucket",permalink:"/greenfield-js-sdk/api/bucket"},next:{title:"Feegrant",permalink:"/greenfield-js-sdk/api/feegrant"}},l={},o=[{value:"getChannelSendSequence ",id:"getchannelsendsequence-",level:2},{value:"getChannelReceiveSequence ",id:"getchannelreceivesequence-",level:2},{value:"getCrosschainPackage ",id:"getcrosschainpackage-",level:2},{value:"getInturnRelayer ",id:"getinturnrelayer-",level:2},{value:"mirrorBucket ",id:"mirrorbucket-",level:2},...c.RM,{value:"mirrorGroup ",id:"mirrorgroup-",level:2},...c.RM,{value:"mirrorObject ",id:"mirrorobject-",level:2},...c.RM,{value:"transferOut ",id:"transferout-",level:2},...c.RM];function x(e){const n={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(n.h2,{id:"getchannelsendsequence-",children:["getChannelSendSequence ",(0,s.jsx)(i.A,{type:"Query"})]}),"\n",(0,s.jsx)(n.p,{children:"Get the next send sequence for a channel."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"params"}),(0,s.jsx)(n.th,{children:"description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"destChainId"}),(0,s.jsx)(n.td,{children:"destination chain id"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"channelId"}),(0,s.jsx)(n.td,{children:"channel id of the cross chain package"})]})]})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"await client.crosschain.getChannelSendSequence({\n destChainId: '5600',\n channelId: '97',\n});\n"})}),"\n",(0,s.jsxs)(n.h2,{id:"getchannelreceivesequence-",children:["getChannelReceiveSequence ",(0,s.jsx)(i.A,{type:"Query"})]}),"\n",(0,s.jsx)(n.p,{children:"Get the next receive sequence for a channel."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"params"}),(0,s.jsx)(n.th,{children:"description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"destChainId"}),(0,s.jsx)(n.td,{children:"destination chain id"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"channelId"}),(0,s.jsx)(n.td,{children:"channel id of the cross chain package"})]})]})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"await client.crosschain.getChannelReceiveSequence({\n destChainId: '5600',\n channelId: '97',\n});\n"})}),"\n",(0,s.jsxs)(n.h2,{id:"getcrosschainpackage-",children:["getCrosschainPackage ",(0,s.jsx)(i.A,{type:"Query"})]}),"\n",(0,s.jsx)(n.p,{children:"Get the cross-chain package by sequence."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"params"}),(0,s.jsx)(n.th,{children:"description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"destChainId"}),(0,s.jsx)(n.td,{children:"destination chain id"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"channelId"}),(0,s.jsx)(n.td,{children:"channel id of the cross chain package"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"sequence"}),(0,s.jsx)(n.td,{children:"sequence of the cross chain package"})]})]})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"await client.crosschain.getCrosschainPackage({\n destChainId: '5600',\n channelId: '97',\n sequence: '111',\n});\n"})}),"\n",(0,s.jsxs)(n.h2,{id:"getinturnrelayer-",children:["getInturnRelayer ",(0,s.jsx)(i.A,{type:"Query"})]}),"\n",(0,s.jsx)(n.p,{children:"Get the in-turn relayer bls public key and its relay interval."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"await client.crosschain.getInturnRelayer();\n"})}),"\n",(0,s.jsxs)(n.h2,{id:"mirrorbucket-",children:["mirrorBucket ",(0,s.jsx)(i.A,{type:"Tx"})]}),"\n",(0,s.jsx)(n.p,{children:"Mirror the bucket to BSC as an NFT."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"params"}),(0,s.jsx)(n.th,{children:"description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"creator"}),(0,s.jsx)(n.td,{children:"defines the account address of the grantee who has the DeleteBucket permission of the bucket to be deleted."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"id"}),(0,s.jsx)(n.td,{children:"defines the unique u256 for bucket"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"bucketName"}),(0,s.jsx)(n.td,{children:"defines a globally unique name of bucket"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"destChainId"}),(0,s.jsx)(n.td,{children:"destination chain id"})]})]})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"const tx = await client.crosschain.mirrorBucket({\n bucketName: 'bucket_name',\n id: 'bucket_id',\n creator: '0x00...',\n destChainId: '97',\n});\n"})}),"\n",(0,s.jsx)(c.Ay,{}),"\n",(0,s.jsxs)(n.h2,{id:"mirrorgroup-",children:["mirrorGroup ",(0,s.jsx)(i.A,{type:"Tx"})]}),"\n",(0,s.jsx)(n.p,{children:"Mirror the group to BSC as an NFT."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"params"}),(0,s.jsx)(n.th,{children:"description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"operator"}),(0,s.jsx)(n.td,{children:"defines the account address of the operator who is the owner of the group"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"id"}),(0,s.jsx)(n.td,{children:"the unique u256 for group"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"groupName"}),(0,s.jsx)(n.td,{children:"the name of the group"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"destChainId"}),(0,s.jsx)(n.td,{children:"destination chain id"})]})]})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"const tx = await client.crosschain.mirrorGroup({\n groupName: 'group_name',\n id: 'group_id',\n operator: '0x00...',\n destChainId: '97',\n});\n"})}),"\n",(0,s.jsx)(c.Ay,{}),"\n",(0,s.jsxs)(n.h2,{id:"mirrorobject-",children:["mirrorObject ",(0,s.jsx)(i.A,{type:"Tx"})]}),"\n",(0,s.jsx)(n.p,{children:"Mirror the object to BSC as an NFT."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"params"}),(0,s.jsx)(n.th,{children:"description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"operator"}),(0,s.jsx)(n.td,{children:"the account address of the operator who has the DeleteObject permission of the object to be deleted"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"id"}),(0,s.jsx)(n.td,{children:"the unique u256 for object"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"bucketName"}),(0,s.jsx)(n.td,{children:"the name of the bucket where the object is stored"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"objectName"}),(0,s.jsx)(n.td,{children:"the name of object"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"destChainId"}),(0,s.jsx)(n.td,{children:"destination chain id"})]})]})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"const tx = await client.crosschain.mirrorObject({\n bucketName: 'bucket_name',\n objectName: 'object_name',\n id: 'object_id',\n operator: '0x00...',\n destChainId: '97',\n});\n"})}),"\n",(0,s.jsx)(c.Ay,{}),"\n",(0,s.jsxs)(n.h2,{id:"transferout-",children:["transferOut ",(0,s.jsx)(i.A,{type:"Tx"})]}),"\n",(0,s.jsx)(n.p,{children:"Make a transfer from Greenfield to BSC."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"params"}),(0,s.jsx)(n.th,{children:"description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"from"}),(0,s.jsx)(n.td,{children:"from address"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"to"}),(0,s.jsx)(n.td,{children:"to address"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"amount"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"/types/coin",children:"Coin"})})]})]})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"const tx = await client.crosschain.transferOut({\n from: '0x00...',\n to: '0x0000000000000000000000000000000000000001',\n amount: {\n amount: '1000000000',\n denom: 'BNB',\n },\n});\n"})}),"\n",(0,s.jsx)(c.Ay,{})]})}function j(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(x,{...e})}):x(e)}},9322:(e,n,t)=>{t.d(n,{A:()=>r});t(8318);var s=t(9214);const r=e=>{const{type:n}=e;return(0,s.jsx)("span",{style:{backgroundColor:"#25c2a0",borderRadius:"5px",color:"#FFF",fontSize:14,padding:2},children:n})}},3159:(e,n,t)=>{t.d(n,{R:()=>c,x:()=>d});var s=t(8318);const r={},i=s.createContext(r);function c(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/830818e7.5f6e5297.js b/assets/js/830818e7.5f6e5297.js
deleted file mode 100644
index 3d528815..00000000
--- a/assets/js/830818e7.5f6e5297.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[582],{8695:(e,s,r)=>{r.d(s,{ZP:()=>d});var t=r(5250),i=r(1340);function n(e){const s={a:"a",admonition:"admonition",p:"p",...(0,i.a)(),...e.components};return(0,t.jsx)(s.admonition,{type:"tip",children:(0,t.jsxs)(s.p,{children:["This is only ",(0,t.jsx)(s.a,{href:"/client/tx-client",children:"construct"})," tx, next need ",(0,t.jsx)(s.a,{href:"/client/tx-client#simulate",children:"simulate"})," and\n",(0,t.jsx)(s.a,{href:"/client/tx-client#broadcast",children:"broadcast"})]})})}function d(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(n,{...e})}):n(e)}},698:(e,s,r)=>{r.r(s),r.d(s,{assets:()=>o,contentTitle:()=>a,default:()=>h,frontMatter:()=>d,metadata:()=>l,toc:()=>p});var t=r(5250),i=r(1340),n=r(2503);r(8695);const d={id:"sp",title:"Sp"},a=void 0,l={id:"api/sp",title:"Sp",description:"getStorageProviders",source:"@site/docs/api/sp.mdx",sourceDirName:"api",slug:"/api/sp",permalink:"/greenfield-js-sdk/api/sp",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/api/sp.mdx",tags:[],version:"current",frontMatter:{id:"sp",title:"Sp"},sidebar:"GettingStartSidebar",previous:{title:"Payment",permalink:"/greenfield-js-sdk/api/payment"},next:{title:"VirtualGroup",permalink:"/greenfield-js-sdk/api/virtual-group"}},o={},p=[{value:"getStorageProviders ",id:"getstorageproviders-",level:2},{value:"getStorageProviderInfo ",id:"getstorageproviderinfo-",level:2},{value:"getQuerySpStoragePrice ",id:"getqueryspstorageprice-",level:2},{value:"listGroups ",id:"listgroups-",level:2},{value:"listGroupsMembers ",id:"listgroupsmembers-",level:2},{value:"listUserGroups ",id:"listusergroups-",level:2},{value:"listUserOwnedGroups ",id:"listuserownedgroups-",level:2}];function c(e){const s={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(s.h2,{id:"getstorageproviders-",children:["getStorageProviders ",(0,t.jsx)(n.Z,{type:"Query"})]}),"\n",(0,t.jsx)(s.p,{children:"List the storage providers info on chain."}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-jsx",metastring:'title="example"',children:"await client.sp.getStorageProviders();\n"})}),"\n",(0,t.jsxs)(s.h2,{id:"getstorageproviderinfo-",children:["getStorageProviderInfo ",(0,t.jsx)(n.Z,{type:"Query"})]}),"\n",(0,t.jsx)(s.p,{children:"Get the specified storage providers info on chain."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"params"}),(0,t.jsx)(s.th,{children:"description"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"spId"}),(0,t.jsx)(s.td,{children:"sp's id"})]})})]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-jsx",metastring:'title="example"',children:"await client.sp.getStorageProviderInfo(1);\n"})}),"\n",(0,t.jsxs)(s.h2,{id:"getqueryspstorageprice-",children:["getQuerySpStoragePrice ",(0,t.jsx)(n.Z,{type:"Query"})]}),"\n",(0,t.jsx)(s.p,{children:"Get the storage price details for a particular storage provider, including update time, read price,\nstore price and .etc."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"params"}),(0,t.jsx)(s.th,{children:"description"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"spAddr"}),(0,t.jsx)(s.td,{children:"operator address of sp"})]})})]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-jsx",metastring:'title="example"',children:"await client.sp.getQuerySpStoragePrice({\n spAddr: '0x..',\n});\n"})}),"\n",(0,t.jsxs)(s.h2,{id:"listgroups-",children:["listGroups ",(0,t.jsx)(n.Z,{type:"Storage Provider"})]}),"\n",(0,t.jsx)(s.p,{children:"Get the group list by name and prefix. It provides fuzzy searches by inputting a specific name and\nprefix."}),"\n",(0,t.jsxs)(s.p,{children:["More details:\n",(0,t.jsx)(s.a,{href:"https://docs.bnbchain.org/greenfield-docs/docs/api/storage-provider-rest/get_group_list",children:"https://docs.bnbchain.org/greenfield-docs/docs/api/storage-provider-rest/get_group_list"}),"."]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-jsx",metastring:'title="example"',children:"await client.sp.listGroups({\n name: groupName,\n prefix: '',\n sourceType: 'SOURCE_TYPE_ORIGIN',\n limit: 1000,\n offset: 0,\n});\n"})}),"\n",(0,t.jsxs)(s.h2,{id:"listgroupsmembers-",children:["listGroupsMembers ",(0,t.jsx)(n.Z,{type:"Storage Provider"})]}),"\n",(0,t.jsx)(s.p,{children:"Query a list of group members by a given group id."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"params"}),(0,t.jsx)(s.th,{children:"description"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"groupId"}),(0,t.jsx)(s.td,{children:"group id"})]})})]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-jsx",metastring:'title="example"',children:"await client.sp.listGroupsMembers({\n groupId: 269,\n});\n"})}),"\n",(0,t.jsxs)(s.h2,{id:"listusergroups-",children:["listUserGroups ",(0,t.jsx)(n.Z,{type:"Storage Provider"})]}),"\n",(0,t.jsx)(s.p,{children:"Query a list of groups by a given user."}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-jsx",metastring:'title="example"',children:"await client.sp.listUserGroups({\n address: '0x000..',\n limit: 10,\n startAfter: '0',\n});\n"})}),"\n",(0,t.jsxs)(s.h2,{id:"listuserownedgroups-",children:["listUserOwnedGroups ",(0,t.jsx)(n.Z,{type:"Storage Provider"})]}),"\n",(0,t.jsx)(s.p,{children:"Retrieve groups where the user is the owner."}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-jsx",metastring:'title="example"',children:"await client.sp.listUserOwnedGroups({\n address: '0x000..',\n limit: 10,\n startAfter: '0',\n});\n"})})]})}function h(e={}){const{wrapper:s}={...(0,i.a)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},2503:(e,s,r)=>{r.d(s,{Z:()=>i});r(79);var t=r(5250);const i=e=>{const{type:s}=e;return(0,t.jsx)("span",{style:{backgroundColor:"#25c2a0",borderRadius:"5px",color:"#FFF",fontSize:14,padding:2},children:s})}},1340:(e,s,r)=>{r.d(s,{Z:()=>a,a:()=>d});var t=r(79);const i={},n=t.createContext(i);function d(e){const s=t.useContext(n);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:d(e.components),t.createElement(n.Provider,{value:s},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/830818e7.db693d24.js b/assets/js/830818e7.db693d24.js
new file mode 100644
index 00000000..845aafd1
--- /dev/null
+++ b/assets/js/830818e7.db693d24.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[591],{6976:(e,s,r)=>{r.d(s,{Ay:()=>a,RM:()=>n});var t=r(9214),i=r(3159);const n=[];function d(e){const s={a:"a",admonition:"admonition",p:"p",...(0,i.R)(),...e.components};return(0,t.jsx)(s.admonition,{type:"tip",children:(0,t.jsxs)(s.p,{children:["This is only ",(0,t.jsx)(s.a,{href:"/client/tx-client",children:"construct"})," tx, next need ",(0,t.jsx)(s.a,{href:"/client/tx-client#simulate",children:"simulate"})," and\n",(0,t.jsx)(s.a,{href:"/client/tx-client#broadcast",children:"broadcast"})]})})}function a(e={}){const{wrapper:s}={...(0,i.R)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},5712:(e,s,r)=>{r.r(s),r.d(s,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>d,metadata:()=>o,toc:()=>p});var t=r(9214),i=r(3159),n=r(9322);r(6976);const d={id:"sp",title:"Sp"},a=void 0,o={id:"api/sp",title:"Sp",description:"getStorageProviders",source:"@site/docs/api/sp.mdx",sourceDirName:"api",slug:"/api/sp",permalink:"/greenfield-js-sdk/api/sp",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/api/sp.mdx",tags:[],version:"current",frontMatter:{id:"sp",title:"Sp"},sidebar:"GettingStartSidebar",previous:{title:"Payment",permalink:"/greenfield-js-sdk/api/payment"},next:{title:"VirtualGroup",permalink:"/greenfield-js-sdk/api/virtual-group"}},l={},p=[{value:"getStorageProviders ",id:"getstorageproviders-",level:2},{value:"getStorageProviderInfo ",id:"getstorageproviderinfo-",level:2},{value:"getQuerySpStoragePrice ",id:"getqueryspstorageprice-",level:2},{value:"listGroups ",id:"listgroups-",level:2},{value:"listGroupsMembers ",id:"listgroupsmembers-",level:2},{value:"listUserGroups ",id:"listusergroups-",level:2},{value:"listUserOwnedGroups ",id:"listuserownedgroups-",level:2}];function c(e){const s={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(s.h2,{id:"getstorageproviders-",children:["getStorageProviders ",(0,t.jsx)(n.A,{type:"Query"})]}),"\n",(0,t.jsx)(s.p,{children:"List the storage providers info on chain."}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-jsx",metastring:'title="example"',children:"await client.sp.getStorageProviders();\n"})}),"\n",(0,t.jsxs)(s.h2,{id:"getstorageproviderinfo-",children:["getStorageProviderInfo ",(0,t.jsx)(n.A,{type:"Query"})]}),"\n",(0,t.jsx)(s.p,{children:"Get the specified storage providers info on chain."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"params"}),(0,t.jsx)(s.th,{children:"description"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"spId"}),(0,t.jsx)(s.td,{children:"sp's id"})]})})]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-jsx",metastring:'title="example"',children:"await client.sp.getStorageProviderInfo(1);\n"})}),"\n",(0,t.jsxs)(s.h2,{id:"getqueryspstorageprice-",children:["getQuerySpStoragePrice ",(0,t.jsx)(n.A,{type:"Query"})]}),"\n",(0,t.jsx)(s.p,{children:"Get the storage price details for a particular storage provider, including update time, read price,\nstore price and .etc."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"params"}),(0,t.jsx)(s.th,{children:"description"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"spAddr"}),(0,t.jsx)(s.td,{children:"operator address of sp"})]})})]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-jsx",metastring:'title="example"',children:"await client.sp.getQuerySpStoragePrice({\n spAddr: '0x..',\n});\n"})}),"\n",(0,t.jsxs)(s.h2,{id:"listgroups-",children:["listGroups ",(0,t.jsx)(n.A,{type:"Storage Provider"})]}),"\n",(0,t.jsx)(s.p,{children:"Get the group list by name and prefix. It provides fuzzy searches by inputting a specific name and\nprefix."}),"\n",(0,t.jsxs)(s.p,{children:["More details:\n",(0,t.jsx)(s.a,{href:"https://docs.bnbchain.org/greenfield-docs/docs/api/storage-provider-rest/get_group_list",children:"https://docs.bnbchain.org/greenfield-docs/docs/api/storage-provider-rest/get_group_list"}),"."]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-jsx",metastring:'title="example"',children:"await client.sp.listGroups({\n name: groupName,\n prefix: '',\n sourceType: 'SOURCE_TYPE_ORIGIN',\n limit: 1000,\n offset: 0,\n});\n"})}),"\n",(0,t.jsxs)(s.h2,{id:"listgroupsmembers-",children:["listGroupsMembers ",(0,t.jsx)(n.A,{type:"Storage Provider"})]}),"\n",(0,t.jsx)(s.p,{children:"Query a list of group members by a given group id."}),"\n",(0,t.jsxs)(s.table,{children:[(0,t.jsx)(s.thead,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.th,{children:"params"}),(0,t.jsx)(s.th,{children:"description"})]})}),(0,t.jsx)(s.tbody,{children:(0,t.jsxs)(s.tr,{children:[(0,t.jsx)(s.td,{children:"groupId"}),(0,t.jsx)(s.td,{children:"group id"})]})})]}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-jsx",metastring:'title="example"',children:"await client.sp.listGroupsMembers({\n groupId: 269,\n});\n"})}),"\n",(0,t.jsxs)(s.h2,{id:"listusergroups-",children:["listUserGroups ",(0,t.jsx)(n.A,{type:"Storage Provider"})]}),"\n",(0,t.jsx)(s.p,{children:"Query a list of groups by a given user."}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-jsx",metastring:'title="example"',children:"await client.sp.listUserGroups({\n address: '0x000..',\n limit: 10,\n startAfter: '0',\n});\n"})}),"\n",(0,t.jsxs)(s.h2,{id:"listuserownedgroups-",children:["listUserOwnedGroups ",(0,t.jsx)(n.A,{type:"Storage Provider"})]}),"\n",(0,t.jsx)(s.p,{children:"Retrieve groups where the user is the owner."}),"\n",(0,t.jsx)(s.pre,{children:(0,t.jsx)(s.code,{className:"language-jsx",metastring:'title="example"',children:"await client.sp.listUserOwnedGroups({\n address: '0x000..',\n limit: 10,\n startAfter: '0',\n});\n"})})]})}function h(e={}){const{wrapper:s}={...(0,i.R)(),...e.components};return s?(0,t.jsx)(s,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},9322:(e,s,r)=>{r.d(s,{A:()=>i});r(8318);var t=r(9214);const i=e=>{const{type:s}=e;return(0,t.jsx)("span",{style:{backgroundColor:"#25c2a0",borderRadius:"5px",color:"#FFF",fontSize:14,padding:2},children:s})}},3159:(e,s,r)=>{r.d(s,{R:()=>d,x:()=>a});var t=r(8318);const i={},n=t.createContext(i);function d(e){const s=t.useContext(n);return t.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function a(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:d(e.components),t.createElement(n.Provider,{value:s},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/861.261878ae.js b/assets/js/861.261878ae.js
new file mode 100644
index 00000000..eee9a222
--- /dev/null
+++ b/assets/js/861.261878ae.js
@@ -0,0 +1,2 @@
+/*! For license information please see 861.261878ae.js.LICENSE.txt */
+"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[861],{5196:(e,t,n)=>{t.__esModule=!0,t.default=void 0;var r=i(n(8318)),o=i(n(7026));function i(e){return e&&e.__esModule?e:{default:e}}function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t{t.__esModule=!0,t.default=void 0;var r=i(n(8318)),o=i(n(7026));function i(e){return e&&e.__esModule?e:{default:e}}function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t{t.__esModule=!0,t.default=void 0;var r=i(n(8318)),o=i(n(7026));function i(e){return e&&e.__esModule?e:{default:e}}function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t{t.__esModule=!0,t.default=void 0;var r=i(n(8318)),o=i(n(7026));function i(e){return e&&e.__esModule?e:{default:e}}function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t{t.__esModule=!0,t.default=void 0;var r=i(n(8318)),o=i(n(3108));function i(e){return e&&e.__esModule?e:{default:e}}var a=function(e){var t=e.size,n=void 0===t?24:t,o=e.fill,i=void 0===o?"#000":o,a=e.className,s=e.path;return r.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:n,height:n,viewBox:"0 0 24 24",className:a},r.default.createElement("path",{d:"M0 0h24v24H0z",fill:"none"}),r.default.createElement("path",{fill:i,d:s}))};a.propTypes={size:o.default.number,fill:o.default.string,className:o.default.string,path:o.default.string.isRequired};var s=a;t.default=s},4493:(e,t,n)=>{t.__esModule=!0,t.default=void 0;var r=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=f(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var a=o?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(r,i,a):r[i]=e[i]}r.default=e,n&&n.set(e,r);return r}(n(8318)),o=u(n(3108)),i=n(63),a=u(n(5849)),s=n(7991),l=n(3462),c=n(2135);function u(e){return e&&e.__esModule?e:{default:e}}function f(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(f=function(e){return e?n:t})(e)}function d(){return d=Object.assign?Object.assign.bind():function(e){for(var t=1;t1?(0,c.guessMaxImageWidth)(n.state.dimensions):0,supportsWebp:c.supportsWebp}),t=n.props.getUrl,r=t?t(e):e.src,o=n.props.shouldAutoDownload(h(h({},n.state),{},{size:e.size}));n.setState({pickedSrc:e,shouldAutoDownload:o,url:r},(function(){o&&n.load(!1)}))}})),m(v(n),"onLeave",(function(){n.state.loadState!==b||n.state.userTriggered||(n.setState({inViewport:!1}),n.cancel(!1))})),n.state={loadState:w,connection:c.nativeConnection?{downlink:navigator.connection.downlink,rtt:navigator.connection.rtt,effectiveType:navigator.connection.effectiveType}:null,onLine:!0,overThreshold:!1,inViewport:!1,userTriggered:!1,possiblySlowNetwork:!1},n}n=e,(t=o).prototype=Object.create(n.prototype),t.prototype.constructor=t,g(t,n);var s=o.prototype;return s.componentDidMount=function(){var e=this;c.nativeConnection?(this.updateConnection=function(){navigator.onLine&&e.state.loadState===w&&e.setState({connection:{effectiveType:navigator.connection.effectiveType,downlink:navigator.connection.downlink,rtt:navigator.connection.rtt}})},navigator.connection.addEventListener("onchange",this.updateConnection)):this.props.threshold&&(this.possiblySlowNetworkListener=function(t){if(e.state.loadState===w){var n=t.detail.possiblySlowNetwork;!e.state.possiblySlowNetwork&&n&&e.setState({possiblySlowNetwork:n})}},window.document.addEventListener("possiblySlowNetwork",this.possiblySlowNetworkListener)),this.updateOnlineStatus=function(){return e.setState({onLine:navigator.onLine})},this.updateOnlineStatus(),window.addEventListener("online",this.updateOnlineStatus),window.addEventListener("offline",this.updateOnlineStatus)},s.componentWillUnmount=function(){this.clear(),c.nativeConnection?navigator.connection.removeEventListener("onchange",this.updateConnection):this.props.threshold&&window.document.removeEventListener("possiblySlowNetwork",this.possiblySlowNetworkListener),window.removeEventListener("online",this.updateOnlineStatus),window.removeEventListener("offline",this.updateOnlineStatus)},s.clear=function(){this.loader&&(this.loader.cancel(),this.loader=void 0)},s.cancel=function(e){b===this.state.loadState&&(this.clear(),this.loadStateChange(w,e))},s.loadStateChange=function(e,t,n){void 0===n&&(n=null),this.setState({loadState:e,overThreshold:!1,userTriggered:!!t,loadInfo:n})},s.render=function(){var e=this,t=this.props.getIcon(this.state),n=this.props.getMessage(t,this.state);return r.default.createElement(i.Waypoint,{onEnter:this.onEnter,onLeave:this.onLeave},r.default.createElement(a.default,d({},this.props,(0,c.fallbackParams)(this.props),{onClick:this.onClick,icon:t,src:this.state.url||"",onDimensions:function(t){return e.setState({dimensions:t})},message:n})))},o}(r.Component);t.default=S,m(S,"propTypes",{threshold:o.default.number,getUrl:o.default.func,srcSet:o.default.arrayOf(o.default.shape({width:o.default.number.isRequired,src:o.default.string,size:o.default.number,format:o.default.oneOf(["jpeg","jpg","webp","png","gif"])})).isRequired,shouldAutoDownload:o.default.func,getMessage:o.default.func,getIcon:o.default.func,loader:o.default.oneOf(["image","xhr"]),width:o.default.number.isRequired,height:o.default.number.isRequired,placeholder:o.default.oneOfType([o.default.shape({color:o.default.string.isRequired}),o.default.shape({lqip:o.default.string.isRequired})]).isRequired,icons:o.default.object.isRequired,theme:o.default.object.isRequired}),m(S,"defaultProps",{shouldAutoDownload:function(e){var t=e.connection,n=e.size,r=e.threshold;if(e.possiblySlowNetwork)return!1;if(!t)return!0;var o=t.downlink,i=t.rtt;switch(t.effectiveType){case"slow-2g":case"2g":return!1;case"3g":return!!(o&&n&&r)&&8*n/(1e3*o)+i{t.__esModule=!0,t.default=void 0;var r=s(n(8318)),o=s(n(4493)),i=s(n(7404)),a=s(n(8615));function s(e){return e&&e.__esModule?e:{default:e}}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t{t.__esModule=!0,t.default=void 0;var r=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=l(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var a=o?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(r,i,a):r[i]=e[i]}r.default=e,n&&n.set(e,r);return r}(n(8318)),o=s(n(3108)),i=s(n(6109)),a=n(7991);function s(e){return e&&e.__esModule?e:{default:e}}function l(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(l=function(e){return e?n:t})(e)}function c(){return c=Object.assign?Object.assign.bind():function(e){for(var t=1;t{t.__esModule=!0,t.default=void 0;t.default=function(){for(var e,t=[],n=arguments.length,r=new Array(n),o=0;o1?t.join(" "):t[0],style:e}}},7991:(e,t)=>{t.__esModule=!0,t.loadStates=t.icons=void 0;var n="loading",r="loaded",o="error",i={load:"load",loading:n,loaded:r,error:o,noicon:"noicon",offline:"offline"};t.icons=i;var a={initial:"initial",loading:n,loaded:r,error:o};t.loadStates=a},2135:(e,t)=>{t.__esModule=!0,t.supportsWebp=t.ssr=t.selectSrc=t.nativeConnection=t.guessMaxImageWidth=t.fallbackParams=t.bytesToSize=void 0;var n="undefined"==typeof window||"ReactSnap"===window.navigator.userAgent;t.ssr=n;var r=!n&&!!window.navigator.connection;t.nativeConnection=r;t.guessMaxImageWidth=function(e,t){if(n)return 0;t||(t=window);var r,o=e.width,i=t.screen,a=i.width,s=i.height,l=document.documentElement,c=t.innerWidth||l.clientWidth,u=t.innerHeight||l.clientHeight,f=t.devicePixelRatio||1;if(a>c){var d=document.getElementsByTagName("body")[0],p=c-o;r=(d.clientHeight>u||d.clientHeight>s)&&p<=15?a-p:o/c*a}else r=o;return r*f};t.bytesToSize=function(e){var t=["Bytes","KB","MB","GB","TB"];if(0===e)return"n/a";var n=parseInt(Math.floor(Math.log(e)/Math.log(1024)),10);return 0===n?e+" "+t[n]:(e/Math.pow(1024,n)).toFixed(1)+" "+t[n]};var o=function(){if(n)return!1;var e=document.createElement("canvas");return!(!e.getContext||!e.getContext("2d"))&&0===e.toDataURL("image/webp").indexOf("data:image/webp")}();t.supportsWebp=o;var i=function(e){return"webp"===e.format||e.src&&e.src.match(/\.webp($|\?.*)/i)};t.selectSrc=function(e){var t,n,r=e.srcSet,o=e.maxImageWidth,a=e.supportsWebp;if(0===r.length)throw new Error("Need at least one item in srcSet");if(a)0===(t=r.filter(i)).length&&(t=r);else if(0===(t=r.filter((function(e){return!i(e)}))).length)throw new Error("Need at least one supported format item in srcSet");var s=t.filter((function(e){return e.width>=o}));return 0===s.length?(s=t,n=Math.max.apply(null,s.map((function(e){return e.width})))):n=Math.min.apply(null,s.map((function(e){return e.width}))),t.filter((function(e){return e.width===n}))[0]};t.fallbackParams=function(e){var t=e.srcSet,r=e.getUrl;if(!n)return{};var o=t.filter((function(e){return!i(e)})),a=o[0];return{nsSrcSet:o.map((function(e){return(r?r(e):e.src)+" "+e.width+"w"})).join(","),nsSrc:r?r(a):a.src,ssr:n}}},7404:(e,t,n)=>{t.__esModule=!0,t.default=void 0;var r,o=c(n(5196)),i=c(n(1477)),a=c(n(5902)),s=c(n(6006)),l=n(7991);function c(e){return e&&e.__esModule?e:{default:e}}var u=l.icons.load,f=l.icons.loading,d=l.icons.loaded,p=l.icons.error,h=l.icons.noicon,v=l.icons.offline,g=((r={})[u]=o.default,r[f]=s.default,r[d]=null,r[p]=a.default,r[h]=null,r[v]=i.default,r);t.default=g},3462:(e,t,n)=>{t.__esModule=!0,t.xhrLoader=t.timeout=t.imageLoader=t.combineCancel=void 0;var r=n(6983);function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t{t.__esModule=!0,t.default=void 0;t.default={placeholder:{backgroundSize:"cover",backgroundRepeat:"no-repeat",position:"relative"},img:{width:"100%",height:"auto",maxWidth:"100%",marginBottom:"-4px"},icon:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",textAlign:"center"},noscript:{position:"absolute",top:0,left:0}}},6983:(e,t)=>{t.__esModule=!0,t.unfetch=t.UnfetchAbortController=void 0;t.UnfetchAbortController=function(){var e=this;this.signal={onabort:function(){}},this.abort=function(){return e.signal.onabort()}};t.unfetch=function(e,t){return t=t||{},new Promise((function(n,r){var o=new XMLHttpRequest;for(var i in o.open(t.method||"get",e,!0),t.headers)o.setRequestHeader(i,t.headers[i]);function a(){var e,t=[],n=[],r={};return o.getAllResponseHeaders().replace(/^(.*?):\s*?([\s\S]*?)$/gm,(function(o,i,a){t.push(i=i.toLowerCase()),n.push([i,a]),e=r[i],r[i]=e?e+","+a:a})),{ok:2==(o.status/100|0),status:o.status,statusText:o.statusText,url:o.responseURL,clone:a,text:function(){return Promise.resolve(o.responseText)},json:function(){return Promise.resolve(o.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([o.response]))},headers:{keys:function(){return t},entries:function(){return n},get:function(e){return r[e.toLowerCase()]},has:function(e){return e.toLowerCase()in r}}}}o.withCredentials="include"===t.credentials,o.onload=function(){n(a())},o.onerror=r,t.signal&&(t.signal.onabort=function(){o.onerror=o.onload=void 0,o.abort()}),o.send(t.body)}))}},7101:(e,t,n)=>{var r;t.A=void 0;var o=((r=n(9887))&&r.__esModule?r:{default:r}).default;t.A=o},1663:(e,t,n)=>{n.d(t,{A:()=>s});n(8318);var r=n(7101),o=n(2244),i=n(9214);function a(e,t){switch(e){case"noicon":case"loaded":return null;case"loading":return(0,o.T)({id:"theme.IdealImageMessage.loading",message:"Loading...",description:"When the full-scale image is loading"});case"load":{const{pickedSrc:e}=t,{size:n}=e,r=n?` (${function(e){const t=["B","KB","MB","GB","TB"];if(0===e)return"n/a";const n=Math.floor(Math.log(e)/Math.log(1024));return 0===n?`${e} ${t[n]}`:`${(e/1024**n).toFixed(1)} ${t[n]}`}(n)})`:"";return(0,o.T)({id:"theme.IdealImageMessage.load",message:"Click to load{sizeMessage}",description:"To prompt users to load the full image. sizeMessage is a parenthesized size figure."},{sizeMessage:r})}case"offline":return(0,o.T)({id:"theme.IdealImageMessage.offline",message:"Your browser is offline. Image not loaded",description:"When the user is viewing an offline document"});case"error":{const{loadInfo:e}=t;return 404===e?(0,o.T)({id:"theme.IdealImageMessage.404error",message:"404. Image not found",description:"When the image is not found"}):(0,o.T)({id:"theme.IdealImageMessage.error",message:"Error. Click to reload",description:"When the image fails to load for unknown error"})}default:throw new Error(`Wrong icon: ${e}`)}}function s(e){const{img:t,...n}=e;return"string"==typeof t||"default"in t?(0,i.jsx)("img",{src:"string"==typeof t?t:t.default,...n}):(0,i.jsx)(r.A,{...n,height:t.src.height??100,width:t.src.width??100,placeholder:{lqip:t.preSrc},src:t.src.src,srcSet:t.src.images.map((e=>({...e,src:e.path}))),getMessage:a})}},4168:(e,t)=>{var n,r=Symbol.for("react.element"),o=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),l=Symbol.for("react.provider"),c=Symbol.for("react.context"),u=Symbol.for("react.server_context"),f=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),p=Symbol.for("react.suspense_list"),h=Symbol.for("react.memo"),v=Symbol.for("react.lazy"),g=Symbol.for("react.offscreen");function m(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case i:case s:case a:case d:case p:return e;default:switch(e=e&&e.$$typeof){case u:case c:case f:case v:case h:case l:return e;default:return t}}case o:return t}}}n=Symbol.for("react.module.reference"),t.isForwardRef=function(e){return m(e)===f}},3588:(e,t,n)=>{e.exports=n(4168)},63:(e,t,n)=>{n.r(t),n.d(t,{Waypoint:()=>E});var r=n(9310),o=!("undefined"==typeof window||!window.document||!window.document.createElement);var i=void 0;function a(){return void 0===i&&(i=function(){if(!o)return!1;if(!window.addEventListener||!window.removeEventListener||!Object.defineProperty)return!1;var e=!1;try{var t=Object.defineProperty({},"passive",{get:function(){e=!0}}),n=function(){};window.addEventListener("testPassiveEventSupport",n,t),window.removeEventListener("testPassiveEventSupport",n,t)}catch(r){}return e}()),i}function s(e){e.handlers===e.nextHandlers&&(e.nextHandlers=e.handlers.slice())}function l(e){this.target=e,this.events={}}l.prototype.getEventHandlers=function(e,t){var n,r=String(e)+" "+String((n=t)?!0===n?100:(0|n.capture)+(n.passive<<1)+(n.once<<2):0);return this.events[r]||(this.events[r]={handlers:[],handleEvent:void 0},this.events[r].nextHandlers=this.events[r].handlers),this.events[r]},l.prototype.handleEvent=function(e,t,n){var r=this.getEventHandlers(e,t);r.handlers=r.nextHandlers,r.handlers.forEach((function(e){e&&e(n)}))},l.prototype.add=function(e,t,n){var r=this,o=this.getEventHandlers(e,n);s(o),0===o.nextHandlers.length&&(o.handleEvent=this.handleEvent.bind(this,e,n),this.target.addEventListener(e,o.handleEvent,n)),o.nextHandlers.push(t);var i=!0;return function(){if(i){i=!1,s(o);var a=o.nextHandlers.indexOf(t);o.nextHandlers.splice(a,1),0===o.nextHandlers.length&&(r.target&&r.target.removeEventListener(e,o.handleEvent,n),o.handleEvent=void 0)}}};var c="__consolidated_events_handlers__";function u(e,t,n,r){e[c]||(e[c]=new l(e));var o=function(e){if(e)return a()?e:!!e.capture}(r);return e[c].add(t,n,o)}var f=n(8318),d=n(3588);function p(e,t){var n,r=(n=e,!isNaN(parseFloat(n))&&isFinite(n)?parseFloat(n):"px"===n.slice(-2)?parseFloat(n.slice(0,-2)):void 0);if("number"==typeof r)return r;var o=function(e){if("%"===e.slice(-1))return parseFloat(e.slice(0,-1))/100}(e);return"number"==typeof o?o*t:void 0}var h="above",v="inside",g="below",m="invisible";function w(e){return"string"==typeof e.type}var b;var y=[];function O(e){y.push(e),b||(b=setTimeout((function(){var e;for(b=null;e=y.shift();)e()}),0));var t=!0;return function(){if(t){t=!1;var n=y.indexOf(e);-1!==n&&(y.splice(n,1),!y.length&&b&&(clearTimeout(b),b=null))}}}var S="undefined"!=typeof window,j={debug:!1,scrollableAncestor:void 0,children:void 0,topOffset:"0px",bottomOffset:"0px",horizontal:!1,onEnter:function(){},onLeave:function(){},onPositionChange:function(){},fireOnRapidScroll:!0},E=function(e){function t(t){var n;return(n=e.call(this,t)||this).refElement=function(e){n._ref=e},n}(0,r.A)(t,e);var o=t.prototype;return o.componentDidMount=function(){var e=this;S&&(this.cancelOnNextTick=O((function(){e.cancelOnNextTick=null;var t=e.props,n=t.children;t.debug;!function(e,t){if(e&&!w(e)&&!t)throw new Error(" needs a DOM element to compute boundaries. The child you passed is neither a DOM element (e.g.
) nor does it use the innerRef prop.\n\nSee https://goo.gl/LrBNgw for more info.")}(n,e._ref),e._handleScroll=e._handleScroll.bind(e),e.scrollableAncestor=e._findScrollableAncestor(),e.scrollEventListenerUnsubscribe=u(e.scrollableAncestor,"scroll",e._handleScroll,{passive:!0}),e.resizeEventListenerUnsubscribe=u(window,"resize",e._handleScroll,{passive:!0}),e._handleScroll(null)})))},o.componentDidUpdate=function(){var e=this;S&&this.scrollableAncestor&&(this.cancelOnNextTick||(this.cancelOnNextTick=O((function(){e.cancelOnNextTick=null,e._handleScroll(null)}))))},o.componentWillUnmount=function(){S&&(this.scrollEventListenerUnsubscribe&&this.scrollEventListenerUnsubscribe(),this.resizeEventListenerUnsubscribe&&this.resizeEventListenerUnsubscribe(),this.cancelOnNextTick&&this.cancelOnNextTick())},o._findScrollableAncestor=function(){var e=this.props,t=e.horizontal,r=e.scrollableAncestor;if(r)return function(e){return"window"===e?n.g.window:e}(r);for(var o=this._ref;o.parentNode;){if((o=o.parentNode)===document.body)return window;var i=window.getComputedStyle(o),a=(t?i.getPropertyValue("overflow-x"):i.getPropertyValue("overflow-y"))||i.getPropertyValue("overflow");if("auto"===a||"scroll"===a||"overlay"===a)return o}return window},o._handleScroll=function(e){if(this._ref){var t=this._getBounds(),n=function(e){return e.viewportBottom-e.viewportTop==0?m:e.viewportTop<=e.waypointTop&&e.waypointTop<=e.viewportBottom||e.viewportTop<=e.waypointBottom&&e.waypointBottom<=e.viewportBottom||e.waypointTop<=e.viewportTop&&e.viewportBottom<=e.waypointBottom?v:e.viewportBottom{n.d(t,{R:()=>a,x:()=>s});var r=n(8318);const o={},i=r.createContext(o);function a(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/444.6f6477a6.js.LICENSE.txt b/assets/js/861.261878ae.js.LICENSE.txt
similarity index 100%
rename from assets/js/444.6f6477a6.js.LICENSE.txt
rename to assets/js/861.261878ae.js.LICENSE.txt
diff --git a/assets/js/932f6281.6128fc32.js b/assets/js/932f6281.6128fc32.js
deleted file mode 100644
index 3231fba7..00000000
--- a/assets/js/932f6281.6128fc32.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[483],{8695:(e,n,t)=>{t.d(n,{ZP:()=>a});var s=t(5250),c=t(1340);function r(e){const n={a:"a",admonition:"admonition",p:"p",...(0,c.a)(),...e.components};return(0,s.jsx)(n.admonition,{type:"tip",children:(0,s.jsxs)(n.p,{children:["This is only ",(0,s.jsx)(n.a,{href:"/client/tx-client",children:"construct"})," tx, next need ",(0,s.jsx)(n.a,{href:"/client/tx-client#simulate",children:"simulate"})," and\n",(0,s.jsx)(n.a,{href:"/client/tx-client#broadcast",children:"broadcast"})]})})}function a(e={}){const{wrapper:n}={...(0,c.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(r,{...e})}):r(e)}},6626:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>i,default:()=>u,frontMatter:()=>d,metadata:()=>l,toc:()=>h});var s=t(5250),c=t(1340),r=t(8695),a=t(2503);const d={id:"account",title:"Account"},i=void 0,l={id:"api/account",title:"Account",description:"getAccount",source:"@site/docs/api/account.mdx",sourceDirName:"api",slug:"/api/account",permalink:"/greenfield-js-sdk/api/account",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/api/account.mdx",tags:[],version:"current",frontMatter:{id:"account",title:"Account"},sidebar:"GettingStartSidebar",previous:{title:"Overview",permalink:"/greenfield-js-sdk/api/api-overview"},next:{title:"Bucket",permalink:"/greenfield-js-sdk/api/bucket"}},o={},h=[{value:"getAccount ",id:"getaccount-",level:2},{value:"getAccountBalance ",id:"getaccountbalance-",level:2},{value:"getModuleAccounts ",id:"getmoduleaccounts-",level:2},{value:"getModuleAccountByName ",id:"getmoduleaccountbyname-",level:2},{value:"getPaymentAccountsByOwner ",id:"getpaymentaccountsbyowner-",level:2},{value:"createPaymentAccount ",id:"createpaymentaccount-",level:2},{value:"transfer ",id:"transfer-",level:2}];function x(e){const n={code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,c.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(n.h2,{id:"getaccount-",children:["getAccount ",(0,s.jsx)(a.Z,{type:"Query"})]}),"\n",(0,s.jsx)(n.p,{children:"Retrieve on-chain account information for a given address."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"params"}),(0,s.jsx)(n.th,{children:"description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"address"}),(0,s.jsx)(n.td,{children:"The given address for retrieving"})]})})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"await client.getAccount('0x0000000000000000000000000000000000000001');\n"})}),"\n",(0,s.jsxs)(n.h2,{id:"getaccountbalance-",children:["getAccountBalance ",(0,s.jsx)(a.Z,{type:"Query"})]}),"\n",(0,s.jsx)(n.p,{children:"Get the bank balance for the given address."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"params"}),(0,s.jsx)(n.th,{children:"description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"address"}),(0,s.jsx)(n.td,{children:"the address to query balances for"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"denom"}),(0,s.jsx)(n.td,{children:"the coin denom to query balances for"})]})]})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"await client.getAccountBalance({\n address: '0x0000000000000000000000000000000000000001',\n denom: 'BNB',\n});\n"})}),"\n",(0,s.jsxs)(n.h2,{id:"getmoduleaccounts-",children:["getModuleAccounts ",(0,s.jsx)(a.Z,{type:"Query"})]}),"\n",(0,s.jsx)(n.p,{children:"Get all module accounts."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"await client.getModuleAccounts();\n"})}),"\n",(0,s.jsxs)(n.h2,{id:"getmoduleaccountbyname-",children:["getModuleAccountByName ",(0,s.jsx)(a.Z,{type:"Query"})]}),"\n",(0,s.jsx)(n.p,{children:"Get module account by module name."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"params"}),(0,s.jsx)(n.th,{children:"description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"name"}),(0,s.jsx)(n.td,{children:"the address to query balances for"})]})})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"await client.getModuleAccountByName('module_name');\n"})}),"\n",(0,s.jsxs)(n.h2,{id:"getpaymentaccountsbyowner-",children:["getPaymentAccountsByOwner ",(0,s.jsx)(a.Z,{type:"Query"})]}),"\n",(0,s.jsx)(n.p,{children:"Get all payment accounts owned by the given owner address."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"params"}),(0,s.jsx)(n.th,{children:"description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"address"}),(0,s.jsx)(n.td,{children:"The given owner account address for retrieving"})]})})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"await client.getPaymentAccountsByOwner('0x0000000000000000000000000000000000000001');\n"})}),"\n",(0,s.jsxs)(n.h2,{id:"createpaymentaccount-",children:["createPaymentAccount ",(0,s.jsx)(a.Z,{type:"Tx"})]}),"\n",(0,s.jsx)(r.ZP,{}),"\n",(0,s.jsx)(n.p,{children:"Create a new payment account for the given address."}),"\n",(0,s.jsx)(n.p,{children:"The payment account is used to pay for the storage and read quota fee of objects. When you need to\npay for different buckets separately, you can create different payment accounts to do so. Note that\nthe payment account does not have a private key, and only the owner of the payment account can\nwithdraw funds from it. Once the owner revokes permission for withdrawal, the funds in the payment\naccount can only be utilized to cover storage and read quota fees."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"params"}),(0,s.jsx)(n.th,{children:"description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"creator"}),(0,s.jsx)(n.td,{children:"The owner address of the new payment account"})]})})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"const tx = await client.account.createPaymentAccount({\n creator: address,\n});\n"})}),"\n",(0,s.jsxs)(n.h2,{id:"transfer-",children:["transfer ",(0,s.jsx)(a.Z,{type:"Tx"})]}),"\n",(0,s.jsx)(r.ZP,{}),"\n",(0,s.jsx)(n.p,{children:"Transfer BNB from sender to receiver."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"params"}),(0,s.jsx)(n.th,{children:"description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"fromAddress"}),(0,s.jsx)(n.td,{children:"The address who will send the BNB"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"toAddress"}),(0,s.jsx)(n.td,{children:"The address who will receive the BNB"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"amount"}),(0,s.jsx)(n.td,{children:"transfer coin"})]})]})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"const tx = await client.account.transfer({\n fromAddress: '0x0000000000000000000000000000000000000000',\n toAddress: '0x0000000000000000000000000000000000000001',\n amount: [\n {\n denom: 'BNB',\n amount: '1000000000',\n },\n ],\n});\n"})})]})}function u(e={}){const{wrapper:n}={...(0,c.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(x,{...e})}):x(e)}},2503:(e,n,t)=>{t.d(n,{Z:()=>c});t(79);var s=t(5250);const c=e=>{const{type:n}=e;return(0,s.jsx)("span",{style:{backgroundColor:"#25c2a0",borderRadius:"5px",color:"#FFF",fontSize:14,padding:2},children:n})}},1340:(e,n,t)=>{t.d(n,{Z:()=>d,a:()=>a});var s=t(79);const c={},r=s.createContext(c);function a(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:a(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/932f6281.f81d0a6b.js b/assets/js/932f6281.f81d0a6b.js
new file mode 100644
index 00000000..22d1494f
--- /dev/null
+++ b/assets/js/932f6281.f81d0a6b.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[798],{6976:(e,n,t)=>{t.d(n,{Ay:()=>d,RM:()=>r});var s=t(9214),c=t(3159);const r=[];function a(e){const n={a:"a",admonition:"admonition",p:"p",...(0,c.R)(),...e.components};return(0,s.jsx)(n.admonition,{type:"tip",children:(0,s.jsxs)(n.p,{children:["This is only ",(0,s.jsx)(n.a,{href:"/client/tx-client",children:"construct"})," tx, next need ",(0,s.jsx)(n.a,{href:"/client/tx-client#simulate",children:"simulate"})," and\n",(0,s.jsx)(n.a,{href:"/client/tx-client#broadcast",children:"broadcast"})]})})}function d(e={}){const{wrapper:n}={...(0,c.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},1356:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>i,default:()=>u,frontMatter:()=>d,metadata:()=>l,toc:()=>h});var s=t(9214),c=t(3159),r=t(6976),a=t(9322);const d={id:"account",title:"Account"},i=void 0,l={id:"api/account",title:"Account",description:"getAccount",source:"@site/docs/api/account.mdx",sourceDirName:"api",slug:"/api/account",permalink:"/greenfield-js-sdk/api/account",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/api/account.mdx",tags:[],version:"current",frontMatter:{id:"account",title:"Account"},sidebar:"GettingStartSidebar",previous:{title:"Overview",permalink:"/greenfield-js-sdk/api/api-overview"},next:{title:"Bucket",permalink:"/greenfield-js-sdk/api/bucket"}},o={},h=[{value:"getAccount ",id:"getaccount-",level:2},{value:"getAccountBalance ",id:"getaccountbalance-",level:2},{value:"getModuleAccounts ",id:"getmoduleaccounts-",level:2},{value:"getModuleAccountByName ",id:"getmoduleaccountbyname-",level:2},{value:"getPaymentAccountsByOwner ",id:"getpaymentaccountsbyowner-",level:2},{value:"createPaymentAccount ",id:"createpaymentaccount-",level:2},...r.RM,{value:"transfer ",id:"transfer-",level:2},...r.RM];function x(e){const n={code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,c.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(n.h2,{id:"getaccount-",children:["getAccount ",(0,s.jsx)(a.A,{type:"Query"})]}),"\n",(0,s.jsx)(n.p,{children:"Retrieve on-chain account information for a given address."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"params"}),(0,s.jsx)(n.th,{children:"description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"address"}),(0,s.jsx)(n.td,{children:"The given address for retrieving"})]})})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"await client.getAccount('0x0000000000000000000000000000000000000001');\n"})}),"\n",(0,s.jsxs)(n.h2,{id:"getaccountbalance-",children:["getAccountBalance ",(0,s.jsx)(a.A,{type:"Query"})]}),"\n",(0,s.jsx)(n.p,{children:"Get the bank balance for the given address."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"params"}),(0,s.jsx)(n.th,{children:"description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"address"}),(0,s.jsx)(n.td,{children:"the address to query balances for"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"denom"}),(0,s.jsx)(n.td,{children:"the coin denom to query balances for"})]})]})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"await client.getAccountBalance({\n address: '0x0000000000000000000000000000000000000001',\n denom: 'BNB',\n});\n"})}),"\n",(0,s.jsxs)(n.h2,{id:"getmoduleaccounts-",children:["getModuleAccounts ",(0,s.jsx)(a.A,{type:"Query"})]}),"\n",(0,s.jsx)(n.p,{children:"Get all module accounts."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"await client.getModuleAccounts();\n"})}),"\n",(0,s.jsxs)(n.h2,{id:"getmoduleaccountbyname-",children:["getModuleAccountByName ",(0,s.jsx)(a.A,{type:"Query"})]}),"\n",(0,s.jsx)(n.p,{children:"Get module account by module name."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"params"}),(0,s.jsx)(n.th,{children:"description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"name"}),(0,s.jsx)(n.td,{children:"the address to query balances for"})]})})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"await client.getModuleAccountByName('module_name');\n"})}),"\n",(0,s.jsxs)(n.h2,{id:"getpaymentaccountsbyowner-",children:["getPaymentAccountsByOwner ",(0,s.jsx)(a.A,{type:"Query"})]}),"\n",(0,s.jsx)(n.p,{children:"Get all payment accounts owned by the given owner address."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"params"}),(0,s.jsx)(n.th,{children:"description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"address"}),(0,s.jsx)(n.td,{children:"The given owner account address for retrieving"})]})})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"await client.getPaymentAccountsByOwner('0x0000000000000000000000000000000000000001');\n"})}),"\n",(0,s.jsxs)(n.h2,{id:"createpaymentaccount-",children:["createPaymentAccount ",(0,s.jsx)(a.A,{type:"Tx"})]}),"\n",(0,s.jsx)(r.Ay,{}),"\n",(0,s.jsx)(n.p,{children:"Create a new payment account for the given address."}),"\n",(0,s.jsx)(n.p,{children:"The payment account is used to pay for the storage and read quota fee of objects. When you need to\npay for different buckets separately, you can create different payment accounts to do so. Note that\nthe payment account does not have a private key, and only the owner of the payment account can\nwithdraw funds from it. Once the owner revokes permission for withdrawal, the funds in the payment\naccount can only be utilized to cover storage and read quota fees."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"params"}),(0,s.jsx)(n.th,{children:"description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"creator"}),(0,s.jsx)(n.td,{children:"The owner address of the new payment account"})]})})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"const tx = await client.account.createPaymentAccount({\n creator: address,\n});\n"})}),"\n",(0,s.jsxs)(n.h2,{id:"transfer-",children:["transfer ",(0,s.jsx)(a.A,{type:"Tx"})]}),"\n",(0,s.jsx)(r.Ay,{}),"\n",(0,s.jsx)(n.p,{children:"Transfer BNB from sender to receiver."}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"params"}),(0,s.jsx)(n.th,{children:"description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"fromAddress"}),(0,s.jsx)(n.td,{children:"The address who will send the BNB"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"toAddress"}),(0,s.jsx)(n.td,{children:"The address who will receive the BNB"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"amount"}),(0,s.jsx)(n.td,{children:"transfer coin"})]})]})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"const tx = await client.account.transfer({\n fromAddress: '0x0000000000000000000000000000000000000000',\n toAddress: '0x0000000000000000000000000000000000000001',\n amount: [\n {\n denom: 'BNB',\n amount: '1000000000',\n },\n ],\n});\n"})})]})}function u(e={}){const{wrapper:n}={...(0,c.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(x,{...e})}):x(e)}},9322:(e,n,t)=>{t.d(n,{A:()=>c});t(8318);var s=t(9214);const c=e=>{const{type:n}=e;return(0,s.jsx)("span",{style:{backgroundColor:"#25c2a0",borderRadius:"5px",color:"#FFF",fontSize:14,padding:2},children:n})}},3159:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>d});var s=t(8318);const c={},r=s.createContext(c);function a(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(c):e.components||c:a(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/935f2afb.03a12f5e.js b/assets/js/935f2afb.03a12f5e.js
deleted file mode 100644
index 69303aa7..00000000
--- a/assets/js/935f2afb.03a12f5e.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[53],{1109:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"GettingStartSidebar":[{"type":"category","label":"Getting Started","collapsible":true,"collapsed":false,"customProps":{"description":""},"className":"red","items":[{"type":"link","label":"Overview","href":"/greenfield-js-sdk/","docId":"getting-started/getting-started-overview","unlisted":false},{"type":"link","label":"Install","href":"/greenfield-js-sdk/getting-started/install","docId":"getting-started/install","unlisted":false},{"type":"link","label":"Quick Start","href":"/greenfield-js-sdk/getting-started/quick-start","docId":"getting-started/quick-start","unlisted":false}],"href":"/greenfield-js-sdk/category/getting-started"},{"type":"category","label":"Client","collapsible":true,"collapsed":true,"customProps":{"description":""},"className":"red","items":[{"type":"link","label":"Greenfield Client","href":"/greenfield-js-sdk/client/greenfield-client","docId":"client/greenfield-client","unlisted":false},{"type":"link","label":"Tx Client","href":"/greenfield-js-sdk/client/tx-client","docId":"client/tx-client","unlisted":false},{"type":"link","label":"Query Client","href":"/greenfield-js-sdk/client/query-client","docId":"client/query-client","unlisted":false},{"type":"link","label":"Storage Provider Client","href":"/greenfield-js-sdk/client/sp-client","docId":"client/sp-client","unlisted":false}],"href":"/greenfield-js-sdk/category/client"},{"type":"category","label":"API","collapsible":true,"collapsed":true,"customProps":{"description":""},"className":"red","items":[{"type":"link","label":"Overview","href":"/greenfield-js-sdk/api/api-overview","docId":"api/api-overview","unlisted":false},{"type":"link","label":"Account","href":"/greenfield-js-sdk/api/account","docId":"api/account","unlisted":false},{"type":"link","label":"Bucket","href":"/greenfield-js-sdk/api/bucket","docId":"api/bucket","unlisted":false},{"type":"link","label":"Crosschain","href":"/greenfield-js-sdk/api/crosschain","docId":"api/crosschain","unlisted":false},{"type":"link","label":"Feegrant","href":"/greenfield-js-sdk/api/feegrant","docId":"api/feegrant","unlisted":false},{"type":"link","label":"Gashub","href":"/greenfield-js-sdk/api/gashub","docId":"api/gashub","unlisted":false},{"type":"link","label":"Group","href":"/greenfield-js-sdk/api/group","docId":"api/group","unlisted":false},{"type":"link","label":"Object","href":"/greenfield-js-sdk/api/object","docId":"api/object","unlisted":false},{"type":"link","label":"Payment","href":"/greenfield-js-sdk/api/payment","docId":"api/payment","unlisted":false},{"type":"link","label":"Sp","href":"/greenfield-js-sdk/api/sp","docId":"api/sp","unlisted":false},{"type":"link","label":"VirtualGroup","href":"/greenfield-js-sdk/api/virtual-group","docId":"api/virtual-group","unlisted":false}],"href":"/greenfield-js-sdk/category/api"},{"type":"category","label":"constants","collapsible":true,"collapsed":false,"customProps":{"description":""},"className":"red","items":[{"type":"link","label":"Message Type URL","href":"/greenfield-js-sdk/constants/msg-type-url","docId":"constants/msg-type-url","unlisted":false}],"href":"/greenfield-js-sdk/category/constants"},{"type":"category","label":"Types","collapsible":true,"collapsed":false,"customProps":{"description":""},"className":"red","items":[{"type":"link","label":"ActionType","href":"/greenfield-js-sdk/types/action","docId":"types/action","unlisted":false},{"type":"link","label":"Coin","href":"/greenfield-js-sdk/types/coin","docId":"types/coin","unlisted":false},{"type":"link","label":"Pagination","href":"/greenfield-js-sdk/types/pagination","docId":"types/pagination","unlisted":false},{"type":"link","label":"PrincipalType","href":"/greenfield-js-sdk/types/principal","docId":"types/principal","unlisted":false},{"type":"link","label":"RedundancyType","href":"/greenfield-js-sdk/types/redundancy","docId":"types/redundancy","unlisted":false},{"type":"link","label":"Timestamp","href":"/greenfield-js-sdk/types/timestamp","docId":"types/timestamp","unlisted":false},{"type":"link","label":"VisibilityType","href":"/greenfield-js-sdk/types/visibility","docId":"types/visibility","unlisted":false}],"href":"/greenfield-js-sdk/category/types"},{"type":"category","label":"FAQs","collapsible":true,"collapsed":false,"customProps":{"description":""},"className":"red","items":[{"type":"link","label":"calculating checksum is slow","href":"/greenfield-js-sdk/FAQs/checksums","docId":"FAQs/checksums","unlisted":false}],"href":"/greenfield-js-sdk/category/faqs"}]},"docs":{"api/account":{"id":"api/account","title":"Account","description":"getAccount","sidebar":"GettingStartSidebar"},"api/api-overview":{"id":"api/api-overview","title":"Overview","description":"The SDK contains three APIs:","sidebar":"GettingStartSidebar"},"api/bucket":{"id":"api/bucket","title":"Bucket","description":"createBucket","sidebar":"GettingStartSidebar"},"api/crosschain":{"id":"api/crosschain","title":"Crosschain","description":"getChannelSendSequence","sidebar":"GettingStartSidebar"},"api/feegrant":{"id":"api/feegrant","title":"Feegrant","description":"grantAllowance","sidebar":"GettingStartSidebar"},"api/gashub":{"id":"api/gashub","title":"Gashub","description":"getMsgGasParams","sidebar":"GettingStartSidebar"},"api/group":{"id":"api/group","title":"Group","description":"createGroup","sidebar":"GettingStartSidebar"},"api/object":{"id":"api/object","title":"Object","description":"cancelCreateObject","sidebar":"GettingStartSidebar"},"api/payment":{"id":"api/payment","title":"Payment","description":"getStreamRecord","sidebar":"GettingStartSidebar"},"api/sp":{"id":"api/sp","title":"Sp","description":"getStorageProviders","sidebar":"GettingStartSidebar"},"api/virtual-group":{"id":"api/virtual-group","title":"VirtualGroup","description":"getGlobalVirtualGroup","sidebar":"GettingStartSidebar"},"client/greenfield-client":{"id":"client/greenfield-client","title":"Greenfield Client","description":"| params | description |","sidebar":"GettingStartSidebar"},"client/query-client":{"id":"client/query-client","title":"Query Client","description":"It\'s an encapsulation of the","sidebar":"GettingStartSidebar"},"client/sp-client":{"id":"client/sp-client","title":"Storage Provider Client","description":"The API related to storage providers is troublesome.","sidebar":"GettingStartSidebar"},"client/tx-client":{"id":"client/tx-client","title":"Tx Client","description":"About Tx","sidebar":"GettingStartSidebar"},"constants/msg-type-url":{"id":"constants/msg-type-url","title":"Message Type URL","description":"The specific type urls you want look up. Leave empty to get all entries.","sidebar":"GettingStartSidebar"},"FAQs/checksums":{"id":"FAQs/checksums","title":"calculating checksum is slow","description":"We\'re using reed-solomon.","sidebar":"GettingStartSidebar"},"getting-started/getting-started-overview":{"id":"getting-started/getting-started-overview","title":"Overview","description":"You can find some package documentation below:","sidebar":"GettingStartSidebar"},"getting-started/install":{"id":"getting-started/install","title":"Install","description":"Install","sidebar":"GettingStartSidebar"},"getting-started/quick-start":{"id":"getting-started/quick-start","title":"Quick Start","description":"We provide templates that can run React (Next.js, Vite and CRA etc) directly.","sidebar":"GettingStartSidebar"},"types/action":{"id":"types/action","title":"ActionType","description":"The operations you can execute in greenfield storage network","sidebar":"GettingStartSidebar"},"types/coin":{"id":"types/coin","title":"Coin","description":"Coin defines a token with a denomination and an amount.","sidebar":"GettingStartSidebar"},"types/pagination":{"id":"types/pagination","title":"Pagination","description":"PageRequest is to be embedded in gRPC request messages for efficient.","sidebar":"GettingStartSidebar"},"types/principal":{"id":"types/principal","title":"PrincipalType","description":"PrincipalType refers to the identity type of system users or entities. In Greenfield, it usually","sidebar":"GettingStartSidebar"},"types/redundancy":{"id":"types/redundancy","title":"RedundancyType","description":"RedundancyType represents the redundancy algorithm type for object data, which can be either","sidebar":"GettingStartSidebar"},"types/timestamp":{"id":"types/timestamp","title":"Timestamp","description":"A Timestamp represents a point in time independent of any time zone or local calendar, encoded as a","sidebar":"GettingStartSidebar"},"types/visibility":{"id":"types/visibility","title":"VisibilityType","description":"visibility means the bucket is private or public. if private, only bucket owner or grantee can read","sidebar":"GettingStartSidebar"}}}')}}]);
\ No newline at end of file
diff --git a/assets/js/935f2afb.e46a59ed.js b/assets/js/935f2afb.e46a59ed.js
new file mode 100644
index 00000000..8c89e2c2
--- /dev/null
+++ b/assets/js/935f2afb.e46a59ed.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[581],{5610:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"GettingStartSidebar":[{"type":"category","label":"Getting Started","collapsible":true,"collapsed":false,"customProps":{"description":""},"className":"red","items":[{"type":"link","label":"Overview","href":"/greenfield-js-sdk/","docId":"getting-started/getting-started-overview","unlisted":false},{"type":"link","label":"Install","href":"/greenfield-js-sdk/getting-started/install","docId":"getting-started/install","unlisted":false},{"type":"link","label":"Quick Start","href":"/greenfield-js-sdk/getting-started/quick-start","docId":"getting-started/quick-start","unlisted":false}],"href":"/greenfield-js-sdk/category/getting-started"},{"type":"category","label":"Client","collapsible":true,"collapsed":true,"customProps":{"description":""},"className":"red","items":[{"type":"link","label":"Greenfield Client","href":"/greenfield-js-sdk/client/greenfield-client","docId":"client/greenfield-client","unlisted":false},{"type":"link","label":"Tx Client","href":"/greenfield-js-sdk/client/tx-client","docId":"client/tx-client","unlisted":false},{"type":"link","label":"Query Client","href":"/greenfield-js-sdk/client/query-client","docId":"client/query-client","unlisted":false},{"type":"link","label":"Storage Provider Client","href":"/greenfield-js-sdk/client/sp-client","docId":"client/sp-client","unlisted":false}],"href":"/greenfield-js-sdk/category/client"},{"type":"category","label":"API","collapsible":true,"collapsed":true,"customProps":{"description":""},"className":"red","items":[{"type":"link","label":"Overview","href":"/greenfield-js-sdk/api/api-overview","docId":"api/api-overview","unlisted":false},{"type":"link","label":"Account","href":"/greenfield-js-sdk/api/account","docId":"api/account","unlisted":false},{"type":"link","label":"Bucket","href":"/greenfield-js-sdk/api/bucket","docId":"api/bucket","unlisted":false},{"type":"link","label":"Crosschain","href":"/greenfield-js-sdk/api/crosschain","docId":"api/crosschain","unlisted":false},{"type":"link","label":"Feegrant","href":"/greenfield-js-sdk/api/feegrant","docId":"api/feegrant","unlisted":false},{"type":"link","label":"Gashub","href":"/greenfield-js-sdk/api/gashub","docId":"api/gashub","unlisted":false},{"type":"link","label":"Group","href":"/greenfield-js-sdk/api/group","docId":"api/group","unlisted":false},{"type":"link","label":"Object","href":"/greenfield-js-sdk/api/object","docId":"api/object","unlisted":false},{"type":"link","label":"Payment","href":"/greenfield-js-sdk/api/payment","docId":"api/payment","unlisted":false},{"type":"link","label":"Sp","href":"/greenfield-js-sdk/api/sp","docId":"api/sp","unlisted":false},{"type":"link","label":"VirtualGroup","href":"/greenfield-js-sdk/api/virtual-group","docId":"api/virtual-group","unlisted":false}],"href":"/greenfield-js-sdk/category/api"},{"type":"category","label":"constants","collapsible":true,"collapsed":false,"customProps":{"description":""},"className":"red","items":[{"type":"link","label":"Message Type URL","href":"/greenfield-js-sdk/constants/msg-type-url","docId":"constants/msg-type-url","unlisted":false}],"href":"/greenfield-js-sdk/category/constants"},{"type":"category","label":"Types","collapsible":true,"collapsed":false,"customProps":{"description":""},"className":"red","items":[{"type":"link","label":"ActionType","href":"/greenfield-js-sdk/types/action","docId":"types/action","unlisted":false},{"type":"link","label":"Coin","href":"/greenfield-js-sdk/types/coin","docId":"types/coin","unlisted":false},{"type":"link","label":"Pagination","href":"/greenfield-js-sdk/types/pagination","docId":"types/pagination","unlisted":false},{"type":"link","label":"PrincipalType","href":"/greenfield-js-sdk/types/principal","docId":"types/principal","unlisted":false},{"type":"link","label":"RedundancyType","href":"/greenfield-js-sdk/types/redundancy","docId":"types/redundancy","unlisted":false},{"type":"link","label":"Timestamp","href":"/greenfield-js-sdk/types/timestamp","docId":"types/timestamp","unlisted":false},{"type":"link","label":"VisibilityType","href":"/greenfield-js-sdk/types/visibility","docId":"types/visibility","unlisted":false}],"href":"/greenfield-js-sdk/category/types"},{"type":"category","label":"FAQs","collapsible":true,"collapsed":false,"customProps":{"description":""},"className":"red","items":[{"type":"link","label":"calculating checksum is slow","href":"/greenfield-js-sdk/FAQs/checksums","docId":"FAQs/checksums","unlisted":false}],"href":"/greenfield-js-sdk/category/faqs"}]},"docs":{"api/account":{"id":"api/account","title":"Account","description":"getAccount","sidebar":"GettingStartSidebar"},"api/api-overview":{"id":"api/api-overview","title":"Overview","description":"The SDK contains three APIs:","sidebar":"GettingStartSidebar"},"api/bucket":{"id":"api/bucket","title":"Bucket","description":"createBucket","sidebar":"GettingStartSidebar"},"api/crosschain":{"id":"api/crosschain","title":"Crosschain","description":"getChannelSendSequence","sidebar":"GettingStartSidebar"},"api/feegrant":{"id":"api/feegrant","title":"Feegrant","description":"grantAllowance","sidebar":"GettingStartSidebar"},"api/gashub":{"id":"api/gashub","title":"Gashub","description":"getMsgGasParams","sidebar":"GettingStartSidebar"},"api/group":{"id":"api/group","title":"Group","description":"createGroup","sidebar":"GettingStartSidebar"},"api/object":{"id":"api/object","title":"Object","description":"cancelCreateObject","sidebar":"GettingStartSidebar"},"api/payment":{"id":"api/payment","title":"Payment","description":"getStreamRecord","sidebar":"GettingStartSidebar"},"api/sp":{"id":"api/sp","title":"Sp","description":"getStorageProviders","sidebar":"GettingStartSidebar"},"api/virtual-group":{"id":"api/virtual-group","title":"VirtualGroup","description":"getGlobalVirtualGroup","sidebar":"GettingStartSidebar"},"client/greenfield-client":{"id":"client/greenfield-client","title":"Greenfield Client","description":"| params | description |","sidebar":"GettingStartSidebar"},"client/query-client":{"id":"client/query-client","title":"Query Client","description":"It\'s an encapsulation of the","sidebar":"GettingStartSidebar"},"client/sp-client":{"id":"client/sp-client","title":"Storage Provider Client","description":"The API related to storage providers is troublesome.","sidebar":"GettingStartSidebar"},"client/tx-client":{"id":"client/tx-client","title":"Tx Client","description":"About Tx","sidebar":"GettingStartSidebar"},"constants/msg-type-url":{"id":"constants/msg-type-url","title":"Message Type URL","description":"The specific type urls you want look up. Leave empty to get all entries.","sidebar":"GettingStartSidebar"},"FAQs/checksums":{"id":"FAQs/checksums","title":"calculating checksum is slow","description":"We\'re using reed-solomon.","sidebar":"GettingStartSidebar"},"getting-started/getting-started-overview":{"id":"getting-started/getting-started-overview","title":"Overview","description":"You can find some package documentation below:","sidebar":"GettingStartSidebar"},"getting-started/install":{"id":"getting-started/install","title":"Install","description":"Install","sidebar":"GettingStartSidebar"},"getting-started/quick-start":{"id":"getting-started/quick-start","title":"Quick Start","description":"We provide templates that can run React (Next.js, Vite and CRA etc) directly.","sidebar":"GettingStartSidebar"},"types/action":{"id":"types/action","title":"ActionType","description":"The operations you can execute in greenfield storage network","sidebar":"GettingStartSidebar"},"types/coin":{"id":"types/coin","title":"Coin","description":"Coin defines a token with a denomination and an amount.","sidebar":"GettingStartSidebar"},"types/pagination":{"id":"types/pagination","title":"Pagination","description":"PageRequest is to be embedded in gRPC request messages for efficient.","sidebar":"GettingStartSidebar"},"types/principal":{"id":"types/principal","title":"PrincipalType","description":"PrincipalType refers to the identity type of system users or entities. In Greenfield, it usually","sidebar":"GettingStartSidebar"},"types/redundancy":{"id":"types/redundancy","title":"RedundancyType","description":"RedundancyType represents the redundancy algorithm type for object data, which can be either","sidebar":"GettingStartSidebar"},"types/timestamp":{"id":"types/timestamp","title":"Timestamp","description":"A Timestamp represents a point in time independent of any time zone or local calendar, encoded as a","sidebar":"GettingStartSidebar"},"types/visibility":{"id":"types/visibility","title":"VisibilityType","description":"visibility means the bucket is private or public. if private, only bucket owner or grantee can read","sidebar":"GettingStartSidebar"}}}')}}]);
\ No newline at end of file
diff --git a/assets/js/95b97511.c4969297.js b/assets/js/95b97511.c4969297.js
deleted file mode 100644
index 8398fcd3..00000000
--- a/assets/js/95b97511.c4969297.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[285],{775:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>c,default:()=>m,frontMatter:()=>l,metadata:()=>o,toc:()=>u});var a=n(5250),r=n(1340),s=n(3880),i=n(8119);const l={id:"tx-client",sidebar_position:1,title:"Tx Client"},c=void 0,o={id:"client/tx-client",title:"Tx Client",description:"About Tx",source:"@site/docs/client/tx-client.mdx",sourceDirName:"client",slug:"/client/tx-client",permalink:"/greenfield-js-sdk/client/tx-client",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/client/tx-client.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{id:"tx-client",sidebar_position:1,title:"Tx Client"},sidebar:"GettingStartSidebar",previous:{title:"Greenfield Client",permalink:"/greenfield-js-sdk/client/greenfield-client"},next:{title:"Query Client",permalink:"/greenfield-js-sdk/client/query-client"}},d={},u=[{value:"About Tx",id:"about-tx",level:2},{value:"simulate",id:"simulate",level:2},{value:"broadcast",id:"broadcast",level:2},{value:"Example",id:"example",level:2},{value:"1. construct a transaction",id:"1-construct-a-transaction",level:3},{value:"2. simulate",id:"2-simulate",level:3},{value:"3. broadcast",id:"3-broadcast",level:3}];function h(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.h2,{id:"about-tx",children:"About Tx"}),"\n",(0,a.jsx)(t.p,{children:"A transaction contains at least:"}),"\n",(0,a.jsxs)(t.ol,{children:["\n",(0,a.jsx)(t.li,{children:"construct a transaction: The SDK already provides each transaction type"}),"\n",(0,a.jsxs)(t.li,{children:["simulate: ",(0,a.jsx)(t.a,{href:"#simulate",children:"txClient.simulate"})]}),"\n",(0,a.jsxs)(t.li,{children:["broadcast ",(0,a.jsx)(t.a,{href:"#broadcast",children:"txClient.broadcast"})]}),"\n"]}),"\n",(0,a.jsx)(t.h2,{id:"simulate",children:"simulate"}),"\n",(0,a.jsx)(t.p,{children:"Just Simulate a transaction and a valid transaction."}),"\n",(0,a.jsxs)(t.table,{children:[(0,a.jsx)(t.thead,{children:(0,a.jsxs)(t.tr,{children:[(0,a.jsx)(t.th,{children:"params"}),(0,a.jsx)(t.th,{children:"description"})]})}),(0,a.jsx)(t.tbody,{children:(0,a.jsxs)(t.tr,{children:[(0,a.jsx)(t.td,{children:"denom"}),(0,a.jsx)(t.td,{children:"the coin denom to query balances for"})]})})]}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-jsx",metastring:'title="simulate tx"',children:"// `tx` is a transaction constructed by the SDK\nconst simulateInfo = await tx.simulate({\n denom: 'BNB',\n});\n"})}),"\n",(0,a.jsx)(t.h2,{id:"broadcast",children:"broadcast"}),"\n",(0,a.jsx)(t.p,{children:"Broadcast the transaction to the chain."}),"\n",(0,a.jsxs)(t.table,{children:[(0,a.jsx)(t.thead,{children:(0,a.jsxs)(t.tr,{children:[(0,a.jsx)(t.th,{children:"params"}),(0,a.jsx)(t.th,{children:"description"})]})}),(0,a.jsxs)(t.tbody,{children:[(0,a.jsxs)(t.tr,{children:[(0,a.jsx)(t.td,{children:"denom"}),(0,a.jsx)(t.td,{children:"the coin denom to query balances for"})]}),(0,a.jsxs)(t.tr,{children:[(0,a.jsx)(t.td,{children:"gasLimit"}),(0,a.jsxs)(t.td,{children:["can be set to any number, but not too small or the transaction may fail (recommended use ",(0,a.jsx)(t.code,{children:"simulateInfo.gasLimit"}),")"]})]}),(0,a.jsxs)(t.tr,{children:[(0,a.jsx)(t.td,{children:"gasPrice"}),(0,a.jsx)(t.td,{children:"1 unit of Gas that the transaction sender is willing to pay."})]}),(0,a.jsxs)(t.tr,{children:[(0,a.jsx)(t.td,{children:"payer"}),(0,a.jsx)(t.td,{children:"transaction sender"})]}),(0,a.jsxs)(t.tr,{children:[(0,a.jsx)(t.td,{children:"granter"}),(0,a.jsxs)(t.td,{children:["transaction ganter (Generally empty ",(0,a.jsx)(t.code,{children:"''"}),")"]})]}),(0,a.jsxs)(t.tr,{children:[(0,a.jsx)(t.td,{children:"signTypedDataCallback"}),(0,a.jsxs)(t.td,{children:["broadcast use ",(0,a.jsx)(t.code,{children:"window.ethereum"})," as signature provider by default."]})]}),(0,a.jsxs)(t.tr,{children:[(0,a.jsx)(t.td,{children:"privateKey"}),(0,a.jsx)(t.td,{children:"If you broadcast in Nodejs, you can broadcast a tx by privateKey"})]})]})]}),"\n",(0,a.jsxs)(s.Z,{children:[(0,a.jsx)(i.Z,{value:"Browser",label:"Browser",children:(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-js",metastring:'title="broadcast tx"',children:"const broadcastRes = await transferTx.broadcast({\n denom: 'BNB',\n gasLimit: Number(simulateInfo.gasLimit),\n gasPrice: simulateInfo.gasPrice,\n payer: '0x0000000000000000000000000000000000000001',\n granter: '',\n // highlight-start\n // If you want to use others wallet(such as trustwallet), you can set `signTypedDataCallback`:\n signTypedDataCallback: async (addr: string, message: string) => {\n return await window.trustwallet.request({\n method: 'eth_signTypedData_v4',\n params: [addr, message],\n });\n },\n // highlight-end\n});\n"})})}),(0,a.jsxs)(i.Z,{value:"Nodejs",label:"Nodejs",children:[(0,a.jsxs)(t.p,{children:["If you broadcast in Nodejs, you can broadcast a tx by ",(0,a.jsx)(t.code,{children:"privateKey"}),":"]}),(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-js",metastring:'title="broadcast tx"',children:"const broadcastRes = await transferTx.broadcast({\n denom: 'BNB',\n gasLimit: Number(simulateInfo.gasLimit),\n gasPrice: simulateInfo.gasPrice,\n payer: '0x0000000000000000000000000000000000000001',\n granter: '',\n // highlight-start\n privateKey: '0x.......',\n // highlight-end\n});\n"})})]})]}),"\n",(0,a.jsx)(t.h2,{id:"example",children:"Example"}),"\n",(0,a.jsxs)(t.p,{children:["Take ",(0,a.jsx)(t.code,{children:"transfer"})," tx as a complete example:"]}),"\n",(0,a.jsx)(t.h3,{id:"1-construct-a-transaction",children:"1. construct a transaction"}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-jsx",metastring:'title="construct tx"',children:"const transferTx = await client.account.transfer({\n fromAddress: address,\n toAddress: transferInfo.to,\n amount: [\n {\n denom: 'BNB',\n amount: '1000000000',\n },\n ],\n});\n"})}),"\n",(0,a.jsx)(t.h3,{id:"2-simulate",children:"2. simulate"}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-jsx",metastring:'title="simulate tx"',children:"const simulateInfo = await transferTx.simulate({\n denom: 'BNB',\n});\n"})}),"\n",(0,a.jsx)(t.h3,{id:"3-broadcast",children:"3. broadcast"}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-jsx",metastring:'title="broadcast tx"',children:"const broadcastRes = await transferTx.broadcast({\n denom: 'BNB',\n gasLimit: Number(simulateInfo.gasLimit),\n gasPrice: simulateInfo.gasPrice,\n payer: address,\n granter: '',\n});\n"})})]})}function m(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(h,{...e})}):h(e)}},8119:(e,t,n)=>{n.d(t,{Z:()=>i});n(79);var a=n(3230);const r={tabItem:"tabItem_jc9D"};var s=n(5250);function i(e){let{children:t,hidden:n,className:i}=e;return(0,s.jsx)("div",{role:"tabpanel",className:(0,a.Z)(r.tabItem,i),hidden:n,children:t})}},3880:(e,t,n)=>{n.d(t,{Z:()=>w});var a=n(79),r=n(3230),s=n(4803),i=n(7911),l=n(9121),c=n(3757),o=n(2052),d=n(8991);function u(e){return a.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,a.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function h(e){const{values:t,children:n}=e;return(0,a.useMemo)((()=>{const e=t??function(e){return u(e).map((e=>{let{props:{value:t,label:n,attributes:a,default:r}}=e;return{value:t,label:n,attributes:a,default:r}}))}(n);return function(e){const t=(0,o.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function m(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function x(e){let{queryString:t=!1,groupId:n}=e;const r=(0,i.k6)(),s=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,c._X)(s),(0,a.useCallback)((e=>{if(!s)return;const t=new URLSearchParams(r.location.search);t.set(s,e),r.replace({...r.location,search:t.toString()})}),[s,r])]}function b(e){const{defaultValue:t,queryString:n=!1,groupId:r}=e,s=h(e),[i,c]=(0,a.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!m({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const a=n.find((e=>e.default))??n[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:t,tabValues:s}))),[o,u]=x({queryString:n,groupId:r}),[b,p]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[r,s]=(0,d.Nk)(n);return[r,(0,a.useCallback)((e=>{n&&s.set(e)}),[n,s])]}({groupId:r}),f=(()=>{const e=o??b;return m({value:e,tabValues:s})?e:null})();(0,l.Z)((()=>{f&&c(f)}),[f]);return{selectedValue:i,selectValue:(0,a.useCallback)((e=>{if(!m({value:e,tabValues:s}))throw new Error(`Can't select invalid tab value=${e}`);c(e),u(e),p(e)}),[u,p,s]),tabValues:s}}var p=n(3614);const f={tabList:"tabList_WnI6",tabItem:"tabItem_R4Tu"};var j=n(5250);function g(e){let{className:t,block:n,selectedValue:a,selectValue:i,tabValues:l}=e;const c=[],{blockElementScrollPositionUntilNextRender:o}=(0,s.o5)(),d=e=>{const t=e.currentTarget,n=c.indexOf(t),r=l[n].value;r!==a&&(o(t),i(r))},u=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const n=c.indexOf(e.currentTarget)+1;t=c[n]??c[0];break}case"ArrowLeft":{const n=c.indexOf(e.currentTarget)-1;t=c[n]??c[c.length-1];break}}t?.focus()};return(0,j.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.Z)("tabs",{"tabs--block":n},t),children:l.map((e=>{let{value:t,label:n,attributes:s}=e;return(0,j.jsx)("li",{role:"tab",tabIndex:a===t?0:-1,"aria-selected":a===t,ref:e=>c.push(e),onKeyDown:u,onClick:d,...s,className:(0,r.Z)("tabs__item",f.tabItem,s?.className,{"tabs__item--active":a===t}),children:n??t},t)}))})}function v(e){let{lazy:t,children:n,selectedValue:r}=e;const s=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=s.find((e=>e.props.value===r));return e?(0,a.cloneElement)(e,{className:"margin-top--md"}):null}return(0,j.jsx)("div",{className:"margin-top--md",children:s.map(((e,t)=>(0,a.cloneElement)(e,{key:t,hidden:e.props.value!==r})))})}function y(e){const t=b(e);return(0,j.jsxs)("div",{className:(0,r.Z)("tabs-container",f.tabList),children:[(0,j.jsx)(g,{...e,...t}),(0,j.jsx)(v,{...e,...t})]})}function w(e){const t=(0,p.Z)();return(0,j.jsx)(y,{...e,children:u(e.children)},String(t))}},1340:(e,t,n)=>{n.d(t,{Z:()=>l,a:()=>i});var a=n(79);const r={},s=a.createContext(r);function i(e){const t=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),a.createElement(s.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/95b97511.d6d1acfe.js b/assets/js/95b97511.d6d1acfe.js
new file mode 100644
index 00000000..b7d8aacf
--- /dev/null
+++ b/assets/js/95b97511.d6d1acfe.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[696],{5254:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>c,default:()=>m,frontMatter:()=>l,metadata:()=>o,toc:()=>u});var a=n(9214),r=n(3159),s=n(3428),i=n(7012);const l={id:"tx-client",sidebar_position:1,title:"Tx Client"},c=void 0,o={id:"client/tx-client",title:"Tx Client",description:"About Tx",source:"@site/docs/client/tx-client.mdx",sourceDirName:"client",slug:"/client/tx-client",permalink:"/greenfield-js-sdk/client/tx-client",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/client/tx-client.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{id:"tx-client",sidebar_position:1,title:"Tx Client"},sidebar:"GettingStartSidebar",previous:{title:"Greenfield Client",permalink:"/greenfield-js-sdk/client/greenfield-client"},next:{title:"Query Client",permalink:"/greenfield-js-sdk/client/query-client"}},d={},u=[{value:"About Tx",id:"about-tx",level:2},{value:"simulate",id:"simulate",level:2},{value:"broadcast",id:"broadcast",level:2},{value:"Example",id:"example",level:2},{value:"1. construct a transaction",id:"1-construct-a-transaction",level:3},{value:"2. simulate",id:"2-simulate",level:3},{value:"3. broadcast",id:"3-broadcast",level:3}];function h(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.h2,{id:"about-tx",children:"About Tx"}),"\n",(0,a.jsx)(t.p,{children:"A transaction contains at least:"}),"\n",(0,a.jsxs)(t.ol,{children:["\n",(0,a.jsx)(t.li,{children:"construct a transaction: The SDK already provides each transaction type"}),"\n",(0,a.jsxs)(t.li,{children:["simulate: ",(0,a.jsx)(t.a,{href:"#simulate",children:"txClient.simulate"})]}),"\n",(0,a.jsxs)(t.li,{children:["broadcast ",(0,a.jsx)(t.a,{href:"#broadcast",children:"txClient.broadcast"})]}),"\n"]}),"\n",(0,a.jsx)(t.h2,{id:"simulate",children:"simulate"}),"\n",(0,a.jsx)(t.p,{children:"Just Simulate a transaction and a valid transaction."}),"\n",(0,a.jsxs)(t.table,{children:[(0,a.jsx)(t.thead,{children:(0,a.jsxs)(t.tr,{children:[(0,a.jsx)(t.th,{children:"params"}),(0,a.jsx)(t.th,{children:"description"})]})}),(0,a.jsx)(t.tbody,{children:(0,a.jsxs)(t.tr,{children:[(0,a.jsx)(t.td,{children:"denom"}),(0,a.jsx)(t.td,{children:"the coin denom to query balances for"})]})})]}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-jsx",metastring:'title="simulate tx"',children:"// `tx` is a transaction constructed by the SDK\nconst simulateInfo = await tx.simulate({\n denom: 'BNB',\n});\n"})}),"\n",(0,a.jsx)(t.h2,{id:"broadcast",children:"broadcast"}),"\n",(0,a.jsx)(t.p,{children:"Broadcast the transaction to the chain."}),"\n",(0,a.jsxs)(t.table,{children:[(0,a.jsx)(t.thead,{children:(0,a.jsxs)(t.tr,{children:[(0,a.jsx)(t.th,{children:"params"}),(0,a.jsx)(t.th,{children:"description"})]})}),(0,a.jsxs)(t.tbody,{children:[(0,a.jsxs)(t.tr,{children:[(0,a.jsx)(t.td,{children:"denom"}),(0,a.jsx)(t.td,{children:"the coin denom to query balances for"})]}),(0,a.jsxs)(t.tr,{children:[(0,a.jsx)(t.td,{children:"gasLimit"}),(0,a.jsxs)(t.td,{children:["can be set to any number, but not too small or the transaction may fail (recommended use ",(0,a.jsx)(t.code,{children:"simulateInfo.gasLimit"}),")"]})]}),(0,a.jsxs)(t.tr,{children:[(0,a.jsx)(t.td,{children:"gasPrice"}),(0,a.jsx)(t.td,{children:"1 unit of Gas that the transaction sender is willing to pay."})]}),(0,a.jsxs)(t.tr,{children:[(0,a.jsx)(t.td,{children:"payer"}),(0,a.jsx)(t.td,{children:"transaction sender"})]}),(0,a.jsxs)(t.tr,{children:[(0,a.jsx)(t.td,{children:"granter"}),(0,a.jsxs)(t.td,{children:["transaction ganter (Generally empty ",(0,a.jsx)(t.code,{children:"''"}),")"]})]}),(0,a.jsxs)(t.tr,{children:[(0,a.jsx)(t.td,{children:"signTypedDataCallback"}),(0,a.jsxs)(t.td,{children:["broadcast use ",(0,a.jsx)(t.code,{children:"window.ethereum"})," as signature provider by default."]})]}),(0,a.jsxs)(t.tr,{children:[(0,a.jsx)(t.td,{children:"privateKey"}),(0,a.jsx)(t.td,{children:"If you broadcast in Nodejs, you can broadcast a tx by privateKey"})]})]})]}),"\n",(0,a.jsxs)(s.A,{children:[(0,a.jsx)(i.A,{value:"Browser",label:"Browser",children:(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-js",metastring:'title="broadcast tx"',children:"const broadcastRes = await transferTx.broadcast({\n denom: 'BNB',\n gasLimit: Number(simulateInfo.gasLimit),\n gasPrice: simulateInfo.gasPrice,\n payer: '0x0000000000000000000000000000000000000001',\n granter: '',\n // highlight-start\n // If you want to use others wallet(such as trustwallet), you can set `signTypedDataCallback`:\n signTypedDataCallback: async (addr: string, message: string) => {\n return await window.trustwallet.request({\n method: 'eth_signTypedData_v4',\n params: [addr, message],\n });\n },\n // highlight-end\n});\n"})})}),(0,a.jsxs)(i.A,{value:"Nodejs",label:"Nodejs",children:[(0,a.jsxs)(t.p,{children:["If you broadcast in Nodejs, you can broadcast a tx by ",(0,a.jsx)(t.code,{children:"privateKey"}),":"]}),(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-js",metastring:'title="broadcast tx"',children:"const broadcastRes = await transferTx.broadcast({\n denom: 'BNB',\n gasLimit: Number(simulateInfo.gasLimit),\n gasPrice: simulateInfo.gasPrice,\n payer: '0x0000000000000000000000000000000000000001',\n granter: '',\n // highlight-start\n privateKey: '0x.......',\n // highlight-end\n});\n"})})]})]}),"\n",(0,a.jsx)(t.h2,{id:"example",children:"Example"}),"\n",(0,a.jsxs)(t.p,{children:["Take ",(0,a.jsx)(t.code,{children:"transfer"})," tx as a complete example:"]}),"\n",(0,a.jsx)(t.h3,{id:"1-construct-a-transaction",children:"1. construct a transaction"}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-jsx",metastring:'title="construct tx"',children:"const transferTx = await client.account.transfer({\n fromAddress: address,\n toAddress: transferInfo.to,\n amount: [\n {\n denom: 'BNB',\n amount: '1000000000',\n },\n ],\n});\n"})}),"\n",(0,a.jsx)(t.h3,{id:"2-simulate",children:"2. simulate"}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-jsx",metastring:'title="simulate tx"',children:"const simulateInfo = await transferTx.simulate({\n denom: 'BNB',\n});\n"})}),"\n",(0,a.jsx)(t.h3,{id:"3-broadcast",children:"3. broadcast"}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-jsx",metastring:'title="broadcast tx"',children:"const broadcastRes = await transferTx.broadcast({\n denom: 'BNB',\n gasLimit: Number(simulateInfo.gasLimit),\n gasPrice: simulateInfo.gasPrice,\n payer: address,\n granter: '',\n});\n"})})]})}function m(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(h,{...e})}):h(e)}},7012:(e,t,n)=>{n.d(t,{A:()=>i});n(8318);var a=n(6601);const r={tabItem:"tabItem_V9qR"};var s=n(9214);function i(e){let{children:t,hidden:n,className:i}=e;return(0,s.jsx)("div",{role:"tabpanel",className:(0,a.A)(r.tabItem,i),hidden:n,children:t})}},3428:(e,t,n)=>{n.d(t,{A:()=>w});var a=n(8318),r=n(6601),s=n(2676),i=n(6325),l=n(9471),c=n(4081),o=n(4526),d=n(4110);function u(e){return a.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,a.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function h(e){const{values:t,children:n}=e;return(0,a.useMemo)((()=>{const e=t??function(e){return u(e).map((e=>{let{props:{value:t,label:n,attributes:a,default:r}}=e;return{value:t,label:n,attributes:a,default:r}}))}(n);return function(e){const t=(0,o.X)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function m(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function x(e){let{queryString:t=!1,groupId:n}=e;const r=(0,i.W6)(),s=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,c.aZ)(s),(0,a.useCallback)((e=>{if(!s)return;const t=new URLSearchParams(r.location.search);t.set(s,e),r.replace({...r.location,search:t.toString()})}),[s,r])]}function b(e){const{defaultValue:t,queryString:n=!1,groupId:r}=e,s=h(e),[i,c]=(0,a.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!m({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const a=n.find((e=>e.default))??n[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:t,tabValues:s}))),[o,u]=x({queryString:n,groupId:r}),[b,p]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[r,s]=(0,d.Dv)(n);return[r,(0,a.useCallback)((e=>{n&&s.set(e)}),[n,s])]}({groupId:r}),f=(()=>{const e=o??b;return m({value:e,tabValues:s})?e:null})();(0,l.A)((()=>{f&&c(f)}),[f]);return{selectedValue:i,selectValue:(0,a.useCallback)((e=>{if(!m({value:e,tabValues:s}))throw new Error(`Can't select invalid tab value=${e}`);c(e),u(e),p(e)}),[u,p,s]),tabValues:s}}var p=n(1277);const f={tabList:"tabList_SOjC",tabItem:"tabItem_mOaW"};var j=n(9214);function g(e){let{className:t,block:n,selectedValue:a,selectValue:i,tabValues:l}=e;const c=[],{blockElementScrollPositionUntilNextRender:o}=(0,s.a_)(),d=e=>{const t=e.currentTarget,n=c.indexOf(t),r=l[n].value;r!==a&&(o(t),i(r))},u=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const n=c.indexOf(e.currentTarget)+1;t=c[n]??c[0];break}case"ArrowLeft":{const n=c.indexOf(e.currentTarget)-1;t=c[n]??c[c.length-1];break}}t?.focus()};return(0,j.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.A)("tabs",{"tabs--block":n},t),children:l.map((e=>{let{value:t,label:n,attributes:s}=e;return(0,j.jsx)("li",{role:"tab",tabIndex:a===t?0:-1,"aria-selected":a===t,ref:e=>c.push(e),onKeyDown:u,onClick:d,...s,className:(0,r.A)("tabs__item",f.tabItem,s?.className,{"tabs__item--active":a===t}),children:n??t},t)}))})}function v(e){let{lazy:t,children:n,selectedValue:r}=e;const s=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=s.find((e=>e.props.value===r));return e?(0,a.cloneElement)(e,{className:"margin-top--md"}):null}return(0,j.jsx)("div",{className:"margin-top--md",children:s.map(((e,t)=>(0,a.cloneElement)(e,{key:t,hidden:e.props.value!==r})))})}function y(e){const t=b(e);return(0,j.jsxs)("div",{className:(0,r.A)("tabs-container",f.tabList),children:[(0,j.jsx)(g,{...e,...t}),(0,j.jsx)(v,{...e,...t})]})}function w(e){const t=(0,p.A)();return(0,j.jsx)(y,{...e,children:u(e.children)},String(t))}},3159:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>l});var a=n(8318);const r={},s=a.createContext(r);function i(e){const t=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),a.createElement(s.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/9cf271e3.0e0221b1.js b/assets/js/9cf271e3.7ad0267e.js
similarity index 59%
rename from assets/js/9cf271e3.0e0221b1.js
rename to assets/js/9cf271e3.7ad0267e.js
index 93c9d035..ab7c771d 100644
--- a/assets/js/9cf271e3.0e0221b1.js
+++ b/assets/js/9cf271e3.7ad0267e.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[514],{8919:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>i,contentTitle:()=>a,default:()=>d,frontMatter:()=>o,metadata:()=>c,toc:()=>l});var n=s(5250),r=s(1340);const o={id:"msg-type-url",title:"Message Type URL"},a=void 0,c={id:"constants/msg-type-url",title:"Message Type URL",description:"The specific type urls you want look up. Leave empty to get all entries.",source:"@site/docs/constants/msg-type-url.mdx",sourceDirName:"constants",slug:"/constants/msg-type-url",permalink:"/greenfield-js-sdk/constants/msg-type-url",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/constants/msg-type-url.mdx",tags:[],version:"current",frontMatter:{id:"msg-type-url",title:"Message Type URL"},sidebar:"GettingStartSidebar",previous:{title:"constants",permalink:"/greenfield-js-sdk/category/constants"},next:{title:"Types",permalink:"/greenfield-js-sdk/category/types"}},i={},l=[];function p(e){const t={a:"a",p:"p",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"The specific type urls you want look up. Leave empty to get all entries."}),"\n",(0,n.jsxs)(t.p,{children:["More details:\n",(0,n.jsx)(t.a,{href:"https://github.com/bnb-chain/greenfield-js-sdk/blob/alpha/packages/js-sdk/src/constants/typeUrl.ts",children:"https://github.com/bnb-chain/greenfield-js-sdk/blob/alpha/packages/js-sdk/src/constants/typeUrl.ts"})]})]})}function d(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(p,{...e})}):p(e)}},1340:(e,t,s)=>{s.d(t,{Z:()=>c,a:()=>a});var n=s(79);const r={},o=n.createContext(r);function a(e){const t=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[415],{5492:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>i,contentTitle:()=>c,default:()=>d,frontMatter:()=>o,metadata:()=>a,toc:()=>l});var n=s(9214),r=s(3159);const o={id:"msg-type-url",title:"Message Type URL"},c=void 0,a={id:"constants/msg-type-url",title:"Message Type URL",description:"The specific type urls you want look up. Leave empty to get all entries.",source:"@site/docs/constants/msg-type-url.mdx",sourceDirName:"constants",slug:"/constants/msg-type-url",permalink:"/greenfield-js-sdk/constants/msg-type-url",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/constants/msg-type-url.mdx",tags:[],version:"current",frontMatter:{id:"msg-type-url",title:"Message Type URL"},sidebar:"GettingStartSidebar",previous:{title:"constants",permalink:"/greenfield-js-sdk/category/constants"},next:{title:"Types",permalink:"/greenfield-js-sdk/category/types"}},i={},l=[];function p(e){const t={a:"a",p:"p",...(0,r.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"The specific type urls you want look up. Leave empty to get all entries."}),"\n",(0,n.jsxs)(t.p,{children:["More details:\n",(0,n.jsx)(t.a,{href:"https://github.com/bnb-chain/greenfield-js-sdk/blob/alpha/packages/js-sdk/src/constants/typeUrl.ts",children:"https://github.com/bnb-chain/greenfield-js-sdk/blob/alpha/packages/js-sdk/src/constants/typeUrl.ts"})]})]})}function d(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(p,{...e})}):p(e)}},3159:(e,t,s)=>{s.d(t,{R:()=>c,x:()=>a});var n=s(8318);const r={},o=n.createContext(r);function c(e){const t=n.useContext(o);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),n.createElement(o.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/a7bd4aaa.37c45850.js b/assets/js/a7bd4aaa.37c45850.js
deleted file mode 100644
index 7c0f2c6b..00000000
--- a/assets/js/a7bd4aaa.37c45850.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[518],{2927:(e,n,s)=>{s.r(n),s.d(n,{default:()=>a});s(79);var r=s(9546),o=s(7932),t=s(7286),i=s(6254),c=s(6948),d=s(5250);function l(e){const{version:n}=e;return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(c.Z,{version:n.version,tag:(0,o.os)(n.pluginId,n.version)}),(0,d.jsx)(r.d,{children:n.noIndex&&(0,d.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})]})}function u(e){const{version:n,route:s}=e;return(0,d.jsx)(r.FG,{className:n.className,children:(0,d.jsx)(t.q,{version:n,children:(0,i.H)(s.routes)})})}function a(e){return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(l,{...e}),(0,d.jsx)(u,{...e})]})}}}]);
\ No newline at end of file
diff --git a/assets/js/a7bd4aaa.bc4e9fb6.js b/assets/js/a7bd4aaa.bc4e9fb6.js
new file mode 100644
index 00000000..11bbdf1d
--- /dev/null
+++ b/assets/js/a7bd4aaa.bc4e9fb6.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[98],{6929:(e,n,s)=>{s.r(n),s.d(n,{default:()=>a});s(8318);var r=s(9586),o=s(5083),t=s(6584),i=s(2841),c=s(277),d=s(9214);function l(e){const{version:n}=e;return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(c.A,{version:n.version,tag:(0,o.tU)(n.pluginId,n.version)}),(0,d.jsx)(r.be,{children:n.noIndex&&(0,d.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})]})}function u(e){const{version:n,route:s}=e;return(0,d.jsx)(r.e3,{className:n.className,children:(0,d.jsx)(t.n,{version:n,children:(0,i.v)(s.routes)})})}function a(e){return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(l,{...e}),(0,d.jsx)(u,{...e})]})}}}]);
\ No newline at end of file
diff --git a/assets/js/a94703ab.8f057ef5.js b/assets/js/a94703ab.8f057ef5.js
deleted file mode 100644
index fc87754f..00000000
--- a/assets/js/a94703ab.8f057ef5.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[368],{5591:(e,t,n)=>{n.r(t),n.d(t,{default:()=>be});var a=n(79),o=n(3230),i=n(9546),s=n(6605),l=n(1198),r=n(6523),c=n(6138),d=n(4803),u=n(6323);const m={backToTopButton:"backToTopButton_ITsc",backToTopButtonShow:"backToTopButtonShow_W3nw"};var b=n(5250);function h(){const{shown:e,scrollToTop:t}=function(e){let{threshold:t}=e;const[n,o]=(0,a.useState)(!1),i=(0,a.useRef)(!1),{startScroll:s,cancelScroll:l}=(0,d.Ct)();return(0,d.RF)(((e,n)=>{let{scrollY:a}=e;const s=n?.scrollY;s&&(i.current?i.current=!1:a>=s?(l(),o(!1)):a{e.location.hash&&(i.current=!0,o(!1))})),{shown:n,scrollToTop:()=>s(0)}}({threshold:300});return(0,b.jsx)("button",{"aria-label":(0,c.I)({id:"theme.BackToTopButton.buttonAriaLabel",message:"Scroll back to top",description:"The ARIA label for the back to top button"}),className:(0,o.Z)("clean-btn",s.k.common.backToTopButton,m.backToTopButton,e&&m.backToTopButtonShow),type:"button",onClick:t})}var p=n(806),x=n(7911),f=n(8393),j=n(7976),_=n(1094);function k(e){return(0,b.jsx)("svg",{width:"20",height:"20","aria-hidden":"true",...e,children:(0,b.jsxs)("g",{fill:"#7a7a7a",children:[(0,b.jsx)("path",{d:"M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1-1 0-.2.059-.403.168-.551l4.629-6.942L.168 3.078A.939.939 0 010 2.528c0-.548.45-.997 1-.997h2.996c.352 0 .649.18.828.45L9.82 9.472c.11.148.172.347.172.55zm0 0"}),(0,b.jsx)("path",{d:"M19.98 10.023c0 .2-.058.399-.168.547l-4.996 7.492a.987.987 0 01-.828.454h-3c-.547 0-.996-.453-.996-1 0-.2.059-.403.168-.551l4.625-6.942-4.625-6.945a.939.939 0 01-.168-.55 1 1 0 01.996-.997h3c.348 0 .649.18.828.45l4.996 7.492c.11.148.168.347.168.55zm0 0"})]})})}const v={collapseSidebarButton:"collapseSidebarButton_nlrG",collapseSidebarButtonIcon:"collapseSidebarButtonIcon_PR4U"};function g(e){let{onClick:t}=e;return(0,b.jsx)("button",{type:"button",title:(0,c.I)({id:"theme.docs.sidebar.collapseButtonTitle",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),"aria-label":(0,c.I)({id:"theme.docs.sidebar.collapseButtonAriaLabel",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),className:(0,o.Z)("button button--secondary button--outline",v.collapseSidebarButton),onClick:t,children:(0,b.jsx)(k,{className:v.collapseSidebarButtonIcon})})}var C=n(9264),S=n(2061);const I=Symbol("EmptyContext"),N=a.createContext(I);function T(e){let{children:t}=e;const[n,o]=(0,a.useState)(null),i=(0,a.useMemo)((()=>({expandedItem:n,setExpandedItem:o})),[n]);return(0,b.jsx)(N.Provider,{value:i,children:t})}var B=n(9194),Z=n(9419),A=n(8263),L=n(3614);function y(e){let{collapsed:t,categoryLabel:n,onClick:a}=e;return(0,b.jsx)("button",{"aria-label":t?(0,c.I)({id:"theme.DocSidebarItem.expandCategoryAriaLabel",message:"Expand sidebar category '{label}'",description:"The ARIA label to expand the sidebar category"},{label:n}):(0,c.I)({id:"theme.DocSidebarItem.collapseCategoryAriaLabel",message:"Collapse sidebar category '{label}'",description:"The ARIA label to collapse the sidebar category"},{label:n}),type:"button",className:"clean-btn menu__caret",onClick:a})}function w(e){let{item:t,onItemClick:n,activePath:i,level:r,index:c,...d}=e;const{items:u,label:m,collapsible:h,className:p,href:x}=t,{docs:{sidebar:{autoCollapseCategories:f}}}=(0,j.L)(),_=function(e){const t=(0,L.Z)();return(0,a.useMemo)((()=>e.href&&!e.linkUnlisted?e.href:!t&&e.collapsible?(0,l.LM)(e):void 0),[e,t])}(t),k=(0,l._F)(t,i),v=(0,Z.Mg)(x,i),{collapsed:g,setCollapsed:C}=(0,B.u)({initialState:()=>!!h&&(!k&&t.collapsed)}),{expandedItem:T,setExpandedItem:w}=function(){const e=(0,a.useContext)(N);if(e===I)throw new S.i6("DocSidebarItemsExpandedStateProvider");return e}(),E=function(e){void 0===e&&(e=!g),w(e?null:c),C(e)};return function(e){let{isActive:t,collapsed:n,updateCollapsed:o}=e;const i=(0,S.D9)(t);(0,a.useEffect)((()=>{t&&!i&&n&&o(!1)}),[t,i,n,o])}({isActive:k,collapsed:g,updateCollapsed:E}),(0,a.useEffect)((()=>{h&&null!=T&&T!==c&&f&&C(!0)}),[h,T,c,C,f]),(0,b.jsxs)("li",{className:(0,o.Z)(s.k.docs.docSidebarItemCategory,s.k.docs.docSidebarItemCategoryLevel(r),"menu__list-item",{"menu__list-item--collapsed":g},p),children:[(0,b.jsxs)("div",{className:(0,o.Z)("menu__list-item-collapsible",{"menu__list-item-collapsible--active":v}),children:[(0,b.jsx)(A.Z,{className:(0,o.Z)("menu__link",{"menu__link--sublist":h,"menu__link--sublist-caret":!x&&h,"menu__link--active":k}),onClick:h?e=>{n?.(t),x?E(!1):(e.preventDefault(),E())}:()=>{n?.(t)},"aria-current":v?"page":void 0,"aria-expanded":h?!g:void 0,href:h?_??"#":_,...d,children:m}),x&&h&&(0,b.jsx)(y,{collapsed:g,categoryLabel:m,onClick:e=>{e.preventDefault(),E()}})]}),(0,b.jsx)(B.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:g,children:(0,b.jsx)(V,{items:u,tabIndex:g?-1:0,onItemClick:n,activePath:i,level:r+1})})]})}var E=n(7116),R=n(4821);const H={menuExternalLink:"menuExternalLink_lIUK"};function M(e){let{item:t,onItemClick:n,activePath:a,level:i,index:r,...c}=e;const{href:d,label:u,className:m,autoAddBaseUrl:h}=t,p=(0,l._F)(t,a),x=(0,E.Z)(d);return(0,b.jsx)("li",{className:(0,o.Z)(s.k.docs.docSidebarItemLink,s.k.docs.docSidebarItemLinkLevel(i),"menu__list-item",m),children:(0,b.jsxs)(A.Z,{className:(0,o.Z)("menu__link",!x&&H.menuExternalLink,{"menu__link--active":p}),autoAddBaseUrl:h,"aria-current":p?"page":void 0,to:d,...x&&{onClick:n?()=>n(t):void 0},...c,children:[u,!x&&(0,b.jsx)(R.Z,{})]})},u)}const W={menuHtmlItem:"menuHtmlItem_YFLj"};function F(e){let{item:t,level:n,index:a}=e;const{value:i,defaultStyle:l,className:r}=t;return(0,b.jsx)("li",{className:(0,o.Z)(s.k.docs.docSidebarItemLink,s.k.docs.docSidebarItemLinkLevel(n),l&&[W.menuHtmlItem,"menu__list-item"],r),dangerouslySetInnerHTML:{__html:i}},a)}function P(e){let{item:t,...n}=e;switch(t.type){case"category":return(0,b.jsx)(w,{item:t,...n});case"html":return(0,b.jsx)(F,{item:t,...n});default:return(0,b.jsx)(M,{item:t,...n})}}function D(e){let{items:t,...n}=e;const a=(0,l.f)(t,n.activePath);return(0,b.jsx)(T,{children:a.map(((e,t)=>(0,b.jsx)(P,{item:e,index:t,...n},t)))})}const V=(0,a.memo)(D),U={menu:"menu_GE_C",menuWithAnnouncementBar:"menuWithAnnouncementBar_vTQR"};function Y(e){let{path:t,sidebar:n,className:i}=e;const l=function(){const{isActive:e}=(0,C.nT)(),[t,n]=(0,a.useState)(e);return(0,d.RF)((t=>{let{scrollY:a}=t;e&&n(0===a)}),[e]),e&&t}();return(0,b.jsx)("nav",{"aria-label":(0,c.I)({id:"theme.docs.sidebar.navAriaLabel",message:"Docs sidebar",description:"The ARIA label for the sidebar navigation"}),className:(0,o.Z)("menu thin-scrollbar",U.menu,l&&U.menuWithAnnouncementBar,i),children:(0,b.jsx)("ul",{className:(0,o.Z)(s.k.docs.docSidebarMenu,"menu__list"),children:(0,b.jsx)(V,{items:n,activePath:t,level:1})})})}const z="sidebar_BU4E",G="sidebarWithHideableNavbar_JJ7m",J="sidebarHidden_OIsE",K="sidebarLogo_T0Rv";function O(e){let{path:t,sidebar:n,onCollapse:a,isHidden:i}=e;const{navbar:{hideOnScroll:s},docs:{sidebar:{hideable:l}}}=(0,j.L)();return(0,b.jsxs)("div",{className:(0,o.Z)(z,s&&G,i&&J),children:[s&&(0,b.jsx)(_.Z,{tabIndex:-1,className:K}),(0,b.jsx)(Y,{path:t,sidebar:n}),l&&(0,b.jsx)(g,{onClick:a})]})}const Q=a.memo(O);var q=n(8170),X=n(9651);const $=e=>{let{sidebar:t,path:n}=e;const a=(0,X.e)();return(0,b.jsx)("ul",{className:(0,o.Z)(s.k.docs.docSidebarMenu,"menu__list"),children:(0,b.jsx)(V,{items:t,activePath:n,onItemClick:e=>{"category"===e.type&&e.href&&a.toggle(),"link"===e.type&&a.toggle()},level:1})})};function ee(e){return(0,b.jsx)(q.Zo,{component:$,props:e})}const te=a.memo(ee);function ne(e){const t=(0,f.i)(),n="desktop"===t||"ssr"===t,a="mobile"===t;return(0,b.jsxs)(b.Fragment,{children:[n&&(0,b.jsx)(Q,{...e}),a&&(0,b.jsx)(te,{...e})]})}const ae={expandButton:"expandButton_jAse",expandButtonIcon:"expandButtonIcon_YJIR"};function oe(e){let{toggleSidebar:t}=e;return(0,b.jsx)("div",{className:ae.expandButton,title:(0,c.I)({id:"theme.docs.sidebar.expandButtonTitle",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),"aria-label":(0,c.I)({id:"theme.docs.sidebar.expandButtonAriaLabel",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),tabIndex:0,role:"button",onKeyDown:t,onClick:t,children:(0,b.jsx)(k,{className:ae.expandButtonIcon})})}const ie={docSidebarContainer:"docSidebarContainer_Mj2M",docSidebarContainerHidden:"docSidebarContainerHidden_AHv8",sidebarViewport:"sidebarViewport_aj1R"};function se(e){let{children:t}=e;const n=(0,r.V)();return(0,b.jsx)(a.Fragment,{children:t},n?.name??"noSidebar")}function le(e){let{sidebar:t,hiddenSidebarContainer:n,setHiddenSidebarContainer:i}=e;const{pathname:l}=(0,x.TH)(),[r,c]=(0,a.useState)(!1),d=(0,a.useCallback)((()=>{r&&c(!1),!r&&(0,p.n)()&&c(!0),i((e=>!e))}),[i,r]);return(0,b.jsx)("aside",{className:(0,o.Z)(s.k.docs.docSidebarContainer,ie.docSidebarContainer,n&&ie.docSidebarContainerHidden),onTransitionEnd:e=>{e.currentTarget.classList.contains(ie.docSidebarContainer)&&n&&c(!0)},children:(0,b.jsx)(se,{children:(0,b.jsxs)("div",{className:(0,o.Z)(ie.sidebarViewport,r&&ie.sidebarViewportHidden),children:[(0,b.jsx)(ne,{sidebar:t,path:l,onCollapse:d,isHidden:r}),r&&(0,b.jsx)(oe,{toggleSidebar:d})]})})})}const re={docMainContainer:"docMainContainer_RvtV",docMainContainerEnhanced:"docMainContainerEnhanced_cenR",docItemWrapperEnhanced:"docItemWrapperEnhanced_kOYw"};function ce(e){let{hiddenSidebarContainer:t,children:n}=e;const a=(0,r.V)();return(0,b.jsx)("main",{className:(0,o.Z)(re.docMainContainer,(t||!a)&&re.docMainContainerEnhanced),children:(0,b.jsx)("div",{className:(0,o.Z)("container padding-top--md padding-bottom--lg",re.docItemWrapper,t&&re.docItemWrapperEnhanced),children:n})})}const de={docRoot:"docRoot_N0fC",docsWrapper:"docsWrapper_s0SK"};function ue(e){let{children:t}=e;const n=(0,r.V)(),[o,i]=(0,a.useState)(!1);return(0,b.jsxs)("div",{className:de.docsWrapper,children:[(0,b.jsx)(h,{}),(0,b.jsxs)("div",{className:de.docRoot,children:[n&&(0,b.jsx)(le,{sidebar:n.items,hiddenSidebarContainer:o,setHiddenSidebarContainer:i}),(0,b.jsx)(ce,{hiddenSidebarContainer:o,children:t})]})]})}var me=n(4529);function be(e){const t=(0,l.SN)(e);if(!t)return(0,b.jsx)(me.Z,{});const{docElement:n,sidebarName:a,sidebarItems:c}=t;return(0,b.jsx)(i.FG,{className:(0,o.Z)(s.k.page.docsDocPage),children:(0,b.jsx)(r.b,{name:a,items:c,children:(0,b.jsx)(ue,{children:n})})})}},4529:(e,t,n)=>{n.d(t,{Z:()=>l});n(79);var a=n(3230),o=n(6138),i=n(387),s=n(5250);function l(e){let{className:t}=e;return(0,s.jsx)("main",{className:(0,a.Z)("container margin-vert--xl",t),children:(0,s.jsx)("div",{className:"row",children:(0,s.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,s.jsx)(i.Z,{as:"h1",className:"hero__title",children:(0,s.jsx)(o.Z,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,s.jsx)("p",{children:(0,s.jsx)(o.Z,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,s.jsx)("p",{children:(0,s.jsx)(o.Z,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}}}]);
\ No newline at end of file
diff --git a/assets/js/a94703ab.a9cdc035.js b/assets/js/a94703ab.a9cdc035.js
new file mode 100644
index 00000000..345768f2
--- /dev/null
+++ b/assets/js/a94703ab.a9cdc035.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[48],{1593:(e,t,n)=>{n.r(t),n.d(t,{default:()=>be});var a=n(8318),o=n(6601),i=n(9586),s=n(4955),l=n(6490),r=n(5416),c=n(2244),d=n(2676),u=n(5034);const m={backToTopButton:"backToTopButton_mrK0",backToTopButtonShow:"backToTopButtonShow_FBc3"};var b=n(9214);function h(){const{shown:e,scrollToTop:t}=function(e){let{threshold:t}=e;const[n,o]=(0,a.useState)(!1),i=(0,a.useRef)(!1),{startScroll:s,cancelScroll:l}=(0,d.gk)();return(0,d.Mq)(((e,n)=>{let{scrollY:a}=e;const s=n?.scrollY;s&&(i.current?i.current=!1:a>=s?(l(),o(!1)):a{e.location.hash&&(i.current=!0,o(!1))})),{shown:n,scrollToTop:()=>s(0)}}({threshold:300});return(0,b.jsx)("button",{"aria-label":(0,c.T)({id:"theme.BackToTopButton.buttonAriaLabel",message:"Scroll back to top",description:"The ARIA label for the back to top button"}),className:(0,o.A)("clean-btn",s.G.common.backToTopButton,m.backToTopButton,e&&m.backToTopButtonShow),type:"button",onClick:t})}var p=n(5313),x=n(6325),f=n(6657),j=n(9042),_=n(7743);function g(e){return(0,b.jsx)("svg",{width:"20",height:"20","aria-hidden":"true",...e,children:(0,b.jsxs)("g",{fill:"#7a7a7a",children:[(0,b.jsx)("path",{d:"M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1-1 0-.2.059-.403.168-.551l4.629-6.942L.168 3.078A.939.939 0 010 2.528c0-.548.45-.997 1-.997h2.996c.352 0 .649.18.828.45L9.82 9.472c.11.148.172.347.172.55zm0 0"}),(0,b.jsx)("path",{d:"M19.98 10.023c0 .2-.058.399-.168.547l-4.996 7.492a.987.987 0 01-.828.454h-3c-.547 0-.996-.453-.996-1 0-.2.059-.403.168-.551l4.625-6.942-4.625-6.945a.939.939 0 01-.168-.55 1 1 0 01.996-.997h3c.348 0 .649.18.828.45l4.996 7.492c.11.148.168.347.168.55zm0 0"})]})})}const v={collapseSidebarButton:"collapseSidebarButton_MM0j",collapseSidebarButtonIcon:"collapseSidebarButtonIcon_uKlZ"};function A(e){let{onClick:t}=e;return(0,b.jsx)("button",{type:"button",title:(0,c.T)({id:"theme.docs.sidebar.collapseButtonTitle",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),"aria-label":(0,c.T)({id:"theme.docs.sidebar.collapseButtonAriaLabel",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),className:(0,o.A)("button button--secondary button--outline",v.collapseSidebarButton),onClick:t,children:(0,b.jsx)(g,{className:v.collapseSidebarButtonIcon})})}var C=n(6317),k=n(1568);const S=Symbol("EmptyContext"),T=a.createContext(S);function I(e){let{children:t}=e;const[n,o]=(0,a.useState)(null),i=(0,a.useMemo)((()=>({expandedItem:n,setExpandedItem:o})),[n]);return(0,b.jsx)(T.Provider,{value:i,children:t})}var N=n(6946),B=n(3197),y=n(2748),w=n(1277);function L(e){let{collapsed:t,categoryLabel:n,onClick:a}=e;return(0,b.jsx)("button",{"aria-label":t?(0,c.T)({id:"theme.DocSidebarItem.expandCategoryAriaLabel",message:"Expand sidebar category '{label}'",description:"The ARIA label to expand the sidebar category"},{label:n}):(0,c.T)({id:"theme.DocSidebarItem.collapseCategoryAriaLabel",message:"Collapse sidebar category '{label}'",description:"The ARIA label to collapse the sidebar category"},{label:n}),"aria-expanded":!t,type:"button",className:"clean-btn menu__caret",onClick:a})}function E(e){let{item:t,onItemClick:n,activePath:i,level:r,index:c,...d}=e;const{items:u,label:m,collapsible:h,className:p,href:x}=t,{docs:{sidebar:{autoCollapseCategories:f}}}=(0,j.p)(),_=function(e){const t=(0,w.A)();return(0,a.useMemo)((()=>e.href&&!e.linkUnlisted?e.href:!t&&e.collapsible?(0,l.Nr)(e):void 0),[e,t])}(t),g=(0,l.w8)(t,i),v=(0,B.ys)(x,i),{collapsed:A,setCollapsed:C}=(0,N.u)({initialState:()=>!!h&&(!g&&t.collapsed)}),{expandedItem:I,setExpandedItem:E}=function(){const e=(0,a.useContext)(T);if(e===S)throw new k.dV("DocSidebarItemsExpandedStateProvider");return e}(),M=function(e){void 0===e&&(e=!A),E(e?null:c),C(e)};return function(e){let{isActive:t,collapsed:n,updateCollapsed:o}=e;const i=(0,k.ZC)(t);(0,a.useEffect)((()=>{t&&!i&&n&&o(!1)}),[t,i,n,o])}({isActive:g,collapsed:A,updateCollapsed:M}),(0,a.useEffect)((()=>{h&&null!=I&&I!==c&&f&&C(!0)}),[h,I,c,C,f]),(0,b.jsxs)("li",{className:(0,o.A)(s.G.docs.docSidebarItemCategory,s.G.docs.docSidebarItemCategoryLevel(r),"menu__list-item",{"menu__list-item--collapsed":A},p),children:[(0,b.jsxs)("div",{className:(0,o.A)("menu__list-item-collapsible",{"menu__list-item-collapsible--active":v}),children:[(0,b.jsx)(y.A,{className:(0,o.A)("menu__link",{"menu__link--sublist":h,"menu__link--sublist-caret":!x&&h,"menu__link--active":g}),onClick:h?e=>{n?.(t),x?M(!1):(e.preventDefault(),M())}:()=>{n?.(t)},"aria-current":v?"page":void 0,role:h&&!x?"button":void 0,"aria-expanded":h&&!x?!A:void 0,href:h?_??"#":_,...d,children:m}),x&&h&&(0,b.jsx)(L,{collapsed:A,categoryLabel:m,onClick:e=>{e.preventDefault(),M()}})]}),(0,b.jsx)(N.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:A,children:(0,b.jsx)(V,{items:u,tabIndex:A?-1:0,onItemClick:n,activePath:i,level:r+1})})]})}var M=n(6132),H=n(5331);const G={menuExternalLink:"menuExternalLink_QZRH"};function P(e){let{item:t,onItemClick:n,activePath:a,level:i,index:r,...c}=e;const{href:d,label:u,className:m,autoAddBaseUrl:h}=t,p=(0,l.w8)(t,a),x=(0,M.A)(d);return(0,b.jsx)("li",{className:(0,o.A)(s.G.docs.docSidebarItemLink,s.G.docs.docSidebarItemLinkLevel(i),"menu__list-item",m),children:(0,b.jsxs)(y.A,{className:(0,o.A)("menu__link",!x&&G.menuExternalLink,{"menu__link--active":p}),autoAddBaseUrl:h,"aria-current":p?"page":void 0,to:d,...x&&{onClick:n?()=>n(t):void 0},...c,children:[u,!x&&(0,b.jsx)(H.A,{})]})},u)}const R={menuHtmlItem:"menuHtmlItem_aa10"};function W(e){let{item:t,level:n,index:a}=e;const{value:i,defaultStyle:l,className:r}=t;return(0,b.jsx)("li",{className:(0,o.A)(s.G.docs.docSidebarItemLink,s.G.docs.docSidebarItemLinkLevel(n),l&&[R.menuHtmlItem,"menu__list-item"],r),dangerouslySetInnerHTML:{__html:i}},a)}function D(e){let{item:t,...n}=e;switch(t.type){case"category":return(0,b.jsx)(E,{item:t,...n});case"html":return(0,b.jsx)(W,{item:t,...n});default:return(0,b.jsx)(P,{item:t,...n})}}function F(e){let{items:t,...n}=e;const a=(0,l.Y)(t,n.activePath);return(0,b.jsx)(I,{children:a.map(((e,t)=>(0,b.jsx)(D,{item:e,index:t,...n},t)))})}const V=(0,a.memo)(F),Y={menu:"menu_x8Vf",menuWithAnnouncementBar:"menuWithAnnouncementBar_Rptx"};function z(e){let{path:t,sidebar:n,className:i}=e;const l=function(){const{isActive:e}=(0,C.Mj)(),[t,n]=(0,a.useState)(e);return(0,d.Mq)((t=>{let{scrollY:a}=t;e&&n(0===a)}),[e]),e&&t}();return(0,b.jsx)("nav",{"aria-label":(0,c.T)({id:"theme.docs.sidebar.navAriaLabel",message:"Docs sidebar",description:"The ARIA label for the sidebar navigation"}),className:(0,o.A)("menu thin-scrollbar",Y.menu,l&&Y.menuWithAnnouncementBar,i),children:(0,b.jsx)("ul",{className:(0,o.A)(s.G.docs.docSidebarMenu,"menu__list"),children:(0,b.jsx)(V,{items:n,activePath:t,level:1})})})}const U="sidebar_c3PM",q="sidebarWithHideableNavbar_QoI7",K="sidebarHidden_YHTB",O="sidebarLogo_Y6jA";function Z(e){let{path:t,sidebar:n,onCollapse:a,isHidden:i}=e;const{navbar:{hideOnScroll:s},docs:{sidebar:{hideable:l}}}=(0,j.p)();return(0,b.jsxs)("div",{className:(0,o.A)(U,s&&q,i&&K),children:[s&&(0,b.jsx)(_.A,{tabIndex:-1,className:O}),(0,b.jsx)(z,{path:t,sidebar:n}),l&&(0,b.jsx)(A,{onClick:a})]})}const Q=a.memo(Z);var X=n(1844),$=n(337);const J=e=>{let{sidebar:t,path:n}=e;const a=(0,$.M)();return(0,b.jsx)("ul",{className:(0,o.A)(s.G.docs.docSidebarMenu,"menu__list"),children:(0,b.jsx)(V,{items:t,activePath:n,onItemClick:e=>{"category"===e.type&&e.href&&a.toggle(),"link"===e.type&&a.toggle()},level:1})})};function ee(e){return(0,b.jsx)(X.GX,{component:J,props:e})}const te=a.memo(ee);function ne(e){const t=(0,f.l)(),n="desktop"===t||"ssr"===t,a="mobile"===t;return(0,b.jsxs)(b.Fragment,{children:[n&&(0,b.jsx)(Q,{...e}),a&&(0,b.jsx)(te,{...e})]})}const ae={expandButton:"expandButton_zUxI",expandButtonIcon:"expandButtonIcon_YENA"};function oe(e){let{toggleSidebar:t}=e;return(0,b.jsx)("div",{className:ae.expandButton,title:(0,c.T)({id:"theme.docs.sidebar.expandButtonTitle",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),"aria-label":(0,c.T)({id:"theme.docs.sidebar.expandButtonAriaLabel",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),tabIndex:0,role:"button",onKeyDown:t,onClick:t,children:(0,b.jsx)(g,{className:ae.expandButtonIcon})})}const ie={docSidebarContainer:"docSidebarContainer_fahq",docSidebarContainerHidden:"docSidebarContainerHidden_G0SO",sidebarViewport:"sidebarViewport_utvj"};function se(e){let{children:t}=e;const n=(0,r.t)();return(0,b.jsx)(a.Fragment,{children:t},n?.name??"noSidebar")}function le(e){let{sidebar:t,hiddenSidebarContainer:n,setHiddenSidebarContainer:i}=e;const{pathname:l}=(0,x.zy)(),[r,c]=(0,a.useState)(!1),d=(0,a.useCallback)((()=>{r&&c(!1),!r&&(0,p.O)()&&c(!0),i((e=>!e))}),[i,r]);return(0,b.jsx)("aside",{className:(0,o.A)(s.G.docs.docSidebarContainer,ie.docSidebarContainer,n&&ie.docSidebarContainerHidden),onTransitionEnd:e=>{e.currentTarget.classList.contains(ie.docSidebarContainer)&&n&&c(!0)},children:(0,b.jsx)(se,{children:(0,b.jsxs)("div",{className:(0,o.A)(ie.sidebarViewport,r&&ie.sidebarViewportHidden),children:[(0,b.jsx)(ne,{sidebar:t,path:l,onCollapse:d,isHidden:r}),r&&(0,b.jsx)(oe,{toggleSidebar:d})]})})})}const re={docMainContainer:"docMainContainer_Piwz",docMainContainerEnhanced:"docMainContainerEnhanced_nSs5",docItemWrapperEnhanced:"docItemWrapperEnhanced_Gh7T"};function ce(e){let{hiddenSidebarContainer:t,children:n}=e;const a=(0,r.t)();return(0,b.jsx)("main",{className:(0,o.A)(re.docMainContainer,(t||!a)&&re.docMainContainerEnhanced),children:(0,b.jsx)("div",{className:(0,o.A)("container padding-top--md padding-bottom--lg",re.docItemWrapper,t&&re.docItemWrapperEnhanced),children:n})})}const de={docRoot:"docRoot_Kq9s",docsWrapper:"docsWrapper_gsoo"};function ue(e){let{children:t}=e;const n=(0,r.t)(),[o,i]=(0,a.useState)(!1);return(0,b.jsxs)("div",{className:de.docsWrapper,children:[(0,b.jsx)(h,{}),(0,b.jsxs)("div",{className:de.docRoot,children:[n&&(0,b.jsx)(le,{sidebar:n.items,hiddenSidebarContainer:o,setHiddenSidebarContainer:i}),(0,b.jsx)(ce,{hiddenSidebarContainer:o,children:t})]})]})}var me=n(9973);function be(e){const t=(0,l.B5)(e);if(!t)return(0,b.jsx)(me.A,{});const{docElement:n,sidebarName:a,sidebarItems:c}=t;return(0,b.jsx)(i.e3,{className:(0,o.A)(s.G.page.docsDocPage),children:(0,b.jsx)(r.V,{name:a,items:c,children:(0,b.jsx)(ue,{children:n})})})}},9973:(e,t,n)=>{n.d(t,{A:()=>l});n(8318);var a=n(6601),o=n(2244),i=n(9790),s=n(9214);function l(e){let{className:t}=e;return(0,s.jsx)("main",{className:(0,a.A)("container margin-vert--xl",t),children:(0,s.jsx)("div",{className:"row",children:(0,s.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,s.jsx)(i.A,{as:"h1",className:"hero__title",children:(0,s.jsx)(o.A,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,s.jsx)("p",{children:(0,s.jsx)(o.A,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,s.jsx)("p",{children:(0,s.jsx)(o.A,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}}}]);
\ No newline at end of file
diff --git a/assets/js/ab701698.49efbaaf.js b/assets/js/ab701698.49efbaaf.js
new file mode 100644
index 00000000..116f45e4
--- /dev/null
+++ b/assets/js/ab701698.49efbaaf.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[869],{6976:(e,t,n)=>{n.d(t,{Ay:()=>d,RM:()=>i});var s=n(9214),r=n(3159);const i=[];function a(e){const t={a:"a",admonition:"admonition",p:"p",...(0,r.R)(),...e.components};return(0,s.jsx)(t.admonition,{type:"tip",children:(0,s.jsxs)(t.p,{children:["This is only ",(0,s.jsx)(t.a,{href:"/client/tx-client",children:"construct"})," tx, next need ",(0,s.jsx)(t.a,{href:"/client/tx-client#simulate",children:"simulate"})," and\n",(0,s.jsx)(t.a,{href:"/client/tx-client#broadcast",children:"broadcast"})]})})}function d(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},5447:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>c,default:()=>x,frontMatter:()=>d,metadata:()=>l,toc:()=>h});var s=n(9214),r=n(3159),i=n(9322),a=n(6976);const d={id:"payment",title:"Payment"},c=void 0,l={id:"api/payment",title:"Payment",description:"getStreamRecord",source:"@site/docs/api/payment.mdx",sourceDirName:"api",slug:"/api/payment",permalink:"/greenfield-js-sdk/api/payment",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/api/payment.mdx",tags:[],version:"current",frontMatter:{id:"payment",title:"Payment"},sidebar:"GettingStartSidebar",previous:{title:"Object",permalink:"/greenfield-js-sdk/api/object"},next:{title:"Sp",permalink:"/greenfield-js-sdk/api/sp"}},o={},h=[{value:"getStreamRecord ",id:"getstreamrecord-",level:2},{value:"deposit ",id:"deposit-",level:2},...a.RM,{value:"withdraw ",id:"withdraw-",level:2},...a.RM,{value:"disableRefund ",id:"disablerefund-",level:2},...a.RM,{value:"listUserPaymentAccounts ",id:"listuserpaymentaccounts-",level:2}];function p(e){const t={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(t.h2,{id:"getstreamrecord-",children:["getStreamRecord ",(0,s.jsx)(i.A,{type:"Query"})]}),"\n",(0,s.jsx)(t.p,{children:"Retrieve stream record information for a given stream address."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"account"}),(0,s.jsx)(t.td,{children:"The address of the stream record to be queried."})]})})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="example"',children:"await client.payment.getStreamRecord('0x...');\n"})}),"\n",(0,s.jsxs)(t.h2,{id:"deposit-",children:["deposit ",(0,s.jsx)(i.A,{type:"Tx"})]}),"\n",(0,s.jsx)(t.p,{children:"Deposit BNB to a payment account."}),"\n",(0,s.jsx)(t.p,{children:"| params | description |\n| ------- | ----------------------------------------------------------- | ------------------ |\n| to | payment address of the stream record to receive the deposit |\n| creator | | operator's account |\n| amount | the amount to deposit |"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="example"',children:"const tx = await client.payment.deposit({\n amount: '1000000000',\n creator: '0x...',\n to: '0x...',\n});\n"})}),"\n",(0,s.jsx)(a.Ay,{}),"\n",(0,s.jsxs)(t.h2,{id:"withdraw-",children:["withdraw ",(0,s.jsx)(i.A,{type:"Tx"})]}),"\n",(0,s.jsx)(t.p,{children:"Withdraws BNB from a payment account."}),"\n",(0,s.jsxs)(t.p,{children:["Withdrawal will trigger settlement, i.e., updating static balance and buffer balance. If the\nwithdrawal amount is greater than the static balance after settlement it will fail. If the\nwithdrawal amount is equal to or greater than 100BNB, it will be timelock-ed for 1 day duration. And\nafter the duration, a message without ",(0,s.jsx)(t.code,{children:"from"})," field should be sent to get the funds."]}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"creator"}),(0,s.jsx)(t.td,{children:"operator's account"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"amount"}),(0,s.jsx)(t.td,{children:"the amount to withdraw"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"from"}),(0,s.jsx)(t.td,{children:"payment address"})]})]})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="example"',children:"const tx = await client.payment.withdraw({\n amount: '100000000',\n creator: '0x...',\n from: '0x..',\n});\n"})}),"\n",(0,s.jsx)(a.Ay,{}),"\n",(0,s.jsxs)(t.h2,{id:"disablerefund-",children:["disableRefund ",(0,s.jsx)(i.A,{type:"Tx"})]}),"\n",(0,s.jsx)(t.p,{children:"Disable refund/withdrawal for a payment account. After disabling withdrawal of a payment account, no\nmore withdrawal can be executed. The action cannot be reverted."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"owner"}),(0,s.jsx)(t.td,{children:"operator address"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"addr"}),(0,s.jsx)(t.td,{children:"payment address"})]})]})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="example"',children:"const tx = await client.payment.disableRefund({\n owner: address,\n addr: paymentAccount,\n});\n"})}),"\n",(0,s.jsx)(a.Ay,{}),"\n",(0,s.jsxs)(t.h2,{id:"listuserpaymentaccounts-",children:["listUserPaymentAccounts ",(0,s.jsx)(i.A,{type:"Storage Provider"})]}),"\n",(0,s.jsx)(t.p,{children:"list user payment info."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"account"}),(0,s.jsx)(t.td,{children:"the address of user"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"authType"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/client/sp-client#authtype",children:"AuthType"})})]})]})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="example"',children:"const res = await client.payment.listUserPaymentAccounts(\n {\n account: address,\n },\n {\n type: 'EDDSA',\n domain: window.location.origin,\n seed: offChainData.seedString,\n address,\n },\n);\n"})}),"\n",(0,s.jsx)(t.p,{children:"List payment info by a user address."})]})}function x(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},9322:(e,t,n)=>{n.d(t,{A:()=>r});n(8318);var s=n(9214);const r=e=>{const{type:t}=e;return(0,s.jsx)("span",{style:{backgroundColor:"#25c2a0",borderRadius:"5px",color:"#FFF",fontSize:14,padding:2},children:t})}},3159:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>d});var s=n(8318);const r={},i=s.createContext(r);function a(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/ab701698.cb0f018e.js b/assets/js/ab701698.cb0f018e.js
deleted file mode 100644
index 710102d6..00000000
--- a/assets/js/ab701698.cb0f018e.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[922],{8695:(e,t,n)=>{n.d(t,{ZP:()=>i});var s=n(5250),r=n(1340);function a(e){const t={a:"a",admonition:"admonition",p:"p",...(0,r.a)(),...e.components};return(0,s.jsx)(t.admonition,{type:"tip",children:(0,s.jsxs)(t.p,{children:["This is only ",(0,s.jsx)(t.a,{href:"/client/tx-client",children:"construct"})," tx, next need ",(0,s.jsx)(t.a,{href:"/client/tx-client#simulate",children:"simulate"})," and\n",(0,s.jsx)(t.a,{href:"/client/tx-client#broadcast",children:"broadcast"})]})})}function i(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},7112:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>c,default:()=>x,frontMatter:()=>d,metadata:()=>l,toc:()=>h});var s=n(5250),r=n(1340),a=n(2503),i=n(8695);const d={id:"payment",title:"Payment"},c=void 0,l={id:"api/payment",title:"Payment",description:"getStreamRecord",source:"@site/docs/api/payment.mdx",sourceDirName:"api",slug:"/api/payment",permalink:"/greenfield-js-sdk/api/payment",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/api/payment.mdx",tags:[],version:"current",frontMatter:{id:"payment",title:"Payment"},sidebar:"GettingStartSidebar",previous:{title:"Object",permalink:"/greenfield-js-sdk/api/object"},next:{title:"Sp",permalink:"/greenfield-js-sdk/api/sp"}},o={},h=[{value:"getStreamRecord ",id:"getstreamrecord-",level:2},{value:"deposit ",id:"deposit-",level:2},{value:"withdraw ",id:"withdraw-",level:2},{value:"disableRefund ",id:"disablerefund-",level:2},{value:"listUserPaymentAccounts ",id:"listuserpaymentaccounts-",level:2}];function p(e){const t={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(t.h2,{id:"getstreamrecord-",children:["getStreamRecord ",(0,s.jsx)(a.Z,{type:"Query"})]}),"\n",(0,s.jsx)(t.p,{children:"Retrieve stream record information for a given stream address."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"account"}),(0,s.jsx)(t.td,{children:"The address of the stream record to be queried."})]})})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="example"',children:"await client.payment.getStreamRecord('0x...');\n"})}),"\n",(0,s.jsxs)(t.h2,{id:"deposit-",children:["deposit ",(0,s.jsx)(a.Z,{type:"Tx"})]}),"\n",(0,s.jsx)(t.p,{children:"Deposit BNB to a payment account."}),"\n",(0,s.jsx)(t.p,{children:"| params | description |\n| ------- | ----------------------------------------------------------- | ------------------ |\n| to | payment address of the stream record to receive the deposit |\n| creator | | operator's account |\n| amount | the amount to deposit |"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="example"',children:"const tx = await client.payment.deposit({\n amount: '1000000000',\n creator: '0x...',\n to: '0x...',\n});\n"})}),"\n",(0,s.jsx)(i.ZP,{}),"\n",(0,s.jsxs)(t.h2,{id:"withdraw-",children:["withdraw ",(0,s.jsx)(a.Z,{type:"Tx"})]}),"\n",(0,s.jsx)(t.p,{children:"Withdraws BNB from a payment account."}),"\n",(0,s.jsxs)(t.p,{children:["Withdrawal will trigger settlement, i.e., updating static balance and buffer balance. If the\nwithdrawal amount is greater than the static balance after settlement it will fail. If the\nwithdrawal amount is equal to or greater than 100BNB, it will be timelock-ed for 1 day duration. And\nafter the duration, a message without ",(0,s.jsx)(t.code,{children:"from"})," field should be sent to get the funds."]}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"creator"}),(0,s.jsx)(t.td,{children:"operator's account"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"amount"}),(0,s.jsx)(t.td,{children:"the amount to withdraw"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"from"}),(0,s.jsx)(t.td,{children:"payment address"})]})]})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="example"',children:"const tx = await client.payment.withdraw({\n amount: '100000000',\n creator: '0x...',\n from: '0x..',\n});\n"})}),"\n",(0,s.jsx)(i.ZP,{}),"\n",(0,s.jsxs)(t.h2,{id:"disablerefund-",children:["disableRefund ",(0,s.jsx)(a.Z,{type:"Tx"})]}),"\n",(0,s.jsx)(t.p,{children:"Disable refund/withdrawal for a payment account. After disabling withdrawal of a payment account, no\nmore withdrawal can be executed. The action cannot be reverted."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"owner"}),(0,s.jsx)(t.td,{children:"operator address"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"addr"}),(0,s.jsx)(t.td,{children:"payment address"})]})]})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="example"',children:"const tx = await client.payment.disableRefund({\n owner: address,\n addr: paymentAccount,\n});\n"})}),"\n",(0,s.jsx)(i.ZP,{}),"\n",(0,s.jsxs)(t.h2,{id:"listuserpaymentaccounts-",children:["listUserPaymentAccounts ",(0,s.jsx)(a.Z,{type:"Storage Provider"})]}),"\n",(0,s.jsx)(t.p,{children:"list user payment info."}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"params"}),(0,s.jsx)(t.th,{children:"description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"account"}),(0,s.jsx)(t.td,{children:"the address of user"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"authType"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/client/sp-client#authtype",children:"AuthType"})})]})]})]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-jsx",metastring:'title="example"',children:"const res = await client.payment.listUserPaymentAccounts(\n {\n account: address,\n },\n {\n type: 'EDDSA',\n domain: window.location.origin,\n seed: offChainData.seedString,\n address,\n },\n);\n"})}),"\n",(0,s.jsx)(t.p,{children:"List payment info by a user address."})]})}function x(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},2503:(e,t,n)=>{n.d(t,{Z:()=>r});n(79);var s=n(5250);const r=e=>{const{type:t}=e;return(0,s.jsx)("span",{style:{backgroundColor:"#25c2a0",borderRadius:"5px",color:"#FFF",fontSize:14,padding:2},children:t})}},1340:(e,t,n)=>{n.d(t,{Z:()=>d,a:()=>i});var s=n(79);const r={},a=s.createContext(r);function i(e){const t=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),s.createElement(a.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/c4eca321.333c8101.js b/assets/js/c4eca321.89c53d2e.js
similarity index 72%
rename from assets/js/c4eca321.333c8101.js
rename to assets/js/c4eca321.89c53d2e.js
index 0b39b9d0..43b9bcf1 100644
--- a/assets/js/c4eca321.333c8101.js
+++ b/assets/js/c4eca321.89c53d2e.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[907],{4387:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>o,metadata:()=>r,toc:()=>d});var s=t(5250),i=t(1340);const o={id:"pagination",title:"Pagination"},a=void 0,r={id:"types/pagination",title:"Pagination",description:"PageRequest is to be embedded in gRPC request messages for efficient.",source:"@site/docs/types/pagination.mdx",sourceDirName:"types",slug:"/types/pagination",permalink:"/greenfield-js-sdk/types/pagination",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/types/pagination.mdx",tags:[],version:"current",frontMatter:{id:"pagination",title:"Pagination"},sidebar:"GettingStartSidebar",previous:{title:"Coin",permalink:"/greenfield-js-sdk/types/coin"},next:{title:"PrincipalType",permalink:"/greenfield-js-sdk/types/principal"}},c={},d=[];function l(e){const n={code:"code",p:"p",pre:"pre",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:"PageRequest is to be embedded in gRPC request messages for efficient."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",children:"export interface PageRequest {\n /**\n * key is a value returned in PageResponse.next_key to begin\n * querying the next page most efficiently. Only one of offset or key\n * should be set.\n */\n key: Uint8Array;\n /**\n * offset is a numeric offset that can be used when key is unavailable.\n * It is less efficient than using key. Only one of offset or key should\n * be set.\n */\n offset: Long;\n /**\n * limit is the total number of results to be returned in the result page.\n * If left empty it will default to a value to be set by each app.\n */\n limit: Long;\n /**\n * count_total is set to true to indicate that the result set should include\n * a count of the total number of items available for pagination in UIs.\n * count_total is only respected when offset is used. It is ignored when key\n * is set.\n */\n countTotal: boolean;\n /**\n * reverse is set to true if results are to be returned in the descending order.\n *\n * Since: cosmos-sdk 0.43\n */\n reverse: boolean;\n}\n"})})]})}function u(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},1340:(e,n,t)=>{t.d(n,{Z:()=>r,a:()=>a});var s=t(79);const i={},o=s.createContext(i);function a(e){const n=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(o.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[213],{5264:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>a,toc:()=>d});var s=t(9214),i=t(3159);const o={id:"pagination",title:"Pagination"},r=void 0,a={id:"types/pagination",title:"Pagination",description:"PageRequest is to be embedded in gRPC request messages for efficient.",source:"@site/docs/types/pagination.mdx",sourceDirName:"types",slug:"/types/pagination",permalink:"/greenfield-js-sdk/types/pagination",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/types/pagination.mdx",tags:[],version:"current",frontMatter:{id:"pagination",title:"Pagination"},sidebar:"GettingStartSidebar",previous:{title:"Coin",permalink:"/greenfield-js-sdk/types/coin"},next:{title:"PrincipalType",permalink:"/greenfield-js-sdk/types/principal"}},c={},d=[];function l(e){const n={code:"code",p:"p",pre:"pre",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:"PageRequest is to be embedded in gRPC request messages for efficient."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-jsx",children:"export interface PageRequest {\n /**\n * key is a value returned in PageResponse.next_key to begin\n * querying the next page most efficiently. Only one of offset or key\n * should be set.\n */\n key: Uint8Array;\n /**\n * offset is a numeric offset that can be used when key is unavailable.\n * It is less efficient than using key. Only one of offset or key should\n * be set.\n */\n offset: Long;\n /**\n * limit is the total number of results to be returned in the result page.\n * If left empty it will default to a value to be set by each app.\n */\n limit: Long;\n /**\n * count_total is set to true to indicate that the result set should include\n * a count of the total number of items available for pagination in UIs.\n * count_total is only respected when offset is used. It is ignored when key\n * is set.\n */\n countTotal: boolean;\n /**\n * reverse is set to true if results are to be returned in the descending order.\n *\n * Since: cosmos-sdk 0.43\n */\n reverse: boolean;\n}\n"})})]})}function u(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},3159:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>a});var s=t(8318);const i={},o=s.createContext(i);function r(e){const n=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),s.createElement(o.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/ce5f3660.fb3bfe47.js b/assets/js/ce5f3660.fb3bfe47.js
new file mode 100644
index 00000000..ec91297b
--- /dev/null
+++ b/assets/js/ce5f3660.fb3bfe47.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[371],{699:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>r,default:()=>l,frontMatter:()=>s,metadata:()=>c,toc:()=>a});var i=t(9214),o=t(3159);const s={id:"coin",title:"Coin"},r=void 0,c={id:"types/coin",title:"Coin",description:"Coin defines a token with a denomination and an amount.",source:"@site/docs/types/coin.mdx",sourceDirName:"types",slug:"/types/coin",permalink:"/greenfield-js-sdk/types/coin",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/types/coin.mdx",tags:[],version:"current",frontMatter:{id:"coin",title:"Coin"},sidebar:"GettingStartSidebar",previous:{title:"ActionType",permalink:"/greenfield-js-sdk/types/action"},next:{title:"Pagination",permalink:"/greenfield-js-sdk/types/pagination"}},d={},a=[];function p(e){const n={code:"code",p:"p",pre:"pre",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"Coin"})," defines a token with a denomination and an amount."]}),"\n",(0,i.jsx)(n.p,{children:"The amount field is an Int which implements the custom method."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"export interface Coin {\n denom: string;\n amount: string;\n}\n"})})]})}function l(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}},3159:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>c});var i=t(8318);const o={},s=i.createContext(o);function r(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/ce5f3660.ffbaa09c.js b/assets/js/ce5f3660.ffbaa09c.js
deleted file mode 100644
index fdb6be23..00000000
--- a/assets/js/ce5f3660.ffbaa09c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[969],{3504:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>r,default:()=>l,frontMatter:()=>s,metadata:()=>c,toc:()=>d});var i=t(5250),o=t(1340);const s={id:"coin",title:"Coin"},r=void 0,c={id:"types/coin",title:"Coin",description:"Coin defines a token with a denomination and an amount.",source:"@site/docs/types/coin.mdx",sourceDirName:"types",slug:"/types/coin",permalink:"/greenfield-js-sdk/types/coin",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/types/coin.mdx",tags:[],version:"current",frontMatter:{id:"coin",title:"Coin"},sidebar:"GettingStartSidebar",previous:{title:"ActionType",permalink:"/greenfield-js-sdk/types/action"},next:{title:"Pagination",permalink:"/greenfield-js-sdk/types/pagination"}},a={},d=[];function p(e){const n={code:"code",p:"p",pre:"pre",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"Coin"})," defines a token with a denomination and an amount."]}),"\n",(0,i.jsx)(n.p,{children:"The amount field is an Int which implements the custom method."}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-jsx",children:"export interface Coin {\n denom: string;\n amount: string;\n}\n"})})]})}function l(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}},1340:(e,n,t)=>{t.d(n,{Z:()=>c,a:()=>r});var i=t(79);const o={},s=i.createContext(o);function r(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/dd1e196a.281fa2ea.js b/assets/js/dd1e196a.cde2e6ba.js
similarity index 81%
rename from assets/js/dd1e196a.281fa2ea.js
rename to assets/js/dd1e196a.cde2e6ba.js
index 00187799..b0c43b15 100644
--- a/assets/js/dd1e196a.281fa2ea.js
+++ b/assets/js/dd1e196a.cde2e6ba.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[920],{4490:e=>{e.exports=JSON.parse('{"title":"Getting Started","slug":"/category/getting-started","permalink":"/greenfield-js-sdk/category/getting-started","navigation":{"next":{"title":"Overview","permalink":"/greenfield-js-sdk/"}}}')}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[944],{6737:e=>{e.exports=JSON.parse('{"title":"Getting Started","slug":"/category/getting-started","permalink":"/greenfield-js-sdk/category/getting-started","navigation":{"next":{"title":"Overview","permalink":"/greenfield-js-sdk/"}}}')}}]);
\ No newline at end of file
diff --git a/assets/js/e397e610.615e78e6.js b/assets/js/e397e610.615e78e6.js
deleted file mode 100644
index c382559a..00000000
--- a/assets/js/e397e610.615e78e6.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[556],{5599:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>u,default:()=>p,frontMatter:()=>i,metadata:()=>o,toc:()=>d});var r=n(5250),a=n(1340),l=n(3880),s=n(8119);const i={id:"install",sidebar_position:2,title:"Install"},u=void 0,o={id:"getting-started/install",title:"Install",description:"Install",source:"@site/docs/getting-started/install.mdx",sourceDirName:"getting-started",slug:"/getting-started/install",permalink:"/greenfield-js-sdk/getting-started/install",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/getting-started/install.mdx",tags:[],version:"current",sidebarPosition:2,frontMatter:{id:"install",sidebar_position:2,title:"Install"},sidebar:"GettingStartSidebar",previous:{title:"Overview",permalink:"/greenfield-js-sdk/"},next:{title:"Quick Start",permalink:"/greenfield-js-sdk/getting-started/quick-start"}},c={},d=[{value:"Install",id:"install",level:2}];function b(e){const t={code:"code",h2:"h2",pre:"pre",...(0,a.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"install",children:"Install"}),"\n",(0,r.jsxs)(l.Z,{children:[(0,r.jsx)(s.Z,{value:"npm",label:"npm",children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-bash",children:"> npm install @bnb-chain/greenfield-js-sdk\n"})})}),(0,r.jsx)(s.Z,{value:"yarn",label:"yarn",children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-bash",children:"> yarn add @bnb-chain/greenfield-js-sdk\n"})})}),(0,r.jsx)(s.Z,{value:"pnpm",label:"pnpm",children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-bash",children:"> pnpm add @bnb-chain/greenfield-js-sdk\n"})})})]})]})}function p(e={}){const{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(b,{...e})}):b(e)}},8119:(e,t,n)=>{n.d(t,{Z:()=>s});n(79);var r=n(3230);const a={tabItem:"tabItem_jc9D"};var l=n(5250);function s(e){let{children:t,hidden:n,className:s}=e;return(0,l.jsx)("div",{role:"tabpanel",className:(0,r.Z)(a.tabItem,s),hidden:n,children:t})}},3880:(e,t,n)=>{n.d(t,{Z:()=>y});var r=n(79),a=n(3230),l=n(4803),s=n(7911),i=n(9121),u=n(3757),o=n(2052),c=n(8991);function d(e){return r.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,r.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function b(e){const{values:t,children:n}=e;return(0,r.useMemo)((()=>{const e=t??function(e){return d(e).map((e=>{let{props:{value:t,label:n,attributes:r,default:a}}=e;return{value:t,label:n,attributes:r,default:a}}))}(n);return function(e){const t=(0,o.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function p(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function f(e){let{queryString:t=!1,groupId:n}=e;const a=(0,s.k6)(),l=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,u._X)(l),(0,r.useCallback)((e=>{if(!l)return;const t=new URLSearchParams(a.location.search);t.set(l,e),a.replace({...a.location,search:t.toString()})}),[l,a])]}function h(e){const{defaultValue:t,queryString:n=!1,groupId:a}=e,l=b(e),[s,u]=(0,r.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!p({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const r=n.find((e=>e.default))??n[0];if(!r)throw new Error("Unexpected error: 0 tabValues");return r.value}({defaultValue:t,tabValues:l}))),[o,d]=f({queryString:n,groupId:a}),[h,m]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[a,l]=(0,c.Nk)(n);return[a,(0,r.useCallback)((e=>{n&&l.set(e)}),[n,l])]}({groupId:a}),g=(()=>{const e=o??h;return p({value:e,tabValues:l})?e:null})();(0,i.Z)((()=>{g&&u(g)}),[g]);return{selectedValue:s,selectValue:(0,r.useCallback)((e=>{if(!p({value:e,tabValues:l}))throw new Error(`Can't select invalid tab value=${e}`);u(e),d(e),m(e)}),[d,m,l]),tabValues:l}}var m=n(3614);const g={tabList:"tabList_WnI6",tabItem:"tabItem_R4Tu"};var v=n(5250);function j(e){let{className:t,block:n,selectedValue:r,selectValue:s,tabValues:i}=e;const u=[],{blockElementScrollPositionUntilNextRender:o}=(0,l.o5)(),c=e=>{const t=e.currentTarget,n=u.indexOf(t),a=i[n].value;a!==r&&(o(t),s(a))},d=e=>{let t=null;switch(e.key){case"Enter":c(e);break;case"ArrowRight":{const n=u.indexOf(e.currentTarget)+1;t=u[n]??u[0];break}case"ArrowLeft":{const n=u.indexOf(e.currentTarget)-1;t=u[n]??u[u.length-1];break}}t?.focus()};return(0,v.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,a.Z)("tabs",{"tabs--block":n},t),children:i.map((e=>{let{value:t,label:n,attributes:l}=e;return(0,v.jsx)("li",{role:"tab",tabIndex:r===t?0:-1,"aria-selected":r===t,ref:e=>u.push(e),onKeyDown:d,onClick:c,...l,className:(0,a.Z)("tabs__item",g.tabItem,l?.className,{"tabs__item--active":r===t}),children:n??t},t)}))})}function x(e){let{lazy:t,children:n,selectedValue:a}=e;const l=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=l.find((e=>e.props.value===a));return e?(0,r.cloneElement)(e,{className:"margin-top--md"}):null}return(0,v.jsx)("div",{className:"margin-top--md",children:l.map(((e,t)=>(0,r.cloneElement)(e,{key:t,hidden:e.props.value!==a})))})}function k(e){const t=h(e);return(0,v.jsxs)("div",{className:(0,a.Z)("tabs-container",g.tabList),children:[(0,v.jsx)(j,{...e,...t}),(0,v.jsx)(x,{...e,...t})]})}function y(e){const t=(0,m.Z)();return(0,v.jsx)(k,{...e,children:d(e.children)},String(t))}},1340:(e,t,n)=>{n.d(t,{Z:()=>i,a:()=>s});var r=n(79);const a={},l=r.createContext(a);function s(e){const t=r.useContext(l);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),r.createElement(l.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/e397e610.a98746a0.js b/assets/js/e397e610.a98746a0.js
new file mode 100644
index 00000000..c4c3e876
--- /dev/null
+++ b/assets/js/e397e610.a98746a0.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[617],{1548:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>u,default:()=>p,frontMatter:()=>i,metadata:()=>o,toc:()=>d});var r=n(9214),a=n(3159),l=n(3428),s=n(7012);const i={id:"install",sidebar_position:2,title:"Install"},u=void 0,o={id:"getting-started/install",title:"Install",description:"Install",source:"@site/docs/getting-started/install.mdx",sourceDirName:"getting-started",slug:"/getting-started/install",permalink:"/greenfield-js-sdk/getting-started/install",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/getting-started/install.mdx",tags:[],version:"current",sidebarPosition:2,frontMatter:{id:"install",sidebar_position:2,title:"Install"},sidebar:"GettingStartSidebar",previous:{title:"Overview",permalink:"/greenfield-js-sdk/"},next:{title:"Quick Start",permalink:"/greenfield-js-sdk/getting-started/quick-start"}},c={},d=[{value:"Install",id:"install",level:2}];function b(e){const t={code:"code",h2:"h2",pre:"pre",...(0,a.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"install",children:"Install"}),"\n",(0,r.jsxs)(l.A,{children:[(0,r.jsx)(s.A,{value:"npm",label:"npm",children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-bash",children:"> npm install @bnb-chain/greenfield-js-sdk\n"})})}),(0,r.jsx)(s.A,{value:"yarn",label:"yarn",children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-bash",children:"> yarn add @bnb-chain/greenfield-js-sdk\n"})})}),(0,r.jsx)(s.A,{value:"pnpm",label:"pnpm",children:(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-bash",children:"> pnpm add @bnb-chain/greenfield-js-sdk\n"})})})]})]})}function p(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(b,{...e})}):b(e)}},7012:(e,t,n)=>{n.d(t,{A:()=>s});n(8318);var r=n(6601);const a={tabItem:"tabItem_V9qR"};var l=n(9214);function s(e){let{children:t,hidden:n,className:s}=e;return(0,l.jsx)("div",{role:"tabpanel",className:(0,r.A)(a.tabItem,s),hidden:n,children:t})}},3428:(e,t,n)=>{n.d(t,{A:()=>y});var r=n(8318),a=n(6601),l=n(2676),s=n(6325),i=n(9471),u=n(4081),o=n(4526),c=n(4110);function d(e){return r.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,r.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function b(e){const{values:t,children:n}=e;return(0,r.useMemo)((()=>{const e=t??function(e){return d(e).map((e=>{let{props:{value:t,label:n,attributes:r,default:a}}=e;return{value:t,label:n,attributes:r,default:a}}))}(n);return function(e){const t=(0,o.X)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function p(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function f(e){let{queryString:t=!1,groupId:n}=e;const a=(0,s.W6)(),l=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,u.aZ)(l),(0,r.useCallback)((e=>{if(!l)return;const t=new URLSearchParams(a.location.search);t.set(l,e),a.replace({...a.location,search:t.toString()})}),[l,a])]}function h(e){const{defaultValue:t,queryString:n=!1,groupId:a}=e,l=b(e),[s,u]=(0,r.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!p({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const r=n.find((e=>e.default))??n[0];if(!r)throw new Error("Unexpected error: 0 tabValues");return r.value}({defaultValue:t,tabValues:l}))),[o,d]=f({queryString:n,groupId:a}),[h,m]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[a,l]=(0,c.Dv)(n);return[a,(0,r.useCallback)((e=>{n&&l.set(e)}),[n,l])]}({groupId:a}),g=(()=>{const e=o??h;return p({value:e,tabValues:l})?e:null})();(0,i.A)((()=>{g&&u(g)}),[g]);return{selectedValue:s,selectValue:(0,r.useCallback)((e=>{if(!p({value:e,tabValues:l}))throw new Error(`Can't select invalid tab value=${e}`);u(e),d(e),m(e)}),[d,m,l]),tabValues:l}}var m=n(1277);const g={tabList:"tabList_SOjC",tabItem:"tabItem_mOaW"};var v=n(9214);function x(e){let{className:t,block:n,selectedValue:r,selectValue:s,tabValues:i}=e;const u=[],{blockElementScrollPositionUntilNextRender:o}=(0,l.a_)(),c=e=>{const t=e.currentTarget,n=u.indexOf(t),a=i[n].value;a!==r&&(o(t),s(a))},d=e=>{let t=null;switch(e.key){case"Enter":c(e);break;case"ArrowRight":{const n=u.indexOf(e.currentTarget)+1;t=u[n]??u[0];break}case"ArrowLeft":{const n=u.indexOf(e.currentTarget)-1;t=u[n]??u[u.length-1];break}}t?.focus()};return(0,v.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,a.A)("tabs",{"tabs--block":n},t),children:i.map((e=>{let{value:t,label:n,attributes:l}=e;return(0,v.jsx)("li",{role:"tab",tabIndex:r===t?0:-1,"aria-selected":r===t,ref:e=>u.push(e),onKeyDown:d,onClick:c,...l,className:(0,a.A)("tabs__item",g.tabItem,l?.className,{"tabs__item--active":r===t}),children:n??t},t)}))})}function j(e){let{lazy:t,children:n,selectedValue:a}=e;const l=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=l.find((e=>e.props.value===a));return e?(0,r.cloneElement)(e,{className:"margin-top--md"}):null}return(0,v.jsx)("div",{className:"margin-top--md",children:l.map(((e,t)=>(0,r.cloneElement)(e,{key:t,hidden:e.props.value!==a})))})}function k(e){const t=h(e);return(0,v.jsxs)("div",{className:(0,a.A)("tabs-container",g.tabList),children:[(0,v.jsx)(x,{...e,...t}),(0,v.jsx)(j,{...e,...t})]})}function y(e){const t=(0,m.A)();return(0,v.jsx)(k,{...e,children:d(e.children)},String(t))}},3159:(e,t,n)=>{n.d(t,{R:()=>s,x:()=>i});var r=n(8318);const a={},l=r.createContext(a);function s(e){const t=r.useContext(l);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),r.createElement(l.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/ebfe9495.14d62075.js b/assets/js/ebfe9495.14d62075.js
new file mode 100644
index 00000000..5b7cde16
--- /dev/null
+++ b/assets/js/ebfe9495.14d62075.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[364],{5097:e=>{e.exports=JSON.parse('{"title":"apis","slug":"/category/api","permalink":"/greenfield-js-sdk/category/api","navigation":{"previous":{"title":"Storage Provider Client","permalink":"/greenfield-js-sdk/client/sp-client"},"next":{"title":"Overview","permalink":"/greenfield-js-sdk/api/api-overview"}}}')}}]);
\ No newline at end of file
diff --git a/assets/js/ebfe9495.655ba472.js b/assets/js/ebfe9495.655ba472.js
deleted file mode 100644
index d21693c0..00000000
--- a/assets/js/ebfe9495.655ba472.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[2],{9259:e=>{e.exports=JSON.parse('{"title":"apis","slug":"/category/api","permalink":"/greenfield-js-sdk/category/api","navigation":{"previous":{"title":"Storage Provider Client","permalink":"/greenfield-js-sdk/client/sp-client"},"next":{"title":"Overview","permalink":"/greenfield-js-sdk/api/api-overview"}}}')}}]);
\ No newline at end of file
diff --git a/assets/js/ef037885.2dd32398.js b/assets/js/ef037885.2dd32398.js
new file mode 100644
index 00000000..ff7bec2c
--- /dev/null
+++ b/assets/js/ef037885.2dd32398.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[509],{6976:(e,n,t)=>{t.d(n,{Ay:()=>l,RM:()=>a});var r=t(9214),s=t(3159);const a=[];function i(e){const n={a:"a",admonition:"admonition",p:"p",...(0,s.R)(),...e.components};return(0,r.jsx)(n.admonition,{type:"tip",children:(0,r.jsxs)(n.p,{children:["This is only ",(0,r.jsx)(n.a,{href:"/client/tx-client",children:"construct"})," tx, next need ",(0,r.jsx)(n.a,{href:"/client/tx-client#simulate",children:"simulate"})," and\n",(0,r.jsx)(n.a,{href:"/client/tx-client#broadcast",children:"broadcast"})]})})}function l(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(i,{...e})}):i(e)}},2367:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>d,default:()=>j,frontMatter:()=>l,metadata:()=>c,toc:()=>h});var r=t(9214),s=t(3159),a=t(9322),i=t(6976);const l={id:"feegrant",title:"Feegrant"},d=void 0,c={id:"api/feegrant",title:"Feegrant",description:"grantAllowance",source:"@site/docs/api/feegrant.mdx",sourceDirName:"api",slug:"/api/feegrant",permalink:"/greenfield-js-sdk/api/feegrant",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/api/feegrant.mdx",tags:[],version:"current",frontMatter:{id:"feegrant",title:"Feegrant"},sidebar:"GettingStartSidebar",previous:{title:"Crosschain",permalink:"/greenfield-js-sdk/api/crosschain"},next:{title:"Gashub",permalink:"/greenfield-js-sdk/api/gashub"}},o={},h=[{value:"grantAllowance ",id:"grantallowance-",level:2},...i.RM,{value:"revokeAllowance ",id:"revokeallowance-",level:2},...i.RM,{value:"getAllowence ",id:"getallowence-",level:2},{value:"getAllowences ",id:"getallowences-",level:2}];function x(e){const n={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(n.h2,{id:"grantallowance-",children:["grantAllowance ",(0,r.jsx)(a.A,{type:"Tx"})]}),"\n",(0,r.jsx)(n.p,{children:"Provides a way to grant allowance, the user needs to construct the desired type of allowance."}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"params"}),(0,r.jsx)(n.th,{children:"description"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"amount"}),(0,r.jsxs)(n.td,{children:["amount of ",(0,r.jsx)(n.a,{href:"/types/coin",children:"Coin"})]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"denom"}),(0,r.jsxs)(n.td,{children:["denom of ",(0,r.jsx)(n.a,{href:"/types/coin",children:"Coin"})]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"allowedMessages"}),(0,r.jsxs)(n.td,{children:["array of ",(0,r.jsx)(n.a,{href:"/constants/msg-type-url",children:"Msg Type URL"})]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"granter"}),(0,r.jsx)(n.td,{children:"the address of the user granting an allowance of their funds"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"grantee"}),(0,r.jsx)(n.td,{children:"the address of the user being granted an allowance of another user's funds."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"expirationTime"}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.a,{href:"/types/timestamp",children:"Timestamp"})})]})]})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"const tx = await client.feegrant.grantAllowance({\n granter: '0x00...',\n grantee: '0x00...',\n allowedMessages: [MsgDeleteObjectTypeUrl],\n amount: parseEther('0.09').toString(),\n denom: 'BNB',\n expirationTime: toTimestamp(date),\n});\n"})}),"\n",(0,r.jsx)(i.Ay,{}),"\n",(0,r.jsxs)(n.h2,{id:"revokeallowance-",children:["revokeAllowance ",(0,r.jsx)(a.A,{type:"Tx"})]}),"\n",(0,r.jsx)(n.p,{children:"revokes allowance on a grantee by the granter."}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"params"}),(0,r.jsx)(n.th,{children:"description"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"granter"}),(0,r.jsx)(n.td,{children:"the address of the user granting an allowance of their funds"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"grantee"}),(0,r.jsx)(n.td,{children:"grantee is the address of the user being granted an allowance of another user's funds"})]})]})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"const tx = await client.feegrant.revokeAllowance({\n granter: '0x00...',\n grantee: '0x00...',\n});\n"})}),"\n",(0,r.jsx)(i.Ay,{}),"\n",(0,r.jsxs)(n.h2,{id:"getallowence-",children:["getAllowence ",(0,r.jsx)(a.A,{type:"Query"})]}),"\n",(0,r.jsx)(n.p,{children:"queries the BasicAllowance."}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"params"}),(0,r.jsx)(n.th,{children:"description"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"granter"}),(0,r.jsx)(n.td,{children:"the address of the user granting an allowance of their funds"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"grantee"}),(0,r.jsx)(n.td,{children:"grantee is the address of the user being granted an allowance of another user's funds"})]})]})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"await client.feegrant.getAllowence({\n granter: '0x00...',\n grantee: '0x00...',\n});\n"})}),"\n",(0,r.jsxs)(n.h2,{id:"getallowences-",children:["getAllowences ",(0,r.jsx)(a.A,{type:"Query"})]}),"\n",(0,r.jsx)(n.p,{children:"queries the BasicAllowance by account address."}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"params"}),(0,r.jsx)(n.th,{children:"description"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"grantee"}),(0,r.jsx)(n.td,{children:"grantee is the address of the user being granted an allowance of another user's funds"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"pagination"}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.a,{href:"/types/pagination",children:"Pagination"})})]})]})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"import { Long } from '@bnb-chain/greenfield-js-sdk';\nawait client.feegrant.getAllowences({\n grantee: '0x00...',\n pagination: {\n limit: Long.fromInt(10),\n offset: Long.fromInt(0),\n countTotal: true,\n key: Uint8Array.from([]),\n reverse: false,\n },\n});\n"})})]})}function j(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(x,{...e})}):x(e)}},9322:(e,n,t)=>{t.d(n,{A:()=>s});t(8318);var r=t(9214);const s=e=>{const{type:n}=e;return(0,r.jsx)("span",{style:{backgroundColor:"#25c2a0",borderRadius:"5px",color:"#FFF",fontSize:14,padding:2},children:n})}},3159:(e,n,t)=>{t.d(n,{R:()=>i,x:()=>l});var r=t(8318);const s={},a=r.createContext(s);function i(e){const n=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),r.createElement(a.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/ef037885.4cf503bf.js b/assets/js/ef037885.4cf503bf.js
deleted file mode 100644
index 3101b0f1..00000000
--- a/assets/js/ef037885.4cf503bf.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[30],{8695:(e,n,t)=>{t.d(n,{ZP:()=>i});var r=t(5250),s=t(1340);function a(e){const n={a:"a",admonition:"admonition",p:"p",...(0,s.a)(),...e.components};return(0,r.jsx)(n.admonition,{type:"tip",children:(0,r.jsxs)(n.p,{children:["This is only ",(0,r.jsx)(n.a,{href:"/client/tx-client",children:"construct"})," tx, next need ",(0,r.jsx)(n.a,{href:"/client/tx-client#simulate",children:"simulate"})," and\n",(0,r.jsx)(n.a,{href:"/client/tx-client#broadcast",children:"broadcast"})]})})}function i(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},5420:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>d,default:()=>j,frontMatter:()=>l,metadata:()=>c,toc:()=>h});var r=t(5250),s=t(1340),a=t(2503),i=t(8695);const l={id:"feegrant",title:"Feegrant"},d=void 0,c={id:"api/feegrant",title:"Feegrant",description:"grantAllowance",source:"@site/docs/api/feegrant.mdx",sourceDirName:"api",slug:"/api/feegrant",permalink:"/greenfield-js-sdk/api/feegrant",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/api/feegrant.mdx",tags:[],version:"current",frontMatter:{id:"feegrant",title:"Feegrant"},sidebar:"GettingStartSidebar",previous:{title:"Crosschain",permalink:"/greenfield-js-sdk/api/crosschain"},next:{title:"Gashub",permalink:"/greenfield-js-sdk/api/gashub"}},o={},h=[{value:"grantAllowance ",id:"grantallowance-",level:2},{value:"revokeAllowance ",id:"revokeallowance-",level:2},{value:"getAllowence ",id:"getallowence-",level:2},{value:"getAllowences ",id:"getallowences-",level:2}];function x(e){const n={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(n.h2,{id:"grantallowance-",children:["grantAllowance ",(0,r.jsx)(a.Z,{type:"Tx"})]}),"\n",(0,r.jsx)(n.p,{children:"Provides a way to grant allowance, the user needs to construct the desired type of allowance."}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"params"}),(0,r.jsx)(n.th,{children:"description"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"amount"}),(0,r.jsxs)(n.td,{children:["amount of ",(0,r.jsx)(n.a,{href:"/types/coin",children:"Coin"})]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"denom"}),(0,r.jsxs)(n.td,{children:["denom of ",(0,r.jsx)(n.a,{href:"/types/coin",children:"Coin"})]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"allowedMessages"}),(0,r.jsxs)(n.td,{children:["array of ",(0,r.jsx)(n.a,{href:"/constants/msg-type-url",children:"Msg Type URL"})]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"granter"}),(0,r.jsx)(n.td,{children:"the address of the user granting an allowance of their funds"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"grantee"}),(0,r.jsx)(n.td,{children:"the address of the user being granted an allowance of another user's funds."})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"expirationTime"}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.a,{href:"/types/timestamp",children:"Timestamp"})})]})]})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"const tx = await client.feegrant.grantAllowance({\n granter: '0x00...',\n grantee: '0x00...',\n allowedMessages: [MsgDeleteObjectTypeUrl],\n amount: parseEther('0.09').toString(),\n denom: 'BNB',\n expirationTime: toTimestamp(date),\n});\n"})}),"\n",(0,r.jsx)(i.ZP,{}),"\n",(0,r.jsxs)(n.h2,{id:"revokeallowance-",children:["revokeAllowance ",(0,r.jsx)(a.Z,{type:"Tx"})]}),"\n",(0,r.jsx)(n.p,{children:"revokes allowance on a grantee by the granter."}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"params"}),(0,r.jsx)(n.th,{children:"description"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"granter"}),(0,r.jsx)(n.td,{children:"the address of the user granting an allowance of their funds"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"grantee"}),(0,r.jsx)(n.td,{children:"grantee is the address of the user being granted an allowance of another user's funds"})]})]})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"const tx = await client.feegrant.revokeAllowance({\n granter: '0x00...',\n grantee: '0x00...',\n});\n"})}),"\n",(0,r.jsx)(i.ZP,{}),"\n",(0,r.jsxs)(n.h2,{id:"getallowence-",children:["getAllowence ",(0,r.jsx)(a.Z,{type:"Query"})]}),"\n",(0,r.jsx)(n.p,{children:"queries the BasicAllowance."}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"params"}),(0,r.jsx)(n.th,{children:"description"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"granter"}),(0,r.jsx)(n.td,{children:"the address of the user granting an allowance of their funds"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"grantee"}),(0,r.jsx)(n.td,{children:"grantee is the address of the user being granted an allowance of another user's funds"})]})]})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"await client.feegrant.getAllowence({\n granter: '0x00...',\n grantee: '0x00...',\n});\n"})}),"\n",(0,r.jsxs)(n.h2,{id:"getallowences-",children:["getAllowences ",(0,r.jsx)(a.Z,{type:"Query"})]}),"\n",(0,r.jsx)(n.p,{children:"queries the BasicAllowance by account address."}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"params"}),(0,r.jsx)(n.th,{children:"description"})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"grantee"}),(0,r.jsx)(n.td,{children:"grantee is the address of the user being granted an allowance of another user's funds"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"pagination"}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.a,{href:"/types/pagination",children:"Pagination"})})]})]})]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-jsx",metastring:'title="example"',children:"import { Long } from '@bnb-chain/greenfield-js-sdk';\nawait client.feegrant.getAllowences({\n grantee: '0x00...',\n pagination: {\n limit: Long.fromInt(10),\n offset: Long.fromInt(0),\n countTotal: true,\n key: Uint8Array.from([]),\n reverse: false,\n },\n});\n"})})]})}function j(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(x,{...e})}):x(e)}},2503:(e,n,t)=>{t.d(n,{Z:()=>s});t(79);var r=t(5250);const s=e=>{const{type:n}=e;return(0,r.jsx)("span",{style:{backgroundColor:"#25c2a0",borderRadius:"5px",color:"#FFF",fontSize:14,padding:2},children:n})}},1340:(e,n,t)=>{t.d(n,{Z:()=>l,a:()=>i});var r=t(79);const s={},a=r.createContext(s);function i(e){const n=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),r.createElement(a.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/f5de60e3.ba4e865f.js b/assets/js/f5de60e3.c06b547b.js
similarity index 55%
rename from assets/js/f5de60e3.ba4e865f.js
rename to assets/js/f5de60e3.c06b547b.js
index e92f42ea..02347b8a 100644
--- a/assets/js/f5de60e3.ba4e865f.js
+++ b/assets/js/f5de60e3.c06b547b.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkgreenfield_js_sdk_docs=self.webpackChunkgreenfield_js_sdk_docs||[]).push([[136],{4124:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>u,contentTitle:()=>i,default:()=>m,frontMatter:()=>l,metadata:()=>c,toc:()=>d});var t=r(5250),s=r(1340),o=r(3880),a=r(8119);const l={id:"checksums",title:"calculating checksum is slow",order:1},i=void 0,c={id:"FAQs/checksums",title:"calculating checksum is slow",description:"We're using reed-solomon.",source:"@site/docs/FAQs/calculating-checksum-is-slow.mdx",sourceDirName:"FAQs",slug:"/FAQs/checksums",permalink:"/greenfield-js-sdk/FAQs/checksums",draft:!1,unlisted:!1,editUrl:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/doc-site/docs/FAQs/calculating-checksum-is-slow.mdx",tags:[],version:"current",frontMatter:{id:"checksums",title:"calculating checksum is slow",order:1},sidebar:"GettingStartSidebar",previous:{title:"FAQs",permalink:"/greenfield-js-sdk/category/faqs"}},u={},d=[{value:"Benchmarking",id:"benchmarking",level:2},{value:"Usage",id:"usage",level:2}];function h(e){const n={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",...(0,s.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.p,{children:["We're using ",(0,t.jsx)(n.a,{href:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/packages/reed-solomon",children:"reed-solomon"}),"."]}),"\n",(0,t.jsxs)(n.p,{children:["It is a lightweight implementation of ",(0,t.jsx)(n.a,{href:"https://github.com/klauspost/reedsolomon",children:"klauspost/reedsolomon"}),", just to be compatible with ",(0,t.jsx)(n.a,{href:"https://github.com/bnb-chain/greenfield-common/blob/master/go/hash/hash.go",children:"greenfield-common"}),"."]}),"\n",(0,t.jsx)(n.p,{children:"As we all know, JavaScript is not good at this kind of intensive computing. In fact, the results we tested on local Nodejs were about 10 times slower than Go."}),"\n",(0,t.jsxs)(n.p,{children:["But to be able to use it in the Javascript, we created ",(0,t.jsx)(n.a,{href:"https://github.com/bnb-chain/greenfield-js-sdk/tree/main/packages/reed-solomon",children:"reed-solomon"}),", which is the core library."]}),"\n",(0,t.jsx)(n.h2,{id:"benchmarking",children:"Benchmarking"}),"\n",(0,t.jsxs)(n.p,{children:["If not counting big files (how big is depending on the user's device), here are the ",(0,t.jsx)(n.a,{href:"https://github.com/bnb-chain/greenfield-js-sdk/blob/main/packages/reed-solomon/benchmark.md",children:"results"})," of our tests on the Apple M2."]}),"\n",(0,t.jsx)(n.p,{children:"Note, you don't have to have webworker or worker_threads on to get faster performance. Because running worker also has performance loss."}),"\n",(0,t.jsx)(n.p,{children:"When calculating small files, using the core is faster than using the worker."}),"\n",(0,t.jsx)(n.h2,{id:"usage",children:"Usage"}),"\n",(0,t.jsxs)(n.p,{children:["You can use core lib directly in the browser and Nodejs, or you can use us to run on the worker(browser use ",(0,t.jsx)(n.a,{href:"https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers",children:"webworker"}),", Nodejs use ",(0,t.jsx)(n.a,{href:"https://nodejs.org/api/worker_threads.html",children:"worker_threads"}),")."]}),"\n",(0,t.jsxs)(o.Z,{groupId:"example",children:[(0,t.jsxs)(a.Z,{value:"browser",label:"Browser",children:[(0,t.jsx)(n.p,{children:"When you are developing Greenfield and need to create objects, if you are sure that the files are small (maybe less than 5m or 10m), you can directly use the ESM solution:"}),(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-javascript",metastring:'title="core lib (ESM)"',children:"import {ReedSolomon} from '@bnb-chain/reed-solomon'\n\nconst rs = new ReedSolomon();\nconst res = rs.encode(new Uint8Array(fileBuffer))\n"})}),(0,t.jsx)(n.p,{children:"It also supports UMD mode calls (simpler and more convenient):"}),(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-html",metastring:'title="core lib (UMD)"',children:"\x3c!-- prefetch js --\x3e\n\n
-
+
+apis | Greenfield JavaScript SDK
+
+
-