diff --git a/packages/chess-app/src/components/ChessBoard.tsx b/packages/chess-app/src/components/ChessBoard.tsx index b8fe6573e..74e9deca9 100644 --- a/packages/chess-app/src/components/ChessBoard.tsx +++ b/packages/chess-app/src/components/ChessBoard.tsx @@ -588,7 +588,7 @@ export function ChessBoard() { /> - + ) } diff --git a/packages/chess-app/src/components/CreateUser.tsx b/packages/chess-app/src/components/CreateUser.tsx index ac4e76cb9..a42053d06 100644 --- a/packages/chess-app/src/components/CreateUser.tsx +++ b/packages/chess-app/src/components/CreateUser.tsx @@ -1,7 +1,8 @@ -import { useContext, useState } from 'react' -import { ComputerContext, Modal, UtilsContext } from '@bitcoin-computer/components' +import { useContext, useEffect, useState } from 'react' +import { bigIntToStr, ComputerContext, Modal, UtilsContext } from '@bitcoin-computer/components' import { Computer } from '@bitcoin-computer/lib' import { User, UserHelper } from '@bitcoin-computer/chess-contracts' +import { HiRefresh } from 'react-icons/hi' import { VITE_CHESS_USER_MOD_SPEC } from '../constants/modSpecs' export const creaetUserModal = 'create-user-modal' @@ -13,6 +14,8 @@ export function CreateUserModalContent({ setUserName, userName, setUser, + setTitle, + currentBalance, }: { userTxId: string setUserTxId: React.Dispatch> @@ -20,8 +23,12 @@ export function CreateUserModalContent({ userName: string setUserName: React.Dispatch> setUser: React.Dispatch> + setTitle: React.Dispatch> + currentBalance: bigint }) { const { showLoader, showSnackBar } = UtilsContext.useUtilsComponents() + const [balance, setBalance] = useState(currentBalance) + const [address, setAddress] = useState('') const onSubmit = async (e: React.SyntheticEvent) => { e.preventDefault() @@ -30,10 +37,10 @@ export function CreateUserModalContent({ const userHelper = new UserHelper({ computer, mod: VITE_CHESS_USER_MOD_SPEC }) const txId = await userHelper.createUser(userName) const [rev] = await computer.query({ ids: [txId + ':0'] }) - // Should there be delay here const user = (await computer.sync(rev)) as User setUser(user) setUserTxId(txId) + setTitle('Account created successfully!') showLoader(false) } catch (err) { if (err instanceof Error) { @@ -45,66 +52,114 @@ export function CreateUserModalContent({ } } + const fund = async () => { + await computer.faucet(1e8) + setBalance((await computer.getBalance()).balance) + } + + const refreshBalance = async () => { + setBalance((await computer.getBalance()).balance) + setAddress(await computer.getAddress()) + } + + useEffect(() => { + refreshBalance() + }, []) + return ( - <> +
{userTxId ? ( -
-
-

- Account created. -

-
+
+ + Click on "New Game" to start playing. +
) : ( - <> -
-
-
- - setUserName(e.target.value)} - className="bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-md focus:ring-blue-500 focus:border-blue-500 block w-full p-3 dark:bg-gray-700 dark:border-gray-600 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500" +
+ {/* Balance Display */} +
+
+
+ + Balance: {bigIntToStr(balance)} {computer.getChain()} + +
+ {computer.getNetwork() === 'regtest' && ( + + )}
-
-
+ )} +
+ + {/* Form */} + +
+ + setUserName(e.target.value)} + className="w-full px-4 py-2 text-sm bg-gray-50 dark:bg-gray-700 border border-gray-300 dark:border-gray-600 text-gray-900 dark:text-white rounded-md focus:ring-blue-500 focus:border-blue-500 dark:focus:ring-blue-500 dark:focus:border-blue-500 transition-colors" + placeholder="Enter your name" + />
+ - +
)} - +
) } export function CreateUserModal({ setUser, + currentBalance, }: { setUser: React.Dispatch> + currentBalance: bigint }) { const computer = useContext(ComputerContext) const [userTxId, setUserTxId] = useState('') const [userName, setUserName] = useState('') + const [title, setTitle] = useState('Please create your account!') return ( diff --git a/packages/chess-contracts/build/src/chess.js b/packages/chess-contracts/build/src/chess.js index ef50a8589..eb2cf4a9c 100644 --- a/packages/chess-contracts/build/src/chess.js +++ b/packages/chess-contracts/build/src/chess.js @@ -920,7 +920,6 @@ export class Chess { for (let j = 0, len = PIECE_OFFSETS[type].length; j < len; j++) { const offset = PIECE_OFFSETS[type][j]; to = from; - // eslint-disable-next-line no-constant-condition while (true) { to += offset; if (to & 0x88) @@ -1773,7 +1772,6 @@ export class Chess { while (this._history.length > 0) { reversedHistory.push(this._undoMove()); } - // eslint-disable-next-line no-constant-condition while (true) { const move = reversedHistory.pop(); if (!move) { @@ -1827,7 +1825,6 @@ export class Chess { reversedHistory.push(this._undoMove()); } copyComment(this.fen()); - // eslint-disable-next-line no-constant-condition while (true) { const move = reversedHistory.pop(); if (!move) { diff --git a/packages/chess-contracts/build/src/chess.js.map b/packages/chess-contracts/build/src/chess.js.map index 311826508..858ef7469 100644 --- a/packages/chess-contracts/build/src/chess.js.map +++ b/packages/chess-contracts/build/src/chess.js.map @@ -1 +1 @@ -{"version":3,"file":"chess.js","sourceRoot":"","sources":["../../src/chess.ts"],"names":[],"mappings":"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EAAE,EAAC,EAAE,EAAG,CAAC,EAAE,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAE,CAAC;IAChD,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAChD,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAG,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAChD,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAG,CAAC,EAAE,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAChD,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAChD,CAAC,EAAE,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAChD,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC;IACjD,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,EAAE;CAC/C,CAAA;AAEF,kBAAkB;AAClB,MAAM,IAAI,GAAG;IACT,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,EAAE,EAAE,CAAC;IAC5D,CAAC,EAAE,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAE,CAAC;IAC5D,CAAC,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAG,CAAC,EAAE,CAAC;IAC5D,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,CAAC;IAC5D,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,CAAC;IAC5D,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,CAAC;IAC5D,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,CAAC;IAC5D,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAG,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IAC5D,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAC,CAAC,EAAE,EAAC,CAAC,EAAE,EAAC,CAAC,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,CAAC;IAC5D,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,CAAC;IAC5D,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAG,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAG,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,CAAC;IAC5D,CAAC,EAAG,CAAC,EAAG,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,CAAC;IAC5D,CAAC,EAAG,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAG,CAAC,EAAE,CAAC;IAC5D,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,E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"} \ No newline at end of file +{"version":3,"file":"chess.js","sourceRoot":"","sources":["../../src/chess.ts"],"names":[],"mappings":"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EAAE,EAAC,EAAE,EAAG,CAAC,EAAE,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAE,CAAC;IAChD,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAChD,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAG,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAChD,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAG,CAAC,EAAE,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAChD,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAChD,CAAC,EAAE,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAChD,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC;IACjD,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,EAAE;CAC/C,CAAA;AAEF,kBAAkB;AAClB,MAAM,IAAI,GAAG;IACT,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,EAAE,EAAE,CAAC;IAC5D,CAAC,EAAE,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAE,CAAC;IAC5D,CAAC,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAG,CAAC,EAAE,CAAC;IAC5D,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,CAAC;IAC5D,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,CAAC;IAC5D,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAE,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,CAAC;IAC5D,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,CAAC;IAC5D,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAG,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IAC5D,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAC,CAAC,EAAE,EAAC,CAAC,EAAE,EAAC,CAAC,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,CAAC;IAC5D,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,CAAC;IAC5D,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAG,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAG,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,CAAC;IAC5D,CAAC,EAAG,CAAC,EAAG,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,CAAC;IAC5D,CAAC,EAAG,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAG,CAAC,EAAE,CAAC;IAC5D,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAC,CAAC,EAAE,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,E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"} \ No newline at end of file diff --git a/packages/chess-contracts/build/test/chess-contract.test.js b/packages/chess-contracts/build/test/chess-contract.test.js index e31e55269..8c3a1f6c1 100644 --- a/packages/chess-contracts/build/test/chess-contract.test.js +++ b/packages/chess-contracts/build/test/chess-contract.test.js @@ -167,7 +167,6 @@ describe('Should create a deposit transaction for the Chess game with operator', const scriptSig = redeemTx.ins[0].script; const decompiled = bscript.decompile(scriptSig); const corruptedSig = Buffer.from(decompiled[1]); - // eslint-disable-next-line no-bitwise -- intentional bitwise corruption for test corruptedSig[10] ^= 0x01; // Corrupt the signature decompiled[1] = corruptedSig; const corruptedScriptSig = bscript.compile(decompiled); diff --git a/packages/chess-contracts/build/test/chess-contract.test.js.map b/packages/chess-contracts/build/test/chess-contract.test.js.map index 1a1a78942..b5255a448 100644 --- a/packages/chess-contracts/build/test/chess-contract.test.js.map +++ b/packages/chess-contracts/build/test/chess-contract.test.js.map @@ -1 +1 @@ -{"version":3,"file":"chess-contract.test.js","sourceRoot":"","sources":["../../test/chess-contract.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,8BAA8B,CAAA;AACjG,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,aAAa,EAAmB,MAAM,QAAQ,CAAA;AACvD,OAAO,KAAK,GAAG,MAAM,6BAA6B,CAAA;AAElD,MAAM,GAAG,GAAG,uBAAuB,CAAA;AACnC,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;AAEjC,QAAQ,CAAC,sEAAsE,EAAE,GAAG,EAAE;IACpF,MAAM,SAAS,GAAG,OAAO,CAAA;IACzB,MAAM,IAAI,GAAG,MAAM,CAAA;IACnB,MAAM,aAAa,GAAG,IAAI,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;IAC3C,MAAM,WAAW,GAAG,IAAI,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;IACzC,MAAM,gBAAgB,GAAG,IAAI,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;IAE9C,MAAM,cAAc,GAAG,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAA;IACxD,MAAM,YAAY,GAAG,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAA;IACpD,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAA;IAC9D,MAAM,YAAY,GAAG,aAAa,CAAC,UAAU,EAAE,CAAA;IAC/C,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,EAAE,CAAA;IAC3C,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAA;IACtC,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,EAAE,CAAA;IAC1C,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IACtD,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,CAAA;IAEjC,MAAM,eAAe,GAAG,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAA;IAC1D,MAAM,aAAa,GAAG,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAA;IACtD,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAA;IAChE,MAAM,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC,CAAC,CAAA;IAC9D,MAAM,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC,CAAC,CAAA;IAC1D,MAAM,eAAe,GAAG,MAAM,CAAC,cAAc,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAA;IAEpE,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;IACtF,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;IAElF,MAAM,SAAS,GAAG,QAAQ,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,wBAAwB,CAAA;IACrJ,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;IAC3E,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;IAElF,MAAM,UAAU,GAAG;QACjB,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,EAAE;QAC9C,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE;KACvC,CAAA;IAED,MAAM,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QAC1B,MAAM,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAChC,MAAM,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAC9B,MAAM,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;IAEF,oCAAoC;IACpC,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE;QAChC,MAAM,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAChC,MAAM,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAE9B,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAA;QAC5F,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,SAAS,CAAA;QACxE,MAAM,aAAa,GAAG,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAA;QAE1E,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAA;QACtF,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,CAAA;QACtE,MAAM,WAAW,GAAG,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAA;QAExE,MAAM,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAA;QAClC,QAAQ,CAAC,SAAS,CAAC,MAAgB,EAAE,EAAE,GAAG,SAAS,CAAC,CAAA;QACpD,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;QACvC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;QACrC,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;QACvE,QAAQ,CAAC,SAAS,CAAC,iBAA2B,EAAE,cAAc,GAAG,SAAS,CAAC,CAAA;QAC3E,QAAQ,CAAC,SAAS,CAAC,eAAyB,EAAE,cAAc,GAAG,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAA;QAC/F,MAAM,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAClC,MAAM,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAChC,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QACxD,OAAO,UAAU,CAAA;IACnB,CAAC,CAAA;IAED,MAAM,cAAc,GAAG,CACrB,eAAgC,EAChC,UAAkB,EAClB,YAAgC,EAChC,MAAc,EACd,EAAE;QACF,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAClD,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAA;QAClC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;QAC9D,QAAQ,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;QACxC,MAAM,OAAO,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAAE,YAAY,EAAE,WAAW,CAAC,WAAW,CAAC,CAAA;QACnF,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAC1C,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAC7B,WAAW,CAAC,WAAW,CACxB,CAAA;QACD,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAA;QAC1E,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC;YAClC,MAAM,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,YAAY,EAAE;SAC5D,CAAC,CAAA;QACF,QAAQ,CAAC,cAAc,CAAC,CAAC,EAAE,aAAa,CAAC,KAAe,CAAC,CAAA;QACzD,OAAO,QAAQ,CAAA;IACjB,CAAC,CAAA;IAED,QAAQ;IACR,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,UAAU,GAAG,MAAM,cAAc,EAAE,CAAA;QACzC,MAAM,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAA;QAClC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;QAC9D,QAAQ,CAAC,SAAS,CAAC,iBAA2B,EAAE,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC,CAAA;QACtE,MAAM,OAAO,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAAE,YAAY,EAAE,WAAW,CAAC,WAAW,CAAC,CAAA;QACnF,MAAM,QAAQ,GAAG;YACf,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACf,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC;YAC7E,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC;SACjF,CAAA;QACD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC3B,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE;SACnE,CAAC,CAAA;QACF,QAAQ,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,KAAe,CAAC,CAAA;QAClD,MAAM,gBAAgB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;IAC5C,CAAC,CAAC,CAAA;IAEF,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QAC/B,EAAE,CAAC,mDAAmD,SAAS,CAAC,IAAI,EAAE,EAAE,KAAK,IAAI,EAAE;YACjF,MAAM,UAAU,GAAG,MAAM,cAAc,EAAE,CAAA;YACzC,MAAM,QAAQ,GAAG,cAAc,CAC7B,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,EAAE,GAAG,SAAS,GAAG,IAAI,CACtB,CAAA;YACD,MAAM,CAAC,GAAG,EAAE;gBACV,mBAAmB,CAAC,uBAAuB,CACzC,QAAQ,EACR,cAAc,EACd,SAAS,CAAC,OAAO,EACjB,YAAY,EACZ,CAAC,CAAC,OAAO,CACV,CAAA;YACH,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAA;QAClB,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,2CAA2C,SAAS,CAAC,IAAI,EAAE,EAAE,KAAK,IAAI,EAAE;YACzE,MAAM,UAAU,GAAG,MAAM,cAAc,EAAE,CAAA;YACzC,MAAM,QAAQ,GAAG,cAAc,CAC7B,UAAU,EACV,UAAU,EACV,iBAAiB,EACjB,EAAE,GAAG,SAAS,GAAG,IAAI,CACtB,CAAA;YACD,MAAM,CAAC,GAAG,EAAE;gBACV,mBAAmB,CAAC,uBAAuB,CACzC,QAAQ,EACR,cAAc,EACd,SAAS,CAAC,OAAO,EACjB,YAAY,EACZ,CAAC,CAAC,OAAO,CACV,CAAA;YACH,CAAC,CAAC,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAA;QAC/C,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAClE,MAAM,UAAU,GAAG,MAAM,cAAc,EAAE,CAAA;QACzC,MAAM,eAAe,GAAG,cAAc,CAAA;QACtC,MAAM,QAAQ,GAAG,cAAc,CAC7B,YAAY,EACZ,UAAU,EACV,eAAe,EACf,EAAE,GAAG,SAAS,GAAG,IAAI,CACtB,CAAA;QACD,MAAM,CAAC,GAAG,EAAE;YACV,mBAAmB,CAAC,uBAAuB,CACzC,QAAQ,EACR,eAAe,EACf,eAAe,EACf,YAAY,EACZ,CAAC,CAAC,OAAO,CACV,CAAA;QACH,CAAC,CAAC,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAA;IAClD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,UAAU,GAAG,MAAM,cAAc,EAAE,CAAA;QACzC,MAAM,eAAe,GAAG,cAAc,CAAA;QACtC,MAAM,QAAQ,GAAG,cAAc,CAC7B,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,EAAE,GAAG,SAAS,GAAG,IAAI,CACtB,CAAA;QACD,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;QACzD,MAAM,CAAC,GAAG,EAAE;YACV,mBAAmB,CAAC,uBAAuB,CACzC,QAAQ,EACR,eAAe,EACf,eAAe,EACf,YAAY,EACZ,CAAC,CAAC,OAAO,CACV,CAAA;QACH,CAAC,CAAC,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,UAAU,GAAG,MAAM,cAAc,EAAE,CAAA;QACzC,MAAM,eAAe,GAAG,cAAc,CAAA;QACtC,MAAM,QAAQ,GAAG,cAAc,CAC7B,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,EAAE,GAAG,SAAS,GAAG,IAAI,CACtB,CAAA;QACD,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;QACxC,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,SAAS,CAAa,CAAA;QAC3D,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA,CAAC,wBAAwB;QACjG,QAAQ,CAAC,cAAc,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAA;QAC5C,MAAM,CAAC,GAAG,EAAE;YACV,mBAAmB,CAAC,uBAAuB,CACzC,QAAQ,EACR,eAAe,EACf,eAAe,EACf,YAAY,EACZ,CAAC,CAAC,OAAO,CACV,CAAA;QACH,CAAC,CAAC,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAA;IACxC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,UAAU,GAAG,MAAM,cAAc,EAAE,CAAA;QACzC,MAAM,eAAe,GAAG,cAAc,CAAA;QACtC,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACjD,MAAM,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAA;QAClC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;QAC9D,QAAQ,CAAC,SAAS,CAAC,iBAA2B,EAAE,MAAM,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAA;QAC9E,MAAM,OAAO,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAAE,YAAY,EAAE,WAAW,CAAC,WAAW,CAAC,CAAA;QACnF,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAC1C,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAC1B,WAAW,CAAC,WAAW,CACxB,CAAA;QACD,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAA;QAC1E,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC;YAClC,MAAM,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,iBAAiB,EAAE;SACjE,CAAC,CAAA;QACF,QAAQ,CAAC,cAAc,CAAC,CAAC,EAAE,aAAa,CAAC,KAAe,CAAC,CAAA;QACzD,MAAM,CAAC,GAAG,EAAE;YACV,mBAAmB,CAAC,uBAAuB,CACzC,QAAQ,EACR,eAAe,EACf,eAAe,EACf,YAAY,EACZ,CAAC,CAAC,OAAO,CACV,CAAA;QACH,CAAC,CAAC,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAA;IAC5D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,UAAU,GAAG,MAAM,cAAc,EAAE,CAAA;QACzC,MAAM,eAAe,GAAG,cAAc,CAAA;QACtC,MAAM,QAAQ,GAAG,cAAc,CAC7B,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,EAAE,GAAG,SAAS,GAAG,IAAI,CACtB,CAAA;QACD,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;QACxC,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,SAAS,CAAa,CAAA;QAC3D,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;QAC/C,iFAAiF;QACjF,YAAY,CAAC,EAAE,CAAC,IAAI,IAAI,CAAA,CAAC,wBAAwB;QACjD,UAAU,CAAC,CAAC,CAAC,GAAG,YAAY,CAAA;QAC5B,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QACtD,QAAQ,CAAC,cAAc,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAA;QAC9C,MAAM,CAAC,GAAG,EAAE;YACV,mBAAmB,CAAC,uBAAuB,CACzC,QAAQ,EACR,eAAe,EACf,eAAe,EACf,YAAY,EACZ,CAAC,CAAC,OAAO,CACV,CAAA;QACH,CAAC,CAAC,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAA;IAC/C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"chess-contract.test.js","sourceRoot":"","sources":["../../test/chess-contract.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,8BAA8B,CAAA;AACjG,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,aAAa,EAAmB,MAAM,QAAQ,CAAA;AACvD,OAAO,KAAK,GAAG,MAAM,6BAA6B,CAAA;AAElD,MAAM,GAAG,GAAG,uBAAuB,CAAA;AACnC,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;AAEjC,QAAQ,CAAC,sEAAsE,EAAE,GAAG,EAAE;IACpF,MAAM,SAAS,GAAG,OAAO,CAAA;IACzB,MAAM,IAAI,GAAG,MAAM,CAAA;IACnB,MAAM,aAAa,GAAG,IAAI,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;IAC3C,MAAM,WAAW,GAAG,IAAI,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;IACzC,MAAM,gBAAgB,GAAG,IAAI,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;IAE9C,MAAM,cAAc,GAAG,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAA;IACxD,MAAM,YAAY,GAAG,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAA;IACpD,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAA;IAC9D,MAAM,YAAY,GAAG,aAAa,CAAC,UAAU,EAAE,CAAA;IAC/C,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,EAAE,CAAA;IAC3C,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAA;IACtC,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,EAAE,CAAA;IAC1C,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IACtD,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,CAAA;IAEjC,MAAM,eAAe,GAAG,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAA;IAC1D,MAAM,aAAa,GAAG,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAA;IACtD,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAA;IAChE,MAAM,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC,CAAC,CAAA;IAC9D,MAAM,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC,CAAC,CAAA;IAC1D,MAAM,eAAe,GAAG,MAAM,CAAC,cAAc,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAA;IAEpE,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;IACtF,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;IAElF,MAAM,SAAS,GAAG,QAAQ,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,wBAAwB,CAAA;IACrJ,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;IAC3E,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;IAElF,MAAM,UAAU,GAAG;QACjB,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,EAAE;QAC9C,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE;KACvC,CAAA;IAED,MAAM,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QAC1B,MAAM,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAChC,MAAM,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAC9B,MAAM,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;IAEF,oCAAoC;IACpC,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE;QAChC,MAAM,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAChC,MAAM,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAE9B,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAA;QAC5F,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,SAAS,CAAA;QACxE,MAAM,aAAa,GAAG,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAA;QAE1E,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAA;QACtF,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,CAAA;QACtE,MAAM,WAAW,GAAG,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAA;QAExE,MAAM,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAA;QAClC,QAAQ,CAAC,SAAS,CAAC,MAAgB,EAAE,EAAE,GAAG,SAAS,CAAC,CAAA;QACpD,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;QACvC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;QACrC,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;QACvE,QAAQ,CAAC,SAAS,CAAC,iBAA2B,EAAE,cAAc,GAAG,SAAS,CAAC,CAAA;QAC3E,QAAQ,CAAC,SAAS,CAAC,eAAyB,EAAE,cAAc,GAAG,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAA;QAC/F,MAAM,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAClC,MAAM,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAChC,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QACxD,OAAO,UAAU,CAAA;IACnB,CAAC,CAAA;IAED,MAAM,cAAc,GAAG,CACrB,eAAgC,EAChC,UAAkB,EAClB,YAAgC,EAChC,MAAc,EACd,EAAE;QACF,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAClD,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAA;QAClC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;QAC9D,QAAQ,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;QACxC,MAAM,OAAO,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAAE,YAAY,EAAE,WAAW,CAAC,WAAW,CAAC,CAAA;QACnF,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAC1C,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAC7B,WAAW,CAAC,WAAW,CACxB,CAAA;QACD,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAA;QAC1E,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC;YAClC,MAAM,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,YAAY,EAAE;SAC5D,CAAC,CAAA;QACF,QAAQ,CAAC,cAAc,CAAC,CAAC,EAAE,aAAa,CAAC,KAAe,CAAC,CAAA;QACzD,OAAO,QAAQ,CAAA;IACjB,CAAC,CAAA;IAED,QAAQ;IACR,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,UAAU,GAAG,MAAM,cAAc,EAAE,CAAA;QACzC,MAAM,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAA;QAClC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;QAC9D,QAAQ,CAAC,SAAS,CAAC,iBAA2B,EAAE,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC,CAAA;QACtE,MAAM,OAAO,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAAE,YAAY,EAAE,WAAW,CAAC,WAAW,CAAC,CAAA;QACnF,MAAM,QAAQ,GAAG;YACf,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACf,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC;YAC7E,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC;SACjF,CAAA;QACD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC3B,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE;SACnE,CAAC,CAAA;QACF,QAAQ,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,KAAe,CAAC,CAAA;QAClD,MAAM,gBAAgB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;IAC5C,CAAC,CAAC,CAAA;IAEF,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QAC/B,EAAE,CAAC,mDAAmD,SAAS,CAAC,IAAI,EAAE,EAAE,KAAK,IAAI,EAAE;YACjF,MAAM,UAAU,GAAG,MAAM,cAAc,EAAE,CAAA;YACzC,MAAM,QAAQ,GAAG,cAAc,CAC7B,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,EAAE,GAAG,SAAS,GAAG,IAAI,CACtB,CAAA;YACD,MAAM,CAAC,GAAG,EAAE;gBACV,mBAAmB,CAAC,uBAAuB,CACzC,QAAQ,EACR,cAAc,EACd,SAAS,CAAC,OAAO,EACjB,YAAY,EACZ,CAAC,CAAC,OAAO,CACV,CAAA;YACH,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAA;QAClB,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,2CAA2C,SAAS,CAAC,IAAI,EAAE,EAAE,KAAK,IAAI,EAAE;YACzE,MAAM,UAAU,GAAG,MAAM,cAAc,EAAE,CAAA;YACzC,MAAM,QAAQ,GAAG,cAAc,CAC7B,UAAU,EACV,UAAU,EACV,iBAAiB,EACjB,EAAE,GAAG,SAAS,GAAG,IAAI,CACtB,CAAA;YACD,MAAM,CAAC,GAAG,EAAE;gBACV,mBAAmB,CAAC,uBAAuB,CACzC,QAAQ,EACR,cAAc,EACd,SAAS,CAAC,OAAO,EACjB,YAAY,EACZ,CAAC,CAAC,OAAO,CACV,CAAA;YACH,CAAC,CAAC,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAA;QAC/C,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAClE,MAAM,UAAU,GAAG,MAAM,cAAc,EAAE,CAAA;QACzC,MAAM,eAAe,GAAG,cAAc,CAAA;QACtC,MAAM,QAAQ,GAAG,cAAc,CAC7B,YAAY,EACZ,UAAU,EACV,eAAe,EACf,EAAE,GAAG,SAAS,GAAG,IAAI,CACtB,CAAA;QACD,MAAM,CAAC,GAAG,EAAE;YACV,mBAAmB,CAAC,uBAAuB,CACzC,QAAQ,EACR,eAAe,EACf,eAAe,EACf,YAAY,EACZ,CAAC,CAAC,OAAO,CACV,CAAA;QACH,CAAC,CAAC,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAA;IAClD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,UAAU,GAAG,MAAM,cAAc,EAAE,CAAA;QACzC,MAAM,eAAe,GAAG,cAAc,CAAA;QACtC,MAAM,QAAQ,GAAG,cAAc,CAC7B,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,EAAE,GAAG,SAAS,GAAG,IAAI,CACtB,CAAA;QACD,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;QACzD,MAAM,CAAC,GAAG,EAAE;YACV,mBAAmB,CAAC,uBAAuB,CACzC,QAAQ,EACR,eAAe,EACf,eAAe,EACf,YAAY,EACZ,CAAC,CAAC,OAAO,CACV,CAAA;QACH,CAAC,CAAC,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,UAAU,GAAG,MAAM,cAAc,EAAE,CAAA;QACzC,MAAM,eAAe,GAAG,cAAc,CAAA;QACtC,MAAM,QAAQ,GAAG,cAAc,CAC7B,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,EAAE,GAAG,SAAS,GAAG,IAAI,CACtB,CAAA;QACD,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;QACxC,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,SAAS,CAAa,CAAA;QAC3D,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA,CAAC,wBAAwB;QACjG,QAAQ,CAAC,cAAc,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAA;QAC5C,MAAM,CAAC,GAAG,EAAE;YACV,mBAAmB,CAAC,uBAAuB,CACzC,QAAQ,EACR,eAAe,EACf,eAAe,EACf,YAAY,EACZ,CAAC,CAAC,OAAO,CACV,CAAA;QACH,CAAC,CAAC,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAA;IACxC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,UAAU,GAAG,MAAM,cAAc,EAAE,CAAA;QACzC,MAAM,eAAe,GAAG,cAAc,CAAA;QACtC,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACjD,MAAM,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAA;QAClC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;QAC9D,QAAQ,CAAC,SAAS,CAAC,iBAA2B,EAAE,MAAM,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAA;QAC9E,MAAM,OAAO,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAAE,YAAY,EAAE,WAAW,CAAC,WAAW,CAAC,CAAA;QACnF,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAC1C,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAC1B,WAAW,CAAC,WAAW,CACxB,CAAA;QACD,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAA;QAC1E,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC;YAClC,MAAM,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,iBAAiB,EAAE;SACjE,CAAC,CAAA;QACF,QAAQ,CAAC,cAAc,CAAC,CAAC,EAAE,aAAa,CAAC,KAAe,CAAC,CAAA;QACzD,MAAM,CAAC,GAAG,EAAE;YACV,mBAAmB,CAAC,uBAAuB,CACzC,QAAQ,EACR,eAAe,EACf,eAAe,EACf,YAAY,EACZ,CAAC,CAAC,OAAO,CACV,CAAA;QACH,CAAC,CAAC,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAA;IAC5D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,UAAU,GAAG,MAAM,cAAc,EAAE,CAAA;QACzC,MAAM,eAAe,GAAG,cAAc,CAAA;QACtC,MAAM,QAAQ,GAAG,cAAc,CAC7B,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,EAAE,GAAG,SAAS,GAAG,IAAI,CACtB,CAAA;QACD,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;QACxC,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,SAAS,CAAa,CAAA;QAC3D,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;QAE/C,YAAY,CAAC,EAAE,CAAC,IAAI,IAAI,CAAA,CAAC,wBAAwB;QACjD,UAAU,CAAC,CAAC,CAAC,GAAG,YAAY,CAAA;QAC5B,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QACtD,QAAQ,CAAC,cAAc,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAA;QAC9C,MAAM,CAAC,GAAG,EAAE;YACV,mBAAmB,CAAC,uBAAuB,CACzC,QAAQ,EACR,eAAe,EACf,eAAe,EACf,YAAY,EACZ,CAAC,CAAC,OAAO,CACV,CAAA;QACH,CAAC,CAAC,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAA;IAC/C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"} \ No newline at end of file diff --git a/packages/chess-server/LEGAL.md b/packages/chess-server/LEGAL.md deleted file mode 100644 index fe9be5d30..000000000 --- a/packages/chess-server/LEGAL.md +++ /dev/null @@ -1,37 +0,0 @@ -# Legal Notice - -**Summary**: This software is free to use and modify under the [MIT License](./LICENSE.md) for its source code. However, it includes patented technology that requires payment for use, facilitated through a cryptocurrency mechanism. You are responsible for complying with all applicable laws and bear full liability for your use of the software. - -## Patent and Payment Notice - -This software includes technology protected by US Patent Nos. 11694197 and 11188911. Using this patented technology, which forms a core part of the software’s functionality, requires payment through the software’s built-in cryptocurrency mechanism. The payment amount is determined automatically by the software, and the cryptocurrency used (e.g., BTC, LTC, DOGE) depends on the blockchain you select. For detailed payment instructions, please refer to the software's [documentation](https://github.com/bitcoin-computer/monorepo/blob/main/packages/docs/fees.md). - -You may modify the software freely under the MIT License, but any use of the patented functionality, including in modified versions, requires compliance with these payment terms or obtaining an alternative license. Bypassing the payment mechanism while still using the patented technology may constitute patent infringement. For alternative licensing options, please contact clemens@bitcoincomputer.io. - -You may use the software for free for testing purposes on testnet and regtest, as these environments use test coins with no real value. However, any use on mainnet or other production environments requires compliance with the payment terms outlined in this notice. - -## Disclaimer Regarding User Modifications - -**BCDB Does Not Endorse or Promote User Software Activity**. We are publishing certain portions of the Software, on an open-source basis, to demonstrate the utility of the Bitcoin Computer. As this Software is open-source, it may be modified and deployed for a wide range of uses that we may not have intended. We do not endorse or promote, and expressly disclaim liability for, any non-BCDB use or modification of the Software. - -## Legal and Regulatory Compliance - -**Sanctioned Users are Prohibited**. You may not access or use this software if you are (i) a resident of any country with which transactions or dealings are prohibited by governmental sanctions imposed by the U.S., the United Nations, the European Union, the United Kingdom, or any other applicable jurisdiction (collectively, “Sanctions Regimes”); (ii) a person, entity or government prohibited under an applicable Sanctions Regime (“Sanctioned Person”), including the Office of Foreign Assets Control, Specially Designated Nationals and Blocked Persons List; or (iii) prohibited from accessing or using the Software pursuant to the laws, rules, and regulations in the jurisdiction in which you reside or otherwise access and use the Software. - -**Users Must Comply with Applicable Law**. You may only access or use the Software in compliance with laws, rules, and regulations in the jurisdiction in which you reside or otherwise access and use the Software, including, as applicable, Sanctions Regimes, anti-money laundering laws and regulations, and securities laws and regulations. - -Additionally, you are solely responsible for ensuring that your cryptocurrency transactions comply with all applicable laws, including anti-money laundering and tax regulations in your jurisdiction. - -## Liability Disclaimer and Indemnification - -BCDB Inc. provides this software "as is," without any warranties, express or implied, including warranties of merchantability, fitness for a particular purpose, or non-infringement. BCDB Inc. shall not be liable for any direct, indirect, incidental, special, exemplary, or consequential damages resulting from your use or modification of the software. - -By using this software, you agree to indemnify, defend, and hold harmless BCDB Inc. and its affiliates from any claims, damages, liabilities, or expenses (including attorneys’ fees and costs) arising from your use or modification of the software, including but not limited to violations of applicable laws or infringement of third-party rights. - -## Intellectual Property - -The patented technology is protected under US Patent Nos. 11694197 and 11188911. This patent applies in the United States only. If you are outside the US, you should review your local patent laws to understand any additional obligations. - -## Contact Information - -For questions, alternative licensing options, or further clarification, please contact clemens@bitcoincomputer.io. diff --git a/packages/chess-server/LICENSE.md b/packages/chess-server/LICENSE.md deleted file mode 100644 index d88b046e5..000000000 --- a/packages/chess-server/LICENSE.md +++ /dev/null @@ -1,11 +0,0 @@ -MIT License - -Copyright (c) 2025 BCDB Inc. - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -**Note**: This license applies only to the copyright of the source code and documentation. For additional terms, including patent notices and payment requirements, see [LEGAL.md](./LEGAL.md). diff --git a/packages/components/built/Wallet.js b/packages/components/built/Wallet.js index 5d723ad1d..ab3dac79b 100644 --- a/packages/components/built/Wallet.js +++ b/packages/components/built/Wallet.js @@ -7,17 +7,65 @@ import { Drawer } from './Drawer'; import { UtilsContext } from './UtilsContext'; import { ComputerContext } from './ComputerContext'; import { getEnv, bigIntToStr } from './common/utils'; +import { VITE_WITHDRAW_MOD_SPEC } from './common/modSpecs'; +import { bufferUtils, payments as paymentsUtils } from '@bitcoin-computer/nakamotojs'; const Balance = ({ computer, modSpecs, isOpen, }) => { const [balance, setBalance] = useState(0n); + const [paymentsWrapper, setPaymentsWrapper] = useState([]); const [, setChain] = useState(localStorage.getItem('CHAIN') || 'LTC'); const { showSnackBar, showLoader } = UtilsContext.useUtilsComponents(); + const [address, setAddress] = useState(''); + const [withdrawing, setWithdrawing] = useState(false); + const handleWithdraw = async () => { + try { + setWithdrawing(true); + showLoader(true); + if (!address || !address.trim()) { + showSnackBar('Please input valid address', false); + return; + } + const expParams = paymentsWrapper.map((_, i) => `p${i}`).join(', '); + const envParams = Object.fromEntries(paymentsWrapper.map((payment, i) => [`p${i}`, payment._rev])); + const { tx } = await computer.encode({ + exp: `Withdraw.exec([${expParams}])`, + env: envParams, + fund: false, + mod: VITE_WITHDRAW_MOD_SPEC, + }); + const utxos = await computer.db.wallet.restClient.getFormattedUtxos(computer.getAddress()); + utxos.forEach((utxo) => { + tx.addInput(bufferUtils.reverseBuffer(Buffer.from(utxo.txId, 'hex')), utxo.vout); + }); + await computer.fund(tx); + const changeOutputIndex = tx.outs.length - 1; + const p2pkh = paymentsUtils.p2pkh({ + address: computer.getAddress(), + network: computer.db.wallet.restClient.networkObj, + }); + tx.updateOutput(changeOutputIndex, { scriptPubKey: p2pkh.output }); + await computer.sign(tx); + await computer.broadcast(tx); + showSnackBar('Congratulations! Balance withdrawn to address.', true); + } + catch (err) { + if (err instanceof Error) { + showSnackBar(`Something went wrong, ${err.message}`, false); + } + } + finally { + setWithdrawing(false); + showLoader(false); + } + }; const refreshBalance = useCallback(async () => { try { showLoader(true); const publicKey = computer.getPublicKey(); + const allPayments = []; const balances = await Promise.all(modSpecs.map(async (mod) => { - const revs = modSpecs ? await computer.query({ publicKey, mod }) : []; - const payments = (await Promise.all(revs.map((rev) => computer.sync(rev)))); + const paymentRevs = modSpecs ? await computer.query({ publicKey, mod }) : []; + const payments = (await Promise.all(paymentRevs.map((rev) => computer.sync(rev)))); + allPayments.push(...payments); // Accumulate payments return payments && payments.length ? payments.reduce((total, pay) => total + (pay._satoshis - BigInt(computer.getMinimumFees())), 0n) : 0n; @@ -25,6 +73,7 @@ const Balance = ({ computer, modSpecs, isOpen, }) => { const amountsInPayments = balances.reduce((acc, curr) => acc + BigInt(curr), 0n); const walletBalance = await computer.getBalance(); setBalance(walletBalance.balance + amountsInPayments); + setPaymentsWrapper(allPayments); setChain(computer.getChain()); showLoader(false); } @@ -41,7 +90,7 @@ const Balance = ({ computer, modSpecs, isOpen, }) => { if (isOpen) refreshBalance(); }, [isOpen, refreshBalance]); - return (_jsxs("div", { id: "dropdown-cta", className: "relative flex flex-col p-6 my-4 rounded-lg bg-blue-50 dark:bg-blue-900", role: "alert", children: [_jsxs("div", { className: "text-center mb-1 text-2xl font-bold text-blue-800 dark:text-blue-400", children: [bigIntToStr(balance), " ", computer.getChain(), ' ', _jsx(HiRefresh, { onClick: refreshBalance, className: "w-4 h-4 ml-1 mb-1 inline cursor-pointer hover:text-slate-700 dark:hover:text-slate-100" })] }), _jsx("div", { className: "text-center uppercase text-xs text-blue-800 dark:text-blue-400", children: computer.getNetwork() }), computer.getNetwork() === 'regtest' && (_jsx("button", { id: "fund-wallet", type: "button", onClick: fund, className: "absolute bottom-2 right-2 px-1 py-1 text-center text-xs font-medium text-center text-blue-700 hover:text-white border border-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg dark:border-blue-500 dark:text-blue-500 dark:hover:text-white dark:hover:bg-blue-500 dark:focus:ring-blue-800", children: "Fund" }))] })); + return (_jsxs(_Fragment, { children: [_jsxs("div", { id: "dropdown-cta", className: "relative flex flex-col p-6 my-4 rounded-lg bg-blue-50 dark:bg-blue-900", role: "alert", children: [_jsxs("div", { className: "text-center mb-1 text-2xl font-bold text-blue-800 dark:text-blue-400", children: [bigIntToStr(balance), " ", computer.getChain(), ' ', _jsx(HiRefresh, { onClick: refreshBalance, className: "w-4 h-4 ml-1 mb-1 inline cursor-pointer hover:text-slate-700 dark:hover:text-slate-100" })] }), _jsx("div", { className: "text-center uppercase text-xs text-blue-800 dark:text-blue-400", children: computer.getNetwork() }), computer.getNetwork() === 'regtest' && (_jsx("button", { id: "fund-wallet", type: "button", onClick: fund, className: "absolute bottom-2 right-2 px-1 py-1 text-center text-xs font-medium text-center text-blue-700 hover:text-white border border-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg dark:border-blue-500 dark:text-blue-500 dark:hover:text-white dark:hover:bg-blue-500 dark:focus:ring-blue-800", children: "Fund" }))] }), _jsx(Address, { computer: computer }), !!VITE_WITHDRAW_MOD_SPEC && (_jsxs("div", { className: "mb-4", children: [_jsx("h6", { className: "text-lg font-bold dark:text-white mb-1", children: "Withdraw to Address" }), _jsx("p", { className: "mb-1 font-mono text-xs text-gray-500 dark:text-gray-400", children: "Complete balance will be withdrawn, Some of your balance might be locked in the tokens. Use withdraw to unlock." }), _jsx("input", { type: "text", value: address, onChange: (e) => setAddress(e.target.value), className: "block w-full px-3 py-2 mb-2 text-sm text-gray-900 border border-gray-300 rounded-lg bg-gray-50 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500", placeholder: "Enter recipient address" }), _jsx("button", { onClick: handleWithdraw, disabled: withdrawing, className: "text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800 disabled:bg-gray-400 disabled:text-gray-100 disabled:cursor-not-allowed disabled:hover:bg-gray-400", children: "Withdraw" })] }))] })); }; const Address = ({ computer }) => { const [copied, setCopied] = useState(false); @@ -50,7 +99,7 @@ const Address = ({ computer }) => { setCopied(true); setTimeout(() => setCopied(false), 2000); }; - return (_jsxs("div", { className: "mb-4", children: [_jsxs("div", { className: "flex items-center", children: [_jsx("h6", { className: "text-lg font-bold dark:text-white", children: "Address" }), _jsx("button", { onClick: handleCopy, className: `ml-1 p-1 text-gray-500 dark:text-gray-400 hover:text-gray-800 dark:hover:text-white`, "aria-label": "Copy address", children: copied ? (_jsx(FiCheck, { className: "w-4 h-4 text-green-500 dark:text-green-400" })) : (_jsx(FiCopy, { className: "w-4 h-4" })) })] }), _jsx("p", { className: "mb-4 font-mono text-xs text-gray-500 dark:text-gray-400", children: computer.getAddress() })] })); + return (_jsxs("div", { className: "mb-4", children: [_jsxs("div", { className: "flex items-center", children: [_jsx("h6", { className: "text-lg font-bold dark:text-white", children: "Deposit Address" }), _jsx("button", { onClick: handleCopy, className: `ml-1 p-1 text-gray-500 dark:text-gray-400 hover:text-gray-800 dark:hover:text-white`, "aria-label": "Copy address", children: copied ? (_jsx(FiCheck, { className: "w-4 h-4 text-green-500 dark:text-green-400" })) : (_jsx(FiCopy, { className: "w-4 h-4" })) })] }), _jsx("p", { className: "mb-4 font-mono text-xs text-gray-500 dark:text-gray-400", children: computer.getAddress() })] })); }; const PublicKey = ({ computer }) => { const [copied, setCopied] = useState(false); @@ -72,7 +121,7 @@ const Path = ({ computer }) => (_jsxs("div", { className: "mb-4", children: [_js const LogOut = () => (_jsxs(_Fragment, { children: [_jsxs("div", { className: "mb-6", children: [_jsx("h6", { className: "text-lg font-bold dark:text-white", children: "Log out" }), _jsx("p", { className: "mb-1 text-sm text-gray-500 dark:text-gray-400", children: "Logging out will delete your mnemonic. Make sure to write it down." })] }), _jsx("div", { className: "grid grid-cols-2 gap-4", children: _jsx("button", { onClick: Auth.logout, className: "rounded-lg border border-gray-200 bg-white px-4 py-2 text-center text-sm font-medium text-gray-900 hover:bg-gray-100 hover:text-blue-700 focus:z-10 focus:outline-none focus:ring-4 focus:ring-gray-200 dark:border-gray-600 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white dark:focus:ring-gray-700", children: "Log out" }) })] })); export function Wallet({ modSpecs }) { const computer = useContext(ComputerContext); - const Content = ({ isOpen }) => (_jsxs(_Fragment, { children: [_jsx("h4", { className: "text-2xl font-bold dark:text-white", children: "Wallet" }), _jsx(Balance, { computer: computer, modSpecs: modSpecs || [], isOpen: isOpen }), _jsx(Address, { computer: computer }), _jsx(PublicKey, { computer: computer }), _jsx(Mnemonic, { computer: computer }), !getEnv('CHAIN') && _jsx(Chain, { computer: computer }), !getEnv('NETWORK') && _jsx(Network, { computer: computer }), !getEnv('URL') && _jsx(Url, { computer: computer }), !getEnv('PATH') && _jsx(Path, { computer: computer }), _jsx("hr", { className: "h-px my-6 bg-gray-200 border-0 dark:bg-gray-700" }), _jsx(LogOut, {})] })); + const Content = ({ isOpen }) => (_jsxs(_Fragment, { children: [_jsx("h4", { className: "text-2xl font-bold dark:text-white", children: "Wallet" }), _jsx(Balance, { computer: computer, modSpecs: modSpecs || [], isOpen: isOpen }), _jsx(PublicKey, { computer: computer }), _jsx(Mnemonic, { computer: computer }), !getEnv('CHAIN') && _jsx(Chain, { computer: computer }), !getEnv('NETWORK') && _jsx(Network, { computer: computer }), !getEnv('URL') && _jsx(Url, { computer: computer }), !getEnv('PATH') && _jsx(Path, { computer: computer }), _jsx("hr", { className: "h-px my-6 bg-gray-200 border-0 dark:bg-gray-700" }), _jsx(LogOut, {})] })); return _jsx(Drawer.Component, { Content: Content, id: "wallet-drawer" }); } export const WalletComponents = { diff --git a/packages/components/built/common/modSpecs.d.ts b/packages/components/built/common/modSpecs.d.ts new file mode 100644 index 000000000..59ac595b5 --- /dev/null +++ b/packages/components/built/common/modSpecs.d.ts @@ -0,0 +1 @@ +export declare const VITE_WITHDRAW_MOD_SPEC: string; diff --git a/packages/components/built/common/modSpecs.js b/packages/components/built/common/modSpecs.js new file mode 100644 index 000000000..78a81f5bc --- /dev/null +++ b/packages/components/built/common/modSpecs.js @@ -0,0 +1,7 @@ +const getEnvVar = (key) => { + const value = import.meta.env[key]; + if (value) + return value; + return ''; +}; +export const VITE_WITHDRAW_MOD_SPEC = getEnvVar('VITE_WITHDRAW_MOD_SPEC'); diff --git a/packages/components/src/Wallet.tsx b/packages/components/src/Wallet.tsx index 8d2047f63..710e9b5d9 100644 --- a/packages/components/src/Wallet.tsx +++ b/packages/components/src/Wallet.tsx @@ -1,5 +1,5 @@ import { useCallback, useContext, useEffect, useState } from 'react' -import { HiRefresh } from 'react-icons/hi' +import { HiRefresh, HiOutlineInformationCircle } from 'react-icons/hi' import { FiCopy, FiCheck } from 'react-icons/fi' import { Computer } from '@bitcoin-computer/lib' import { Auth } from './Auth' @@ -7,6 +7,8 @@ import { Drawer } from './Drawer' import { UtilsContext } from './UtilsContext' import { ComputerContext } from './ComputerContext' import { getEnv, bigIntToStr } from './common/utils' +import { VITE_WITHDRAW_MOD_SPEC } from './common/modSpecs' +import { bufferUtils, payments as paymentsUtils } from '@bitcoin-computer/nakamotojs' const Balance = ({ computer, @@ -18,17 +20,73 @@ const Balance = ({ isOpen: boolean }) => { const [balance, setBalance] = useState(0n) + const [paymentsWrapper, setPaymentsWrapper] = useState([]) const [, setChain] = useState(localStorage.getItem('CHAIN') || 'LTC') const { showSnackBar, showLoader } = UtilsContext.useUtilsComponents() + const [address, setAddress] = useState('') + const [withdrawing, setWithdrawing] = useState(false) + + const handleWithdraw = async () => { + try { + setWithdrawing(true) + showLoader(true) + if (!address || !address.trim()) { + showSnackBar('Please input valid address', false) + return + } + const expParams = paymentsWrapper.map((_, i) => `p${i}`).join(', ') + const envParams = Object.fromEntries( + paymentsWrapper.map((payment, i) => [`p${i}`, payment._rev]), + ) + const { tx } = await computer.encode({ + exp: `Withdraw.exec([${expParams}])`, + env: envParams, + fund: false, + mod: VITE_WITHDRAW_MOD_SPEC, + }) + + const utxos = await computer.db.wallet.restClient.getFormattedUtxos(computer.getAddress()) + utxos.forEach((utxo) => { + tx.addInput(bufferUtils.reverseBuffer(Buffer.from(utxo.txId, 'hex')), utxo.vout) + }) + + await computer.fund(tx) + + const changeOutputIndex = tx.outs.length - 1 + + const p2pkh = paymentsUtils.p2pkh({ + address: computer.getAddress(), + network: computer.db.wallet.restClient.networkObj, + }) + + tx.updateOutput(changeOutputIndex, { scriptPubKey: p2pkh.output }) + + await computer.sign(tx) + await computer.broadcast(tx) + + showSnackBar('Congratulations! Balance withdrawn to address.', true) + } catch (err) { + if (err instanceof Error) { + showSnackBar(`Something went wrong, ${err.message}`, false) + } + } finally { + setWithdrawing(false) + showLoader(false) + } + } const refreshBalance = useCallback(async () => { try { showLoader(true) const publicKey = computer.getPublicKey() + const allPayments: any[] = [] const balances: bigint[] = await Promise.all( modSpecs.map(async (mod) => { - const revs = modSpecs ? await computer.query({ publicKey, mod }) : [] - const payments = (await Promise.all(revs.map((rev) => computer.sync(rev)))) as any[] + const paymentRevs = modSpecs ? await computer.query({ publicKey, mod }) : [] + const payments = (await Promise.all( + paymentRevs.map((rev: string) => computer.sync(rev)), + )) as any[] + allPayments.push(...payments) // Accumulate payments return payments && payments.length ? payments.reduce( (total, pay) => total + (pay._satoshis - BigInt(computer.getMinimumFees())), @@ -40,6 +98,7 @@ const Balance = ({ const amountsInPayments: bigint = balances.reduce((acc, curr) => acc + BigInt(curr), 0n) const walletBalance = await computer.getBalance() setBalance(walletBalance.balance + amountsInPayments) + setPaymentsWrapper(allPayments) setChain(computer.getChain()) showLoader(false) } catch (err) { @@ -58,32 +117,58 @@ const Balance = ({ }, [isOpen, refreshBalance]) return ( -