"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.zoneOutbox = exports.zonePortal = void 0;
exports.zonePortal = [
    {
        name: 'deposit',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [
            { name: '_token', type: 'address' },
            { name: 'to', type: 'address' },
            { name: 'amount', type: 'uint128' },
            { name: 'memo', type: 'bytes32' },
        ],
        outputs: [{ name: '', type: 'bytes32' }],
    },
    {
        name: 'depositEncrypted',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [
            { name: 'token', type: 'address' },
            { name: 'amount', type: 'uint128' },
            { name: 'keyIndex', type: 'uint256' },
            {
                name: 'encrypted',
                type: 'tuple',
                components: [
                    { name: 'ephemeralPubkeyX', type: 'bytes32' },
                    { name: 'ephemeralPubkeyYParity', type: 'uint8' },
                    { name: 'ciphertext', type: 'bytes' },
                    { name: 'nonce', type: 'bytes12' },
                    { name: 'tag', type: 'bytes16' },
                ],
            },
        ],
        outputs: [{ name: '', type: 'bytes32' }],
    },
    {
        name: 'sequencerEncryptionKey',
        type: 'function',
        stateMutability: 'view',
        inputs: [],
        outputs: [
            { name: 'x', type: 'bytes32' },
            { name: 'yParity', type: 'uint8' },
        ],
    },
    {
        name: 'encryptionKeyCount',
        type: 'function',
        stateMutability: 'view',
        inputs: [],
        outputs: [{ name: '', type: 'uint256' }],
    },
];
exports.zoneOutbox = [
    {
        name: 'requestWithdrawal',
        type: 'function',
        stateMutability: 'nonpayable',
        inputs: [
            { name: 'token', type: 'address' },
            { name: 'to', type: 'address' },
            { name: 'amount', type: 'uint128' },
            { name: 'memo', type: 'bytes32' },
            { name: 'gasLimit', type: 'uint64' },
            { name: 'fallbackRecipient', type: 'address' },
            { name: 'data', type: 'bytes' },
            { name: 'revealTo', type: 'bytes' },
        ],
        outputs: [],
    },
    {
        name: 'calculateWithdrawalFee',
        type: 'function',
        stateMutability: 'view',
        inputs: [{ name: 'gasLimit', type: 'uint64' }],
        outputs: [{ name: 'fee', type: 'uint128' }],
    },
];
//# sourceMappingURL=Abis.js.map