# Freight Trust Smart Contract Documentation | software name | license | support | | -------- | -------- | -------- | | maidenlane v.1.9.0 | BSD-3 New | support@freight.zendesk.com | Maidenlane v1.9.0 Documentation last updated: 5/16/2020 ::: danger v2.0.0 will be incompatible with any version below 2.0.0 Support for below version 2.0.0 will be on-going through 2022. :::: # UniversalABI #### UniversalABI ## setTarget - read |name |type |description |-----|-----|----------- ||bytes4| ||address| **Add Documentation for the method here** ## getController - view _No parameters_ **Add Documentation for the method here** ## getTarget - view |name |type |description |-----|-----|----------- ||bytes4| **Add Documentation for the method here** ## changeController - read |name |type |description |-----|-----|----------- ||address| **Add Documentation for the method here** ## getMaster - view _No parameters_ **Add Documentation for the method here** ## pause - read _No parameters_ **Add Documentation for the method here** ## changeMaster - read |name |type |description |-----|-----|----------- ||address| **Add Documentation for the method here** # MasterProxy ## setTarget - read |name |type |description |-----|-----|----------- |functionSel|bytes4|The function selector for which routing is adjusted |newTarget|address|The new destination to which calls with the selector will be routed Allows the controller to set a delegate target for a function selector Returns: _No parameters_ ## setMaster - read |name |type |description |-----|-----|----------- |newMaster|address|The new default delegate target for the universal proxy Allows the controller to set a new master address. Note that *this contract* is deployed at the master address by default. Returns: _No parameters_ ## getController - view _No parameters_ Returns the controller address of the universal proxy that is calling this contract. Return : The controller address of the universal proxy Returns: |name |type |description |-----|-----|----------- ||address| ## getTarget - view |name |type |description |-----|-----|----------- |functionSel|bytes4|The function selector to check Returns the address to which execution is delegated for a given function selector Return : address The address to which execution will be delegated for the selector Returns: |name |type |description |-----|-----|----------- ||address| ## changeController - read |name |type |description |-----|-----|----------- |newController|address|The address to which permissions will be transferred Allows the controller to transfer permissions to a new address Returns: _No parameters_ ## getMaster - view _No parameters_ Returns the master address of the universal proxy that is calling this contract. Return : The master address of the universal proxy Returns: |name |type |description |-----|-----|----------- ||address| ## pause - read _No parameters_ Allows the controller to flip the pause status of the application Returns: _No parameters_ ## fallback - read _No parameters_ **Add Documentation for the method here** Returns: _No parameters_ # ERC721TokenReceiver ## onERC721Received - read |name |type |description |-----|-----|----------- |_operator|address|The address which called `safeTransferFrom` function |_from|address|The address which previously owned the token |_tokenId|uint256|The NFT identifier which is being transferred |_data|bytes|Additional data with no specified format The ERC721 smart contract calls this function on the recipient after a `transfer`. This function MAY throw to revert and reject the transfer. Return of other than the magic value MUST result in the transaction being reverted. Note: the contract address is always the message sender. Return : `bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))` unless throwing Returns: |name |type |description |-----|-----|----------- ||bytes4| # NFTExtended Module NFTExtennded ## supportsInterface - view |name |type |description |-----|-----|----------- |_id|bytes4| **Add Documentation for the method here** Returns: |name |type |description |-----|-----|----------- ||bool| ## name - view _No parameters_ **Add Documentation for the method here** Returns: |name |type |description |-----|-----|----------- ||string| ## getApproved - view |name |type |description |-----|-----|----------- |_tokenId|uint256|The token being queried Get the approved address of the specified token Return : The approved address of the specified token Returns: |name |type |description |-----|-----|----------- ||address| ## approve - read |name |type |description |-----|-----|----------- |_approved|address| |_tokenId|uint256| **Add Documentation for the method here** Returns: _No parameters_ ## totalSupply - view _No parameters_ **Add Documentation for the method here** Returns: |name |type |description |-----|-----|----------- ||uint256| ## signedTransfer - read |name |type |description |-----|-----|----------- |_from|address|The address that should own NFT at the start of the transaction |_to|address|The recipient of the transfer |_tokenId|uint256|The id of the token to be transferred |_sig|bytes|The signature that may authorize the transfer Transfers an NFT token if the message representing the transaction was signed by _from Returns: _No parameters_ ## createRecord - read |name |type |description |-----|-----|----------- |_record|bytes32| |_participant|address| |_sOwner|bytes| |_sPart|bytes| **Add Documentation for the method here** Returns: _No parameters_ ## transferFrom - read |name |type |description |-----|-----|----------- |_from|address| |_to|address| |_tokenId|uint256| **Add Documentation for the method here** Returns: _No parameters_ ## tokenOfOwnerByIndex - view |name |type |description |-----|-----|----------- |_owner|address|An address where we are interested in NFTs owned by them |_index|uint256|A counter less than `balanceOf(_owner)` Throws if `_index` >= `balanceOf(_owner)` or if `_owner` is the zero address, representing invalid NFTs. Return : The token identifier for the `_index`th NFT assigned to `_owner`, (sort order not specified) Returns: |name |type |description |-----|-----|----------- ||uint256| ## safeTransferFrom - read |name |type |description |-----|-----|----------- |_from|address| |_to|address| |_tokenId|uint256| **Add Documentation for the method here** Returns: _No parameters_ ## tokenByIndex - view |name |type |description |-----|-----|----------- |_index|uint256|A counter less than `totalSupply()` Throws if `_index` >= `totalSupply()`. Return : The token identifier for the `_index`th NFT, (sort order not specified) Returns: |name |type |description |-----|-----|----------- ||uint256| ## versionRecordSigned - read |name |type |description |-----|-----|----------- |_record|bytes32| |_updated|bytes32| |_sig|bytes| **Add Documentation for the method here** Returns: _No parameters_ ## ownerOf - view |name |type |description |-----|-----|----------- |_tokenId|uint256|The id of the specified nft token Returns the owner address of the specified token Return : The address of the owner of the token Returns: |name |type |description |-----|-----|----------- ||address| ## balanceOf - view |name |type |description |-----|-----|----------- |_owner|address|The owner of the nfts Count all of the nfts owned by the _owner Return : Returns a count of the nfts owned by the _owner Returns: |name |type |description |-----|-----|----------- ||uint256| ## versionRecord - read |name |type |description |-----|-----|----------- |_record|bytes32| |_updated|bytes32| **Add Documentation for the method here** Returns: _No parameters_ ## symbol - view _No parameters_ **Add Documentation for the method here** Returns: |name |type |description |-----|-----|----------- ||string| ## setApprovalForAll - read |name |type |description |-----|-----|----------- |_operator|address| |_approved|bool| **Add Documentation for the method here** Returns: _No parameters_ ## safeTransferFrom - read |name |type |description |-----|-----|----------- |_from|address| |_to|address| |_tokenId|uint256| |_data|bytes| **Add Documentation for the method here** Returns: _No parameters_ ## isApprovedForAll - view |name |type |description |-----|-----|----------- |_owner|address|The address that owns the NFTs |_operator|address|The address that acts on behalf of the owner Return : True if `_operator` is an approved operator for `_owner`, false otherwise Returns: |name |type |description |-----|-----|----------- ||bool| ## RecordCreated - read |name |type |description |-----|-----|----------- |locator|uint256| |owner|address| |participant|address| **Add Documentation for the method here** Returns: _No parameters_ ## RecordUpdated - read |name |type |description |-----|-----|----------- |record|uint256| |updated|uint256| |owner|address| **Add Documentation for the method here** Returns: _No parameters_ ## Approval - read |name |type |description |-----|-----|----------- |_owner|address| |_approved|address| |_tokenId|uint256| **Add Documentation for the method here** Returns: _No parameters_ ## Transfer - read |name |type |description |-----|-----|----------- |_from|address|The address that should own NFT at the start of the transaction |_to|address|The recipient of the transfer |_tokenId|uint256|The id of the token to be transferred Transfers an NFT token if the message representing the transaction was signed by _from Returns: _No parameters_ ## ApprovalForAll - read |name |type |description |-----|-----|----------- |_owner|address| |_operator|address| |_approved|bool| **Add Documentation for the method here** Returns: _No parameters_