I was interacting with open-sea on the rinkeby testnet, After deploying some nfts, I listed the price for each of the item, While i was listing them I did not pay any gas fee but provide a signature. I was wondering where the price attribute is stored by open-sea and how the signature is used by the smart contract. If the price of the nfts is stored on the smart contract. How are they avoiding the gas fees for sellers while they set and change the listing price?