Skip to main content

Constructors#

constructor#

+ new MintSDK(accessToken: string, networkIds: NetworkId[], walletSetting: WalletSetting, devOption?: { backendUrl?: string ; jsonRPCUrl?: string }): MintSDK

Parameters:#

NameType
accessTokenstring
networkIdsNetworkId[]
walletSettingWalletSetting
devOption?object
devOption.backendUrl?string
devOption.jsonRPCUrl?string

Returns: MintSDK

Defined in: src/index.ts:99

Properties#

getWalletInfo#

getWalletInfo: () => Promise<WalletInfo>

ウォレットのアカウントと残高情報などの情報が取得できる

Required

  • ウォレットに接続していること

returns

import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = await MintSDK.initialize(...)
await sdk.connectWallet() // required
await sdk.getWalletInfo()

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:#

NameType
networkId80001 | 137

Returns: Promise<void>

import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = MintSDK.initialize(...)
await sdk.connectWallet()
await sdk.addEthereumChain(137)

Defined in: src/index.ts:1203


connectWallet#

connectWallet(): Promise<void>

ウォレットに接続 MetamaskがインストールされているブラウザではMetamaskが、されていない場合はFortmaticに接続を行う ウォレットが接続されるとResolveされる ウォレット接続をキャンセルした場合は、Rejectされる

import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = await MintSDK.initialize(...)
await sdk.isWalletConnect() // false
await sdk.connectWallet()
await sdk.isWalletConnect() // true

Returns: Promise<void>

Defined in: src/index.ts:173


disconnectWallet#

disconnectWallet(): Promise<void>

ウォレットから切断 Fortmaticの場合、切断される MetaMaskが接続されている場合は何も実行されない

import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = await MintSDK.initialize(...)
await sdk.disconnectWallet()

Returns: Promise<void>

Defined in: src/index.ts:189


getAccountInfo#

getAccountInfo(arg: { walletAddress: string }): Promise<AccountInfo>

ユーザーのウォレットアドレスの画像や表示名を取得できる 設定されていない場合は、各項目空文字が入っています

Parameters:#

NameType
argobject
arg.walletAddressstring

Returns: Promise<AccountInfo>

import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = MintSDK.initialize(...)
await sdk.connectWallet()
const accountInfo = await sdk.getAccountInfo({ walletAddress: '0xxxxxxxx' })

Defined in: src/index.ts:943


getConnectedNetworkId#

getConnectedNetworkId(): Promise<number>

接続中のネットワークIDを返す

Returns: Promise<number>

import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = MintSDK.initialize(...)
await sdk.connectWallet()
await sdk.getConnectedNetworkId()

Defined in: src/index.ts:792


getItemById#

getItemById(itemId: string): Promise<Item>

ItemのitemId指定でアイテムを取得

Parameters:#

NameTypeDescription
itemIdstringItemのitemId

Returns: Promise<Item>

import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = await MintSDK.initialize(...)
const item = await sdk.getItemById('item.itemId')

Defined in: src/index.ts:357


getItemByToken#

getItemByToken(token: Token): Promise<Item>

Tokenに紐づいたItemを取得

Parameters:#

NameType
tokenToken

Returns: Promise<Item>

import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = await MintSDK.initialize(...)
const item = await sdk.getItemByToken(token)

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:#

NameTypeDefault valueDescription
itemIdstring-ItemのitemId
pagingobject--
paging.pagenumber1-
paging.perPagenumber30-

Returns: Promise<{ accountAddress: string ; createAt: Date ; price: number ; transactionHash: string ; type: ItemLogTypeEnum }[]>

import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = await MintSDK.initialize(...)
const item = await sdk.getItemLogs('Item.itemId')

Defined in: src/index.ts:401


getItemShippingInfo#

getItemShippingInfo(arg: { itemId: string }): Promise<InlineResponse2006>

物理アイテム付きのItemの入力された発送先情報を取得 {@link Items}セキュリティの観点から、ユーザーのSignが必要になります

Required

  • ウォレットに接続していること
  • ユーザーがItemtypenftWithPhysicalProductであること
  • Itemが引き出されている or 買われていること(Tokenになっていること)
  • ユーザーがItemphysicalOrderStatuswipまたはshipであること
  • ユーザーがTokenの所有者であること

Parameters:#

NameTypeDescription
argobjectitemId = ItemのitemI
arg.itemIdstring-

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:#

NameTypeDescription
__namedParametersobject-
__namedParameters.itemType?"nft" | "nftWithPhysicalProduct"-
__namedParameters.networkId?NetworkId[]指定しなければ、コンストラクターの値が使われます
__namedParameters.onSale?boolean
__namedParameters.pagenumberページ数。
__namedParameters.perPagenumber1ページあたりのアイテム数。 デフォルトは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[]>

import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = await MintSDK.initialize(...)
const items = await sdk.getItems({ onSale: true })

Defined in: src/index.ts:263


