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")
}