import { ABIDataTypes } from '@btc-vision/transaction'; import { BitcoinAbiTypes } from '../../../BitcoinAbiTypes.js'; import { BitcoinInterfaceAbi } from '../../../interfaces/BitcoinInterfaceAbi.js'; import { OP_20S_ABI } from '../opnet/OP_20S_ABI.js'; export const PeggedTokenEvents: BitcoinInterfaceAbi = [ { name: 'Minted', values: [ { name: 'to', type: ABIDataTypes.ADDRESS }, { name: 'amount', type: ABIDataTypes.UINT256 }, ], type: BitcoinAbiTypes.Event, }, { name: 'Burned', values: [ { name: 'from', type: ABIDataTypes.ADDRESS }, { name: 'amount', type: ABIDataTypes.UINT256 }, ], type: BitcoinAbiTypes.Event, }, { name: 'CustodianChanged', values: [ { name: 'previousCustodian', type: ABIDataTypes.ADDRESS }, { name: 'newCustodian', type: ABIDataTypes.ADDRESS }, ], type: BitcoinAbiTypes.Event, }, ]; export const PeggedToken_ABI: BitcoinInterfaceAbi = [ { name: 'mint', inputs: [ { name: 'to', type: ABIDataTypes.ADDRESS }, { name: 'amount', type: ABIDataTypes.UINT256 }, ], outputs: [], type: BitcoinAbiTypes.Function, }, { name: 'burnFrom', inputs: [ { name: 'from', type: ABIDataTypes.ADDRESS }, { name: 'amount', type: ABIDataTypes.UINT256 }, ], outputs: [], type: BitcoinAbiTypes.Function, }, { name: 'transferCustodian', inputs: [{ name: 'newCustodian', type: ABIDataTypes.ADDRESS }], outputs: [], type: BitcoinAbiTypes.Function, }, { name: 'acceptCustodian', inputs: [], outputs: [], type: BitcoinAbiTypes.Function, }, { name: 'custodian', constant: true, inputs: [], outputs: [{ name: 'custodian', type: ABIDataTypes.ADDRESS }], type: BitcoinAbiTypes.Function, }, { name: 'pendingCustodian', constant: true, inputs: [], outputs: [{ name: 'pendingCustodian', type: ABIDataTypes.ADDRESS }], type: BitcoinAbiTypes.Function, }, ...PeggedTokenEvents, ...OP_20S_ABI, ];