From ce7e6ff24a163982b30c4885b76344aa7647dfb7 Mon Sep 17 00:00:00 2001 From: mohanson Date: Thu, 23 Nov 2023 09:21:00 +0800 Subject: [PATCH] Use ckb development network for src/tm... scripts --- dapp/.gitignore | 3 + dapp/src/binCluster | Bin 0 -> 34808 bytes dapp/src/binSpore | Bin 0 -> 53864 bytes dapp/src/deploy.sh | 17 ++++ dapp/src/deploy.toml | 15 ++++ dapp/src/tmConfig.ts | 154 ++++++++++++++++++++++++++++++++++++ dapp/src/tmCreateSpore.ts | 2 + dapp/src/tmTransferSpore.ts | 18 +++++ dapp/src/tmWallet.ts | 9 +-- 9 files changed, 213 insertions(+), 5 deletions(-) create mode 100644 dapp/src/binCluster create mode 100644 dapp/src/binSpore create mode 100644 dapp/src/deploy.sh create mode 100644 dapp/src/deploy.toml create mode 100644 dapp/src/tmConfig.ts diff --git a/dapp/.gitignore b/dapp/.gitignore index 4077c4b..011a85e 100644 --- a/dapp/.gitignore +++ b/dapp/.gitignore @@ -17,3 +17,6 @@ npm-debug.log* yarn-debug.log* yarn-error.log* + +src/info.json +src/migrations diff --git a/dapp/src/binCluster b/dapp/src/binCluster new file mode 100644 index 0000000000000000000000000000000000000000..027d19a59983e1577e6d51940d593c71f613cbe1 GIT binary patch literal 34808 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 WRS?HX!kE_{c6}!Pb{Gut82$tcI(F~? literal 0 HcmV?d00001 diff --git a/dapp/src/binSpore b/dapp/src/binSpore new file mode 100644 index 0000000000000000000000000000000000000000..356527fdd13d2def0a667371bc12e5b299532819 GIT binary patch literal 53864 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 = { +// lumos: createConfig(createConfig({ +// PREFIX: "ckt", +// SCRIPTS: { +// SECP256K1_BLAKE160: { +// CODE_HASH: +// "0x9bd7e06f3ecf4be0f2fcd2188b23f1b9fcc88e5d4b65a8637b17723bbda3cce8", +// HASH_TYPE: "type", +// TX_HASH: +// "0xf8de3bb47d055cdf460d93a2a6e1b05f7432f9777c8c474abf4eec1d4aee5d37", +// INDEX: "0x0", +// DEP_TYPE: "depGroup", +// SHORT_ID: 0, +// }, +// SECP256K1_BLAKE160_MULTISIG: { +// CODE_HASH: +// "0x5c5069eb0857efc65e1bca0c07df34c31663b3622fd3876c876320fc9634e2a8", +// HASH_TYPE: "type", +// TX_HASH: +// "0xf8de3bb47d055cdf460d93a2a6e1b05f7432f9777c8c474abf4eec1d4aee5d37", +// INDEX: "0x1", +// DEP_TYPE: "depGroup", +// SHORT_ID: 1, +// }, +// DAO: { +// CODE_HASH: +// "0x82d76d1b75fe2fd9a27dfbaa65a039221a380d76c926f378d3f81cf3e7e13f2e", +// HASH_TYPE: "type", +// TX_HASH: +// "0x8f8c79eb6671709633fe6a46de93c0fedc9c1b8a6527a18d3983879542635c9f", +// INDEX: "0x2", +// DEP_TYPE: "code", +// }, +// SUDT: { +// CODE_HASH: +// "0xc5e5dcf215925f7ef4dfaf5f4b4f105bc321c02776d6e7d52a1db3fcd9d011a4", +// HASH_TYPE: "type", +// TX_HASH: +// "0xe12877ebd2c3c364dc46c5c992bcfaf4fee33fa13eebdf82c591fc9825aab769", +// INDEX: "0x0", +// DEP_TYPE: "code", +// }, +// ANYONE_CAN_PAY: { +// CODE_HASH: +// "0x3419a1c09eb2567f6552ee7a8ecffd64155cffe0f1796e6e61ec088d740c1356", +// HASH_TYPE: "type", +// TX_HASH: +// "0xec26b0f85ed839ece5f11c4c4e837ec359f5adc4420410f6453b1f6b60fb96a6", +// INDEX: "0x0", +// DEP_TYPE: "depGroup", +// SHORT_ID: 2, +// }, +// OMNILOCK: { +// CODE_HASH: +// "0xf329effd1c475a2978453c8600e1eaf0bc2087ee093c3ee64cc96ec6847752cb", +// HASH_TYPE: "type", +// TX_HASH: +// "0x27b62d8be8ed80b9f56ee0fe41355becdb6f6a40aeba82d3900434f43b1c8b60", +// INDEX: "0x0", +// DEP_TYPE: "code", +// }, +// }, +// })), +// ckbNodeUrl: 'https://testnet.ckb.dev/rpc', +// ckbIndexerUrl: 'https://testnet.ckb.dev/indexer', +// maxTransactionSize: 500 * 1024, +// scripts: { +// Spore: { +// script: { +// codeHash: '0xbbad126377d45f90a8ee120da988a2d7332c78ba8fd679aab478a19d6c133494', +// hashType: 'data1', +// }, +// cellDep: { +// outPoint: { +// txHash: '0xfd694382e621f175ddf81ce91ce2ecf8bfc027d53d7d31b8438f7d26fc37fd19', +// index: '0x0', +// }, +// depType: 'code', +// }, +// versions: [], +// }, +// Cluster: { +// script: { +// codeHash: '0x598d793defef36e2eeba54a9b45130e4ca92822e1d193671f490950c3b856080', +// hashType: 'data1', +// }, +// cellDep: { +// outPoint: { +// txHash: '0x49551a20dfe39231e7db49431d26c9c08ceec96a29024eef3acc936deeb2ca76', +// index: '0x0', +// }, +// depType: 'code', +// }, +// versions: [], +// }, +// }, +// extensions: [], +// }; + + +export const config: SporeConfig = { + lumos: createConfig(createConfig({ + PREFIX: "ckt", + SCRIPTS: { + SECP256K1_BLAKE160: { + CODE_HASH: + "0x9bd7e06f3ecf4be0f2fcd2188b23f1b9fcc88e5d4b65a8637b17723bbda3cce8", + HASH_TYPE: "type", + TX_HASH: + "0x94dfbac7f4ccb5b1f41b1cc314abae9df3f85108af214c5aaff569c8ada0885e", + INDEX: "0x0", + DEP_TYPE: "depGroup", + SHORT_ID: 0, + }, + }, + })), + ckbNodeUrl: 'http://18.162.168.78:8114/rpc', + ckbIndexerUrl: 'http://18.162.168.78:8114/indexer', + maxTransactionSize: 500 * 1024, + scripts: { + Spore: { + script: { + codeHash: '0xbbad126377d45f90a8ee120da988a2d7332c78ba8fd679aab478a19d6c133494', + hashType: 'data1', + }, + cellDep: { + outPoint: { + txHash: '0x769d127f11d81e8f6e8aefd45ea4fe8a32e9d84e70ec1267170c6db82b9796f0', + index: '0x0', + }, + depType: 'code', + }, + versions: [], + }, + Cluster: { + script: { + codeHash: '0x598d793defef36e2eeba54a9b45130e4ca92822e1d193671f490950c3b856080', + hashType: 'data1', + }, + cellDep: { + outPoint: { + txHash: '0x769d127f11d81e8f6e8aefd45ea4fe8a32e9d84e70ec1267170c6db82b9796f0', + index: '0x0', + }, + depType: 'code', + }, + versions: [], + }, + }, + extensions: [], +}; diff --git a/dapp/src/tmCreateSpore.ts b/dapp/src/tmCreateSpore.ts index fe3e7c0..47913f7 100644 --- a/dapp/src/tmCreateSpore.ts +++ b/dapp/src/tmCreateSpore.ts @@ -1,6 +1,7 @@ import { createSpore } from '@spore-sdk/core'; import { readFileSync } from 'fs'; import { resolve } from 'path'; +import { config } from './tmConfig'; import { accounts } from './tmWallet'; export async function fetchLocalFile(src: string) { @@ -16,6 +17,7 @@ export async function main() { }, toLock: accounts.alice.lock, fromInfos: [accounts.alice.address], + config: config, }); const hash = await accounts.alice.signAndSendTransaction(txSkeleton); console.log(`Spore created at: https://pudge.explorer.nervos.org/transaction/${hash}`); diff --git a/dapp/src/tmTransferSpore.ts b/dapp/src/tmTransferSpore.ts index e69de29..3b858b2 100644 --- a/dapp/src/tmTransferSpore.ts +++ b/dapp/src/tmTransferSpore.ts @@ -0,0 +1,18 @@ +import { transferSpore } from '@spore-sdk/core'; +import { config } from './tmConfig'; +import { accounts } from './tmWallet'; + +async function main() { + let { txSkeleton } = await transferSpore({ + outPoint: { + txHash: '0xb83fa0529c76fede0531b211ddf61a689f52470584d9f487cd6c40a7df7cec53', + index: '0x0', + }, + toLock: accounts.bob.lock, + config: config, + }); + let hash = await accounts.alice.signAndSendTransaction(txSkeleton); + console.log(`Spore transfered at: https://pudge.explorer.nervos.org/transaction/${hash}`); +} + +main() diff --git a/dapp/src/tmWallet.ts b/dapp/src/tmWallet.ts index 7d032e9..8fa22dd 100644 --- a/dapp/src/tmWallet.ts +++ b/dapp/src/tmWallet.ts @@ -4,8 +4,9 @@ import { bytes } from "@ckb-lumos/codec"; import { Config } from "@ckb-lumos/config-manager"; import { TransactionSkeletonType, createTransactionFromSkeleton } from "@ckb-lumos/helpers"; import { RPC, hd, helpers } from '@ckb-lumos/lumos'; -import { defaultEmptyWitnessArgs, getSporeConfig, isScriptValueEquals, updateWitnessArgs } from '@spore-sdk/core'; +import { defaultEmptyWitnessArgs, isScriptValueEquals, updateWitnessArgs } from '@spore-sdk/core'; import { Set } from "immutable"; +import { config } from './tmConfig'; const { CKBHasher, ckbHash } = utils; @@ -105,8 +106,6 @@ export interface Wallet { * providing lock/address, and functions to sign message/transaction and send the transaction on-chain. */ export function createDefaultLockWallet(privateKey: HexString): Wallet { - const config = getSporeConfig(); - // Generate a lock script from the private key const Secp256k1Blake160 = config.lumos.SCRIPTS['SECP256K1_BLAKE160']!; const lock: Script = { @@ -182,6 +181,6 @@ export function createDefaultLockWallet(privateKey: HexString): Wallet { } export const accounts = { - alice: createDefaultLockWallet('0x49aa6d595ac46cc8e1a31b511754dd58f241a7d8a6ad29e83d6b0c1a82399f3d'), - bob: createDefaultLockWallet('0xc153ee57dc8ae3dac3495c828d6f8c3fef6b1d0c74fc31101c064137b3269d6d'), + alice: createDefaultLockWallet('0x0000000000000000000000000000000000000000000000000000000000000001'), + bob: createDefaultLockWallet('0x0000000000000000000000000000000000000000000000000000000000000002'), };