Class: MintSDK
index.MintSDK
Constructors
constructor
• new MintSDK(accessToken, walletSetting, devOption?)
Parameters
| Name | Type |
|---|---|
accessToken | string |
walletSetting | WalletSetting |
devOption? | Object |
devOption.backendUrl? | string |
devOption.jsonRPCUrl? | string |
Defined in
Properties
getWalletInfo
• getWalletInfo: () => Promise<WalletInfo>
Type declaration
▸ (): Promise<WalletInfo>
ウォレットのアカウントと残高情報などの情報が取得できる
Required
- ウォレットに接続していること
Returns
Promise<WalletInfo>
import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = await MintSDK.initialize(...)
await sdk.connectWallet() // required
await sdk.getWalletInfo()
Defined in
walletStrategy
• Private walletStrategy: WalletStrategy
Defined in
Methods
addEthereumChain
▸ addEthereumChain(networkId): Promise<void>
指定したネットワークをウォレットに追加する 137 => Polygon本番ネットワーク 80001 => Polygonテストネットワーク
Required sdk.isInjectedWallet() => trueの場合のみ(MetaMaskのみ使える)
Parameters
| Name | Type |
|---|---|
networkId | 137 | 80001 |
Returns
Promise<void>
import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = MintSDK.initialize(...)
await sdk.connectWallet()
await sdk.addEthereumChain(137)
Defined in
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
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
getAccountInfo
▸ getAccountInfo(arg): Promise<null | { avatarImageUrl: string = response.data.data.avatarImageUrl; profile: WalletAddressProfile = response.data.data.profile }>
Parameters
| Name | Type |
|---|---|
arg | Object |
arg.walletAddress | string |
Returns
Promise<null | { avatarImageUrl: string = response.data.data.avatarImageUrl; profile: WalletAddressProfile = response.data.data.profile }>
Defined in
getBoughtItemStocksByWalletAddress
▸ getBoughtItemStocksByWalletAddress(arg): Promise<ItemStock[]>
指定したwalletAddressで購入または落札したItemStockを取得する
制限事項
Parameters
| Name | Type |
|---|---|
arg | Object |
arg.page | number |
arg.perPage | number |
arg.sort? | Object |
arg.sort.sortBy | "price" | "createAt" |
arg.sort.sortDirection | "asc" | "desc" |
arg.walletAddress | string |
Returns
Promise<ItemStock[]>
import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = await MintSDK.initialize(...)
const items = await sdk.getBoughtItemStocksByWalletAddress(...)
Defined in
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
getContractERC721ById
▸ getContractERC721ById(arg): Promise<ContractERC721>
ContractERC721を取得する
Parameters
| Name | Type |
|---|---|
arg | Object |
arg.contractId | string |
Returns
Promise<ContractERC721>
import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = await MintSDK.initialize(...)
const items = await sdk.getContractERC721ById(...)
Defined in
getItemById
▸ getItemById(itemId): Promise<Item>
商品をid指定でアイテムを取得
Parameters
| Name | Type | Description |
|---|---|---|
itemId | string | {@link ResponseItem}のid |
Returns
Promise<Item>
import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = await MintSDK.initialize(...)
const item = await sdk.getItemById('item.id')
Defined in
getItemStockById
▸ getItemStockById(arg): Promise<ItemStock>
ItemStockを取得する
制限事項
- Itemが公開されていない場合は400
Parameters
| Name | Type |
|---|---|
arg | Object |
arg.itemStockId | string |
Returns
Promise<ItemStock>
import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = await MintSDK.initialize(...)
const items = await sdk.getItemStockById(...)
Defined in
getItemStocksByBidderAddress
▸ getItemStocksByBidderAddress(arg): Promise<ItemStock[]>
指定したアドレスがBidしたItemの一覧を取得
Parameters
| Name | Type |
|---|---|
arg | Object |
arg.onlyBeforeEnd? | boolean |
arg.page | number |
arg.perPage | number |
arg.sort? | Object |
arg.sort.sortBy | "price" | "endAt" |
arg.sort.sortDirection | "asc" | "desc" |
arg.walletAddress | string |
Returns
Promise<ItemStock[]>
import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = await MintSDK.initialize(...)
const item = await sdk.getItemsByBidderAddress('0x1111......')
Defined in
getItems
▸ getItems(__namedParameters): Promise<Item[]>
公開中の商品を取得 ステータスの変更は管理画面から行えます。
制限事項
Parameters
| Name | Type |
|---|---|
__namedParameters | Object |
__namedParameters.onlyAvailableStock? | boolean |
__namedParameters.page | number |
__namedParameters.paymentMethod? | "ethereum-contract-erc721-shop-fixed-price" | "ethereum-contract-erc721-shop-auction" | "credit-card-stripe-fixed-price" |
__namedParameters.perPage | number |
__namedParameters.saleStatus? | "beforeStart" | "beforeEnd" | "afterEnd" |
__namedParameters.sort? | Object |
__namedParameters.sort.sortBy | "price" |
__namedParameters.sort.sortDirection | "asc" | "desc" |
__namedParameters.tags? | string |
Returns
Promise<Item[]>
import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = await MintSDK.initialize(...)
const items = await sdk.getItems(...)
Defined in
getProductERC721ById
▸ getProductERC721ById(id): Promise<ProductERC721>
id指定で製品を取得
Parameters
| Name | Type |
|---|---|
id | string |
Returns
Promise<ProductERC721>
import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = await MintSDK.initialize(...)
const item = await sdk.getProductERC721ById('id')
Defined in
getTokensByAddress
▸ getTokensByAddress(arg): Promise<TokenERC721[]>
指定したアドレスが所持しているMINT経由で獲得したトークンを取得
Parameters
| Name | Type |
|---|---|
arg | Object |
arg.page | number |
arg.perPage | number |
arg.walletAddress | string |
Returns
Promise<TokenERC721[]>
import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = await MintSDK.initialize(...
const tokens = await sdk.getTokensByAddress('0x11111...')
Defined in
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
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
onAccountsChange
▸ onAccountsChange(callback): void
アカウントが変更された際に呼び出される関数を設定できる
Parameters
| Name | Type |
|---|---|
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
onConnect
▸ onConnect(callback): void
ウォレットに接続した際に呼び出される関数を設定できる
Parameters
| Name | Type |
|---|---|
callback | () => any |
Returns
void
void
import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = await MintSDK.initialize(...)
sdk.onConnect(() => {
// some thing
})
Defined in
onDisconnect
▸ onDisconnect(callback): void
ウォレットから切断した際に呼び出される関数を設定できる
Parameters
| Name | Type |
|---|---|
callback | () => any |
Returns
void
void
import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = await MintSDK.initialize(...)
sdk.onDisconnect(() => {
// some thing
})
Defined in
sendTxBid
▸ sendTxBid(itemId, bidPrice): Promise<undefined | TransactionResponse>
指定した金額でBidするトランザクションを発行
Bidする謹賀具の総額をbidPriceに指定する
Required
- ウォレットに接続していること
Parameters
| Name | Type | Description |
|---|---|---|
itemId | string | ItemのitemId |
bidPrice | number | 単位はether |
Returns
Promise<undefined | 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
sendTxBuyItem
▸ sendTxBuyItem(itemId, residence?): Promise<TransactionResponse>
FixedPriceのアイテムを購入するトランザクションを発行 ユーザーの居住地を問うUIを合わせて実装必要 消費税に関する会計処理などがスムーズに行えます
Required
- ウォレットに接続していること
Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
itemId | string | undefined | ItemのitemId |
residence | "jp" | "unknown" | 'unknown' | - |
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
sendTxMakeSuccessfulBid
▸ sendTxMakeSuccessfulBid(itemId, residence?): Promise<undefined | TransactionResponse>
オークションで勝利したアイテムを引き出すトランザクションを発行 ユーザーの居住地を問うUIを合わせて実装必要です。居住地を設定することで消費税に関する会計処理などがスムーズに行えます
Required
- ウォレットに接続していること
- 自動延長オークションは、
withdrawableAt以降に引き出し可能です
Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
itemId | string | undefined | ItemのitemId |
residence | "jp" | "unknown" | 'unknown' | - |
Returns
Promise<undefined | 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
signTypedData
▸ signTypedData(arg): Promise<{ data: string = signData; sig: string = signature }>
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 = signData; sig: string = signature }>
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
updateAccountInfo
▸ updateAccountInfo(arg): Promise<void>
Parameters
| Name | Type |
|---|---|
arg | Object |
arg.avatarImageId | string |
arg.bio | string |
arg.displayName | string |
arg.homepageUrl | string |
arg.instagramAccountName | string |
arg.twitterAccountName | string |
Returns
Promise<void>
Defined in
uploadAccountInfoAvatar
▸ uploadAccountInfoAvatar(arg): Promise<undefined | { imgId: string = response.data.data.imageId; uploadedImgUrl: string = response.data.data.readSignedUrl }>
Parameters
| Name | Type |
|---|---|
arg | Object |
arg.file | File |
Returns
Promise<undefined | { imgId: string = response.data.data.imageId; uploadedImgUrl: string = response.data.data.readSignedUrl }>
Defined in
waitForTransaction
▸ waitForTransaction(txHash): 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
formatEther
▸ Static formatEther(bg): string
BigNumberをether(通常のETHと表示される価格)にフォーマットして返す
Parameters
| Name | Type |
|---|---|
bg | BigNumber |
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
parseEther
▸ Static parseEther(ether): BigNumber
ether(通常のETHと表示される価格)をBigNumberとして返す
Parameters
| Name | Type | Description |
|---|---|---|
ether | string | 通常のETHと表示されるもの |
Returns
BigNumber
etherをBigNumberとしてparseしたもの
import { MintSDK } from '@kyuzan/mint-sdk-js'
MintSDK.parseEther('3.2') // BigNumber
Defined in
recoverySignData
▸ Static recoverySignData(arg): string
署名されたデータを復号してウォレットアドレスを返します。 返される文字列は小文字で返ってきます。
Parameters
| Name | Type |
|---|---|
arg | Object |
arg.data | string |
arg.sig | string |
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")
}