getItemsByBidderAddress#

getItemsByBidderAddress(address: string): Promise<Item[]>

指定したアドレスがBidしたItemの一覧を取得

Parameters:#

NameTypeDescription
addressstringウォレットのアドレス

Returns: Promise<Item[]>

import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = await MintSDK.initialize(...)
const item = await sdk.getItemsByBidderAddress('0x1111......')

Defined in: src/index.ts:334


getServerUnixTime#

getServerUnixTime(): Promise<number>

サーバーのUnixタイムを取得

Returns: Promise<number>

unix time (ms)

import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = MintSDK.initialize(...)
await sdk.connectWallet()
await sdk.getServerUnixTime() // ex) 1615444120104

Defined in: src/index.ts:735


getTokensByAddress#

getTokensByAddress(address: string): Promise<Token[]>

指定したアドレスが所持しているMINT経由で獲得したトークンを取得

Parameters:#

NameTypeDescription
addressstringWalletのアドレス

Returns: Promise<Token[]>

import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = await MintSDK.initialize(...
const tokens = await sdk.getTokensByAddress('0x11111...')

Defined in: src/index.ts:433


isCorrectNetwork#

isCorrectNetwork(): Promise<boolean>

適切なネットワークかを判定

Returns: Promise<boolean>

trueならば適切なネットワーク

import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = MintSDK.initialize(...)
await sdk.isCorrectNetwork() // true

Defined in: src/index.ts:768


isInjectedWallet#

isInjectedWallet(): boolean

MetaMaskかどうかを判定

Returns: boolean

trueならばMetaMask

import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = MintSDK.initialize(...)
await sdk.isInjectedWallet() // true

Defined in: src/index.ts:752


isWalletConnect#

isWalletConnect(): Promise<boolean>

有効なアカウントがあるの状態を返す

Returns: Promise<boolean>

ウォレットが接続されていればtrue

import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = await MintSDK.initialize(...)
await sdk.isWalletConnect()

Defined in: src/index.ts:155


onAccountsChange#

onAccountsChange(callback: (accounts: string[]) => any): void

アカウントが変更された際に呼び出される関数を設定できる

Parameters:#

NameType
callback(accounts: string[]) => any

Returns: void

void

import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = await MintSDK.initialize(...)
sdk.onAccountsChange((accounts: string[]) => {
// some thing
})

Defined in: src/index.ts:661


onConnect#

onConnect(callback: () => any): void

ウォレットに接続した際に呼び出される関数を設定できる

Parameters:#

NameType
callback() => any

Returns: void

void

import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = await MintSDK.initialize(...)
sdk.onConnect(() => {
// some thing
})

Defined in: src/index.ts:686


onDisconnect#

onDisconnect(callback: () => any): void

ウォレットから切断した際に呼び出される関数を設定できる

Parameters:#

NameType
callback() => any

Returns: void

void

import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = await MintSDK.initialize(...)
sdk.onDisconnect(() => {
// some thing
})

Defined in: src/index.ts:711


registerItemShippingInfo#

registerItemShippingInfo(arg: { itemId: string ; shippingInfo: Omit<RegisterItemShippingInfoRequestBody, "tokenId" | "signedData" | "chainType" | "networkId" | "contractAddress"> }): Promise<void>

物理アイテム付きのItemの発送先情報を登録 ユーザーに配送先情報を入力してもらうフォームなどを用意して使ってください

Required

  • ウォレットに接続していること
  • ユーザーがItemtypenftWithPhysicalProductであること
  • Itemが引き出されている or 買われていること(Tokenになっていること)
  • ユーザーがItemphysicalOrderStatusshippingInfoIsBlankであること
  • ユーザーがTokenの所有者であること

Parameters:#

NameTypeDescription
argobjectitemId = ItemのitemId, shippingInfo = 配送先情報
arg.itemIdstring-
arg.shippingInfoOmit<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:#

NameTypeDescription
itemIdstringItemのitemId
bidPricenumber単位はether

Returns: Promise<TransactionResponse>

import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = await MintSDK.initialize(...)
await sdk.connectWallet() // required
try {
const tx = await sdk.sendTxBid('item.itemId', 2)
// show loading
await tx.wait()
// success transaction
} catch (err) {
// display error message
}

Defined in: src/index.ts:468


sendTxBuyItem#

sendTxBuyItem(itemId: string, userResidence?: "unknown" | "jp"): Promise<TransactionResponse>

FixedPriceのアイテムを購入するトランザクションを発行 ユーザーの居住地を問うUIを合わせて実装必要 消費税に関する会計処理などがスムーズに行えます

Required

  • ウォレットに接続していること

Parameters:#

NameTypeDefault valueDescription
itemIdstring-ItemのitemId
userResidence"unknown" | "jp"'unknown'Residence 購入者の居住地を指定する

Returns: Promise<TransactionResponse>

import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = await MintSDK.initialize(...)
await sdk.connectWallet() // required
try {
const tx = await sdk.sendTxBuyItem('item.itemId', 'jp')
// show loading
await tx.wait()
// success transaction
} catch (err) {
// display error message
}

Defined in: src/index.ts:597


sendTxMakeSuccessfulBid#

sendTxMakeSuccessfulBid(itemId: string, userResidence?: "unknown" | "jp"): Promise<TransactionResponse>

オークションで勝利したアイテムを引き出すトランザクションを発行 ユーザーの居住地を問うUIを合わせて実装必要です。居住地を設定することで消費税に関する会計処理などがスムーズに行えます

Required

  • ウォレットに接続していること
  • 自動延長オークションは、withdrawableAt以降に引き出し可能です

Parameters:#

NameTypeDefault valueDescription
itemIdstring-ItemのitemId
userResidence"unknown" | "jp"'unknown'Residence 購入者の居住地を指定する

Returns: Promise<TransactionResponse>

import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = await MintSDK.initialize(...)
await sdk.connectWallet() // required
try {
const tx = await sdk.sendTxMakeSuccessfulBid('item.itemId', 'jp')
// show loading
await tx.wait()
// success transaction
} catch (err) {
// display error message
}

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:#

NameType
argobject
arg.domainTypedDataDomain
arg.typesRecord<string, TypedDataField[]>
arg.valueRecord<string, any>

Returns: Promise<{ data: string ; sig: string }>

import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = MintSDK.initialize(...)
const arg = {
domain: {name: "Member"},
types: {Person: [ { name: 'name', type: 'string'}]},
value: { Man: { name: 'Tom'}}
}
const { data, sig } = await sdk.signTypedData(arg)

Defined in: src/index.ts:1119


updateAccountInfo#

updateAccountInfo(arg: { avatarImgId: string ; bio: string ; displayName: string ; homepageUrl: string ; instagramAccountName: string ; twitterAccountName: string }): Promise<void>

ユーザーのウォレットアドレスの画像や表示名を設定できる 全ての項目は optionalです。設定しない場合は空文字を入れてください avatarImgIdsdk.uploadImgの返り値です

Required

  • ウォレットに接続していること

Parameters:#

NameType
argobject
arg.avatarImgIdstring
arg.biostring
arg.displayNamestring
arg.homepageUrlstring
arg.instagramAccountNamestring
arg.twitterAccountNamestring

Returns: Promise<void>

import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = MintSDK.initialize(...)
await sdk.connectWallet()
const imgId = await sdk.uploadAvatarImg()
await sdk.updateAccountInfo({ imgId, .... })

Defined in: src/index.ts:972


uploadAccountInfoAvatar#

uploadAccountInfoAvatar(arg: { file: File }): Promise<{ imgId: string ; uploadedImgUrl: string }>

sdk.updateAccountInfoの引数のimgIdを取得できる uploadedImgUrlはアップロードされた画像のRead用のURLです。

Required

  • ウォレットに接続していること

Parameters:#

NameType
argobject
arg.fileFile

Returns: Promise<{ imgId: string ; uploadedImgUrl: string }>

import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = MintSDK.initialize(...)
await sdk.connectWallet()
const { imgId, uploadedImgUrl } = await sdk.uploadAccountInfoAvatar({ file })

Defined in: src/index.ts:1047


waitForTransaction#

waitForTransaction(txHash: string): Promise<void>

Transactionが成功するとResolveするPromiseを返します

Required

  • ウォレットに接続していること

Parameters:#

NameTypeDescription
txHashstring{@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:#

NameType
bgBigNumber

Returns: string

Ether単位でパースされたstring

import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = await MintSDK.initialize(...)
await sdk.connectWallet() // required
const walletInfo = await sdk.getWalletInfo()
MintSDK.formatEther(walletInfo.balance) // 3.2

Defined in: src/index.ts:85


parseEther#

StaticparseEther(ether: string): BigNumber

ether(通常のETHと表示される価格)をBigNumberとして返す

Parameters:#

NameTypeDescription
etherstring通常のETHと表示されるもの

Returns: BigNumber

etherをBigNumberとしてparseしたもの

import { MintSDK } from '@kyuzan/mint-sdk-js'
MintSDK.parseEther('3.2') // BigNumber

Defined in: src/index.ts:66


recoverySignData#

StaticrecoverySignData(arg: { data: string ; sig: string }): string

署名されたデータを復号してウォレットアドレスを返します。 返される文字列は小文字で返ってきます。

Parameters:#

NameType
argobject
arg.datastring
arg.sigstring

Returns: string

import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = MintSDK.initialize(...)
const { address } = await this.getWalletInfo()
const { data, sig } = await sdk.signTypedData(arg)
const recoverdAddress = MintSDK.recoverdSignData({data, sig})
if(address.toLowerCase() === recoverdAddress){
console.log("success")
}

Defined in: src/index.ts:1166