(self, amountString: str, currency: Currency, account: dict, toVault: str, toL2Key: str, params={})
| 2441 | return settlement |
| 2442 | |
| 2443 | def create_transfer_settlement_data(self, amountString: str, currency: Currency, account: dict, toVault: str, toL2Key: str, params={}): |
| 2444 | now = self.milliseconds() |
| 2445 | settlementExpiration = self.safe_integer(params, 'settlementExpiration', self.parse_to_int((now + 999) / 1000) + 1814400) |
| 2446 | nonce = self.safe_integer(params, 'nonce', self.nonce()) |
| 2447 | fromVault = self.safe_string_2(params, 'fromVault', 'senderPositionId', self.safe_string(account, 'l2Vault')) |
| 2448 | fromL2Key = self.safe_string_2(params, 'fromL2Key', 'senderPublicKey', self.safe_string(account, 'l2Key')) |
| 2449 | currencyInfo = self.safe_dict(currency, 'info', {}) |
| 2450 | collateralId = self.safe_string_2(params, 'assetId', 'collateralId', self.safe_string_2(currencyInfo, 'starkexId', 'l1Id')) |
| 2451 | resolution = self.safe_integer(params, 'resolution', self.safe_value_2(currencyInfo, 'starkexResolution', 'l1Resolution')) |
| 2452 | if (fromVault is None) or (fromL2Key is None) or (collateralId is None) or (resolution is None): |
| 2453 | raise BadRequest(self.id + ' transfer() requires currency starkexId/starkexResolution, account l2Vault and account l2Key') |
| 2454 | transferAmount = self.get_extended_stark_amount(amountString, resolution) |
| 2455 | settlement = { |
| 2456 | 'amount': transferAmount, |
| 2457 | 'assetId': collateralId, |
| 2458 | 'expirationTimestamp': settlementExpiration, |
| 2459 | 'nonce': nonce, |
| 2460 | 'receiverPositionId': toVault, |
| 2461 | 'receiverPublicKey': toL2Key, |
| 2462 | 'senderPositionId': fromVault, |
| 2463 | 'senderPublicKey': fromL2Key, |
| 2464 | } |
| 2465 | msgHash = self.get_extended_transfer_msg_hash(settlement) |
| 2466 | sig = json.loads(self.extended_starknet_sign(msgHash, self.privateKey)) |
| 2467 | settlement['signature'] = { |
| 2468 | 'r': self.get_extended_signature_hex(sig[0]), |
| 2469 | 's': self.get_extended_signature_hex(sig[1]), |
| 2470 | } |
| 2471 | return settlement |
| 2472 | |
| 2473 | def create_extended_order_request(self, symbol: str, type: OrderType, side: OrderSide, amount: Num, price: Num = None, params={}) -> dict: |
| 2474 | self.load_markets() |
no test coverage detected