{
    "version": 9,
    "compilerVersion": "1.19.4+commit.cfee948",
    "contract": "TransferGuard",
    "md5": "7fc09a52492f2bd4d5f30c4f5116c0f8",
    "structs": [
        {
            "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": "GuardConstState",
            "params": [
                {
                    "name": "tokenScript",
                    "type": "bytes"
                },
                {
                    "name": "inputTokenAmountArray",
                    "type": "int[6]"
                }
            ],
            "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": "SigHashUtils",
            "params": [],
            "properties": [],
            "genericTypes": []
        },
        {
            "name": "GuardProto",
            "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": "tokenAmountList",
                    "type": "int[5]"
                },
                {
                    "name": "tokenOutputMaskList",
                    "type": "bool[5]"
                },
                {
                    "name": "outputSatoshisList",
                    "type": "bytes[5]"
                },
                {
                    "name": "tokenSatoshis",
                    "type": "bytes"
                },
                {
                    "name": "preState",
                    "type": "GuardConstState"
                },
                {
                    "name": "preTx",
                    "type": "XrayedTxIdPreimg3"
                },
                {
                    "name": "shPreimage",
                    "type": "SHPreimage"
                },
                {
                    "name": "prevoutsCtx",
                    "type": "PrevoutsCtx"
                },
                {
                    "name": "spentScriptsCtx",
                    "type": "bytes[6]"
                }
            ]
        },
        {
            "type": "constructor",
            "params": []
        }
    ],
    "stateProps": [],
    "buildType": "debug",
    "file": "../transferGuard.scrypt",
    "hex": "2079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f817984c807bb52d7a9fef58323eb1bf7a407db382d2f3f2d81bb1224f49fe518f6d48d37c7bb52d7a9fef58323eb1bf7a407db382d2f3f2d81bb1224f49fe518f6d48d37c79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f8179879be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f8179842f40a48df4b2a70c8b4924bf2654661ed3d95fd66a313eb87237597c628e4a031f40a48df4b2a70c8b4924bf2654661ed3d95fd66a313eb87237597c628e4a03100000120790120790120790120790120790120790120790120790120790120790120790120790120790120795e795e797e5d797e5c797e5b797e5a797e59797e58797e57797e56797e55797e54797e53797ea86079787ea85279017f9f695279009c6301006752796878557952797e8801137955797e54798b7e6b6d6d6d6d6d6d6d6d6c775379ad0112790112790112790112790112790112790112790112790112790112790128790123795b795b795b795b795b795b790056766b796c756e7e777755766b796c756e7e777754766b796c756e7e777753766b796c756e7e777752766b796c756e7e777751766b796c756e7e7b756b6d6d6d6c77a852798855796e760087630100776876030000007e527987777777695479537978760087630100776876030000007e527987777777695b795b795b795b795b795b79565c797600a26976569f69948c766b796c756b6d6d6d6c547954797e886d6d6d6d6d6d5879587958795879587958790122795679567956795679567956790056766b796c756e827752797e7e777755766b796c756e827752797e7e777754766b796c756e827752797e7e777753766b796c756e827752797e7e777752766b796c756e827752797e7e777751766b796c756e827752797e7e7b756b6d6d6d6c77a878886d6d6d75012c79012c79012c79012c79012c79012c79012c79012c79012c79012c79012c79012c7901167901407901407901407901407901407901407901407956797657795779577957795779577955766b796c756b6d6d6d6c7e7d7757795779577957795779577954766b796c756b6d6d6d6c7e7d7757795779577957795779577953766b796c756b6d6d6d6c7e7d7757795779577957795779577952766b796c756b6d6d6d6c7e7d7757795779577957795779577951766b796c756b6d6d6d6c7e7d7757795779577957795779577900766b796c756b6d6d6d6c7e7d77a96b6d6d6d6d6c5d795d795d795d795d795d795d795d795d795d795d795d795a795a798800597959795979597953766b796c756b6d6d6c567956795679567953766b796c756b6d6d6c768277005f799f637052797e53797e7e547a7572537a537975686d75597959795979597952766b796c756b6d6d6c567956795679567952766b796c756b6d6d6c768277515f799f637052797e53797e7e547a7572537a537975686d75597959795979597951766b796c756b6d6d6c567956795679567951766b796c756b6d6d6c768277525f799f637052797e53797e7e547a7572537a537975686d75597959795979597900766b796c756b6d6d6c567956795679567900766b796c756b6d6d6c768277535f799f637052797e53797e7e547a7572537a537975686d755c79787e52797eaa6b6d6d6d6d6d6d6c77527988765178a978557894000052799f637600a97e77685152799f637600a97e77685252799f637600a97e77685352799f637600a97e77685452799f637600a97e776877777ea9066a1863617401787e777777577957795779577954007600a26976549f69948c766b796c756b6d6d6c886d6d6d6d6d6d6d0059766b796c78770136798763787601367901367901367901367901367901367955766b796c756b6d6d6d6c93537a757b7b527975527978a06975687558766b796c78770136798763787601367901367901367901367901367901367954766b796c756b6d6d6d6c93537a757b7b527975527978a06975687557766b796c78770136798763787601367901367901367901367901367901367953766b796c756b6d6d6d6c93537a757b7b527975527978a06975687556766b796c78770136798763787601367901367901367901367901367901367952766b796c756b6d6d6d6c93537a757b7b527975527978a06975687555766b796c78770136798763787601367901367901367901367901367901367951766b796c756b6d6d6d6c93537a757b7b527975527978a06975687554766b796c78770136798763787601367901367901367901367901367901367900766b796c756b6d6d6d6c93537a757b7b527975527978a06975687500000001377901397978827d770122a1696e7e53797e777777014d766b796c750144766b796c75630149766b796c787700a06953797893547a7572537a547953797e557a75547a547a547a547a6e7ea9a90155766b796c75a978885679787e577a75567a567a567a567a567a567a56796d756776013a7987916954790154766b796c75a97e557a75547a547a547a547a54797877827700a0635379780141766b796c7578827d770122a1696e7e53797e7777777e547a7572537a537975686875014d8c766b796c7501448c766b796c756301498c766b796c787700a06953797893547a7572537a547953797e557a75547a547a547a547a6e7ea9a901558c766b796c75a978885679787e577a75567a567a567a567a567a567a56796d756776013a79879169547901548c766b796c75a97e557a75547a547a547a547a54797877827700a06353797801418c766b796c7578827d770122a1696e7e53797e7777777e547a7572537a537975686875014d5294766b796c7501445294766b796c756301495294766b796c787700a06953797893547a7572537a547953797e557a75547a547a547a547a6e7ea9a901555294766b796c75a978885679787e577a75567a567a567a567a567a567a56796d756776013a79879169547901545294766b796c75a97e557a75547a547a547a547a54797877827700a06353797801415294766b796c7578827d770122a1696e7e53797e7777777e547a7572537a537975686875014d5394766b796c7501445394766b796c756301495394766b796c787700a06953797893547a7572537a547953797e557a75547a547a547a547a6e7ea9a901555394766b796c75a978885679787e577a75567a567a567a567a567a567a56796d756776013a79879169547901545394766b796c75a97e557a75547a547a547a547a54797877827700a06353797801415394766b796c7578827d770122a1696e7e53797e7777777e547a7572537a537975686875014d5494766b796c7501445494766b796c756301495494766b796c787700a06953797893547a7572537a547953797e557a75547a547a547a547a6e7ea9a901555494766b796c75a978885679787e577a75567a567a567a567a567a567a56796d756776013a79879169547901545494766b796c75a97e557a75547a547a547a547a54797877827700a06353797801415494766b796c7578827d770122a1696e7e53797e7777777e547a7572537a537975686875547900a069547952799d5379a9066a1863617401787e770800000000000000007882777e787e777654797ea876012279876b6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c77",
    "sourceMapFile": ""
}