Class: Privy::Services::Wallets
- Inherits:
-
Resources::Wallets
- Object
- Resources::Wallets
- Privy::Services::Wallets
- Defined in:
- lib/privy/public_api/services/wallets.rb
Instance Attribute Summary collapse
-
#privy_client ⇒ Object
readonly
Returns the value of attribute privy_client.
Attributes inherited from Resources::Wallets
#balance, #earn, #transactions
Instance Method Summary collapse
-
#create(wallet_create_params:, idempotency_key: nil, request_options: nil) ⇒ Privy::Models::Wallet
Create a new wallet on the requested chain and for the requested owner.
-
#initialize(client:, privy_client:) ⇒ Wallets
constructor
A new instance of Wallets.
-
#raw_sign(wallet_id, raw_sign_input:, authorization_context: nil, idempotency_key: nil, request_expiry: nil, request_options: nil) ⇒ Privy::Models::RawSignResponse
Sign a hash or raw bytes with a wallet by wallet ID.
-
#rpc(wallet_id, wallet_rpc_request_body:, authorization_context: nil, idempotency_key: nil, request_expiry: nil, request_options: nil) ⇒ Privy::Models::WalletRpcResponse
Sign a message or transaction with a wallet by wallet ID.
-
#transfer(wallet_id, wallet_transfer_params:, authorization_context: nil, idempotency_key: nil, request_expiry: nil, request_options: nil) ⇒ Privy::Models::TransferActionResponse
Transfer tokens from a wallet to a destination address.
-
#update(wallet_id, wallet_update_params:, authorization_context: nil, request_expiry: nil, request_options: nil) ⇒ Privy::Models::Wallet
Update a wallet’s policies or authorization key configuration.
Methods inherited from Resources::Wallets
#_init_import, #_submit_import, #_transfer, #authenticate_with_jwt, #create_wallets_with_recovery, #export, #get, #get_wallet_by_address, #list
Constructor Details
#initialize(client:, privy_client:) ⇒ Wallets
Returns a new instance of Wallets.
8 9 10 11 |
# File 'lib/privy/public_api/services/wallets.rb', line 8 def initialize(client:, privy_client:) super(client: client) @privy_client = privy_client end |
Instance Attribute Details
#privy_client ⇒ Object (readonly)
Returns the value of attribute privy_client.
6 7 8 |
# File 'lib/privy/public_api/services/wallets.rb', line 6 def privy_client @privy_client end |
Instance Method Details
#create(wallet_create_params:, idempotency_key: nil, request_options: nil) ⇒ Privy::Models::Wallet
Create a new wallet on the requested chain and for the requested owner.
36 37 38 39 40 |
# File 'lib/privy/public_api/services/wallets.rb', line 36 def create(wallet_create_params:, idempotency_key: nil, request_options: nil) combined_params = wallet_create_params.merge(request_options: ) combined_params[:privy_idempotency_key] = idempotency_key if idempotency_key super(combined_params) end |
#raw_sign(wallet_id, raw_sign_input:, authorization_context: nil, idempotency_key: nil, request_expiry: nil, request_options: nil) ⇒ Privy::Models::RawSignResponse
Sign a hash or raw bytes with a wallet by wallet ID.
151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 |
# File 'lib/privy/public_api/services/wallets.rb', line 151 def raw_sign( wallet_id, raw_sign_input:, authorization_context: nil, idempotency_key: nil, request_expiry: nil, request_options: nil ) prepared = Privy::Authorization.prepare_request( privy_client, method: :post, url: Privy::Authorization.signed_url(privy_client, "v1/wallets/#{wallet_id}/raw_sign"), body: raw_sign_input, authorization_context: , idempotency_key: idempotency_key, request_expiry: privy_client.compute_request_expiry(request_expiry) ) combined_params = raw_sign_input.merge(request_options: ) Privy::Authorization.merge_prepared_headers!(combined_params, prepared.headers) super(wallet_id, combined_params) end |
#rpc(wallet_id, wallet_rpc_request_body:, authorization_context: nil, idempotency_key: nil, request_expiry: nil, request_options: nil) ⇒ Privy::Models::WalletRpcResponse
Sign a message or transaction with a wallet by wallet ID.
106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 |
# File 'lib/privy/public_api/services/wallets.rb', line 106 def rpc( wallet_id, wallet_rpc_request_body:, authorization_context: nil, idempotency_key: nil, request_expiry: nil, request_options: nil ) prepared = Privy::Authorization.prepare_request( privy_client, method: :post, url: Privy::Authorization.signed_url(privy_client, "v1/wallets/#{wallet_id}/rpc"), body: wallet_rpc_request_body, authorization_context: , idempotency_key: idempotency_key, request_expiry: privy_client.compute_request_expiry(request_expiry) ) combined_params = {wallet_rpc_request_body: wallet_rpc_request_body, request_options: } Privy::Authorization.merge_prepared_headers!(combined_params, prepared.headers) super(wallet_id, combined_params) end |
#transfer(wallet_id, wallet_transfer_params:, authorization_context: nil, idempotency_key: nil, request_expiry: nil, request_options: nil) ⇒ Privy::Models::TransferActionResponse
Transfer tokens from a wallet to a destination address.
203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 |
# File 'lib/privy/public_api/services/wallets.rb', line 203 def transfer( wallet_id, wallet_transfer_params:, authorization_context: nil, idempotency_key: nil, request_expiry: nil, request_options: nil ) prepared = Privy::Authorization.prepare_request( privy_client, method: :post, url: Privy::Authorization.signed_url(privy_client, "v1/wallets/#{wallet_id}/transfer"), body: wallet_transfer_params, authorization_context: , idempotency_key: idempotency_key, request_expiry: privy_client.compute_request_expiry(request_expiry) ) combined_params = wallet_transfer_params.merge(request_options: ) Privy::Authorization.merge_prepared_headers!(combined_params, prepared.headers) _transfer(wallet_id, combined_params) end |
#update(wallet_id, wallet_update_params:, authorization_context: nil, request_expiry: nil, request_options: nil) ⇒ Privy::Models::Wallet
Update a wallet’s policies or authorization key configuration.
63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/privy/public_api/services/wallets.rb', line 63 def update(wallet_id, wallet_update_params:, authorization_context: nil, request_expiry: nil, request_options: nil) prepared = Privy::Authorization.prepare_request( privy_client, method: :patch, url: Privy::Authorization.signed_url(privy_client, "v1/wallets/#{wallet_id}"), body: wallet_update_params, authorization_context: , request_expiry: privy_client.compute_request_expiry(request_expiry) ) combined_params = wallet_update_params.merge(request_options: ) Privy::Authorization.merge_prepared_headers!(combined_params, prepared.headers) super(wallet_id, combined_params) end |