Skip to main content

jwt


getSignContentByAddressAndPlatform()

getSignContentByAddressAndPlatform(address: string, platform: string): Promise<string>;

params for getSignContentByAddressAndPlatform method

PropertiesTypeValueDefaultDescriptionRequired
platformstringtwitter,
discord,
opensea,
swapchat
noThe platform
that will use
the sdk,
currently supports
twitter,
discord,
opensea,
swapchat
yes
addressstringMataMask addressnoMataMask addressyes

getTokenAfterSign()

getTokenAfterSign(signResult: string, address: string, signContent: string, userAvatar?: string): Promise<string | undefined>;

params for the getTokenAfterSign method

PropertiesTypeValueDefaultDescriptionRequired
signResultstringnothe return value of MetaMask personal_sign Method requestyes
addressstringMataMask addressnoMataMask addressyes
signContentstringthe return value from getSignContentByAddressAndPlatform methodnothe return value from getSignContentByAddressAndPlatform methodyes

Usage

import SwapChatSdk from 'swap-chat-js';

const onClickHandle = async () => {
let accountResult = await SwapChatSdk.getEthAccount();
if (!accountResult.address) {
return;
}
console.log('accountResult', accountResult);
let signContent = await SwapChatSdk.getSignContentByAddressAndPlatform(
accountResult.address,
'swapChat',
);
console.log('signContent', signContent);
const signature = await window.ethereum.request({
method: 'personal_sign',
params: [signContent, accountResult.address, 'swapchat'],
});
let token = await SwapChatSdk.getTokenAfterSign(
signature,
accountResult.address,
signContent,
);
console.log('token', token);
};

Using in react

import SwapChatSdk from 'swap-chat-js';
import react from "react";
function App() {
const const onClickHandle = async () => {
let accountResult = await SwapChatSdk.getEthAccount();
if (!accountResult.address) {
return;
}
console.log('accountResult', accountResult);
let signContent = await SwapChatSdk.getSignContentByAddressAndPlatform(
accountResult.address,
'swapChat',
);
console.log('signContent', signContent);
const signature = await window.ethereum.request({
method: 'personal_sign',
params: [signContent, accountResult.address, 'swapchat'],
});
let token = await SwapChatSdk.getTokenAfterSign(
signature,
accountResult.address,
signContent,
);
console.log('token', token);
};
return (
<div className="App">
<button onClick={onClickHandle}>get token</button>
</div>
);
}

export default App;

Using in vue

<template>
<div class="hello">
<button @click="onClickHandle">get token</button>
</div>
</template>
<script>
import { getCurrentInstance} from 'vue';
import SwapChatSdk from 'swap-chat-js'
export default {
name: 'HelloWorld',
props: {
msg: String
},
methods: {
async onClickHandle(event) {
let accountResult = await SwapChatSdk.getEthAccount();
if (!accountResult.address) {
return;
}
console.log('accountResult', accountResult);
let signContent = await SwapChatSdk.getSignContentByAddressAndPlatform(
accountResult.address,
'swapChat',
);
console.log('signContent', signContent);
const signature = await window.ethereum.request({
method: 'personal_sign',
params: [signContent, accountResult.address, 'swapchat'],
});
let token = await SwapChatSdk.getTokenAfterSign(
signature,
accountResult.address,
signContent,
);
console.log('token', token);

}
}
}
</script>