UNPKG

@silvana-one/coordination

Version:

Silvana Coordination Client

53 lines (49 loc) 1.31 kB
import { Secp256k1Keypair } from "@mysten/sui/keypairs/secp256k1"; import { Transaction } from "@mysten/sui/transactions"; export async function buildPublishTx(params: { modules: string[]; dependencies: string[]; keypair: Secp256k1Keypair; }): Promise<{ tx: Transaction; }> { const { modules, dependencies, keypair } = params; const address = keypair.toSuiAddress(); const tx = new Transaction(); const { Result: publishedDex } = tx.publish({ modules, dependencies, }); const { Result: dex } = tx.transferObjects( [ { Result: publishedDex, }, ], address ); // const paginatedCoins = await suiClient.getCoins({ // owner: address, // }); // const coins = paginatedCoins.data.map((coin) => { // return { // objectId: coin.coinObjectId, // version: coin.version, // digest: coin.digest, // }; // }); // console.log("coins", coins); tx.setSender(address); // tx.setGasOwner(address); // tx.setGasPayment(coins); //console.log("tx", await tx.toJSON()); //tx.setGasBudget(300_000_000n); //console.log("tx", await tx.toJSON()); //console.time("sign"); // const signedTx = await tx.sign({ // signer: keypair, // client: suiClient, // }); //console.timeEnd("sign"); return { tx }; }