diff --git a/.github/workflows/update.yml b/.github/workflows/update.yml index be658d2..498fb7e 100644 --- a/.github/workflows/update.yml +++ b/.github/workflows/update.yml @@ -1,8 +1,8 @@ -name: Update CellDeps Every 2 Minutes +name: Update CellDeps Every 30 Minutes on: schedule: - - cron: '*/2 * * * *' # Run every 2 minutes + - cron: '*/30 * * * *' # Run every 30 minutes jobs: Update: diff --git a/deployment/cell-deps.json b/deployment/cell-deps.json index b74d75e..7e26f37 100644 --- a/deployment/cell-deps.json +++ b/deployment/cell-deps.json @@ -1,5 +1,12 @@ { "rgbpp": { + "mainnet": { + "outPoint": { + "index": "0x0", + "txHash": "0x04c5c3e69f1aa6ee27fb9de3d15a81704e387ab3b453965adbe0b6ca343c6f41" + }, + "depType": "code" + }, "testnet": { "outPoint": { "index": "0x0", @@ -7,15 +14,22 @@ }, "depType": "code" }, - "mainnet": { + "signet": { "outPoint": { "index": "0x0", - "txHash": "0x04c5c3e69f1aa6ee27fb9de3d15a81704e387ab3b453965adbe0b6ca343c6f41" + "txHash": "0x61efdeddbaa0bb4132c0eb174b3e8002ff5ec430f61ba46f30768d683c516eec" }, "depType": "code" } }, "btcTime": { + "mainnet": { + "outPoint": { + "index": "0x0", + "txHash": "0x6257bf4297ee75fcebe2654d8c5f8d93bc9fc1b3dc62b8cef54ffe166162e996" + }, + "depType": "code" + }, "testnet": { "outPoint": { "index": "0x0", @@ -23,10 +37,10 @@ }, "depType": "code" }, - "mainnet": { + "signet": { "outPoint": { "index": "0x0", - "txHash": "0x6257bf4297ee75fcebe2654d8c5f8d93bc9fc1b3dc62b8cef54ffe166162e996" + "txHash": "0x5364b3535965e9eac9a35dd7af8e9e45a61d30a16e115923c032f80b28783e21" }, "depType": "code" } diff --git a/src/index.ts b/src/index.ts index afcf16b..b719487 100644 --- a/src/index.ts +++ b/src/index.ts @@ -7,10 +7,12 @@ interface CellDepsObject { rgbpp: { mainnet: CKBComponents.CellDep; testnet: CKBComponents.CellDep; + signet: CKBComponents.CellDep; }; btcTime: { mainnet: CKBComponents.CellDep; testnet: CKBComponents.CellDep; + signet: CKBComponents.CellDep; }; xudt: { testnet: CKBComponents.CellDep; @@ -32,12 +34,14 @@ const fetchAndUpdateCellDeps = async () => { const cellDepsObj: CellDepsObject = { rgbpp: { - testnet: await fetchRgbppCellDep(testnetCollector, false), - mainnet: await fetchRgbppCellDep(mainnetCollector, true), + mainnet: await fetchRgbppCellDep(mainnetCollector, 'Mainnet'), + testnet: await fetchRgbppCellDep(testnetCollector, 'Testnet3'), + signet: await fetchRgbppCellDep(testnetCollector, 'Signet'), }, btcTime: { - testnet: await fetchBtcTimeCellDep(testnetCollector, false), - mainnet: await fetchBtcTimeCellDep(mainnetCollector, true), + mainnet: await fetchBtcTimeCellDep(mainnetCollector, 'Mainnet'), + testnet: await fetchBtcTimeCellDep(testnetCollector, 'Testnet3'), + signet: await fetchBtcTimeCellDep(testnetCollector, 'Signet'), }, xudt: { testnet: await fetchXudtTestnetCellDep(testnetCollector), diff --git a/src/typeid.ts b/src/typeid.ts index 720100f..987b2be 100644 --- a/src/typeid.ts +++ b/src/typeid.ts @@ -1,30 +1,40 @@ import { Collector } from '@rgbpp-sdk/ckb'; +export type BTCNetworkType = 'Mainnet' | 'Testnet3' | 'Signet' + const TYPEID_DEPLOYMENT_TYPE_SCRIPT: CKBComponents.Script = { codeHash: '0x00000000000000000000000000000000000000000000000000545950455f4944', hashType: 'type', args: '0x', }; -const rgbppDeploymentTypeScript = (isMainnet: boolean): CKBComponents.Script => { +const rgbppDeploymentTypeScript = (btcNetworkType: BTCNetworkType): CKBComponents.Script => { + // Get the mainnet type script of the output(https://explorer.nervos.org/transaction/0x04c5c3e69f1aa6ee27fb9de3d15a81704e387ab3b453965adbe0b6ca343c6f41#0) + let args = '0x68ad3d9e0bb9ea841a5d1fcd600137bd3f45401e759e353121f26cd0d981452f' + if (btcNetworkType === 'Testnet3') { + // Get the testnet type script of the output(https://pudge.explorer.nervos.org/transaction/0xa3bc8441df149def76cfe15fec7b1e51d949548bc27fb7a75e9d4b3ef1c12c7f#0) + args = '0xa3bc8441df149def76cfe15fec7b1e51d949548bc27fb7a75e9d4b3ef1c12c7f' + } else if (btcNetworkType === 'Signet') { + args = '0xb69fe766ce3b7014a2a78ad1fe688d82f1679325805371d2856c3b8d18ebfa5a' + } return { ...TYPEID_DEPLOYMENT_TYPE_SCRIPT, - // Get the testnet type script of the output(https://pudge.explorer.nervos.org/transaction/0xa3bc8441df149def76cfe15fec7b1e51d949548bc27fb7a75e9d4b3ef1c12c7f#0) - // Get the mainnet type script of the output(https://explorer.nervos.org/transaction/0x04c5c3e69f1aa6ee27fb9de3d15a81704e387ab3b453965adbe0b6ca343c6f41#0) - args: isMainnet - ? '0x68ad3d9e0bb9ea841a5d1fcd600137bd3f45401e759e353121f26cd0d981452f' - : '0xa3bc8441df149def76cfe15fec7b1e51d949548bc27fb7a75e9d4b3ef1c12c7f', + args }; }; -const btcTimeDeploymentTypeScript = (isMainnet: boolean): CKBComponents.Script => { +const btcTimeDeploymentTypeScript = (btcNetworkType: BTCNetworkType): CKBComponents.Script => { + // Get the mainnet type script of the output(https://explorer.nervos.org/transaction/0x6257bf4297ee75fcebe2654d8c5f8d93bc9fc1b3dc62b8cef54ffe166162e996#0) + let args = '0x44b8253ae18e913a2845b0d548eaf6b3ba1099ed26835888932a754194028a8a' + if (btcNetworkType === 'Testnet3') { + // Get the testnet type script of the output(https://pudge.explorer.nervos.org/transaction/0xde0f87878a97500f549418e5d46d2f7704c565a262aa17036c9c1c13ad638529#0) + args = '0xc9828585e6dd2afacb9e6e8ca7deb0975121aabee5c7983178a45509ffaec984' + } else if (btcNetworkType === 'Signet') { + args = '0x32fc8c70a6451a1439fd91e214bba093f9cdd9276bc4ab223430dab5940aff92' + } return { ...TYPEID_DEPLOYMENT_TYPE_SCRIPT, - // Get the testnet type script of the output(https://pudge.explorer.nervos.org/transaction/0xde0f87878a97500f549418e5d46d2f7704c565a262aa17036c9c1c13ad638529#0) - // Get the mainnet type script of the output(https://explorer.nervos.org/transaction/0x6257bf4297ee75fcebe2654d8c5f8d93bc9fc1b3dc62b8cef54ffe166162e996#0) - args: isMainnet - ? '0x44b8253ae18e913a2845b0d548eaf6b3ba1099ed26835888932a754194028a8a' - : '0xc9828585e6dd2afacb9e6e8ca7deb0975121aabee5c7983178a45509ffaec984', + args }; }; @@ -44,8 +54,8 @@ const xudtTestnetDeploymentTypeScript = (): CKBComponents.Script => { }; }; -export const fetchRgbppCellDep = async (collector: Collector, isMainnet: boolean): Promise => { - const [cell] = await collector.getCells({ type: rgbppDeploymentTypeScript(isMainnet) }); +export const fetchRgbppCellDep = async (collector: Collector, btcNetworkType: BTCNetworkType): Promise => { + const [cell] = await collector.getCells({ type: rgbppDeploymentTypeScript(btcNetworkType) }); if (!cell) { throw new Error('No rgbpp lock deployment live cell found'); } @@ -56,8 +66,8 @@ export const fetchRgbppCellDep = async (collector: Collector, isMainnet: boolean return rgbppLockDep; }; -export const fetchBtcTimeCellDep = async (collector: Collector, isMainnet: boolean): Promise => { - const [cell] = await collector.getCells({ type: btcTimeDeploymentTypeScript(isMainnet) }); +export const fetchBtcTimeCellDep = async (collector: Collector, btcNetworkType: BTCNetworkType): Promise => { + const [cell] = await collector.getCells({ type: btcTimeDeploymentTypeScript(btcNetworkType) }); if (!cell) { throw new Error('No BTC time lock deployment live cell found'); }