@buildonspark/issuer-sdk 0.0.7 → 0.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/interface/wallet-interface.d.ts +64 -0
- package/dist/interface/wallet-interface.js +2 -0
- package/dist/interface/wallet-interface.js.map +1 -0
- package/dist/issuer-sdk.d.ts +28 -47
- package/dist/issuer-sdk.js +69 -117
- package/dist/issuer-sdk.js.map +1 -1
- package/dist/services/create.d.ts +1 -0
- package/dist/services/create.js +41 -0
- package/dist/services/create.js.map +1 -0
- package/dist/services/spark/wallet.d.ts +2 -1
- package/dist/services/spark/wallet.js +5 -13
- package/dist/services/spark/wallet.js.map +1 -1
- package/dist/services/token-transactions.d.ts +8 -0
- package/dist/services/token-transactions.js +27 -0
- package/dist/services/token-transactions.js.map +1 -0
- package/dist/tests/integration/spark.test.js +153 -34
- package/dist/tests/integration/spark.test.js.map +1 -1
- package/dist/utils/constants.d.ts +6 -6
- package/dist/utils/constants.js +6 -6
- package/dist/utils/constants.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { LeafWithPreviousTransactionData } from "@buildonspark/spark-sdk/proto/spark";
|
|
2
|
+
import { QueryAllTransfersResponse, Transfer } from "@buildonspark/spark-sdk/proto/spark";
|
|
3
|
+
import { CreateLightningInvoiceParams, PayLightningInvoiceParams, InitWalletResponse } from "@buildonspark/spark-sdk";
|
|
4
|
+
import { LRCWallet } from "@buildonspark/lrc20-sdk";
|
|
5
|
+
/**
|
|
6
|
+
* Interface for the IssuerSparkWallet that includes all functions from both SparkWallet and IssuerSparkWallet
|
|
7
|
+
*/
|
|
8
|
+
export interface IssuerWalletInterface {
|
|
9
|
+
getIdentityPublicKey(): Promise<string>;
|
|
10
|
+
getSparkAddress(): Promise<string>;
|
|
11
|
+
initWallet(mnemonicOrSeed?: Uint8Array | string): Promise<InitWalletResponse>;
|
|
12
|
+
getAllTransfers(limit?: number, offset?: number): Promise<QueryAllTransfersResponse>;
|
|
13
|
+
getBalance(forceRefetch?: boolean): Promise<{
|
|
14
|
+
balance: bigint;
|
|
15
|
+
tokenBalances: Map<string, {
|
|
16
|
+
balance: bigint;
|
|
17
|
+
}>;
|
|
18
|
+
}>;
|
|
19
|
+
getDepositAddress(): Promise<string>;
|
|
20
|
+
sendSparkTransfer(params: {
|
|
21
|
+
receiverSparkAddress: string;
|
|
22
|
+
amountSats: number;
|
|
23
|
+
}): Promise<Transfer | string>;
|
|
24
|
+
refreshTimelockNodes(nodeId?: string): Promise<void>;
|
|
25
|
+
createLightningInvoice(params: CreateLightningInvoiceParams): Promise<string | {
|
|
26
|
+
invoice: string;
|
|
27
|
+
paymentHash: string;
|
|
28
|
+
}>;
|
|
29
|
+
payLightningInvoice(params: PayLightningInvoiceParams): Promise<any>;
|
|
30
|
+
withdraw(params: {
|
|
31
|
+
onchainAddress: string;
|
|
32
|
+
targetAmountSats?: number;
|
|
33
|
+
}): Promise<any>;
|
|
34
|
+
transferTokens(params: {
|
|
35
|
+
tokenPublicKey: string;
|
|
36
|
+
tokenAmount: bigint;
|
|
37
|
+
receiverSparkAddress: string;
|
|
38
|
+
selectedLeaves?: LeafWithPreviousTransactionData[];
|
|
39
|
+
}): Promise<string>;
|
|
40
|
+
getIssuerTokenBalance(): Promise<{
|
|
41
|
+
balance: bigint;
|
|
42
|
+
}>;
|
|
43
|
+
mintTokens(tokenAmount: bigint): Promise<string>;
|
|
44
|
+
burnTokens(tokenAmount: bigint, selectedLeaves?: LeafWithPreviousTransactionData[]): Promise<string>;
|
|
45
|
+
freezeTokens(ownerPublicKey: string): Promise<{
|
|
46
|
+
impactedLeafIds: string[];
|
|
47
|
+
impactedTokenAmount: bigint;
|
|
48
|
+
}>;
|
|
49
|
+
unfreezeTokens(ownerPublicKey: string): Promise<{
|
|
50
|
+
impactedLeafIds: string[];
|
|
51
|
+
impactedTokenAmount: bigint;
|
|
52
|
+
}>;
|
|
53
|
+
announceTokenL1(params: {
|
|
54
|
+
lrc20Wallet: LRCWallet;
|
|
55
|
+
tokenName: string;
|
|
56
|
+
tokenTicker: string;
|
|
57
|
+
decimals: number;
|
|
58
|
+
maxSupply: bigint;
|
|
59
|
+
isFreezable: boolean;
|
|
60
|
+
feeRateSatsPerVb?: number;
|
|
61
|
+
}): Promise<string>;
|
|
62
|
+
mintTokensL1(tokenAmount: bigint): Promise<string>;
|
|
63
|
+
transferTokensL1(tokenAmount: bigint, p2trAddress: string): Promise<string>;
|
|
64
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wallet-interface.js","sourceRoot":"","sources":["../../src/interface/wallet-interface.ts"],"names":[],"mappings":""}
|
package/dist/issuer-sdk.d.ts
CHANGED
|
@@ -1,56 +1,37 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
isL1Initialized(): boolean;
|
|
15
|
-
getTokenPublicKey(): Promise<string>;
|
|
16
|
-
/**
|
|
17
|
-
* Gets token balance and number of held leaves.
|
|
18
|
-
* @returns An object containing the token balance and the number of owned leaves
|
|
19
|
-
*/
|
|
20
|
-
getBalance(): Promise<{
|
|
1
|
+
import { TokenPubkeyInfo } from "@buildonspark/lrc20-sdk";
|
|
2
|
+
import { SparkWallet } from "@buildonspark/spark-sdk";
|
|
3
|
+
import { LeafWithPreviousTransactionData } from "@buildonspark/spark-sdk/proto/spark";
|
|
4
|
+
import { WalletConfig } from "@buildonspark/spark-sdk/services/config";
|
|
5
|
+
import { SparkSigner } from "@buildonspark/spark-sdk/signer";
|
|
6
|
+
import { NetworkType as SparkNetworkType } from "@buildonspark/spark-sdk/utils";
|
|
7
|
+
import { IssuerWalletInterface } from "./interface/wallet-interface.js";
|
|
8
|
+
export declare class IssuerSparkWallet extends SparkWallet implements IssuerWalletInterface {
|
|
9
|
+
private issuerTokenTransactionService;
|
|
10
|
+
private tokenFreezeService;
|
|
11
|
+
private tokenPublicKeyInfo?;
|
|
12
|
+
constructor(network: SparkNetworkType, privateKey: string, signer?: SparkSigner, config?: WalletConfig);
|
|
13
|
+
getIssuerTokenBalance(): Promise<{
|
|
21
14
|
balance: bigint;
|
|
22
15
|
}>;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
*/
|
|
27
|
-
mintTokens(amountToMint: bigint): Promise<string>;
|
|
28
|
-
/**
|
|
29
|
-
* Transfers tokens to the specified receipient.
|
|
30
|
-
*/
|
|
31
|
-
transferTokens(amountToTransfer: bigint, receiverSparkAddress: string): Promise<string>;
|
|
32
|
-
/**
|
|
33
|
-
* Burns issuer tokens at the specified receipient.
|
|
34
|
-
*/
|
|
35
|
-
burnTokens(amountToBurn: bigint): Promise<string>;
|
|
36
|
-
/**
|
|
37
|
-
* Freezes tokens at the specified public key.
|
|
38
|
-
*/
|
|
39
|
-
freezeTokens(freezePublicKey: string): Promise<{
|
|
16
|
+
mintTokens(tokenAmount: bigint): Promise<string>;
|
|
17
|
+
burnTokens(tokenAmount: bigint, selectedLeaves?: LeafWithPreviousTransactionData[]): Promise<string>;
|
|
18
|
+
freezeTokens(ownerPublicKey: string): Promise<{
|
|
40
19
|
impactedLeafIds: string[];
|
|
41
20
|
impactedTokenAmount: bigint;
|
|
42
21
|
}>;
|
|
43
|
-
|
|
44
|
-
* Unfreezes tokens at the specified public key.
|
|
45
|
-
*/
|
|
46
|
-
unfreezeTokens(unfreezePublicKey: string): Promise<{
|
|
22
|
+
unfreezeTokens(ownerPublicKey: string): Promise<{
|
|
47
23
|
impactedLeafIds: string[];
|
|
48
24
|
impactedTokenAmount: bigint;
|
|
49
25
|
}>;
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
26
|
+
announceTokenL1({ tokenName, tokenTicker, decimals, maxSupply, isFreezable, feeRateSatsPerVb, }: {
|
|
27
|
+
tokenName: any;
|
|
28
|
+
tokenTicker: any;
|
|
29
|
+
decimals: any;
|
|
30
|
+
maxSupply: any;
|
|
31
|
+
isFreezable: any;
|
|
32
|
+
feeRateSatsPerVb?: number | undefined;
|
|
33
|
+
}): Promise<string>;
|
|
34
|
+
mintTokensL1(tokenAmount: bigint): Promise<string>;
|
|
35
|
+
transferTokensL1(tokenAmount: bigint, p2trAddress: string): Promise<string>;
|
|
36
|
+
getTokenPublicKeyInfo(): Promise<TokenPubkeyInfo>;
|
|
56
37
|
}
|
package/dist/issuer-sdk.js
CHANGED
|
@@ -1,73 +1,24 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
export class
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
network
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
this.
|
|
1
|
+
import { LRCWallet, NetworkType, TokenPubkey, TokenPubkeyAnnouncement, } from "@buildonspark/lrc20-sdk";
|
|
2
|
+
import { SparkWallet } from "@buildonspark/spark-sdk";
|
|
3
|
+
import { bytesToHex, bytesToNumberBE, hexToBytes, } from "@noble/curves/abstract/utils";
|
|
4
|
+
import { networks } from "bitcoinjs-lib";
|
|
5
|
+
import { TokenFreezeService } from "./services/freeze.js";
|
|
6
|
+
import { IssuerTokenTransactionService } from "./services/token-transactions.js";
|
|
7
|
+
const BURN_ADDRESS = "02".repeat(32);
|
|
8
|
+
export class IssuerSparkWallet extends SparkWallet {
|
|
9
|
+
issuerTokenTransactionService;
|
|
10
|
+
tokenFreezeService;
|
|
11
|
+
tokenPublicKeyInfo;
|
|
12
|
+
constructor(network, privateKey, signer, config) {
|
|
13
|
+
super(network, signer, config);
|
|
14
|
+
// TODO: For now
|
|
15
|
+
this.lrc20Wallet = new LRCWallet(privateKey, networks.regtest, NetworkType.REGTEST);
|
|
16
|
+
this.issuerTokenTransactionService = new IssuerTokenTransactionService(this.config, this.connectionManager);
|
|
17
|
+
this.tokenFreezeService = new TokenFreezeService(this.config, this.connectionManager);
|
|
16
18
|
}
|
|
17
|
-
async
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
let result = await this.sparkWallet.initWallet(mnemonicOrSeed);
|
|
21
|
-
if (enableL1Wallet) {
|
|
22
|
-
if (!mnemonicOrSeed) {
|
|
23
|
-
mnemonicOrSeed = result.mnemonic;
|
|
24
|
-
}
|
|
25
|
-
let seed;
|
|
26
|
-
if (typeof mnemonicOrSeed === "string") {
|
|
27
|
-
seed = await bip39.mnemonicToSeed(mnemonicOrSeed);
|
|
28
|
-
}
|
|
29
|
-
else {
|
|
30
|
-
seed = mnemonicOrSeed;
|
|
31
|
-
}
|
|
32
|
-
const hdkey = HDKey.fromMasterSeed(seed).derive("m/0").privateKey;
|
|
33
|
-
this.bitcoinWallet = new lrc20sdk.LRCWallet(bytesToHex(hdkey), LRC_WALLET_NETWORK[this.network], LRC_WALLET_NETWORK_TYPE[this.network]);
|
|
34
|
-
}
|
|
35
|
-
this.initialized = true;
|
|
36
|
-
}
|
|
37
|
-
getSparkWallet() {
|
|
38
|
-
if (!this.initialized || !this.sparkWallet) {
|
|
39
|
-
throw new Error("Spark wallet not initialized");
|
|
40
|
-
}
|
|
41
|
-
return this.sparkWallet;
|
|
42
|
-
}
|
|
43
|
-
getBitcoinWallet() {
|
|
44
|
-
if (!this.initialized || !this.bitcoinWallet) {
|
|
45
|
-
throw new Error("Bitcoin wallet not initialized");
|
|
46
|
-
}
|
|
47
|
-
return this.bitcoinWallet;
|
|
48
|
-
}
|
|
49
|
-
isSparkInitialized() {
|
|
50
|
-
return this.initialized;
|
|
51
|
-
}
|
|
52
|
-
isL1Initialized() {
|
|
53
|
-
return this.initialized && this.bitcoinWallet !== undefined;
|
|
54
|
-
}
|
|
55
|
-
async getTokenPublicKey() {
|
|
56
|
-
if (!this.isSparkInitialized()) {
|
|
57
|
-
throw new Error("Spark wallet not initialized");
|
|
58
|
-
}
|
|
59
|
-
return await this.sparkWallet.getIdentityPublicKey();
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Gets token balance and number of held leaves.
|
|
63
|
-
* @returns An object containing the token balance and the number of owned leaves
|
|
64
|
-
*/
|
|
65
|
-
async getBalance() {
|
|
66
|
-
if (!this.isSparkInitialized()) {
|
|
67
|
-
throw new Error("Spark wallet not initialized");
|
|
68
|
-
}
|
|
69
|
-
const publicKey = await this.sparkWallet.getIdentityPublicKey();
|
|
70
|
-
const balanceObj = await this.sparkWallet.getBalance(true);
|
|
19
|
+
async getIssuerTokenBalance() {
|
|
20
|
+
const publicKey = await super.getIdentityPublicKey();
|
|
21
|
+
const balanceObj = await this.getBalance();
|
|
71
22
|
if (!balanceObj.tokenBalances || !balanceObj.tokenBalances.has(publicKey)) {
|
|
72
23
|
return {
|
|
73
24
|
balance: 0n,
|
|
@@ -77,60 +28,61 @@ export class IssuerWallet {
|
|
|
77
28
|
balance: balanceObj.tokenBalances.get(publicKey).balance,
|
|
78
29
|
};
|
|
79
30
|
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
async mintTokens(amountToMint) {
|
|
85
|
-
if (!this.isSparkInitialized()) {
|
|
86
|
-
throw new Error("Spark wallet not initialized");
|
|
87
|
-
}
|
|
88
|
-
return await this.sparkWallet.mintIssuerTokens(amountToMint);
|
|
31
|
+
async mintTokens(tokenAmount) {
|
|
32
|
+
var tokenPublicKey = await super.getIdentityPublicKey();
|
|
33
|
+
const tokenTransaction = await this.issuerTokenTransactionService.constructMintTokenTransaction(hexToBytes(tokenPublicKey), tokenAmount);
|
|
34
|
+
return await this.issuerTokenTransactionService.broadcastTokenTransaction(tokenTransaction);
|
|
89
35
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
}
|
|
97
|
-
return await this.sparkWallet.transferIssuerTokens(amountToTransfer, receiverSparkAddress);
|
|
36
|
+
async burnTokens(tokenAmount, selectedLeaves) {
|
|
37
|
+
return await this.transferTokens({
|
|
38
|
+
tokenPublicKey: await super.getIdentityPublicKey(),
|
|
39
|
+
tokenAmount,
|
|
40
|
+
receiverSparkAddress: BURN_ADDRESS,
|
|
41
|
+
selectedLeaves,
|
|
42
|
+
});
|
|
98
43
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
44
|
+
async freezeTokens(ownerPublicKey) {
|
|
45
|
+
await this.syncTokenLeaves();
|
|
46
|
+
const tokenPublicKey = await super.getIdentityPublicKey();
|
|
47
|
+
const response = await this.tokenFreezeService.freezeTokens(hexToBytes(ownerPublicKey), hexToBytes(tokenPublicKey));
|
|
48
|
+
// Convert the Uint8Array to a bigint
|
|
49
|
+
const tokenAmount = bytesToNumberBE(response.impactedTokenAmount);
|
|
50
|
+
return {
|
|
51
|
+
impactedLeafIds: response.impactedLeafIds,
|
|
52
|
+
impactedTokenAmount: tokenAmount,
|
|
53
|
+
};
|
|
107
54
|
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
55
|
+
async unfreezeTokens(ownerPublicKey) {
|
|
56
|
+
await this.syncTokenLeaves();
|
|
57
|
+
const tokenPublicKey = await super.getIdentityPublicKey();
|
|
58
|
+
const response = await this.tokenFreezeService.unfreezeTokens(hexToBytes(ownerPublicKey), hexToBytes(tokenPublicKey));
|
|
59
|
+
const tokenAmount = bytesToNumberBE(response.impactedTokenAmount);
|
|
60
|
+
return {
|
|
61
|
+
impactedLeafIds: response.impactedLeafIds,
|
|
62
|
+
impactedTokenAmount: tokenAmount,
|
|
63
|
+
};
|
|
116
64
|
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
65
|
+
async announceTokenL1({ tokenName, tokenTicker, decimals, maxSupply, isFreezable, feeRateSatsPerVb = 2.0, }) {
|
|
66
|
+
await this.lrc20Wallet.syncWallet();
|
|
67
|
+
const tokenPublicKey = new TokenPubkey(this.lrc20Wallet.pubkey);
|
|
68
|
+
const announcement = new TokenPubkeyAnnouncement(tokenPublicKey, tokenName, tokenTicker, decimals, maxSupply, isFreezable);
|
|
69
|
+
const tx = await this.lrc20Wallet.prepareAnnouncement(announcement, feeRateSatsPerVb);
|
|
70
|
+
return await this.lrc20Wallet.broadcastRawBtcTransaction(tx.bitcoin_tx.toHex());
|
|
71
|
+
}
|
|
72
|
+
mintTokensL1(tokenAmount) {
|
|
73
|
+
throw new Error("Not implemented");
|
|
74
|
+
}
|
|
75
|
+
transferTokensL1(tokenAmount, p2trAddress) {
|
|
76
|
+
throw new Error("Not implemented");
|
|
125
77
|
}
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
async announceTokenL1(tokenName, tokenTicker, decimals, maxSupply, isFreezable) {
|
|
130
|
-
if (!this.isL1Initialized()) {
|
|
131
|
-
throw new Error("L1 wallet not initialized");
|
|
78
|
+
async getTokenPublicKeyInfo() {
|
|
79
|
+
if (this.tokenPublicKeyInfo) {
|
|
80
|
+
return this.tokenPublicKeyInfo;
|
|
132
81
|
}
|
|
133
|
-
|
|
82
|
+
let tokenPublicKey = bytesToHex(this.lrc20Wallet.pubkey);
|
|
83
|
+
this.tokenPublicKeyInfo =
|
|
84
|
+
await this.lrc20Wallet.getTokenPubkeyInfo(tokenPublicKey);
|
|
85
|
+
return this.tokenPublicKeyInfo;
|
|
134
86
|
}
|
|
135
87
|
}
|
|
136
88
|
//# sourceMappingURL=issuer-sdk.js.map
|
package/dist/issuer-sdk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issuer-sdk.js","sourceRoot":"","sources":["../src/issuer-sdk.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"issuer-sdk.js","sourceRoot":"","sources":["../src/issuer-sdk.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
/*
|
|
3
|
+
// TODO: Change to typed when LRC20 JS SDK is added.
|
|
4
|
+
import {
|
|
5
|
+
TokenPubkeyAnnouncement,
|
|
6
|
+
TokenPubkey,
|
|
7
|
+
Lrc20Transaction,
|
|
8
|
+
Lrc20TransactionDto,
|
|
9
|
+
LRCWallet,
|
|
10
|
+
} from "lrc20-sdk";
|
|
11
|
+
import { randomBytes } from "crypto";
|
|
12
|
+
|
|
13
|
+
export async function announceToken(
|
|
14
|
+
lrcWallet: LRCWallet,
|
|
15
|
+
tokenName: string,
|
|
16
|
+
tokenTicker: string,
|
|
17
|
+
maxSupply: bigint,
|
|
18
|
+
decimals: number,
|
|
19
|
+
isFreezeable: boolean,
|
|
20
|
+
feeRateSatsPerVb: number = 2,
|
|
21
|
+
): Promise<string> {
|
|
22
|
+
const tokenId = randomBytes(32);
|
|
23
|
+
|
|
24
|
+
const announcement = new TokenPubkeyAnnouncement(
|
|
25
|
+
new TokenPubkey(tokenId),
|
|
26
|
+
tokenName,
|
|
27
|
+
tokenTicker,
|
|
28
|
+
decimals,
|
|
29
|
+
maxSupply,
|
|
30
|
+
isFreezeable,
|
|
31
|
+
);
|
|
32
|
+
|
|
33
|
+
const tx: Lrc20Transaction = await lrcWallet.prepareAnnouncement(
|
|
34
|
+
announcement,
|
|
35
|
+
feeRateSatsPerVb,
|
|
36
|
+
);
|
|
37
|
+
const txDto = Lrc20TransactionDto.fromLrc20Transaction(tx);
|
|
38
|
+
return await lrcWallet.broadcast(txDto);
|
|
39
|
+
}
|
|
40
|
+
*/
|
|
41
|
+
//# sourceMappingURL=create.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/services/create.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsCE"}
|
|
@@ -8,9 +8,10 @@ export declare class IssuerSparkWallet extends SparkWallet {
|
|
|
8
8
|
constructor(network: Network, signer?: SparkSigner);
|
|
9
9
|
getIssuerTokenBalance(): Promise<{
|
|
10
10
|
balance: bigint;
|
|
11
|
+
leafCount: number;
|
|
11
12
|
}>;
|
|
12
13
|
mintIssuerTokens(tokenAmount: bigint): Promise<string>;
|
|
13
|
-
transferIssuerTokens(tokenAmount: bigint,
|
|
14
|
+
transferIssuerTokens(tokenAmount: bigint, recipientPublicKey: string): Promise<string>;
|
|
14
15
|
burnIssuerTokens(tokenAmount: bigint, selectedLeaves?: LeafWithPreviousTransactionData[]): Promise<string>;
|
|
15
16
|
freezeIssuerTokens(ownerPublicKey: string): Promise<{
|
|
16
17
|
impactedLeafIds: string[];
|
|
@@ -17,10 +17,12 @@ export class IssuerSparkWallet extends SparkWallet {
|
|
|
17
17
|
if (!balanceObj.tokenBalances || !balanceObj.tokenBalances.has(publicKey)) {
|
|
18
18
|
return {
|
|
19
19
|
balance: 0n,
|
|
20
|
+
leafCount: 0,
|
|
20
21
|
};
|
|
21
22
|
}
|
|
22
23
|
return {
|
|
23
24
|
balance: balanceObj.tokenBalances.get(publicKey).balance,
|
|
25
|
+
leafCount: balanceObj.tokenBalances.get(publicKey).leafCount,
|
|
24
26
|
};
|
|
25
27
|
}
|
|
26
28
|
async mintIssuerTokens(tokenAmount) {
|
|
@@ -28,22 +30,12 @@ export class IssuerSparkWallet extends SparkWallet {
|
|
|
28
30
|
const tokenTransaction = await this.issuerTokenTransactionService.constructMintTokenTransaction(hexToBytes(tokenPublicKey), tokenAmount);
|
|
29
31
|
return await this.issuerTokenTransactionService.broadcastTokenTransaction(tokenTransaction);
|
|
30
32
|
}
|
|
31
|
-
async transferIssuerTokens(tokenAmount,
|
|
33
|
+
async transferIssuerTokens(tokenAmount, recipientPublicKey) {
|
|
32
34
|
const tokenPublicKey = await super.getIdentityPublicKey();
|
|
33
|
-
return await super.
|
|
34
|
-
tokenPublicKey,
|
|
35
|
-
tokenAmount,
|
|
36
|
-
receiverSparkAddress,
|
|
37
|
-
selectedLeaves,
|
|
38
|
-
});
|
|
35
|
+
return await super.transferTokens(tokenPublicKey, tokenAmount, recipientPublicKey);
|
|
39
36
|
}
|
|
40
37
|
async burnIssuerTokens(tokenAmount, selectedLeaves) {
|
|
41
|
-
return await this.
|
|
42
|
-
tokenPublicKey: await super.getIdentityPublicKey(),
|
|
43
|
-
tokenAmount,
|
|
44
|
-
receiverSparkAddress: BURN_ADDRESS,
|
|
45
|
-
selectedLeaves,
|
|
46
|
-
});
|
|
38
|
+
return await this.transferTokens(await super.getIdentityPublicKey(), tokenAmount, BURN_ADDRESS, selectedLeaves);
|
|
47
39
|
}
|
|
48
40
|
async freezeIssuerTokens(ownerPublicKey) {
|
|
49
41
|
await this.syncTokenLeaves();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../../src/services/spark/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAItD,OAAO,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,YAAY,GAChB,oEAAoE,CAAC;AAEvE,MAAM,OAAO,iBAAkB,SAAQ,WAAW;IACxC,6BAA6B,CAAgC;IAC7D,kBAAkB,CAAqB;IAE/C,YAAY,OAAgB,EAAE,MAAoB;QAChD,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAEvB,IAAI,CAAC,6BAA6B,GAAG,IAAI,6BAA6B,CACpE,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,iBAAiB,CACvB,CAAC;QACF,IAAI,CAAC,kBAAkB,GAAG,IAAI,kBAAkB,CAC9C,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,iBAAiB,CACvB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,qBAAqB;
|
|
1
|
+
{"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../../src/services/spark/wallet.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TokenTransactionService } from "@buildonspark/spark-sdk/token-transactions";
|
|
2
|
+
import { TokenTransaction } from "@buildonspark/spark-sdk/proto/spark";
|
|
3
|
+
import { ConnectionManager } from "@buildonspark/spark-sdk/connection";
|
|
4
|
+
import { WalletConfigService } from "@buildonspark/spark-sdk/config";
|
|
5
|
+
export declare class IssuerTokenTransactionService extends TokenTransactionService {
|
|
6
|
+
constructor(config: WalletConfigService, connectionManager: ConnectionManager);
|
|
7
|
+
constructMintTokenTransaction(tokenPublicKey: Uint8Array, tokenAmount: bigint): Promise<TokenTransaction>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { TokenTransactionService } from "@buildonspark/spark-sdk/token-transactions";
|
|
2
|
+
import { numberToBytesBE } from "@noble/curves/abstract/utils";
|
|
3
|
+
export class IssuerTokenTransactionService extends TokenTransactionService {
|
|
4
|
+
constructor(config, connectionManager) {
|
|
5
|
+
super(config, connectionManager);
|
|
6
|
+
}
|
|
7
|
+
async constructMintTokenTransaction(tokenPublicKey, tokenAmount) {
|
|
8
|
+
return {
|
|
9
|
+
tokenInput: {
|
|
10
|
+
$case: "mintInput",
|
|
11
|
+
mintInput: {
|
|
12
|
+
issuerPublicKey: tokenPublicKey,
|
|
13
|
+
issuerProvidedTimestamp: Date.now(),
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
outputLeaves: [
|
|
17
|
+
{
|
|
18
|
+
ownerPublicKey: tokenPublicKey,
|
|
19
|
+
tokenPublicKey: tokenPublicKey,
|
|
20
|
+
tokenAmount: numberToBytesBE(tokenAmount, 16),
|
|
21
|
+
},
|
|
22
|
+
],
|
|
23
|
+
sparkOperatorIdentityPublicKeys: super.collectOperatorIdentityPublicKeys(),
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=token-transactions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-transactions.js","sourceRoot":"","sources":["../../src/services/token-transactions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AAIrF,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,MAAM,OAAO,6BAA8B,SAAQ,uBAAuB;IACxE,YACE,MAA2B,EAC3B,iBAAoC;QAEpC,KAAK,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,6BAA6B,CACjC,cAA0B,EAC1B,WAAmB;QAEnB,OAAO;YACL,UAAU,EAAE;gBACV,KAAK,EAAE,WAAW;gBAClB,SAAS,EAAE;oBACT,eAAe,EAAE,cAAc;oBAC/B,uBAAuB,EAAE,IAAI,CAAC,GAAG,EAAE;iBACpC;aACF;YACD,YAAY,EAAE;gBACZ;oBACE,cAAc,EAAE,cAAc;oBAC9B,cAAc,EAAE,cAAc;oBAC9B,WAAW,EAAE,eAAe,CAAC,WAAW,EAAE,EAAE,CAAC;iBAC9C;aACF;YACD,+BAA+B,EAC7B,KAAK,CAAC,iCAAiC,EAAE;SAC5C,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,98 +1,217 @@
|
|
|
1
|
-
import { IssuerSparkWallet } from "../../services/spark/wallet.js";
|
|
2
|
-
import { Network } from "@buildonspark/spark-sdk/utils";
|
|
3
|
-
import { wordlist } from "@scure/bip39/wordlists/english";
|
|
4
|
-
import { generateMnemonic } from "@scure/bip39";
|
|
5
1
|
import { SparkWallet } from "@buildonspark/spark-sdk";
|
|
2
|
+
import { LOCAL_WALLET_CONFIG_ECDSA, LOCAL_WALLET_CONFIG_SCHNORR, } from "@buildonspark/spark-sdk/test-util";
|
|
6
3
|
import { jest } from "@jest/globals";
|
|
4
|
+
import { generateMnemonic } from "@scure/bip39";
|
|
5
|
+
import { wordlist } from "@scure/bip39/wordlists/english";
|
|
6
|
+
import { IssuerSparkWallet } from "../../issuer-sdk.js";
|
|
7
7
|
describe("token integration test", () => {
|
|
8
8
|
// Skip all tests if running in GitHub Actions
|
|
9
9
|
process.env.GITHUB_ACTIONS ? it.skip : it;
|
|
10
10
|
// Increase timeout for all tests in this suite
|
|
11
11
|
jest.setTimeout(15000);
|
|
12
|
-
it("should issue a single token", async () => {
|
|
12
|
+
it("should issue a single token with ECDSA", async () => {
|
|
13
|
+
const tokenAmount = 1000n;
|
|
14
|
+
const wallet = new IssuerSparkWallet("LOCAL", "4799979d5e417e3d6d00cf89a77d4f3c0354d295810326c6b0bf4b45aedb38f3", undefined, LOCAL_WALLET_CONFIG_ECDSA);
|
|
15
|
+
const mnemonic = generateMnemonic(wordlist);
|
|
16
|
+
await wallet.initWallet(mnemonic);
|
|
17
|
+
await wallet.mintTokens(tokenAmount);
|
|
18
|
+
const tokenBalance = await wallet.getIssuerTokenBalance();
|
|
19
|
+
expect(tokenBalance.balance).toEqual(tokenAmount);
|
|
20
|
+
});
|
|
21
|
+
it("should issue a single token with Schnorr", async () => {
|
|
13
22
|
const tokenAmount = 1000n;
|
|
14
|
-
const wallet = new IssuerSparkWallet(
|
|
23
|
+
const wallet = new IssuerSparkWallet("LOCAL", "4799979d5e417e3d6d00cf89a77d4f3c0354d295810326c6b0bf4b45aedb38f3", undefined, LOCAL_WALLET_CONFIG_SCHNORR);
|
|
15
24
|
const mnemonic = generateMnemonic(wordlist);
|
|
16
25
|
await wallet.initWallet(mnemonic);
|
|
17
|
-
await wallet.
|
|
26
|
+
await wallet.mintTokens(tokenAmount);
|
|
18
27
|
const tokenBalance = await wallet.getIssuerTokenBalance();
|
|
19
28
|
expect(tokenBalance.balance).toEqual(tokenAmount);
|
|
20
29
|
});
|
|
21
|
-
it("should issue a single token and transfer it", async () => {
|
|
30
|
+
it("should issue a single token and transfer it with ECDSA", async () => {
|
|
31
|
+
const tokenAmount = 1000n;
|
|
32
|
+
const issuerWallet = new IssuerSparkWallet("LOCAL", "4799979d5e417e3d6d00cf89a77d4f3c0354d295810326c6b0bf4b45aedb38f3", undefined, LOCAL_WALLET_CONFIG_ECDSA);
|
|
33
|
+
const mnemonic = generateMnemonic(wordlist);
|
|
34
|
+
await issuerWallet.initWallet(mnemonic);
|
|
35
|
+
const destinationWallet = new SparkWallet("LOCAL", undefined, LOCAL_WALLET_CONFIG_ECDSA);
|
|
36
|
+
const destinationMnemonic = generateMnemonic(wordlist);
|
|
37
|
+
await destinationWallet.initWallet(destinationMnemonic);
|
|
38
|
+
await issuerWallet.mintTokens(tokenAmount);
|
|
39
|
+
await issuerWallet.transferTokens({
|
|
40
|
+
tokenAmount,
|
|
41
|
+
tokenPublicKey: await issuerWallet.getIdentityPublicKey(),
|
|
42
|
+
receiverSparkAddress: await destinationWallet.getIdentityPublicKey(),
|
|
43
|
+
});
|
|
44
|
+
const sourceBalance = await issuerWallet.getIssuerTokenBalance();
|
|
45
|
+
expect(sourceBalance.balance).toEqual(0n);
|
|
46
|
+
const tokenPublicKey = await issuerWallet.getIdentityPublicKey();
|
|
47
|
+
const destinationBalance = await getSparkWalletTokenBalanceOrZero(destinationWallet, tokenPublicKey);
|
|
48
|
+
expect(destinationBalance.balance).toEqual(tokenAmount);
|
|
49
|
+
});
|
|
50
|
+
it("should issue a single token and transfer it with Schnorr", async () => {
|
|
22
51
|
const tokenAmount = 1000n;
|
|
23
|
-
const issuerWallet = new IssuerSparkWallet(
|
|
52
|
+
const issuerWallet = new IssuerSparkWallet("LOCAL", "4799979d5e417e3d6d00cf89a77d4f3c0354d295810326c6b0bf4b45aedb38f3", undefined, LOCAL_WALLET_CONFIG_SCHNORR);
|
|
24
53
|
const mnemonic = generateMnemonic(wordlist);
|
|
25
54
|
await issuerWallet.initWallet(mnemonic);
|
|
26
|
-
const destinationWallet = new SparkWallet(
|
|
55
|
+
const destinationWallet = new SparkWallet("LOCAL", undefined, LOCAL_WALLET_CONFIG_SCHNORR);
|
|
27
56
|
const destinationMnemonic = generateMnemonic(wordlist);
|
|
28
57
|
await destinationWallet.initWallet(destinationMnemonic);
|
|
29
|
-
await issuerWallet.
|
|
30
|
-
await issuerWallet.
|
|
31
|
-
|
|
58
|
+
await issuerWallet.mintTokens(tokenAmount);
|
|
59
|
+
await issuerWallet.transferTokens({
|
|
60
|
+
tokenPublicKey: await issuerWallet.getIdentityPublicKey(),
|
|
61
|
+
tokenAmount,
|
|
62
|
+
receiverSparkAddress: await destinationWallet.getIdentityPublicKey(),
|
|
63
|
+
});
|
|
32
64
|
const sourceBalance = await issuerWallet.getIssuerTokenBalance();
|
|
33
65
|
expect(sourceBalance.balance).toEqual(0n);
|
|
34
66
|
const tokenPublicKey = await issuerWallet.getIdentityPublicKey();
|
|
35
67
|
const destinationBalance = await getSparkWalletTokenBalanceOrZero(destinationWallet, tokenPublicKey);
|
|
36
68
|
expect(destinationBalance.balance).toEqual(tokenAmount);
|
|
37
69
|
});
|
|
38
|
-
it("should freeze tokens", async () => {
|
|
70
|
+
it("should freeze tokens with ECDSA", async () => {
|
|
71
|
+
const tokenAmount = 1000n;
|
|
72
|
+
const issuerWallet = new IssuerSparkWallet("LOCAL", "4799979d5e417e3d6d00cf89a77d4f3c0354d295810326c6b0bf4b45aedb38f3", undefined, LOCAL_WALLET_CONFIG_ECDSA);
|
|
73
|
+
const issuerMnemonic = generateMnemonic(wordlist);
|
|
74
|
+
await issuerWallet.initWallet(issuerMnemonic);
|
|
75
|
+
await issuerWallet.mintTokens(tokenAmount);
|
|
76
|
+
// Check issuer balance after minting
|
|
77
|
+
const issuerBalanceAfterMint = await issuerWallet.getIssuerTokenBalance();
|
|
78
|
+
expect(issuerBalanceAfterMint.balance).toEqual(tokenAmount);
|
|
79
|
+
const userWallet = new SparkWallet("LOCAL");
|
|
80
|
+
const userMnemonic = generateMnemonic(wordlist);
|
|
81
|
+
await userWallet.initWallet(userMnemonic);
|
|
82
|
+
const userWalletPublicKey = await userWallet.getIdentityPublicKey();
|
|
83
|
+
await issuerWallet.transferTokens({
|
|
84
|
+
tokenAmount,
|
|
85
|
+
tokenPublicKey: await issuerWallet.getIdentityPublicKey(),
|
|
86
|
+
receiverSparkAddress: userWalletPublicKey,
|
|
87
|
+
});
|
|
88
|
+
const issuerBalanceAfterTransfer = await issuerWallet.getIssuerTokenBalance();
|
|
89
|
+
expect(issuerBalanceAfterTransfer.balance).toEqual(0n);
|
|
90
|
+
const tokenPublicKey = await issuerWallet.getIdentityPublicKey();
|
|
91
|
+
const userBalanceAfterTransfer = await getSparkWalletTokenBalanceOrZero(userWallet, tokenPublicKey);
|
|
92
|
+
expect(userBalanceAfterTransfer.balance).toEqual(tokenAmount);
|
|
93
|
+
// Freeze tokens
|
|
94
|
+
const freezeResponse = await issuerWallet.freezeTokens(userWalletPublicKey);
|
|
95
|
+
expect(freezeResponse.impactedLeafIds.length).toBeGreaterThan(0);
|
|
96
|
+
expect(freezeResponse.impactedTokenAmount).toEqual(tokenAmount);
|
|
97
|
+
// Unfreeze tokens
|
|
98
|
+
const unfreezeResponse = await issuerWallet.unfreezeTokens(userWalletPublicKey);
|
|
99
|
+
expect(unfreezeResponse.impactedLeafIds.length).toBeGreaterThan(0);
|
|
100
|
+
expect(unfreezeResponse.impactedTokenAmount).toEqual(tokenAmount);
|
|
101
|
+
});
|
|
102
|
+
it("should freeze tokens with Schnorr", async () => {
|
|
39
103
|
const tokenAmount = 1000n;
|
|
40
|
-
const issuerWallet = new IssuerSparkWallet(
|
|
104
|
+
const issuerWallet = new IssuerSparkWallet("LOCAL", "4799979d5e417e3d6d00cf89a77d4f3c0354d295810326c6b0bf4b45aedb38f3", undefined, LOCAL_WALLET_CONFIG_SCHNORR);
|
|
41
105
|
const issuerMnemonic = generateMnemonic(wordlist);
|
|
42
106
|
await issuerWallet.initWallet(issuerMnemonic);
|
|
43
|
-
await issuerWallet.
|
|
107
|
+
await issuerWallet.mintTokens(tokenAmount);
|
|
44
108
|
// Check issuer balance after minting
|
|
45
109
|
const issuerBalanceAfterMint = await issuerWallet.getIssuerTokenBalance();
|
|
46
110
|
expect(issuerBalanceAfterMint.balance).toEqual(tokenAmount);
|
|
47
|
-
const userWallet = new SparkWallet(
|
|
111
|
+
const userWallet = new SparkWallet("LOCAL");
|
|
48
112
|
const userMnemonic = generateMnemonic(wordlist);
|
|
49
113
|
await userWallet.initWallet(userMnemonic);
|
|
50
114
|
const userWalletPublicKey = await userWallet.getIdentityPublicKey();
|
|
51
|
-
await issuerWallet.
|
|
115
|
+
await issuerWallet.transferTokens({
|
|
116
|
+
tokenAmount,
|
|
117
|
+
tokenPublicKey: await issuerWallet.getIdentityPublicKey(),
|
|
118
|
+
receiverSparkAddress: userWalletPublicKey,
|
|
119
|
+
});
|
|
52
120
|
const issuerBalanceAfterTransfer = await issuerWallet.getIssuerTokenBalance();
|
|
53
121
|
expect(issuerBalanceAfterTransfer.balance).toEqual(0n);
|
|
54
122
|
const tokenPublicKey = await issuerWallet.getIdentityPublicKey();
|
|
55
|
-
const userBalanceAfterTransfer =
|
|
56
|
-
.tokenBalances[tokenPublicKey];
|
|
123
|
+
const userBalanceAfterTransfer = await getSparkWalletTokenBalanceOrZero(userWallet, tokenPublicKey);
|
|
57
124
|
expect(userBalanceAfterTransfer.balance).toEqual(tokenAmount);
|
|
58
|
-
const freezeResult = await issuerWallet.
|
|
125
|
+
const freezeResult = await issuerWallet.freezeTokens(userWalletPublicKey);
|
|
59
126
|
expect(freezeResult.impactedLeafIds.length).toBe(1);
|
|
60
127
|
expect(freezeResult.impactedTokenAmount).toBe(1000n);
|
|
61
|
-
const unfreezeResult = await issuerWallet.
|
|
128
|
+
const unfreezeResult = await issuerWallet.unfreezeTokens(userWalletPublicKey);
|
|
62
129
|
expect(unfreezeResult.impactedLeafIds.length).toBe(1);
|
|
63
130
|
expect(unfreezeResult.impactedTokenAmount).toBe(1000n);
|
|
64
131
|
});
|
|
65
|
-
it("should burn tokens", async () => {
|
|
132
|
+
it("should burn tokens with ECDSA", async () => {
|
|
133
|
+
const tokenAmount = 200n;
|
|
134
|
+
const issuerWallet = new IssuerSparkWallet("LOCAL", "4799979d5e417e3d6d00cf89a77d4f3c0354d295810326c6b0bf4b45aedb38f3", undefined, LOCAL_WALLET_CONFIG_ECDSA);
|
|
135
|
+
const issuerMnemonic = generateMnemonic(wordlist);
|
|
136
|
+
await issuerWallet.initWallet(issuerMnemonic);
|
|
137
|
+
await issuerWallet.mintTokens(tokenAmount);
|
|
138
|
+
const issuerTokenBalance = await issuerWallet.getIssuerTokenBalance();
|
|
139
|
+
expect(issuerTokenBalance.balance).toEqual(tokenAmount);
|
|
140
|
+
await issuerWallet.burnTokens(tokenAmount);
|
|
141
|
+
const issuerTokenBalanceAfterBurn = await issuerWallet.getIssuerTokenBalance();
|
|
142
|
+
expect(issuerTokenBalanceAfterBurn.balance).toEqual(0n);
|
|
143
|
+
});
|
|
144
|
+
it("should burn tokens with Schnorr", async () => {
|
|
66
145
|
const tokenAmount = 200n;
|
|
67
|
-
const issuerWallet = new IssuerSparkWallet(
|
|
146
|
+
const issuerWallet = new IssuerSparkWallet("LOCAL", "4799979d5e417e3d6d00cf89a77d4f3c0354d295810326c6b0bf4b45aedb38f3", undefined, LOCAL_WALLET_CONFIG_SCHNORR);
|
|
147
|
+
const issuerMnemonic = generateMnemonic(wordlist);
|
|
148
|
+
await issuerWallet.initWallet(issuerMnemonic);
|
|
149
|
+
await issuerWallet.mintTokens(tokenAmount);
|
|
150
|
+
const issuerTokenBalance = await issuerWallet.getIssuerTokenBalance();
|
|
151
|
+
expect(issuerTokenBalance.balance).toEqual(tokenAmount);
|
|
152
|
+
await issuerWallet.burnTokens(tokenAmount);
|
|
153
|
+
const issuerTokenBalanceAfterBurn = await issuerWallet.getIssuerTokenBalance();
|
|
154
|
+
expect(issuerTokenBalanceAfterBurn.balance).toEqual(0n);
|
|
155
|
+
});
|
|
156
|
+
it("mint, transfer to user, user transfer to issuer, burn with ECDSA", async () => {
|
|
157
|
+
const tokenAmount = 1000n;
|
|
158
|
+
const issuerWallet = new IssuerSparkWallet("LOCAL", "4799979d5e417e3d6d00cf89a77d4f3c0354d295810326c6b0bf4b45aedb38f3", undefined, LOCAL_WALLET_CONFIG_ECDSA);
|
|
68
159
|
const issuerMnemonic = generateMnemonic(wordlist);
|
|
69
160
|
await issuerWallet.initWallet(issuerMnemonic);
|
|
70
|
-
|
|
161
|
+
const userWallet = new SparkWallet("LOCAL", undefined, LOCAL_WALLET_CONFIG_ECDSA);
|
|
162
|
+
const userMnemonic = generateMnemonic(wordlist);
|
|
163
|
+
await userWallet.initWallet(userMnemonic);
|
|
164
|
+
await issuerWallet.mintTokens(tokenAmount);
|
|
165
|
+
const issuerBalanceAfterMint = await issuerWallet.getIssuerTokenBalance();
|
|
166
|
+
expect(issuerBalanceAfterMint.balance).toEqual(tokenAmount);
|
|
167
|
+
const userWalletPublicKey = await userWallet.getIdentityPublicKey();
|
|
168
|
+
await issuerWallet.transferTokens({
|
|
169
|
+
tokenAmount,
|
|
170
|
+
tokenPublicKey: await issuerWallet.getIdentityPublicKey(),
|
|
171
|
+
receiverSparkAddress: userWalletPublicKey,
|
|
172
|
+
});
|
|
173
|
+
const issuerBalanceAfterTransfer = await issuerWallet.getIssuerTokenBalance();
|
|
174
|
+
expect(issuerBalanceAfterTransfer.balance).toEqual(0n);
|
|
175
|
+
const tokenPublicKeyHex = await issuerWallet.getIdentityPublicKey();
|
|
176
|
+
const userBalanceAfterTransfer = await getSparkWalletTokenBalanceOrZero(userWallet, tokenPublicKeyHex);
|
|
177
|
+
expect(userBalanceAfterTransfer.balance).toEqual(tokenAmount);
|
|
178
|
+
await userWallet.transferTokens({
|
|
179
|
+
tokenPublicKey: tokenPublicKeyHex,
|
|
180
|
+
tokenAmount,
|
|
181
|
+
receiverSparkAddress: tokenPublicKeyHex,
|
|
182
|
+
});
|
|
183
|
+
const userBalanceAfterTransferBack = await getSparkWalletTokenBalanceOrZero(userWallet, tokenPublicKeyHex);
|
|
184
|
+
expect(userBalanceAfterTransferBack.balance).toEqual(0n);
|
|
71
185
|
const issuerTokenBalance = await issuerWallet.getIssuerTokenBalance();
|
|
72
186
|
expect(issuerTokenBalance.balance).toEqual(tokenAmount);
|
|
73
|
-
await issuerWallet.
|
|
187
|
+
await issuerWallet.burnTokens(tokenAmount);
|
|
74
188
|
const issuerTokenBalanceAfterBurn = await issuerWallet.getIssuerTokenBalance();
|
|
75
189
|
expect(issuerTokenBalanceAfterBurn.balance).toEqual(0n);
|
|
76
190
|
});
|
|
77
|
-
it("mint, transfer to user, user transfer to issuer, burn", async () => {
|
|
191
|
+
it("mint, transfer to user, user transfer to issuer, burn with Schnorr", async () => {
|
|
78
192
|
const tokenAmount = 1000n;
|
|
79
|
-
const issuerWallet = new IssuerSparkWallet(
|
|
193
|
+
const issuerWallet = new IssuerSparkWallet("LOCAL", "4799979d5e417e3d6d00cf89a77d4f3c0354d295810326c6b0bf4b45aedb38f3", undefined, LOCAL_WALLET_CONFIG_SCHNORR);
|
|
80
194
|
const issuerMnemonic = generateMnemonic(wordlist);
|
|
81
195
|
await issuerWallet.initWallet(issuerMnemonic);
|
|
82
|
-
const userWallet = new SparkWallet(
|
|
196
|
+
const userWallet = new SparkWallet("LOCAL", undefined, LOCAL_WALLET_CONFIG_SCHNORR);
|
|
83
197
|
const userMnemonic = generateMnemonic(wordlist);
|
|
84
198
|
await userWallet.initWallet(userMnemonic);
|
|
85
|
-
await issuerWallet.
|
|
199
|
+
const tokenPublicKey = await issuerWallet.getIdentityPublicKey();
|
|
200
|
+
await issuerWallet.mintTokens(tokenAmount);
|
|
86
201
|
const issuerBalanceAfterMint = await issuerWallet.getIssuerTokenBalance();
|
|
87
202
|
expect(issuerBalanceAfterMint.balance).toEqual(tokenAmount);
|
|
88
203
|
const userWalletPublicKey = await userWallet.getIdentityPublicKey();
|
|
89
|
-
await issuerWallet.
|
|
204
|
+
await issuerWallet.transferTokens({
|
|
205
|
+
tokenAmount,
|
|
206
|
+
tokenPublicKey,
|
|
207
|
+
receiverSparkAddress: userWalletPublicKey,
|
|
208
|
+
});
|
|
90
209
|
const issuerBalanceAfterTransfer = await issuerWallet.getIssuerTokenBalance();
|
|
91
210
|
expect(issuerBalanceAfterTransfer.balance).toEqual(0n);
|
|
92
211
|
const tokenPublicKeyHex = await issuerWallet.getIdentityPublicKey();
|
|
93
212
|
const userBalanceAfterTransfer = await getSparkWalletTokenBalanceOrZero(userWallet, tokenPublicKeyHex);
|
|
94
213
|
expect(userBalanceAfterTransfer.balance).toEqual(tokenAmount);
|
|
95
|
-
await userWallet.
|
|
214
|
+
await userWallet.transferTokens({
|
|
96
215
|
tokenPublicKey: tokenPublicKeyHex,
|
|
97
216
|
tokenAmount,
|
|
98
217
|
receiverSparkAddress: tokenPublicKeyHex,
|
|
@@ -101,7 +220,7 @@ describe("token integration test", () => {
|
|
|
101
220
|
expect(userBalanceAfterTransferBack.balance).toEqual(0n);
|
|
102
221
|
const issuerTokenBalance = await issuerWallet.getIssuerTokenBalance();
|
|
103
222
|
expect(issuerTokenBalance.balance).toEqual(tokenAmount);
|
|
104
|
-
await issuerWallet.
|
|
223
|
+
await issuerWallet.burnTokens(tokenAmount);
|
|
105
224
|
const issuerTokenBalanceAfterBurn = await issuerWallet.getIssuerTokenBalance();
|
|
106
225
|
expect(issuerTokenBalanceAfterBurn.balance).toEqual(0n);
|
|
107
226
|
});
|
|
@@ -114,7 +233,7 @@ async function getSparkWalletTokenBalanceOrZero(sparkWallet, publicKey) {
|
|
|
114
233
|
};
|
|
115
234
|
}
|
|
116
235
|
return {
|
|
117
|
-
balance: balanceObj.
|
|
236
|
+
balance: balanceObj.tokenBalances.get(publicKey).balance,
|
|
118
237
|
};
|
|
119
238
|
}
|
|
120
239
|
//# sourceMappingURL=spark.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spark.test.js","sourceRoot":"","sources":["../../../src/tests/integration/spark.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"spark.test.js","sourceRoot":"","sources":["../../../src/tests/integration/spark.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { networks } from "bitcoinjs-lib";
|
|
2
|
-
import
|
|
2
|
+
import { NetworkType } from "@buildonspark/lrc20-sdk";
|
|
3
3
|
export declare const LRC_WALLET_NETWORK: Readonly<{
|
|
4
4
|
0: networks.Network;
|
|
5
5
|
1: networks.Network;
|
|
@@ -8,9 +8,9 @@ export declare const LRC_WALLET_NETWORK: Readonly<{
|
|
|
8
8
|
4: networks.Network;
|
|
9
9
|
}>;
|
|
10
10
|
export declare const LRC_WALLET_NETWORK_TYPE: Readonly<{
|
|
11
|
-
0:
|
|
12
|
-
1:
|
|
13
|
-
2:
|
|
14
|
-
3:
|
|
15
|
-
4:
|
|
11
|
+
0: NetworkType.MAINNET;
|
|
12
|
+
1: NetworkType.TESTNET;
|
|
13
|
+
2: NetworkType.TESTNET;
|
|
14
|
+
3: NetworkType.REGTEST;
|
|
15
|
+
4: NetworkType.REGTEST;
|
|
16
16
|
}>;
|
package/dist/utils/constants.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Network } from "@buildonspark/spark-sdk/utils";
|
|
2
2
|
import { networks } from "bitcoinjs-lib";
|
|
3
|
-
import
|
|
3
|
+
import { NetworkType } from "@buildonspark/lrc20-sdk";
|
|
4
4
|
export const LRC_WALLET_NETWORK = Object.freeze({
|
|
5
5
|
[Network.MAINNET]: networks.bitcoin,
|
|
6
6
|
[Network.TESTNET]: networks.testnet,
|
|
@@ -9,10 +9,10 @@ export const LRC_WALLET_NETWORK = Object.freeze({
|
|
|
9
9
|
[Network.LOCAL]: networks.regtest,
|
|
10
10
|
});
|
|
11
11
|
export const LRC_WALLET_NETWORK_TYPE = Object.freeze({
|
|
12
|
-
[Network.MAINNET]:
|
|
13
|
-
[Network.TESTNET]:
|
|
14
|
-
[Network.SIGNET]:
|
|
15
|
-
[Network.REGTEST]:
|
|
16
|
-
[Network.LOCAL]:
|
|
12
|
+
[Network.MAINNET]: NetworkType.MAINNET,
|
|
13
|
+
[Network.TESTNET]: NetworkType.TESTNET,
|
|
14
|
+
[Network.SIGNET]: NetworkType.TESTNET,
|
|
15
|
+
[Network.REGTEST]: NetworkType.REGTEST,
|
|
16
|
+
[Network.LOCAL]: NetworkType.REGTEST,
|
|
17
17
|
});
|
|
18
18
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,+BAA+B,CAAC;AACtD,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AACvC,OAAO,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,+BAA+B,CAAC;AACtD,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9C,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,OAAO;IACnC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,OAAO;IACnC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,OAAO;IAClC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,OAAO;IACnC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,OAAO;CAClC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,CAAC;IACnD,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,OAAO;IACtC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,OAAO;IACtC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,OAAO;IACrC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,OAAO;IACtC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,OAAO;CACrC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@buildonspark/issuer-sdk",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.9",
|
|
4
4
|
"description": "Spark Issuer SDK for token issuance",
|
|
5
5
|
"module": "./dist/issuer-sdk.js",
|
|
6
6
|
"types": "./dist/issuer-sdk.d.ts",
|
|
@@ -42,8 +42,8 @@
|
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
44
|
"@bufbuild/protobuf": "^2.2.3",
|
|
45
|
-
"@buildonspark/lrc20-sdk": "0.0.
|
|
46
|
-
"@buildonspark/spark-sdk": "0.0.
|
|
45
|
+
"@buildonspark/lrc20-sdk": "0.0.7",
|
|
46
|
+
"@buildonspark/spark-sdk": "0.0.9",
|
|
47
47
|
"@grpc/grpc-js": "^1.12.5",
|
|
48
48
|
"@noble/curves": "^1.8.0",
|
|
49
49
|
"@noble/secp256k1": "^2.2.3",
|