@massalabs/massa-web3
Version:
massa's web3 sdk client
136 lines • 4.24 kB
JavaScript
import { CHAIN_ID } from '../utils';
import { MRC20 } from './token';
export const MAINNET_TOKENS = {
USDCe: 'AS1hCJXjndR4c9vekLWsXGnrdigp4AaZ7uYG3UKFzzKnWVsrNLPJ',
USDTb: 'AS12LKs9txoSSy8JgFJgV96m8k5z9pgzjYMYSshwN67mFVuj3bdUV',
DAIe: 'AS1ZGF1upwp9kPRvDKLxFAKRebgg7b3RWDnhgV7VvdZkZsUL7Nuv',
WETHe: 'AS124vf3YfAJCSCQVYKczzuWWpXrximFpbTmX4rheLs5uNSftiiRY',
WETHb: 'AS125oPLYRTtfVjpWisPZVTLjBhCFfQ1jDsi75XNtRm1NZux54eCj',
PUR: 'AS133eqPPaPttJ6hJnk3sfoG5cjFFqBDi1VGxdo2wzWkq8AfZnan',
WMAS: 'AS12U4TZfNK7qoLyEERBBRDMu8nm5MKoRzPXDXans4v9wdATZedz9',
};
export const BUILDNET_TOKENS = {
DAIs: 'AS12LpYyAjYRJfYhyu7fkrS224gMdvFHVEeVWoeHZzMdhis7UZ3Eb',
WETHs: 'AS1gt69gqYD92dqPyE6DBRJ7KjpnQHqFzFs2YCkBcSnuxX5bGhBC',
USDCs: 'AS12k8viVmqPtRuXzCm6rKXjLgpQWqbuMjc37YHhB452KSUUb9FgL',
USDTbt: 'AS12ix1Qfpue7BB8q6mWVtjNdNE9UV3x4MaUo7WhdUubov8sJ3CuP',
WETHbt: 'AS12RmCXTA9NZaTBUBnRJuH66AGNmtEfEoqXKxLdmrTybS6GFJPFs',
WMAS: 'AS12FW5Rs5YN2zdpEnqwj4iHUUPt9R4Eqjq2qtpJFNKW3mn33RuLU',
};
export function checkNetwork(provider, isMainnet) {
provider.networkInfos().then((network) => {
if (isMainnet && network.chainId !== CHAIN_ID.Mainnet) {
console.warn('This contract is only available on mainnet');
}
else if (!isMainnet && network.chainId === CHAIN_ID.Mainnet) {
console.warn('This contract is only available on buildnet');
}
});
}
///////////////// MAINNET TOKENS //////////////////////
export class USDCe extends MRC20 {
provider;
constructor(provider) {
checkNetwork(provider, true);
super(provider, MAINNET_TOKENS.USDCe);
this.provider = provider;
}
}
export class USDTb extends MRC20 {
provider;
constructor(provider) {
checkNetwork(provider, true);
super(provider, MAINNET_TOKENS.USDTb);
this.provider = provider;
}
}
export class DAIe extends MRC20 {
provider;
constructor(provider) {
checkNetwork(provider, true);
super(provider, MAINNET_TOKENS.DAIe);
this.provider = provider;
}
}
export class WETHe extends MRC20 {
provider;
constructor(provider) {
checkNetwork(provider, true);
super(provider, MAINNET_TOKENS.WETHe);
this.provider = provider;
}
}
export class WETHb extends MRC20 {
provider;
constructor(provider) {
checkNetwork(provider, true);
super(provider, MAINNET_TOKENS.WETHb);
this.provider = provider;
}
}
export class PUR extends MRC20 {
provider;
constructor(provider) {
checkNetwork(provider, true);
super(provider, MAINNET_TOKENS.PUR);
this.provider = provider;
}
}
export class WMAS extends MRC20 {
provider;
constructor(provider) {
checkNetwork(provider, true);
super(provider, MAINNET_TOKENS.WMAS);
this.provider = provider;
}
}
///////////////// BUILDNET TOKENS //////////////////////
export class DAIs extends MRC20 {
provider;
constructor(provider) {
checkNetwork(provider, false);
super(provider, BUILDNET_TOKENS.DAIs);
this.provider = provider;
}
}
export class WETHs extends MRC20 {
provider;
constructor(provider) {
checkNetwork(provider, false);
super(provider, BUILDNET_TOKENS.WETHs);
this.provider = provider;
}
}
export class USDCs extends MRC20 {
provider;
constructor(provider) {
checkNetwork(provider, false);
super(provider, BUILDNET_TOKENS.USDCs);
this.provider = provider;
}
}
export class USDTbt extends MRC20 {
provider;
constructor(provider) {
checkNetwork(provider, false);
super(provider, BUILDNET_TOKENS.USDTbt);
this.provider = provider;
}
}
export class WETHbt extends MRC20 {
provider;
constructor(provider) {
checkNetwork(provider, false);
super(provider, BUILDNET_TOKENS.WETHbt);
this.provider = provider;
}
}
export class WMASBuildnet extends MRC20 {
provider;
constructor(provider) {
checkNetwork(provider, false);
super(provider, BUILDNET_TOKENS.WMAS);
this.provider = provider;
}
}
//# sourceMappingURL=tokens.js.map