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>
ウォレットのアカウントと残高情報などの情報が取得できる Can get the transactional history and other account information.
Required
- ウォレットに接続していること
- Requires the wallet to be connected.
Returns
Promise<WalletInfo>
import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = new MintSDK(...)
await sdk.connectWallet() // required
await sdk.getWalletInfo()
Defined in
Methods
addEthereumChain
▸ addEthereumChain(networkId): Promise<void>
指定したネットワークをウォレットに追加する 137 => Polygon本番ネットワーク 80001 => Polygonテストネットワーク
Adds a specified network to the wallet. 137 => Polygon production network 80001 => Polygon development / test network
Required sdk.isInjectedWallet() => trueの場合のみ(MetaMaskのみ使える)
Parameters
| Name | Type |
|---|---|
networkId | 80001 | 137 |
Returns
Promise<void>
import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = new MintSDK(...)
await sdk.connectWallet()
await sdk.addEthereumChain(137)
Defined in
connectWallet
▸ connectWallet(): Promise<void>
Connects to a wallet. MetaMask ans Torus are default provider. Others are optional. If a wallet is connected, it will return Resolve, otherwise will return Reject.
import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = new MintSDK(...)
await sdk.isWalletConnect() // false
await sdk.connectWallet()
await sdk.isWalletConnect() // true
Returns
Promise<void>
Defined in
createContractInstance
▸ createContractInstance(addressOrName, contractInterface, signerOrProvider): Promise<Contract>
Parameters
| Name | Type |
|---|---|
addressOrName | string |
contractInterface | ContractInterface |
signerOrProvider | undefined | Provider | Signer |
Returns
Promise<Contract>
Defined in
createStripePaymentIntent
▸ createStripePaymentIntent(arg): Promise<{ paymentIntentClientSecret: string = data.secret; stripe: null | Stripe }>
指定したItemをtoAddressが購入する処理を行う
この関数は、StripeのPaymentIntentを初期化するための clientSecret と、
Mintバックエンドと対応するAPIキーで初期化されたStripeを返す。
Stripeを使いユーザーにクレカ情報入力UIを実装し表示する
Parameters
| Name | Type |
|---|---|
arg | Object |
arg.itemId | string |
arg.residence | "jp" | "unknown" |
arg.toAddress | string |
Returns
Promise<{ paymentIntentClientSecret: string = data.secret; stripe: null | Stripe }>
import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = await MintSDK.initialize(...)
await sdk.connectWallet() // required
const {
paymentIntentClientSecret,
stripe,
} = await sdk.createStripePaymentIntent({itemId: 'item.itemId', toAddress: '0x000', residence: 'jp'})
// Implement UI
#### Defined in
[mint-sdk-js/src/index.ts:814](https://github.com/KyuzanInc/mint-sdk-js/blob/69c781a/src/index.ts#L814)
___
### getAccountInfo
▸ **getAccountInfo**(`arg`): `Promise`<``null`` \| { `avatarImageUrl`: `string` = response.data.data.avatarImageUrl; `profile`: [`WalletAddressProfile`](../interfaces/.WalletAddressProfile) = response.data.data.profile }\>
Returns the account information pertaining to the wallet such as display name or profile picture.
If there is nothing set, will return a blank string.
#### Parameters:
| Name | Type |
| :------------------ | :------- |
| `arg` | _object_ |
| `arg.walletAddress` | _string_ |
Returns [AccountInfo](../modules/#accountinfo)
```typescript
import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = new MintSDK(...)
await sdk.connectWallet()
const accountInfo = await sdk.getAccountInfo({ walletAddress: '0xxxxxxxx' })
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を取得する Returns the ItemStock that was sold to a certain wallet address
制限事項 / Restrictions
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 = new MintSDK(...)
const items = await sdk.getBoughtItemStocksByWalletAddress(...)
Defined in
getConnectedNetworkId
▸ getConnectedNetworkId(): Promise<number>
接続中のネットワークIDを返す Returns the connected network id.
Returns
Promise<number>
import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = new MintSDK(...)
await sdk.connectWallet()
await sdk.getConnectedNetworkId()
Defined in
getConnectedProvider
▸ getConnectedProvider(): Promise<Web3Provider>
接続されているProviderを返します
Required
- Requires the wallet to be connected.
Returns
Promise<Web3Provider>
import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = new MintSDK(...)
await sdk.connectWallet() // required
await sdk.getProvider()
Defined in
getContractERC721ById
▸ getContractERC721ById(arg): Promise<ContractERC721>
ContractERC721を取得する Get the ContractERC721
Parameters
| Name | Type |
|---|---|
arg | Object |
arg.contractId | string |
Returns
Promise<ContractERC721>
import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = new MintSDK(...)
const items = await sdk.getContractERC721ById(...)
Defined in
getItemById
▸ getItemById(itemId): Promise<Item>
商品をid指定でアイテムを取得 Returns the Item from the specified itemId.
Parameters
| Name | Type | Description |
|---|---|---|
itemId | string | {@link ResponseItem}のid |
Returns
Promise<Item>
import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = new MintSDK(...)
const item = await sdk.getItemById('item.id')
Defined in
getItemStockById
▸ getItemStockById(arg): Promise<ItemStock>
ItemStockを取得する Returns the ItemStock
制限事項 / Restrictions
- Itemが公開されていない場合は400
- If the Item is not public, it returns as 400
Parameters
| Name | Type |
|---|---|
arg | Object |
arg.itemStockId | string |
Returns
Promise<ItemStock>
import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = new MintSDK(...)
const items = await sdk.getItemStockById(...)
Defined in
getItemStocksByBidderAddress
▸ getItemStocksByBidderAddress(arg): Promise<ItemStock[]>
指定したアドレスがBidしたItemの一覧を取得 Returns all the bidded items ( as ItemStock ) that a certain address has done
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 = new MintSDK(...)
const item = await sdk.getItemsByBidderAddress('0x1111......')
Defined in
getItems
▸ getItems(__namedParameters): Promise<Item[]>
公開中の商品を取得
ステータスの変更は管理画面から行えます。
Returns the Items with the flag Items.openStatus === 'open'
The status of the items can be changed from the admin panel
制限事項 / Restrictions
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 = new MintSDK(...)
const items = await sdk.getItems(...)
Defined in
getProductERC721ById
▸ getProductERC721ById(id): Promise<ProductERC721>
id指定で製品を取得 Returns the ProductERC721 by the ID
Parameters
| Name | Type |
|---|---|
id | string |
Returns
Promise<ProductERC721>
import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = new MintSDK(...)
const item = await sdk.getProductERC721ById('id')
Defined in
getTokensByAddress
▸ getTokensByAddress(arg): Promise<TokenERC721[]>
指定したアドレスが所持しているMINT経由で獲得したトークンを取得 Returns the Tokens (NFT) that a certain address is holding through 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かどうかを判定 Validates if utilizing MetaMask.
Returns
boolean
trueならばMetaMask / Returns true if utilizing MetaMask.
import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = new MintSDK(...)
await sdk.isInjectedWallet() // true
Defined in
isWalletConnect
▸ isWalletConnect(): Promise<boolean>
有効なアカウントがあるの状態を返す Returns if an account is valid.
Returns
Promise<boolean>
ウォレットが接続されていればtrue
Defined in
onAccountsChange
▸ onAccountsChange(callback): void
アカウントが変更された際に呼び出される関数を設定できる Set a callback when the account has been changed.
Parameters
| Name | Type |
|---|---|
callback | (accounts: string[]) => any |
Returns
void
void
import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = new MintSDK(...)
sdk.onAccountsChange((accounts: string[]) => {
// some thing
})
Defined in
onChainChange
▸ onChainChange(callback): void
Set a callback when the connected chain is change.
Parameters
| Name | Type |
|---|---|
callback | (chainId: number) => any |
Returns
void
void
import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = new MintSDK(...)
sdk.onChainChangeConnect(() => {
// some thing
})
Defined in
onConnect
▸ onConnect(callback): void
ウォレットに接続した際に呼び出される関数を設定できる Set a callback when the wallet is connected.
Parameters
| Name | Type |
|---|---|
callback | () => any |
Returns
void
void
import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = new MintSDK(...)
sdk.onConnect(() => {
// some thing
})
Defined in
onDisconnect
▸ onDisconnect(callback): void
ウォレットから切断した際に呼び出される関数を設定できる Set a callback when the wallet is disconnected.
Parameters
| Name | Type |
|---|---|
callback | () => any |
Returns
void
void
import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = new MintSDK(...)
sdk.onDisconnect(() => {
// some thing
})
Defined in
openWallet
▸ openWallet(): Promise<void>
Open the connected wallet
Returns
Promise<void>
void
import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = new MintSDK(...)
sdk.openWallet()
Defined in
sendTxBid
▸ sendTxBid(itemId, bidPrice): Promise<undefined | TransactionResponse>
指定した金額でBidするトランザクションを発行
Bidする謹賀具の総額をbidPriceに指定する
Creates a transaction from the specified bid price.
The total amount of the bid is passed through the bidPrice argument.
Required
- ウォレットに接続していること
- Requires the wallet to be connected
Parameters
| Name | Type | Description |
|---|---|---|
itemId | string | ItemのitemId |
bidPrice | number | 単位はether / Unit is in ether |
Returns
Promise<undefined | TransactionResponse>
import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = new MintSDK(...)
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を合わせて実装必要 消費税に関する会計処理などがスムーズに行えます Creates a transaction for buying an Item at a fixed price. Requires a UI that asks for the users residence for accommodating for consumption tax purposes.
Required
- ウォレットに接続していること
- Requires a wallet to be connected.
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 = new MintSDK(...)
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を合わせて実装必要です。居住地を設定することで消費税に関する会計処理などがスムーズに行えます Transaction to get the winnning item after a successful auction Requires a UI that asks for the users residence for accommodating for consumption tax purposes.
Required
- ウォレットに接続していること
- Requires a wallet to be connected.
- 自動延長オークションは、
withdrawableAt以降に引き出し可能です - If automatic extension for the auction is enabled, withdrawing is only avaliable after
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 = new MintSDK(...)
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仕様で与えられたデータを署名します。 Sign the data, formatted as EIP-712
Required
- ウォレットに接続していること
- Requires a wallet to be connected.
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 = new MintSDK(...)
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を返します When the transaction is successful, it returns a Resolve.
Required
- Requires a wallet to be connected.
- ウォレットに接続していること
Parameters
| Name | Type | Description |
|---|---|---|
txHash | string | {@link ethers.providers.TransactionResponse}のhashプロパティ The hash property of @param txHash {@link ethers.providers.TransactionResponse} typescript import { MintSDK } from '@kyuzan/mint-sdk-js' const sdk = new MintSDK(...) 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と表示される価格)にフォーマットして返す Returns an BigNumber that is formatted as an ether.
Parameters
| Name | Type |
|---|---|
bg | BigNumber |
Returns
string
Ether単位でパースされたstring
Defined in
getOpenSeaURL
▸ Static getOpenSeaURL(__namedParameters): string
Return OpenSea Page URL
Parameters
| Name | Type |
|---|---|
__namedParameters | Object |
__namedParameters.contractAddress | string |
__namedParameters.networkId | NetworkId |
__namedParameters.tokenId | number |
Returns
string
string OpenSea URL
Defined in
getTransactionURL
▸ Static getTransactionURL(arg): string
Return Etherscan Page URL
Parameters
| Name | Type |
|---|---|
arg | Object |
arg.networkId | NetworkId |
arg.txHash | string |
Returns
string
string URL
Defined in
parseEther
▸ Static parseEther(ether): BigNumber
ether(通常のETHと表示される価格)をBigNumberとして返す Returns the ether price as a BigNumber.
Parameters
| Name | Type | Description |
|---|---|---|
ether | string | 通常のETHと表示されるもの |
Returns
BigNumber
etherをBigNumberとしてparseしたもの
Defined in
recoverySignData
▸ Static recoverySignData(arg): string
署名されたデータを復号してウォレットアドレスを返します。 返される文字列は小文字で返ってきます。 Decrypts the signed data and returns the wallet address. The string returned will be in lowercase.
Parameters
| Name | Type |
|---|---|
arg | Object |
arg.data | string |
arg.sig | string |
Returns
string
import { MintSDK } from '@kyuzan/mint-sdk-js'
const sdk = new MintSDK(...)
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")
}