{
    "version": 9,
    "compilerVersion": "1.19.4+commit.cfee948",
    "contract": "NftTransferGuard",
    "md5": "477458c3bb4a3b586664dddf525e5060",
    "structs": [
        {
            "name": "NftGuardConstState",
            "params": [
                {
                    "name": "collectionScript",
                    "type": "bytes"
                },
                {
                    "name": "localIdArray",
                    "type": "int[6]"
                }
            ],
            "genericTypes": []
        },
        {
            "name": "SHPreimage",
            "params": [
                {
                    "name": "txVer",
                    "type": "bytes"
                },
                {
                    "name": "nLockTime",
                    "type": "bytes"
                },
                {
                    "name": "hashPrevouts",
                    "type": "bytes"
                },
                {
                    "name": "hashSpentAmounts",
                    "type": "bytes"
                },
                {
                    "name": "hashSpentScripts",
                    "type": "bytes"
                },
                {
                    "name": "hashSequences",
                    "type": "bytes"
                },
                {
                    "name": "hashOutputs",
                    "type": "bytes"
                },
                {
                    "name": "spendType",
                    "type": "bytes"
                },
                {
                    "name": "inputIndex",
                    "type": "bytes"
                },
                {
                    "name": "hashTapLeaf",
                    "type": "bytes"
                },
                {
                    "name": "keyVer",
                    "type": "bytes"
                },
                {
                    "name": "codeSeparator",
                    "type": "bytes"
                },
                {
                    "name": "_e",
                    "type": "bytes"
                },
                {
                    "name": "eLastByte",
                    "type": "int"
                }
            ],
            "genericTypes": []
        },
        {
            "name": "PrevoutsCtx",
            "params": [
                {
                    "name": "prevouts",
                    "type": "bytes[6]"
                },
                {
                    "name": "inputIndexVal",
                    "type": "int"
                },
                {
                    "name": "outputIndexVal",
                    "type": "int"
                },
                {
                    "name": "spentTxhash",
                    "type": "bytes"
                },
                {
                    "name": "outputIndex",
                    "type": "bytes"
                }
            ],
            "genericTypes": []
        },
        {
            "name": "PreTxStatesInfo",
            "params": [
                {
                    "name": "statesHashRoot",
                    "type": "bytes"
                },
                {
                    "name": "txoStateHashes",
                    "type": "bytes[5]"
                }
            ],
            "genericTypes": []
        },
        {
            "name": "XrayedTxIdPreimg1",
            "params": [
                {
                    "name": "version",
                    "type": "bytes"
                },
                {
                    "name": "inputCount",
                    "type": "bytes"
                },
                {
                    "name": "inputs",
                    "type": "bytes[6]"
                },
                {
                    "name": "outputCountVal",
                    "type": "int"
                },
                {
                    "name": "outputCount",
                    "type": "bytes"
                },
                {
                    "name": "outputSatoshisList",
                    "type": "bytes[6]"
                },
                {
                    "name": "outputScriptList",
                    "type": "bytes[6]"
                },
                {
                    "name": "nLocktime",
                    "type": "bytes"
                }
            ],
            "genericTypes": []
        },
        {
            "name": "XrayedTxIdPreimg2",
            "params": [
                {
                    "name": "prevList",
                    "type": "bytes[4]"
                },
                {
                    "name": "outputCountVal",
                    "type": "int"
                },
                {
                    "name": "outputCount",
                    "type": "bytes"
                },
                {
                    "name": "outputSatoshisList",
                    "type": "bytes[6]"
                },
                {
                    "name": "outputScriptList",
                    "type": "bytes[6]"
                },
                {
                    "name": "nLocktime",
                    "type": "bytes"
                }
            ],
            "genericTypes": []
        },
        {
            "name": "XrayedTxIdPreimg3",
            "params": [
                {
                    "name": "prev",
                    "type": "bytes"
                },
                {
                    "name": "outputCountVal",
                    "type": "int"
                },
                {
                    "name": "outputCount",
                    "type": "bytes"
                },
                {
                    "name": "outputSatoshisList",
                    "type": "bytes[4]"
                },
                {
                    "name": "outputScriptList",
                    "type": "bytes[4]"
                },
                {
                    "name": "nLocktime",
                    "type": "bytes"
                }
            ],
            "genericTypes": []
        },
        {
            "name": "TxInput",
            "params": [
                {
                    "name": "txhash",
                    "type": "bytes"
                },
                {
                    "name": "outputIndex",
                    "type": "bytes"
                },
                {
                    "name": "outputIndexVal",
                    "type": "int"
                },
                {
                    "name": "sequence",
                    "type": "bytes"
                }
            ],
            "genericTypes": []
        },
        {
            "name": "ChangeInfo",
            "params": [
                {
                    "name": "script",
                    "type": "bytes"
                },
                {
                    "name": "satoshis",
                    "type": "bytes"
                }
            ],
            "genericTypes": []
        }
    ],
    "library": [
        {
            "name": "NftGuardProto",
            "params": [],
            "properties": [],
            "genericTypes": []
        },
        {
            "name": "SigHashUtils",
            "params": [],
            "properties": [],
            "genericTypes": []
        },
        {
            "name": "StateUtils",
            "params": [],
            "properties": [],
            "genericTypes": []
        },
        {
            "name": "TxProof",
            "params": [],
            "properties": [],
            "genericTypes": []
        },
        {
            "name": "TxUtil",
            "params": [],
            "properties": [],
            "genericTypes": []
        }
    ],
    "alias": [],
    "abi": [
        {
            "type": "function",
            "name": "transfer",
            "index": 0,
            "params": [
                {
                    "name": "curTxoStateHashes",
                    "type": "bytes[5]"
                },
                {
                    "name": "ownerAddrOrScriptList",
                    "type": "bytes[5]"
                },
                {
                    "name": "localIdList",
                    "type": "int[5]"
                },
                {
                    "name": "nftOutputMaskList",
                    "type": "bool[5]"
                },
                {
                    "name": "outputSatoshisList",
                    "type": "bytes[5]"
                },
                {
                    "name": "nftSatoshis",
                    "type": "bytes"
                },
                {
                    "name": "preState",
                    "type": "NftGuardConstState"
                },
                {
                    "name": "preTx",
                    "type": "XrayedTxIdPreimg3"
                },
                {
                    "name": "shPreimage",
                    "type": "SHPreimage"
                },
                {
                    "name": "prevoutsCtx",
                    "type": "PrevoutsCtx"
                },
                {
                    "name": "spentScripts",
                    "type": "bytes[6]"
                }
            ]
        },
        {
            "type": "constructor",
            "params": []
        }
    ],
    "stateProps": [],
    "buildType": "debug",
    "file": "../nftTransferGuard.scrypt",
    "hex": "2079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f817984c807bb52d7a9fef58323eb1bf7a407db382d2f3f2d81bb1224f49fe518f6d48d37c7bb52d7a9fef58323eb1bf7a407db382d2f3f2d81bb1224f49fe518f6d48d37c79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f8179879be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f8179842f40a48df4b2a70c8b4924bf2654661ed3d95fd66a313eb87237597c628e4a031f40a48df4b2a70c8b4924bf2654661ed3d95fd66a313eb87237597c628e4a03100000120790120790120790120790120790120790120790120790120790120790120790120790120790120795e795e797e5d797e5c797e5b797e5a797e59797e58797e57797e56797e55797e54797e53797ea86079787ea85279017f9f695279009c6301006752796878557952797e8801137955797e54798b7e6b6d6d6d6d6d6d6d6d6c775379ad0112790112790112790112790112790112790112790112790112790112790128790123795b795b795b795b795b795b790056766b796c756e7e777755766b796c756e7e777754766b796c756e7e777753766b796c756e7e777752766b796c756e7e777751766b796c756e7e7b756b6d6d6d6c77a852798855796e760087630100776876030000007e527987777777695479537978760087630100776876030000007e527987777777695b795b795b795b795b795b79565c797600a26976569f69948c766b796c756b6d6d6d6c547954797e886d6d6d6d6d6d5879587958795879587958790122795679567956795679567956790056766b796c756e827752797e7e777755766b796c756e827752797e7e777754766b796c756e827752797e7e777753766b796c756e827752797e7e777752766b796c756e827752797e7e777751766b796c756e827752797e7e7b756b6d6d6d6c77a878886d6d6d75012c79012c79012c79012c79012c79012c79012c79012c79012c79012c79012c79012c7901167901407901407901407901407901407901407901407956797657795779577957795779577955766b796c756b6d6d6d6c7e7d7757795779577957795779577954766b796c756b6d6d6d6c7e7d7757795779577957795779577953766b796c756b6d6d6d6c7e7d7757795779577957795779577952766b796c756b6d6d6d6c7e7d7757795779577957795779577951766b796c756b6d6d6d6c7e7d7757795779577957795779577900766b796c756b6d6d6d6c7e7d77a96b6d6d6d6d6c5d795d795d795d795d795d795d795d795d795d795d795d795a795a798800597959795979597953766b796c756b6d6d6c567956795679567953766b796c756b6d6d6c768277005f799f637052797e53797e7e547a7572537a537975686d75597959795979597952766b796c756b6d6d6c567956795679567952766b796c756b6d6d6c768277515f799f637052797e53797e7e547a7572537a537975686d75597959795979597951766b796c756b6d6d6c567956795679567951766b796c756b6d6d6c768277525f799f637052797e53797e7e547a7572537a537975686d75597959795979597900766b796c756b6d6d6c567956795679567900766b796c756b6d6d6c768277535f799f637052797e53797e7e547a7572537a537975686d755c79787e52797eaa6b6d6d6d6d6d6d6c77527988765178a978557894000052799f637600a97e77685152799f637600a97e77685252799f637600a97e77685352799f637600a97e77685452799f637600a97e776877777ea9066a1863617401787e777777577957795779577954007600a26976549f69948c766b796c756b6d6d6c886d6d6d6d6d6d6d4f766e76005e766b796c7877013b79876301397901397901397901397901397901397955766b796c756b6d6d6d6c52797600a26976559f69587a78008763757868587a527951876375527968587a537952876375537968587a547953876375547968587a557954876375557968557a75577a577a577a75788b7b757c68755d766b796c7877013b79876301397901397901397901397901397901397954766b796c756b6d6d6d6c52797600a26976559f69587a78008763757868587a527951876375527968587a537952876375537968587a547953876375547968587a557954876375557968557a75577a577a577a75788b7b757c68755c766b796c7877013b79876301397901397901397901397901397901397953766b796c756b6d6d6d6c52797600a26976559f69587a78008763757868587a527951876375527968587a537952876375537968587a547953876375547968587a557954876375557968557a75577a577a577a75788b7b757c68755b766b796c7877013b79876301397901397901397901397901397901397952766b796c756b6d6d6d6c52797600a26976559f69587a78008763757868587a527951876375527968587a537952876375537968587a547953876375547968587a557954876375557968557a75577a577a577a75788b7b757c68755a766b796c7877013b79876301397901397901397901397901397901397951766b796c756b6d6d6d6c52797600a26976559f69587a78008763757868587a527951876375527968587a537952876375537968587a547953876375547968587a557954876375557968557a75577a577a577a75788b7b757c687559766b796c7877013b79876301397901397901397901397901397901397900766b796c756b6d6d6d6c52797600a26976559f69587a78008763757868587a527951876375527968587a537952876375537968587a547953876375547968587a557954876375557968557a75577a577a577a75788b7b757c6875000000013c79013e7978827d770122a1696e7e53797e7777770152766b796c750149766b796c75635a53797600a26976559f6994766b796c75547953797e557a75547a547a547a547a6e7ea9a9015a766b796c75a978887800a2690150766b796c7552799d5679787e577a75567a567a567a567a567a567a56797554798b557a75547a547a547a547a54796d756776013f7987916954790159766b796c75a97e557a75547a547a547a547a54797877827700a0635379780146766b796c7578827d770122a1696e7e53797e7777777e547a7572537a53797568687501528c766b796c7501498c766b796c75635a53797600a26976559f6994766b796c75547953797e557a75547a547a547a547a6e7ea9a9015a8c766b796c75a978887800a26901508c766b796c7552799d5679787e577a75567a567a567a567a567a567a56797554798b557a75547a547a547a547a54796d756776013f79879169547901598c766b796c75a97e557a75547a547a547a547a54797877827700a06353797801468c766b796c7578827d770122a1696e7e53797e7777777e547a7572537a53797568687501525294766b796c7501495294766b796c75635a53797600a26976559f6994766b796c75547953797e557a75547a547a547a547a6e7ea9a9015a5294766b796c75a978887800a26901505294766b796c7552799d5679787e577a75567a567a567a567a567a567a56797554798b557a75547a547a547a547a54796d756776013f79879169547901595294766b796c75a97e557a75547a547a547a547a54797877827700a06353797801465294766b796c7578827d770122a1696e7e53797e7777777e547a7572537a53797568687501525394766b796c7501495394766b796c75635a53797600a26976559f6994766b796c75547953797e557a75547a547a547a547a6e7ea9a9015a5394766b796c75a978887800a26901505394766b796c7552799d5679787e577a75567a567a567a567a567a567a56797554798b557a75547a547a547a547a54796d756776013f79879169547901595394766b796c75a97e557a75547a547a547a547a54797877827700a06353797801465394766b796c7578827d770122a1696e7e53797e7777777e547a7572537a53797568687501525494766b796c7501495494766b796c75635a53797600a26976559f6994766b796c75547953797e557a75547a547a547a547a6e7ea9a9015a5494766b796c75a978887800a26901505494766b796c7552799d5679787e577a75567a567a567a567a567a567a56797554798b557a75547a547a547a547a54796d756776013f79879169547901595494766b796c75a97e557a75547a547a547a547a54797877827700a06353797801465494766b796c7578827d770122a1696e7e53797e7777777e547a7572537a537975686875547952799d5379a9066a1863617401787e770800000000000000007882777e787e777654797ea876012779876b6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c",
    "sourceMapFile": ""
}