(
self,
registry_address: TokenNetworkRegistryAddress,
token_address: TokenAddress,
amount: PaymentAmount,
target: TargetAddress,
identifier: PaymentID = None,
secret: Secret = None,
secrethash: SecretHash = None,
lock_timeout: BlockTimeout = None,
route_states: List[RouteState] = None,
)
| 1110 | return payment_status |
| 1111 | |
| 1112 | def transfer_async( |
| 1113 | self, |
| 1114 | registry_address: TokenNetworkRegistryAddress, |
| 1115 | token_address: TokenAddress, |
| 1116 | amount: PaymentAmount, |
| 1117 | target: TargetAddress, |
| 1118 | identifier: PaymentID = None, |
| 1119 | secret: Secret = None, |
| 1120 | secrethash: SecretHash = None, |
| 1121 | lock_timeout: BlockTimeout = None, |
| 1122 | route_states: List[RouteState] = None, |
| 1123 | ) -> "PaymentStatus": |
| 1124 | current_state = views.state_from_raiden(self.raiden) |
| 1125 | token_network_registry_address = self.raiden.default_registry.address |
| 1126 | |
| 1127 | if not isinstance(amount, int): # pragma: no unittest |
| 1128 | raise InvalidAmount("Amount not a number") |
| 1129 | |
| 1130 | if Address(target) == self.address: |
| 1131 | raise SamePeerAddress("Address must be different than ours") |
| 1132 | |
| 1133 | if amount <= 0: |
| 1134 | raise InvalidAmount("Amount negative") |
| 1135 | |
| 1136 | if amount > UINT256_MAX: |
| 1137 | raise InvalidAmount("Amount too large") |
| 1138 | |
| 1139 | if not is_binary_address(token_address): |
| 1140 | raise InvalidBinaryAddress("token address is not valid.") |
| 1141 | |
| 1142 | if token_address not in views.get_token_identifiers(current_state, registry_address): |
| 1143 | raise UnknownTokenAddress("Token address is not known.") |
| 1144 | |
| 1145 | if not is_binary_address(target): |
| 1146 | raise InvalidBinaryAddress("target address is not valid.") |
| 1147 | |
| 1148 | valid_tokens = views.get_token_identifiers( |
| 1149 | views.state_from_raiden(self.raiden), registry_address |
| 1150 | ) |
| 1151 | if token_address not in valid_tokens: |
| 1152 | raise UnknownTokenAddress("Token address is not known.") |
| 1153 | |
| 1154 | if secret is not None and not isinstance(secret, T_Secret): |
| 1155 | raise InvalidSecret("secret is not valid.") |
| 1156 | |
| 1157 | if secrethash is not None and not isinstance(secrethash, T_SecretHash): |
| 1158 | raise InvalidSecretHash("secrethash is not valid.") |
| 1159 | |
| 1160 | if identifier is None: |
| 1161 | identifier = create_default_identifier() |
| 1162 | |
| 1163 | if identifier <= 0: |
| 1164 | raise InvalidPaymentIdentifier("Payment identifier cannot be 0 or negative") |
| 1165 | |
| 1166 | if identifier > UINT64_MAX: |
| 1167 | raise InvalidPaymentIdentifier("Payment identifier is too large") |
| 1168 | |
| 1169 | log.debug( |
no test coverage detected