MCPcopy Index your code
hub / github.com/raiden-network/raiden / transfer_async

Method transfer_async

raiden/api/python.py:1112–1201  ·  view source on GitHub ↗
(
        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,
    )

Source from the content-addressed store, hash-verified

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(

Callers 1

transfer_and_waitMethod · 0.95

Calls 11

InvalidAmountClass · 0.90
SamePeerAddressClass · 0.90
UnknownTokenAddressClass · 0.90
InvalidSecretClass · 0.90
InvalidSecretHashClass · 0.90
to_checksum_addressFunction · 0.90
AddressClass · 0.85

Tested by

no test coverage detected