bet-test-sdk 1.0.5 → 1.0.6
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/README.md +8 -0
- package/dist/browser/index.js +54 -47
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/types/bet.d.ts +5 -0
- package/dist/browser/types/bet.d.ts.map +1 -1
- package/dist/browser/types/constants.d.ts +1 -1
- package/dist/browser/types/idl/bet.d.ts +2 -2
- package/dist/cjs/bet.d.ts +5 -0
- package/dist/cjs/bet.d.ts.map +1 -1
- package/dist/cjs/bet.js +51 -44
- package/dist/cjs/bet.js.map +1 -1
- package/dist/cjs/constants.d.ts +1 -1
- package/dist/cjs/constants.js +1 -1
- package/dist/cjs/idl/bet.d.ts +2 -2
- package/dist/cjs/idl/bet.json +2 -2
- package/dist/esm/bet.d.ts +5 -0
- package/dist/esm/bet.d.ts.map +1 -1
- package/dist/esm/bet.js +51 -44
- package/dist/esm/bet.js.map +1 -1
- package/dist/esm/constants.d.ts +1 -1
- package/dist/esm/constants.js +1 -1
- package/dist/esm/idl/bet.d.ts +2 -2
- package/dist/esm/idl/bet.json +2 -2
- package/package.json +1 -1
package/README.md
CHANGED
@@ -84,6 +84,14 @@ const createAndBuyToken = async (sdk, testAccount) => {
|
|
84
84
|
};
|
85
85
|
|
86
86
|
const buyTokens = async (sdk, testAccount, mint) => {
|
87
|
+
const curveStateAccount = await sdk.getCurveStateAccount(mint)
|
88
|
+
if (curveStateAccount) {
|
89
|
+
console.log(
|
90
|
+
"mint does not exist",
|
91
|
+
mint.toBase58()
|
92
|
+
);
|
93
|
+
return;
|
94
|
+
}
|
87
95
|
const buyResults = await sdk.buy(
|
88
96
|
testAccount,
|
89
97
|
mint,
|
package/dist/browser/index.js
CHANGED
@@ -3,7 +3,7 @@ import * as borsh from '@coral-xyz/borsh';
|
|
3
3
|
import { struct as struct$1, publicKey as publicKey$3, u64 as u64$1, u8 as u8$1, bool } from '@coral-xyz/borsh';
|
4
4
|
import { getAssociatedTokenAddress, getAccount, createAssociatedTokenAccountInstruction, getAssociatedTokenAddressSync } from '@solana/spl-token';
|
5
5
|
|
6
|
-
const PROGRAM_ID = "
|
6
|
+
const PROGRAM_ID = "E3zXK7VRyn39uuyshkQCriRXUAsR1KKQXaJ55KyDW4bp";
|
7
7
|
const BET_API = "https://dev-jeffery.openhub.network/api";
|
8
8
|
const BET_STATE_SEED = "bet-state";
|
9
9
|
const CURVE_STATE_SEED = "curve-state";
|
@@ -19086,7 +19086,7 @@ class BetState {
|
|
19086
19086
|
}
|
19087
19087
|
}
|
19088
19088
|
|
19089
|
-
var address = "
|
19089
|
+
var address = "E3zXK7VRyn39uuyshkQCriRXUAsR1KKQXaJ55KyDW4bp";
|
19090
19090
|
var metadata = {
|
19091
19091
|
name: "bet",
|
19092
19092
|
version: "0.1.0",
|
@@ -20089,7 +20089,7 @@ var instructions = [
|
|
20089
20089
|
},
|
20090
20090
|
{
|
20091
20091
|
name: "dynamic_amm_program",
|
20092
|
-
address: "
|
20092
|
+
address: "E3zXK7VRyn39uuyshkQCriRXUAsR1KKQXaJ55KyDW4bp"
|
20093
20093
|
}
|
20094
20094
|
],
|
20095
20095
|
args: [
|
@@ -21811,36 +21811,22 @@ class BetSDK {
|
|
21811
21811
|
this.connection = this.program.provider.connection;
|
21812
21812
|
}
|
21813
21813
|
async createAndBuy(creator, migrateType, createTokenMetadata, buyAmountSol, slippageBasisPoints = 500n, priorityFees, commitment = DEFAULT_COMMITMENT, finality = DEFAULT_FINALITY) {
|
21814
|
-
|
21815
|
-
|
21816
|
-
|
21817
|
-
|
21818
|
-
|
21819
|
-
|
21820
|
-
|
21821
|
-
|
21822
|
-
|
21823
|
-
|
21824
|
-
|
21825
|
-
|
21826
|
-
|
21827
|
-
|
21828
|
-
|
21829
|
-
|
21830
|
-
throw new Error('Empty response received from server');
|
21831
|
-
}
|
21832
|
-
if (responseJson.code == 0) {
|
21833
|
-
const privateKey = bs58$1.decode(responseJson.data.privateKey);
|
21834
|
-
mintKeyPair = Keypair.fromSecretKey(privateKey);
|
21835
|
-
}
|
21836
|
-
else {
|
21837
|
-
throw new Error(responseJson.msg);
|
21838
|
-
}
|
21839
|
-
}
|
21840
|
-
catch (error) {
|
21841
|
-
console.error('Error in createTokenMetadata', error);
|
21842
|
-
throw error;
|
21843
|
-
}
|
21814
|
+
const { newTx, mintKeyPair } = await this.getCreateAndBuyInstructions(creator, migrateType, createTokenMetadata, buyAmountSol, slippageBasisPoints, commitment);
|
21815
|
+
let createResults = await sendTx(this.connection, newTx, creator.publicKey, [creator, mintKeyPair], priorityFees, commitment, finality);
|
21816
|
+
return createResults;
|
21817
|
+
}
|
21818
|
+
async buy(buyer, mint, buyAmountSol, slippageBasisPoints = 500n, priorityFees, commitment = DEFAULT_COMMITMENT, finality = DEFAULT_FINALITY) {
|
21819
|
+
let buyTx = await this.getBuyInstructionsBySolAmount(buyer.publicKey, mint, buyAmountSol, slippageBasisPoints, commitment);
|
21820
|
+
let buyResults = await sendTx(this.connection, buyTx, buyer.publicKey, [buyer], priorityFees, commitment, finality);
|
21821
|
+
return buyResults;
|
21822
|
+
}
|
21823
|
+
async sell(seller, mint, sellTokenAmount, slippageBasisPoints = 500n, priorityFees, commitment = DEFAULT_COMMITMENT, finality = DEFAULT_FINALITY) {
|
21824
|
+
let sellTx = await this.getSellInstructionsByTokenAmount(seller.publicKey, mint, sellTokenAmount, slippageBasisPoints);
|
21825
|
+
let sellResults = await sendTx(this.connection, sellTx, seller.publicKey, [seller], priorityFees, commitment, finality);
|
21826
|
+
return sellResults;
|
21827
|
+
}
|
21828
|
+
async getCreateAndBuyInstructions(creator, migrateType, createTokenMetadata, buyAmountSol, slippageBasisPoints = 500n, commitment = DEFAULT_COMMITMENT) {
|
21829
|
+
let mintKeyPair = await this.createMint();
|
21844
21830
|
let tokenMetadata = await this.createTokenMetadata(createTokenMetadata);
|
21845
21831
|
let createTx = await this.getCreateInstructions(creator.publicKey, createTokenMetadata.name, createTokenMetadata.symbol, tokenMetadata.data, migrateType, mintKeyPair);
|
21846
21832
|
let newTx = new Transaction().add(createTx);
|
@@ -21850,24 +21836,15 @@ class BetSDK {
|
|
21850
21836
|
}
|
21851
21837
|
if (buyAmountSol > 0) {
|
21852
21838
|
const buyAmount = getInitialBuyPrice(buyAmountSol);
|
21853
|
-
// console.log("buyAmount:", buyAmount);
|
21854
21839
|
const buyAmountWithSlippage = calculateWithSlippageBuy(buyAmountSol, slippageBasisPoints);
|
21855
|
-
console.log("buyAmountWithSlippage:", buyAmountWithSlippage);
|
21840
|
+
// console.log("buyAmountWithSlippage:", buyAmountWithSlippage);
|
21856
21841
|
const buyTx = await this.getBuyInstructions(creator.publicKey, mintKeyPair.publicKey, buyAmount, buyAmountWithSlippage);
|
21857
21842
|
newTx.add(buyTx);
|
21858
21843
|
}
|
21859
|
-
|
21860
|
-
|
21861
|
-
|
21862
|
-
|
21863
|
-
let buyTx = await this.getBuyInstructionsBySolAmount(buyer.publicKey, mint, buyAmountSol, slippageBasisPoints, commitment);
|
21864
|
-
let buyResults = await sendTx(this.connection, buyTx, buyer.publicKey, [buyer], priorityFees, commitment, finality);
|
21865
|
-
return buyResults;
|
21866
|
-
}
|
21867
|
-
async sell(seller, mint, sellTokenAmount, slippageBasisPoints = 500n, priorityFees, commitment = DEFAULT_COMMITMENT, finality = DEFAULT_FINALITY) {
|
21868
|
-
let sellTx = await this.getSellInstructionsByTokenAmount(seller.publicKey, mint, sellTokenAmount, slippageBasisPoints);
|
21869
|
-
let sellResults = await sendTx(this.connection, sellTx, seller.publicKey, [seller], priorityFees, commitment, finality);
|
21870
|
-
return sellResults;
|
21844
|
+
return {
|
21845
|
+
newTx,
|
21846
|
+
mintKeyPair
|
21847
|
+
};
|
21871
21848
|
}
|
21872
21849
|
//create token instructions
|
21873
21850
|
async getCreateInstructions(creator, name, symbol, uri, migrateType, mintKeyPair) {
|
@@ -21999,6 +21976,36 @@ class BetSDK {
|
|
21999
21976
|
], this.program.programId);
|
22000
21977
|
return configState;
|
22001
21978
|
}
|
21979
|
+
async createMint() {
|
21980
|
+
try {
|
21981
|
+
const request = await fetch(`${BET_API}/token/mint-pair`, {
|
21982
|
+
method: "GET",
|
21983
|
+
credentials: 'same-origin'
|
21984
|
+
});
|
21985
|
+
if (request.status === 500) {
|
21986
|
+
// Try to get more error details
|
21987
|
+
const errorText = await request.text();
|
21988
|
+
throw new Error(`Server error (500): ${errorText || 'No error details available'}`);
|
21989
|
+
}
|
21990
|
+
if (!request.ok) {
|
21991
|
+
throw new Error(`HTTP error! status: ${request.status}`);
|
21992
|
+
}
|
21993
|
+
const responseJson = await request.json();
|
21994
|
+
if (!responseJson) {
|
21995
|
+
throw new Error('Empty response received from server');
|
21996
|
+
}
|
21997
|
+
if (responseJson.code == 0 && responseJson.data) {
|
21998
|
+
return Keypair.fromSecretKey(bs58$1.decode(responseJson.data.privateKey));
|
21999
|
+
}
|
22000
|
+
else {
|
22001
|
+
throw new Error(responseJson.msg);
|
22002
|
+
}
|
22003
|
+
}
|
22004
|
+
catch (error) {
|
22005
|
+
console.error('Error in createTokenMetadata', error);
|
22006
|
+
throw error;
|
22007
|
+
}
|
22008
|
+
}
|
22002
22009
|
async createTokenMetadata(create) {
|
22003
22010
|
// Validate file
|
22004
22011
|
if (!(create.file instanceof Blob)) {
|