(self, operationType: Str, sigPayload: dict, params: dict)
| 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 |
no test coverage detected