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

Method post_action_request

python/ccxt/async_support/pacifica.py:3062–3098  ·  view source on GitHub ↗
(self, operationType: Str, sigPayload: dict, params: dict)

Source from the content-addressed store, hash-verified

3060 return signatureBase58
3061
3062 def post_action_request(self, operationType: Str, sigPayload: dict, params: dict) -> dict:
3063 self.check_required_credentials() # check credentials every post action
3064 if operationType == 'None':
3065 raise ArgumentsRequired(self.id + ' action: ' + operationType + ' postActionRequest() requires "operationType"')
3066 if not self.isSandboxModeEnabled: # At self stage, building codes are mostly only on the mainnet.
3067 useBuilder = self.handle_option('postActionRequest', 'builderFee', True)
3068 builderCode = None
3069 if useBuilder:
3070 builderCode = self.handle_option('postActionRequest', 'builderCode')
3071 if builderCode is not None:
3072 isOperationSupportBuilder = self.safe_bool(self.options['builderSupportOperations'], operationType, False)
3073 if isOperationSupportBuilder:
3074 sigPayload['builder_code'] = builderCode
3075 expiryWindow = None
3076 expiryWindow, params = self.handle_option_and_params_2(params, 'postActionRequest', 'expiryWindow', 'expiry_window', 5000)
3077 timestamp = self.safe_integer(params, 'timestamp', self.milliseconds())
3078 signatureHeader = {
3079 'timestamp': timestamp,
3080 'expiry_window': expiryWindow,
3081 'type': operationType,
3082 }
3083 signature = self.sign_message(signatureHeader, sigPayload, self.privateKey)
3084 finalHeaders = {}
3085 agentAddress = None
3086 agentAddress, params = self.handle_option_and_params(params, 'postActionRequest', 'agentAddress')
3087 originAddress = None
3088 originAddress, params = self.handle_origin_and_single_address('postActionRequest', params)
3089 if originAddress is None:
3090 raise ArgumentsRequired(self.id + ' action: ' + operationType + ' postActionRequest() requires "originAddress" in params or "walletAddress" in requiredCredentials')
3091 finalHeaders['account'] = originAddress
3092 if agentAddress is not None:
3093 finalHeaders['agent_wallet'] = agentAddress
3094 finalHeaders['signature'] = signature
3095 finalHeaders['timestamp'] = self.safe_integer(signatureHeader, 'timestamp')
3096 finalHeaders['expiry_window'] = self.safe_integer(signatureHeader, 'expiry_window')
3097 request = self.extend(finalHeaders, sigPayload)
3098 return request

Callers 14

create_order_requestMethod · 0.95
cancel_order_requestMethod · 0.95
edit_order_requestMethod · 0.95
set_margin_modeMethod · 0.95
set_leverageMethod · 0.95
withdrawMethod · 0.95
transferMethod · 0.95
bind_agent_walletMethod · 0.95
create_api_keyMethod · 0.95
revoke_api_keyMethod · 0.95
fetch_api_keysMethod · 0.95

Calls 11

sign_messageMethod · 0.95
ArgumentsRequiredClass · 0.90
handle_optionMethod · 0.80
safe_boolMethod · 0.80
safe_integerMethod · 0.80
millisecondsMethod · 0.45
extendMethod · 0.45

Tested by

no test coverage detected