Files
smom-dbis-138/artifacts/contracts/bridge/trustless/BondManager.sol/BondManager.json
2026-03-02 12:14:09 -08:00

417 lines
20 KiB
JSON

{
"_format": "hh-sol-artifact-1",
"contractName": "BondManager",
"sourceName": "contracts/bridge/trustless/BondManager.sol",
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "_bondMultiplier",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_minBond",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "BondAlreadyReleased",
"type": "error"
},
{
"inputs": [],
"name": "BondAlreadySlashed",
"type": "error"
},
{
"inputs": [],
"name": "BondNotFound",
"type": "error"
},
{
"inputs": [],
"name": "BondNotReleased",
"type": "error"
},
{
"inputs": [],
"name": "InsufficientBond",
"type": "error"
},
{
"inputs": [],
"name": "ReentrancyGuardReentrantCall",
"type": "error"
},
{
"inputs": [],
"name": "ZeroDepositId",
"type": "error"
},
{
"inputs": [],
"name": "ZeroRelayer",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "uint256",
"name": "depositId",
"type": "uint256"
},
{
"indexed": true,
"internalType": "address",
"name": "relayer",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "bondAmount",
"type": "uint256"
}
],
"name": "BondPosted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "uint256",
"name": "depositId",
"type": "uint256"
},
{
"indexed": true,
"internalType": "address",
"name": "relayer",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "bondAmount",
"type": "uint256"
}
],
"name": "BondReleased",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "uint256",
"name": "depositId",
"type": "uint256"
},
{
"indexed": true,
"internalType": "address",
"name": "relayer",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "challenger",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "bondAmount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "challengerReward",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "burnedAmount",
"type": "uint256"
}
],
"name": "BondSlashed",
"type": "event"
},
{
"inputs": [],
"name": "bondMultiplier",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "bonds",
"outputs": [
{
"internalType": "address",
"name": "relayer",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "depositId",
"type": "uint256"
},
{
"internalType": "bool",
"name": "slashed",
"type": "bool"
},
{
"internalType": "bool",
"name": "released",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "depositId",
"type": "uint256"
}
],
"name": "getBond",
"outputs": [
{
"internalType": "address",
"name": "relayer",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bool",
"name": "slashed",
"type": "bool"
},
{
"internalType": "bool",
"name": "released",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "depositAmount",
"type": "uint256"
}
],
"name": "getRequiredBond",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "relayer",
"type": "address"
}
],
"name": "getTotalBonds",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "minBond",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "depositId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "depositAmount",
"type": "uint256"
},
{
"internalType": "address",
"name": "relayer",
"type": "address"
}
],
"name": "postBond",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "depositId",
"type": "uint256"
}
],
"name": "releaseBond",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256[]",
"name": "depositIds",
"type": "uint256[]"
}
],
"name": "releaseBondsBatch",
"outputs": [
{
"internalType": "uint256",
"name": "totalReleased",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "depositId",
"type": "uint256"
},
{
"internalType": "address",
"name": "challenger",
"type": "address"
}
],
"name": "slashBond",
"outputs": [
{
"internalType": "uint256",
"name": "challengerReward",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "burnedAmount",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "totalBonds",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"stateMutability": "payable",
"type": "receive"
}
],
"bytecode": "0x60c03461012757601f610bfe38819003918201601f19168301916001600160401b0383118484101761012c578084926040948552833981010312610127576020815191015190600160005561271081106100d257811561008e5760805260a052604051610abb9081610143823960805181818161037f01526109fb015260a0518181816103ba0152610a320152f35b606460405162461bcd60e51b815260206004820152602060248201527f426f6e644d616e616765723a206d696e426f6e64206d757374206265203e20306044820152fd5b60405162461bcd60e51b815260206004820152602760248201527f426f6e644d616e616765723a206d756c7469706c696572206d757374206265206044820152663e3d203130302560c81b6064820152608490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe60406080815260048036101561001f575b5050361561001d57600080fd5b005b600091823560e01c806310fa23d31461073c5780631d43ba0c1461055e57806334706ecf14610467578063366b7340146104405780635f1c17c0146103dd578063831518b7146103a25780638a2eae8414610367578063c0167edc1461032b578063d0ff6ffc1461032b578063d8fe7642146102aa5763eee17203146100a55750610010565b346102a357602092836003193601126102a75767ffffffffffffffff83358181116102a357366023820112156102a357808501359182116102a35760249060053660248560051b8401011161029f576100fc610a62565b8496841561025c57603285116102195750845b848110610123578888886001895551908152f35b8381831b840101358015610210578087526001808b5288882080546001600160a01b031692919083156102045760038101805460ff8082166101f5578160081c166101e75761ff00191661010017905501549982895260028c528a8a8a208181549061018e91610949565b905561019991610926565b998880808084875af16101aa610956565b506101b4906109a1565b8b8a519182527f237ac240588fc2f18748d2b311309d8199900409a14802ac197d8e56d669117291a36001905b0161010f565b5050505050506001906101e1565b505050505050506001906101e1565b505050506001906101e1565b506001906101e1565b865162461bcd60e51b8152908101899052601c60248201527f426f6e644d616e616765723a20626174636820746f6f206c61726765000000006044820152606490fd5b865162461bcd60e51b8152908101899052601860248201527f426f6e644d616e616765723a20656d70747920617272617900000000000000006044820152606490fd5b8480fd5b8280fd5b80fd5b5090346102a35760203660031901126102a357816080938492358152600160205220916102d56108f0565b9060018060a01b0384541693848352600360018201549182602086015260028101548486015201549260ff80851615159485606084015260081c1615159485910152815194855260208501528301526060820152f35b8382346103635760203660031901126103635760209181906001600160a01b036103536108d5565b1681526002845220549051908152f35b5080fd5b838234610363578160031936011261036357602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b838234610363578160031936011261036357602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b5090346102a35760203660031901126102a3578160a09360ff9235815260016020522091600180851b03835416926001810154916003600283015492015492815195865260208601528401528181161515606084015260081c1615156080820152f35b5082346102a75760203660031901126102a75750610460602092356109f9565b9051908152f35b50346102a35760203660031901126102a357813591610484610a62565b828452600160205281842080546001600160a01b031691821561055057600382019081549060ff82166105425760ff8260081c1661053457506020969260019492610100869361ff001916179055015494818352600287528483206104ea878254610949565b9055610505838080808a875af16104ff610956565b506109a1565b7f237ac240588fc2f18748d2b311309d8199900409a14802ac197d8e56d6691172878651888152a35551908152f35b8551639632cd4d60e01b8152fd5b8551631a009a7d60e31b8152fd5b8351636626fb6360e01b8152fd5b509190346103635782600319360112610363578035916001600160a01b03906024358281169081900361036357610593610a62565b84825260209260018452868320958187541691821561072c5760038801805460ff811661071c57851561070c5760019060ff19161790556001880154928552600286528885206105e4848254610949565b90558260011c976105f58985610949565b97868080808d8a5af1610606610956565b50156106b957868080808c815af161061c610956565b501561066c57506060600196959493927faaf3d63d042dad473268e4f064fbb972f5c1b89c0662ddd765319ecbb8cb8dbd925416938b519081528a89820152898c820152a4558351928352820152f35b8a5162461bcd60e51b8152908101889052602160248201527f426f6e644d616e616765723a206275726e207472616e73666572206661696c656044820152601960fa1b6064820152608490fd5b8a5162461bcd60e51b8152908101889052602760248201527f426f6e644d616e616765723a206368616c6c656e676572207472616e736665726044820152660819985a5b195960ca1b6064820152608490fd5b8a51639d799ba360e01b81528990fd5b8a51631a009a7d60e31b81528990fd5b8851636626fb6360e01b81528790fd5b5082906060366003190112610363576001600160a01b03918335604435848116908190036102a35761076c610a62565b81156108c55780156108b55781835260209460018652808585205416610874576107976024356109f9565b3410610864576001949596506107ab6108f0565b9082825260038883019234845288810186815260608201948886526080830194898652888a528a8d528b8a209351166bffffffffffffffffffffffff60a01b845416178355518983015551600282015501915115159060ff61ff0084549251151560081b1692169061ffff191617179055825260028552838220610830348254610926565b90558351903482527fafde4e40131ac495ebb0e64c79232bb8e3829156d0fba713d597c0735865d873863393a35551348152f35b845163e92c469f60e01b81528790fd5b606487878088519262461bcd60e51b845283015260248201527f426f6e644d616e616765723a20626f6e6420616c726561647920706f737465646044820152fd5b8351639d799ba360e01b81528690fd5b835163144584ed60e11b81528690fd5b600435906001600160a01b03821682036108eb57565b600080fd5b6040519060a0820182811067ffffffffffffffff82111761091057604052565b634e487b7160e01b600052604160045260246000fd5b9190820180921161093357565b634e487b7160e01b600052601160045260246000fd5b9190820391821161093357565b3d1561099c5767ffffffffffffffff903d8281116109105760405192601f8201601f19908116603f01168401908111848210176109105760405282523d6000602084013e565b606090565b156109a857565b60405162461bcd60e51b8152602060048201526024808201527f426f6e644d616e616765723a2072656c65617365207472616e736665722066616044820152631a5b195960e21b6064820152608490fd5b7f0000000000000000000000000000000000000000000000000000000000000000908181029181830414901517156109335761271090047f000000000000000000000000000000000000000000000000000000000000000080821115610a5d575090565b905090565b600260005414610a73576002600055565b604051633ee5aeb560e01b8152600490fdfea2646970667358221220489e39183d1e3fddc8b5c6884ff1f82ed580b4ef39fc8edb8a134436fb42056964736f6c63430008160033",
"deployedBytecode": "0x60406080815260048036101561001f575b5050361561001d57600080fd5b005b600091823560e01c806310fa23d31461073c5780631d43ba0c1461055e57806334706ecf14610467578063366b7340146104405780635f1c17c0146103dd578063831518b7146103a25780638a2eae8414610367578063c0167edc1461032b578063d0ff6ffc1461032b578063d8fe7642146102aa5763eee17203146100a55750610010565b346102a357602092836003193601126102a75767ffffffffffffffff83358181116102a357366023820112156102a357808501359182116102a35760249060053660248560051b8401011161029f576100fc610a62565b8496841561025c57603285116102195750845b848110610123578888886001895551908152f35b8381831b840101358015610210578087526001808b5288882080546001600160a01b031692919083156102045760038101805460ff8082166101f5578160081c166101e75761ff00191661010017905501549982895260028c528a8a8a208181549061018e91610949565b905561019991610926565b998880808084875af16101aa610956565b506101b4906109a1565b8b8a519182527f237ac240588fc2f18748d2b311309d8199900409a14802ac197d8e56d669117291a36001905b0161010f565b5050505050506001906101e1565b505050505050506001906101e1565b505050506001906101e1565b506001906101e1565b865162461bcd60e51b8152908101899052601c60248201527f426f6e644d616e616765723a20626174636820746f6f206c61726765000000006044820152606490fd5b865162461bcd60e51b8152908101899052601860248201527f426f6e644d616e616765723a20656d70747920617272617900000000000000006044820152606490fd5b8480fd5b8280fd5b80fd5b5090346102a35760203660031901126102a357816080938492358152600160205220916102d56108f0565b9060018060a01b0384541693848352600360018201549182602086015260028101548486015201549260ff80851615159485606084015260081c1615159485910152815194855260208501528301526060820152f35b8382346103635760203660031901126103635760209181906001600160a01b036103536108d5565b1681526002845220549051908152f35b5080fd5b838234610363578160031936011261036357602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b838234610363578160031936011261036357602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b5090346102a35760203660031901126102a3578160a09360ff9235815260016020522091600180851b03835416926001810154916003600283015492015492815195865260208601528401528181161515606084015260081c1615156080820152f35b5082346102a75760203660031901126102a75750610460602092356109f9565b9051908152f35b50346102a35760203660031901126102a357813591610484610a62565b828452600160205281842080546001600160a01b031691821561055057600382019081549060ff82166105425760ff8260081c1661053457506020969260019492610100869361ff001916179055015494818352600287528483206104ea878254610949565b9055610505838080808a875af16104ff610956565b506109a1565b7f237ac240588fc2f18748d2b311309d8199900409a14802ac197d8e56d6691172878651888152a35551908152f35b8551639632cd4d60e01b8152fd5b8551631a009a7d60e31b8152fd5b8351636626fb6360e01b8152fd5b509190346103635782600319360112610363578035916001600160a01b03906024358281169081900361036357610593610a62565b84825260209260018452868320958187541691821561072c5760038801805460ff811661071c57851561070c5760019060ff19161790556001880154928552600286528885206105e4848254610949565b90558260011c976105f58985610949565b97868080808d8a5af1610606610956565b50156106b957868080808c815af161061c610956565b501561066c57506060600196959493927faaf3d63d042dad473268e4f064fbb972f5c1b89c0662ddd765319ecbb8cb8dbd925416938b519081528a89820152898c820152a4558351928352820152f35b8a5162461bcd60e51b8152908101889052602160248201527f426f6e644d616e616765723a206275726e207472616e73666572206661696c656044820152601960fa1b6064820152608490fd5b8a5162461bcd60e51b8152908101889052602760248201527f426f6e644d616e616765723a206368616c6c656e676572207472616e736665726044820152660819985a5b195960ca1b6064820152608490fd5b8a51639d799ba360e01b81528990fd5b8a51631a009a7d60e31b81528990fd5b8851636626fb6360e01b81528790fd5b5082906060366003190112610363576001600160a01b03918335604435848116908190036102a35761076c610a62565b81156108c55780156108b55781835260209460018652808585205416610874576107976024356109f9565b3410610864576001949596506107ab6108f0565b9082825260038883019234845288810186815260608201948886526080830194898652888a528a8d528b8a209351166bffffffffffffffffffffffff60a01b845416178355518983015551600282015501915115159060ff61ff0084549251151560081b1692169061ffff191617179055825260028552838220610830348254610926565b90558351903482527fafde4e40131ac495ebb0e64c79232bb8e3829156d0fba713d597c0735865d873863393a35551348152f35b845163e92c469f60e01b81528790fd5b606487878088519262461bcd60e51b845283015260248201527f426f6e644d616e616765723a20626f6e6420616c726561647920706f737465646044820152fd5b8351639d799ba360e01b81528690fd5b835163144584ed60e11b81528690fd5b600435906001600160a01b03821682036108eb57565b600080fd5b6040519060a0820182811067ffffffffffffffff82111761091057604052565b634e487b7160e01b600052604160045260246000fd5b9190820180921161093357565b634e487b7160e01b600052601160045260246000fd5b9190820391821161093357565b3d1561099c5767ffffffffffffffff903d8281116109105760405192601f8201601f19908116603f01168401908111848210176109105760405282523d6000602084013e565b606090565b156109a857565b60405162461bcd60e51b8152602060048201526024808201527f426f6e644d616e616765723a2072656c65617365207472616e736665722066616044820152631a5b195960e21b6064820152608490fd5b7f0000000000000000000000000000000000000000000000000000000000000000908181029181830414901517156109335761271090047f000000000000000000000000000000000000000000000000000000000000000080821115610a5d575090565b905090565b600260005414610a73576002600055565b604051633ee5aeb560e01b8152600490fdfea2646970667358221220489e39183d1e3fddc8b5c6884ff1f82ed580b4ef39fc8edb8a134436fb42056964736f6c63430008160033",
"linkReferences": {},
"deployedLinkReferences": {}
}