MCPcopy Create free account
hub / github.com/ccxt/ccxt / create_transfer_settlement_data

Method create_transfer_settlement_data

python/ccxt/extended.py:2443–2471  ·  view source on GitHub ↗
(self, amountString: str, currency: Currency, account: dict, toVault: str, toL2Key: str, params={})

Source from the content-addressed store, hash-verified

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()

Callers 1

transferMethod · 0.95

Calls 14

BadRequestClass · 0.90
safe_integerMethod · 0.80
parse_to_intMethod · 0.80
safe_string_2Method · 0.80
safe_stringMethod · 0.80
safe_dictMethod · 0.80
safe_value_2Method · 0.80
millisecondsMethod · 0.45

Tested by

no test coverage detected