@nftsafe/sdk
Version:
Lend and rent any ERC721s and ERC1155s on supported mainnet and testnet.
1,066 lines (1,065 loc) • 20.9 kB
text/typescript
export const RevenueSharedNFTRentalsAbi = [
{
inputs: [
{
internalType: 'address',
name: '_admin',
type: 'address',
},
{
internalType: 'address',
name: '_revenueSharedConfigurator',
type: 'address',
},
],
stateMutability: 'nonpayable',
type: 'constructor',
},
{
inputs: [
{
internalType: 'uint256',
name: 'lendAmount',
type: 'uint256',
},
{
internalType: 'uint256',
name: 'availableAmount',
type: 'uint256',
},
],
name: 'ActiveRenting',
type: 'error',
},
{
inputs: [],
name: 'InvalidPortionsSum',
type: 'error',
},
{
inputs: [],
name: 'InvalidProtocolFeeReceivers',
type: 'error',
},
{
inputs: [],
name: 'LendingEmpty',
type: 'error',
},
{
inputs: [],
name: 'LendingIsStopped',
type: 'error',
},
{
inputs: [],
name: 'LendingNotEmpty',
type: 'error',
},
{
inputs: [],
name: 'NotAllowedToRent',
type: 'error',
},
{
inputs: [
{
internalType: 'address',
name: 'caller',
type: 'address',
},
],
name: 'NotAnAdmin',
type: 'error',
},
{
inputs: [
{
internalType: 'uint8',
name: 'errorCode',
type: 'uint8',
},
],
name: 'NotLendable',
type: 'error',
},
{
inputs: [
{
internalType: 'uint8',
name: 'errorCode',
type: 'uint8',
},
],
name: 'NotRentable',
type: 'error',
},
{
inputs: [],
name: 'Paused',
type: 'error',
},
{
inputs: [
{
internalType: 'uint256',
name: 'rentAmount',
type: 'uint256',
},
{
internalType: 'uint256',
name: 'availableAmount',
type: 'uint256',
},
],
name: 'RentAmountExceedsAvailableAmount',
type: 'error',
},
{
inputs: [
{
internalType: 'uint32',
name: 'rentDuration',
type: 'uint32',
},
{
internalType: 'uint32',
name: 'maxRentDuration',
type: 'uint32',
},
],
name: 'RentDurationExceedsMaxRentDuration',
type: 'error',
},
{
inputs: [],
name: 'RentingEmpty',
type: 'error',
},
{
inputs: [],
name: 'RentingNotEmpty',
type: 'error',
},
{
inputs: [],
name: 'ReturningNotAllowed',
type: 'error',
},
{
inputs: [
{
internalType: 'address',
name: 'lender',
type: 'address',
},
{
internalType: 'address',
name: 'msgSender',
type: 'address',
},
],
name: 'StopperNotLender',
type: 'error',
},
{
inputs: [
{
internalType: 'address',
name: '_address',
type: 'address',
},
{
internalType: 'uint8',
name: '_errorCode',
type: 'uint8',
},
],
name: 'ZeroAddress',
type: 'error',
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: 'bool',
name: 'isERC721',
type: 'bool',
},
{
indexed: true,
internalType: 'address',
name: 'lenderAddress',
type: 'address',
},
{
indexed: true,
internalType: 'address',
name: 'nftAddress',
type: 'address',
},
{
indexed: true,
internalType: 'uint256',
name: 'tokenId',
type: 'uint256',
},
{
indexed: false,
internalType: 'uint256',
name: 'lendingId',
type: 'uint256',
},
{
indexed: false,
internalType: 'uint32',
name: 'maxRentDuration',
type: 'uint32',
},
{
indexed: false,
internalType: 'uint256',
name: 'upfrontRentFee',
type: 'uint256',
},
{
indexed: false,
internalType: 'uint256',
name: 'lendAmount',
type: 'uint256',
},
{
components: [
{
internalType: 'address[]',
name: 'revenueShareAddresses',
type: 'address[]',
},
{
internalType: 'uint8[]',
name: 'revenueSharePortions',
type: 'uint8[]',
},
],
indexed: false,
internalType: 'struct IRevenueSharedNFTRentals.RevenueShareInfo',
name: 'revenueShareInfos',
type: 'tuple',
},
{
indexed: false,
internalType: 'address[]',
name: 'allowedRenters',
type: 'address[]',
},
{
indexed: false,
internalType: 'uint8',
name: 'paymentOption',
type: 'uint8',
},
],
name: 'Lend',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'address',
name: 'renterAddress',
type: 'address',
},
{
indexed: true,
internalType: 'uint256',
name: 'lendingId',
type: 'uint256',
},
{
indexed: true,
internalType: 'uint256',
name: 'rentingId',
type: 'uint256',
},
{
indexed: false,
internalType: 'uint256',
name: 'rentAmount',
type: 'uint256',
},
{
indexed: false,
internalType: 'uint32',
name: 'rentDuration',
type: 'uint32',
},
{
indexed: false,
internalType: 'uint32',
name: 'rentedAt',
type: 'uint32',
},
],
name: 'Rent',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'uint256',
name: 'lendingId',
type: 'uint256',
},
{
indexed: true,
internalType: 'address',
name: 'receiver',
type: 'address',
},
{
indexed: true,
internalType: 'address',
name: 'paymentToken',
type: 'address',
},
{
indexed: false,
internalType: 'uint256',
name: 'amount',
type: 'uint256',
},
],
name: 'ShareRevenue',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'uint256',
name: 'lendingId',
type: 'uint256',
},
{
indexed: false,
internalType: 'uint32',
name: 'stoppedAt',
type: 'uint32',
},
],
name: 'StopLend',
type: 'event',
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: 'uint256',
name: 'rentingId',
type: 'uint256',
},
{
indexed: false,
internalType: 'uint32',
name: 'stoppedAt',
type: 'uint32',
},
],
name: 'StopRent',
type: 'event',
},
{
inputs: [],
name: 'admin',
outputs: [
{
internalType: 'address',
name: '',
type: 'address',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'deployer',
outputs: [
{
internalType: 'address',
name: '',
type: 'address',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{
internalType: 'uint256',
name: '',
type: 'uint256',
},
],
name: 'feePortions',
outputs: [
{
internalType: 'uint8',
name: '',
type: 'uint8',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{
internalType: 'uint256',
name: '',
type: 'uint256',
},
],
name: 'feeReceivers',
outputs: [
{
internalType: 'address payable',
name: '',
type: 'address',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{
internalType: 'address',
name: '_nfts',
type: 'address',
},
{
internalType: 'uint256',
name: '_tokenIds',
type: 'uint256',
},
{
internalType: 'uint256',
name: '_lendingIds',
type: 'uint256',
},
],
name: 'getLendingInfo',
outputs: [
{
components: [
{
internalType: 'enum NFTStandard',
name: 'nftStandard',
type: 'uint8',
},
{
internalType: 'address payable',
name: 'lender',
type: 'address',
},
{
internalType: 'uint32',
name: 'maxRentDuration',
type: 'uint32',
},
{
internalType: 'uint256',
name: 'upfrontFee',
type: 'uint256',
},
{
internalType: 'uint256',
name: 'lendAmount',
type: 'uint256',
},
{
internalType: 'uint256',
name: 'availableAmount',
type: 'uint256',
},
{
components: [
{
internalType: 'address[]',
name: 'revenueShareAddresses',
type: 'address[]',
},
{
internalType: 'uint8[]',
name: 'revenueSharePortions',
type: 'uint8[]',
},
],
internalType: 'struct IRevenueSharedNFTRentals.RevenueShareInfo',
name: 'revenueShareInfos',
type: 'tuple',
},
{
internalType: 'address[]',
name: 'allowedRenters',
type: 'address[]',
},
{
internalType: 'uint8',
name: 'paymentOption',
type: 'uint8',
},
{
internalType: 'bool',
name: 'stopped',
type: 'bool',
},
],
internalType: 'struct IRevenueSharedNFTRentals.LendingInfo',
name: '',
type: 'tuple',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{
internalType: 'address',
name: '_nfts',
type: 'address',
},
{
internalType: 'uint256',
name: '_tokenIds',
type: 'uint256',
},
{
internalType: 'uint256',
name: '_rentingIds',
type: 'uint256',
},
],
name: 'getRentingInfo',
outputs: [
{
components: [
{
internalType: 'address payable',
name: 'renter',
type: 'address',
},
{
internalType: 'uint32',
name: 'rentDuration',
type: 'uint32',
},
{
internalType: 'uint32',
name: 'rentedAt',
type: 'uint32',
},
{
internalType: 'uint256',
name: 'rentAmount',
type: 'uint256',
},
],
internalType: 'struct IRevenueSharedNFTRentals.RentingInfo',
name: '',
type: 'tuple',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{
components: [
{
internalType: 'enum NFTStandard',
name: 'nftStandard',
type: 'uint8',
},
{
internalType: 'address',
name: 'nft',
type: 'address',
},
{
internalType: 'uint256',
name: 'tokenId',
type: 'uint256',
},
{
internalType: 'uint256',
name: 'lendAmount',
type: 'uint256',
},
{
internalType: 'uint256',
name: 'upfrontFee',
type: 'uint256',
},
{
internalType: 'uint32',
name: 'maxRentDuration',
type: 'uint32',
},
{
components: [
{
internalType: 'address[]',
name: 'revenueShareAddresses',
type: 'address[]',
},
{
internalType: 'uint8[]',
name: 'revenueSharePortions',
type: 'uint8[]',
},
],
internalType: 'struct IRevenueSharedNFTRentals.RevenueShareInfo',
name: 'revenueShareInfo',
type: 'tuple',
},
{
components: [
{
internalType: 'address[]',
name: 'allowedRenters',
type: 'address[]',
},
],
internalType: 'struct IRevenueSharedNFTRentals.AllowedRenters',
name: 'allowedRenters',
type: 'tuple',
},
{
internalType: 'uint8',
name: 'paymentOption',
type: 'uint8',
},
],
internalType: 'struct IRevenueSharedNFTRentals.LendingRequest[]',
name: 'lendingRequests',
type: 'tuple[]',
},
],
name: 'lend',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [],
name: 'lendingId',
outputs: [
{
internalType: 'uint256',
name: '',
type: 'uint256',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{
internalType: 'address',
name: '',
type: 'address',
},
{
internalType: 'address',
name: '',
type: 'address',
},
{
internalType: 'uint256[]',
name: '',
type: 'uint256[]',
},
{
internalType: 'uint256[]',
name: '',
type: 'uint256[]',
},
{
internalType: 'bytes',
name: '',
type: 'bytes',
},
],
name: 'onERC1155BatchReceived',
outputs: [
{
internalType: 'bytes4',
name: '',
type: 'bytes4',
},
],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{
internalType: 'address',
name: '',
type: 'address',
},
{
internalType: 'address',
name: '',
type: 'address',
},
{
internalType: 'uint256',
name: '',
type: 'uint256',
},
{
internalType: 'uint256',
name: '',
type: 'uint256',
},
{
internalType: 'bytes',
name: '',
type: 'bytes',
},
],
name: 'onERC1155Received',
outputs: [
{
internalType: 'bytes4',
name: '',
type: 'bytes4',
},
],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{
internalType: 'address',
name: '',
type: 'address',
},
{
internalType: 'address',
name: '',
type: 'address',
},
{
internalType: 'uint256',
name: '',
type: 'uint256',
},
{
internalType: 'bytes',
name: '',
type: 'bytes',
},
],
name: 'onERC721Received',
outputs: [
{
internalType: 'bytes4',
name: '',
type: 'bytes4',
},
],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [],
name: 'paused',
outputs: [
{
internalType: 'bool',
name: '',
type: 'bool',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{
internalType: 'address[]',
name: '_nfts',
type: 'address[]',
},
{
internalType: 'uint256[]',
name: '_tokenIds',
type: 'uint256[]',
},
{
internalType: 'uint256[]',
name: '_lendingIds',
type: 'uint256[]',
},
{
internalType: 'uint32[]',
name: '_rentDurations',
type: 'uint32[]',
},
{
internalType: 'uint256[]',
name: '_rentAmounts',
type: 'uint256[]',
},
],
name: 'rent',
outputs: [],
stateMutability: 'payable',
type: 'function',
},
{
inputs: [],
name: 'rentingId',
outputs: [
{
internalType: 'uint256',
name: '',
type: 'uint256',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'revenueSharedConfigurator',
outputs: [
{
internalType: 'contract IConfigurator',
name: '',
type: 'address',
},
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'revokeOwnership',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{
internalType: 'address',
name: '_newAdmin',
type: 'address',
},
],
name: 'setAdmin',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{
internalType: 'bool',
name: '_paused',
type: 'bool',
},
],
name: 'setPaused',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{
internalType: 'address payable[]',
name: 'newFeeReceivers',
type: 'address[]',
},
{
internalType: 'uint8[]',
name: 'newFeePortions',
type: 'uint8[]',
},
],
name: 'setProtocolFeeReceivers',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{
internalType: 'address[]',
name: 'newRentStoppers',
type: 'address[]',
},
],
name: 'setRentStoppers',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{
internalType: 'address',
name: '_newRevenueSharedConfigurator',
type: 'address',
},
],
name: 'setRevenueSharedConfigurator',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{
internalType: 'address[]',
name: 'newRewardPayers',
type: 'address[]',
},
],
name: 'setRewardPayers',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{
internalType: 'address[]',
name: '_nfts',
type: 'address[]',
},
{
internalType: 'uint256[]',
name: '_tokenIds',
type: 'uint256[]',
},
{
internalType: 'uint256[]',
name: '_lendingIds',
type: 'uint256[]',
},
{
internalType: 'uint256[]',
name: '_revenueAmounts',
type: 'uint256[]',
},
{
internalType: 'address[]',
name: '_renters',
type: 'address[]',
},
{
internalType: 'address[]',
name: '_revenueTokenAddress',
type: 'address[]',
},
],
name: 'shareRevenue',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{
internalType: 'enum NFTStandard[]',
name: '_nftStandards',
type: 'uint8[]',
},
{
internalType: 'address[]',
name: '_nfts',
type: 'address[]',
},
{
internalType: 'uint256[]',
name: '_tokenIds',
type: 'uint256[]',
},
{
internalType: 'uint256[]',
name: '_lendingIds',
type: 'uint256[]',
},
],
name: 'stopLending',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{
internalType: 'address[]',
name: '_nfts',
type: 'address[]',
},
{
internalType: 'uint256[]',
name: '_tokenIds',
type: 'uint256[]',
},
{
internalType: 'uint256[]',
name: '_lendingIds',
type: 'uint256[]',
},
{
internalType: 'uint256[]',
name: '_rentingIds',
type: 'uint256[]',
},
],
name: 'stopRenting',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{
internalType: 'bytes4',
name: 'interfaceId',
type: 'bytes4',
},
],
name: 'supportsInterface',
outputs: [
{
internalType: 'bool',
name: '',
type: 'bool',
},
],
stateMutability: 'view',
type: 'function',
},
];