Constructors#
constructor#
+ new MintSDK(accessToken: string, networkIds: NetworkId[], walletSetting: WalletSetting, devOption?: { backendUrl?: string ; jsonRPCUrl?: string }): MintSDK
Parameters:#
| Name | Type |
|---|---|
accessToken | string |
networkIds | NetworkId[] |
walletSetting | WalletSetting |
devOption? | object |
devOption.backendUrl? | string |
devOption.jsonRPCUrl? | string |
Returns: MintSDK
Defined in: src/index.ts:99
Properties#
getWalletInfo#
• getWalletInfo: () => Promise<WalletInfo>
ウォレットのアカウントと残高情報などの情報が取得できる
Required
- ウォレットに接続していること
returns
Type declaration:#
▸ (): Promise<WalletInfo>
Returns: Promise<WalletInfo>
Defined in: src/index.ts:208
Defined in: src/index.ts:208
walletStrategy#
• Private walletStrategy: WalletStrategy
Defined in: src/index.ts:99
Methods#
addEthereumChain#
▸ addEthereumChain(networkId: 80001 | 137): Promise<void>
指定したネットワークをウォレットに追加する 137 => Polygon本番ネットワーク 80001 => Polygonテストネットワーク
Required sdk.isInjectedWallet() => trueの場合のみ(MetaMaskのみ使える)
Parameters:#
| Name | Type |
|---|---|
networkId | 80001 | 137 |
Returns: Promise<void>
Defined in: src/index.ts:1203
connectWallet#
▸ connectWallet(): Promise<void>
ウォレットに接続 MetamaskがインストールされているブラウザではMetamaskが、されていない場合はFortmaticに接続を行う ウォレットが接続されるとResolveされる ウォレット接続をキャンセルした場合は、Rejectされる
Returns: Promise<void>
Defined in: src/index.ts:173
disconnectWallet#
▸ disconnectWallet(): Promise<void>
ウォレットから切断 Fortmaticの場合、切断される MetaMaskが接続されている場合は何も実行されない
Returns: Promise<void>
Defined in: src/index.ts:189
getAccountInfo#
▸ getAccountInfo(arg: { walletAddress: string }): Promise<AccountInfo>
ユーザーのウォレットアドレスの画像や表示名を取得できる 設定されていない場合は、各項目空文字が入っています
Parameters:#
| Name | Type |
|---|---|
arg | object |
arg.walletAddress | string |
Returns: Promise<AccountInfo>
Defined in: src/index.ts:943
getConnectedNetworkId#
▸ getConnectedNetworkId(): Promise<number>
接続中のネットワークIDを返す
Returns: Promise<number>
Defined in: src/index.ts:792
getItemById#
▸ getItemById(itemId: string): Promise<Item>
ItemのitemId指定でアイテムを取得
Parameters:#
| Name | Type | Description |
|---|---|---|
itemId | string | ItemのitemId |
Returns: Promise<Item>
Defined in: src/index.ts:357
getItemByToken#
▸ getItemByToken(token: Token): Promise<Item>
Tokenに紐づいたItemを取得
Parameters:#
| Name | Type |
|---|---|
token | Token |
Returns: Promise<Item>
Defined in: src/index.ts:374
getItemLogs#
▸ getItemLogs(itemId: string, paging?: { page: number = 1; perPage: number = 30 }): Promise<{ accountAddress: string ; createAt: Date ; price: number ; transactionHash: string ; type: ItemLogTypeEnum }[]>
アイテムの履歴(bidされた、買われた)の取得 最新の物から返される
Parameters:#
| Name | Type | Default value | Description |
|---|---|---|---|
itemId | string | - | ItemのitemId |
paging | object | - | - |
paging.page | number | 1 | - |
paging.perPage | number | 30 | - |
Returns: Promise<{ accountAddress: string ; createAt: Date ; price: number ; transactionHash: string ; type: ItemLogTypeEnum }[]>
Defined in: src/index.ts:401
getItemShippingInfo#
▸ getItemShippingInfo(arg: { itemId: string }): Promise<InlineResponse2006>
物理アイテム付きのItemの入力された発送先情報を取得 {@link Items}セキュリティの観点から、ユーザーのSignが必要になります
Required
- ウォレットに接続していること
- ユーザーがItemの
typeがnftWithPhysicalProductであること - Itemが引き出されている or 買われていること(Tokenになっていること)
- ユーザーがItemの
physicalOrderStatusがwipまたはshipであること - ユーザーがTokenの所有者であること
Parameters:#
| Name | Type | Description |
|---|---|---|
arg | object | itemId = ItemのitemI |
arg.itemId | string | - |
Returns: Promise<InlineResponse2006>
Defined in: src/index.ts:891
getItems#
▸ getItems(__namedParameters?: { itemType?: "nft" | "nftWithPhysicalProduct" ; networkId?: NetworkId[] ; onSale?: boolean ; page: number ; perPage: number ; sort?: { order: "asc" | "desc" ; sortBy: "endAt" | "startAt" | "price" } ; tradeType?: "fixedPrice" | "auction" | "autoExtensionAuction" }): Promise<Item[]>
公開中(Items.openStatus === 'open')のアイテムを取得 ステータスの変更は管理画面から行えます。
制限事項#
次の制限事項に注意してください。
tradeType === 'fixedPrice'を指定した場合、'endAt' | 'startAt'によるsortは行えませんtradeType === 'auction'を指定した場合、priceによるsortは行えませんonSaleを指定した場合、startAtによるsortは行えません
Parameters:#
| Name | Type | Description |
|---|---|---|
__namedParameters | object | - |
__namedParameters.itemType? | "nft" | "nftWithPhysicalProduct" | - |
__namedParameters.networkId? | NetworkId[] | 指定しなければ、コンストラクターの値が使われます |
__namedParameters.onSale? | boolean | |
__namedParameters.page | number | ページ数。 |
__namedParameters.perPage | number | 1ページあたりのアイテム数。 デフォルトは30。 |
__namedParameters.sort? | object | 'endAt','startAt'はオークションの場合に有効で、オークションの終了・開始時間でsortを行います。priceは固定価格販売の場合のみ有効です。 |
__namedParameters.sort.order | "asc" | "desc" | - |
__namedParameters.sort.sortBy | "endAt" | "startAt" | "price" | - |
__namedParameters.tradeType? | "fixedPrice" | "auction" | "autoExtensionAuction" | - |
Returns: Promise<Item[]>
Defined in: src/index.ts:263
getItemsByBidderAddress#
▸ getItemsByBidderAddress(address: string): Promise<Item[]>
指定したアドレスがBidしたItemの一覧を取得
Parameters:#
| Name | Type | Description |
|---|---|---|
address | string | ウォレットのアドレス |
Returns: Promise<Item[]>
Defined in: src/index.ts:334
getServerUnixTime#
▸ getServerUnixTime(): Promise<number>
サーバーのUnixタイムを取得
Returns: Promise<number>
unix time (ms)
Defined in: src/index.ts:735
getTokensByAddress#
▸ getTokensByAddress(address: string): Promise<Token[]>
指定したアドレスが所持しているMINT経由で獲得したトークンを取得
Parameters:#
| Name | Type | Description |
|---|---|---|
address | string | Walletのアドレス |
Returns: Promise<Token[]>
Defined in: src/index.ts:433
isCorrectNetwork#
▸ isCorrectNetwork(): Promise<boolean>
適切なネットワークかを判定
Returns: Promise<boolean>
trueならば適切なネットワーク
Defined in: src/index.ts:768
isInjectedWallet#
▸ isInjectedWallet(): boolean
MetaMaskかどうかを判定
Returns: boolean
trueならばMetaMask
Defined in: src/index.ts:752
isWalletConnect#
▸ isWalletConnect(): Promise<boolean>
有効なアカウントがあるの状態を返す
Returns: Promise<boolean>
ウォレットが接続されていればtrue
Defined in: src/index.ts:155
onAccountsChange#
▸ onAccountsChange(callback: (accounts: string[]) => any): void
アカウントが変更された際に呼び出される関数を設定できる
Parameters:#
| Name | Type |
|---|---|
callback | (accounts: string[]) => any |
Returns: void
void
Defined in: src/index.ts:661
onConnect#
▸ onConnect(callback: () => any): void
ウォレットに接続した際に呼び出される関数を設定できる
Parameters:#
| Name | Type |
|---|---|
callback | () => any |
Returns: void
void
Defined in: src/index.ts:686
onDisconnect#
▸ onDisconnect(callback: () => any): void
ウォレットから切断した際に呼び出される関数を設定できる
Parameters:#
| Name | Type |
|---|---|
callback | () => any |
Returns: void
void
Defined in: src/index.ts:711
registerItemShippingInfo#
▸ registerItemShippingInfo(arg: { itemId: string ; shippingInfo: Omit<RegisterItemShippingInfoRequestBody, "tokenId" | "signedData" | "chainType" | "networkId" | "contractAddress"> }): Promise<void>
物理アイテム付きのItemの発送先情報を登録 ユーザーに配送先情報を入力してもらうフォームなどを用意して使ってください
Required
- ウォレットに接続していること
- ユーザーがItemの
typeがnftWithPhysicalProductであること - Itemが引き出されている or 買われていること(Tokenになっていること)
- ユーザーがItemの
physicalOrderStatusがshippingInfoIsBlankであること - ユーザーがTokenの所有者であること
Parameters:#
| Name | Type | Description |
|---|---|---|
arg | object | itemId = ItemのitemId, shippingInfo = 配送先情報 |
arg.itemId | string | - |
arg.shippingInfo | Omit<RegisterItemShippingInfoRequestBody, "tokenId" | "signedData" | "chainType" | "networkId" | "contractAddress"> | - |
Returns: Promise<void>
Defined in: src/index.ts:811
sendTxBid#
▸ sendTxBid(itemId: string, bidPrice: number): Promise<TransactionResponse>
指定した金額でBidするトランザクションを発行
Bidする謹賀具の総額をbidPriceに指定する
Required
- ウォレットに接続していること
Parameters:#
| Name | Type | Description |
|---|---|---|
itemId | string | ItemのitemId |
bidPrice | number | 単位はether |
Returns: Promise<TransactionResponse>
Defined in: src/index.ts:468
sendTxBuyItem#
▸ sendTxBuyItem(itemId: string, userResidence?: "unknown" | "jp"): Promise<TransactionResponse>
FixedPriceのアイテムを購入するトランザクションを発行 ユーザーの居住地を問うUIを合わせて実装必要 消費税に関する会計処理などがスムーズに行えます
Required
- ウォレットに接続していること
Parameters:#
| Name | Type | Default value | Description |
|---|---|---|---|
itemId | string | - | ItemのitemId |
userResidence | "unknown" | "jp" | 'unknown' | Residence 購入者の居住地を指定する |
Returns: Promise<TransactionResponse>
Defined in: src/index.ts:597
sendTxMakeSuccessfulBid#
▸ sendTxMakeSuccessfulBid(itemId: string, userResidence?: "unknown" | "jp"): Promise<TransactionResponse>
オークションで勝利したアイテムを引き出すトランザクションを発行 ユーザーの居住地を問うUIを合わせて実装必要です。居住地を設定することで消費税に関する会計処理などがスムーズに行えます
Required
- ウォレットに接続していること
- 自動延長オークションは、
withdrawableAt以降に引き出し可能です
Parameters:#
| Name | Type | Default value | Description |
|---|---|---|---|
itemId | string | - | ItemのitemId |
userResidence | "unknown" | "jp" | 'unknown' | Residence 購入者の居住地を指定する |
Returns: Promise<TransactionResponse>
Defined in: src/index.ts:532
signTypedData#
▸ signTypedData(arg: { domain: TypedDataDomain ; types: Record<string, TypedDataField[]> ; value: Record<string, any> }): Promise<{ data: string ; sig: string }>
EIP-712仕様で与えられたデータを署名します。
Required
- ウォレットに接続していること
Parameters:#
| Name | Type |
|---|---|
arg | object |
arg.domain | TypedDataDomain |
arg.types | Record<string, TypedDataField[]> |
arg.value | Record<string, any> |
Returns: Promise<{ data: string ; sig: string }>
Defined in: src/index.ts:1119
updateAccountInfo#
▸ updateAccountInfo(arg: { avatarImgId: string ; bio: string ; displayName: string ; homepageUrl: string ; instagramAccountName: string ; twitterAccountName: string }): Promise<void>
ユーザーのウォレットアドレスの画像や表示名を設定できる
全ての項目は optionalです。設定しない場合は空文字を入れてください
avatarImgIdはsdk.uploadImgの返り値です
Required
- ウォレットに接続していること
Parameters:#
| Name | Type |
|---|---|
arg | object |
arg.avatarImgId | string |
arg.bio | string |
arg.displayName | string |
arg.homepageUrl | string |
arg.instagramAccountName | string |
arg.twitterAccountName | string |
Returns: Promise<void>
Defined in: src/index.ts:972
uploadAccountInfoAvatar#
▸ uploadAccountInfoAvatar(arg: { file: File }): Promise<{ imgId: string ; uploadedImgUrl: string }>
sdk.updateAccountInfoの引数のimgIdを取得できる
uploadedImgUrlはアップロードされた画像のRead用のURLです。
Required
- ウォレットに接続していること
Parameters:#
| Name | Type |
|---|---|
arg | object |
arg.file | File |
Returns: Promise<{ imgId: string ; uploadedImgUrl: string }>
Defined in: src/index.ts:1047
waitForTransaction#
▸ waitForTransaction(txHash: string): Promise<void>
Transactionが成功するとResolveするPromiseを返します
Required
- ウォレットに接続していること
Parameters:#
| Name | Type | Description |
|---|---|---|
txHash | string | {@link ethers.providers.TransactionResponse}のhashプロパティ typescript import { MintSDK } from '@kyuzan/mint-sdk-js' const sdk = await MintSDK.initialize(...) await sdk.connectWallet() // required try { const tx = await sdk.sendTxBuyItem('item.itemId') await tx.wait() // success transaction } catch (err) { // display error message } |
Returns: Promise<void>
Defined in: src/index.ts:233
formatEther#
▸ StaticformatEther(bg: BigNumber): string
BigNumberをether(通常のETHと表示される価格)にフォーマットして返す
Parameters:#
| Name | Type |
|---|---|
bg | BigNumber |
Returns: string
Ether単位でパースされたstring
Defined in: src/index.ts:85
parseEther#
▸ StaticparseEther(ether: string): BigNumber
ether(通常のETHと表示される価格)をBigNumberとして返す
Parameters:#
| Name | Type | Description |
|---|---|---|
ether | string | 通常のETHと表示されるもの |
Returns: BigNumber
etherをBigNumberとしてparseしたもの
Defined in: src/index.ts:66
recoverySignData#
▸ StaticrecoverySignData(arg: { data: string ; sig: string }): string
署名されたデータを復号してウォレットアドレスを返します。 返される文字列は小文字で返ってきます。
Parameters:#
| Name | Type |
|---|---|
arg | object |
arg.data | string |
arg.sig | string |
Returns: string
Defined in: src/index.ts:1166