Skip to content

Commit e68ed11

Browse files
committed
feat(factory): added token factory contract
1 parent c77c041 commit e68ed11

File tree

1 file changed

+37
-0
lines changed
  • templates/hyperweb/src/token-factory

1 file changed

+37
-0
lines changed

Diff for: templates/hyperweb/src/token-factory/index.ts

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
// @ts-ignore
2+
import { createDenom, mintTokens, burnTokens } from '@hyperweb/token';
3+
// @ts-ignore
4+
import { getBalance } from '@hyperweb/bank';
5+
6+
export default class Contract {
7+
private msg: { sender: string };
8+
constructor() { }
9+
10+
createDenom({ denom }: { denom: string }) {
11+
console.log("denom:", denom);
12+
const token = createDenom(this.msg.sender, denom);
13+
console.log("created token:", token);
14+
return token;
15+
}
16+
17+
mintTokens({ denom, amount }: { denom: string; amount: number }) {
18+
console.log("minting tokens:", amount, "of", denom);
19+
const minted = mintTokens(this.msg.sender, denom, amount);
20+
console.log("minted:", minted);
21+
return minted;
22+
}
23+
24+
burnTokens({ denom, amount }: { denom: string; amount: number }) {
25+
console.log("burning tokens:", amount, "of", denom);
26+
const burned = burnTokens(this.msg.sender, denom, amount);
27+
console.log("burned:", burned);
28+
return burned;
29+
}
30+
31+
getBalance({ address, denom }: { address: string; denom: string }) {
32+
console.log("checking balance for address:", address, "denom:", denom);
33+
const balance = getBalance(address, denom);
34+
console.log("balance:", balance.amount);
35+
return balance.amount;
36+
}
37+
}

0 commit comments

Comments
 (0)