modern_treasury 0.30.0 → 0.32.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +35 -0
  3. data/README.md +1 -1
  4. data/lib/modern_treasury/models/account_detail.rb +9 -6
  5. data/lib/modern_treasury/models/account_detail_create_params.rb +9 -6
  6. data/lib/modern_treasury/models/bulk_request_create_params.rb +30 -10
  7. data/lib/modern_treasury/models/child_legal_entity.rb +8 -7
  8. data/lib/modern_treasury/models/child_legal_entity_create.rb +2 -2
  9. data/lib/modern_treasury/models/connection_legal_entity_create_params.rb +2 -2
  10. data/lib/modern_treasury/models/counterparty_create_params.rb +27 -4
  11. data/lib/modern_treasury/models/document.rb +7 -9
  12. data/lib/modern_treasury/models/document_create_params.rb +0 -2
  13. data/lib/modern_treasury/models/document_list_params.rb +7 -9
  14. data/lib/modern_treasury/models/expected_payment.rb +3 -4
  15. data/lib/modern_treasury/models/expected_payment_create_params.rb +2 -3
  16. data/lib/modern_treasury/models/expected_payment_update_params.rb +2 -3
  17. data/lib/modern_treasury/models/external_account_create_params.rb +2 -1
  18. data/lib/modern_treasury/models/identification.rb +109 -0
  19. data/lib/modern_treasury/models/identification_create_params.rb +109 -0
  20. data/lib/modern_treasury/models/identification_create_request.rb +109 -0
  21. data/lib/modern_treasury/models/identification_update_params.rb +109 -0
  22. data/lib/modern_treasury/models/incoming_payment_detail.rb +2 -1
  23. data/lib/modern_treasury/models/incoming_payment_detail_create_async_params.rb +3 -14
  24. data/lib/modern_treasury/models/internal_account.rb +10 -1
  25. data/lib/modern_treasury/models/internal_account_create_params.rb +13 -1
  26. data/lib/modern_treasury/models/ledger_account.rb +0 -1
  27. data/lib/modern_treasury/models/ledger_account_create_request.rb +0 -1
  28. data/lib/modern_treasury/models/legal_entity.rb +8 -7
  29. data/lib/modern_treasury/models/legal_entity_address_create_request.rb +18 -18
  30. data/lib/modern_treasury/models/legal_entity_create_params.rb +23 -3
  31. data/lib/modern_treasury/models/legal_entity_list_params.rb +1 -0
  32. data/lib/modern_treasury/models/legal_entity_update_params.rb +25 -3
  33. data/lib/modern_treasury/models/payment_order.rb +12 -2
  34. data/lib/modern_treasury/models/payment_order_create_async_params.rb +13 -2
  35. data/lib/modern_treasury/models/payment_order_create_params.rb +13 -4
  36. data/lib/modern_treasury/models/payment_order_subtype.rb +3 -0
  37. data/lib/modern_treasury/models/payment_order_update_params.rb +13 -2
  38. data/lib/modern_treasury/models/payment_reference.rb +1 -1
  39. data/lib/modern_treasury/models/return_object.rb +1 -1
  40. data/lib/modern_treasury/models/third_party_verification.rb +1 -0
  41. data/lib/modern_treasury/models/virtual_account.rb +9 -1
  42. data/lib/modern_treasury/models/virtual_account_create_params.rb +18 -7
  43. data/lib/modern_treasury/models/virtual_account_list_params.rb +9 -1
  44. data/lib/modern_treasury/resources/account_details.rb +1 -1
  45. data/lib/modern_treasury/resources/documents.rb +1 -1
  46. data/lib/modern_treasury/resources/expected_payments.rb +2 -2
  47. data/lib/modern_treasury/resources/incoming_payment_details.rb +1 -1
  48. data/lib/modern_treasury/resources/internal_accounts.rb +7 -2
  49. data/lib/modern_treasury/resources/legal_entities.rb +8 -4
  50. data/lib/modern_treasury/resources/payment_orders.rb +9 -3
  51. data/lib/modern_treasury/resources/virtual_accounts.rb +6 -2
  52. data/lib/modern_treasury/version.rb +1 -1
  53. data/rbi/modern_treasury/models/account_detail.rbi +19 -11
  54. data/rbi/modern_treasury/models/account_detail_create_params.rbi +19 -11
  55. data/rbi/modern_treasury/models/bulk_request_create_params.rbi +66 -16
  56. data/rbi/modern_treasury/models/child_legal_entity.rbi +10 -8
  57. data/rbi/modern_treasury/models/child_legal_entity_create.rbi +2 -2
  58. data/rbi/modern_treasury/models/connection_legal_entity_create_params.rbi +2 -2
  59. data/rbi/modern_treasury/models/counterparty_create_params.rbi +69 -7
  60. data/rbi/modern_treasury/models/document.rbi +9 -19
  61. data/rbi/modern_treasury/models/document_create_params.rbi +0 -10
  62. data/rbi/modern_treasury/models/document_list_params.rbi +9 -19
  63. data/rbi/modern_treasury/models/expected_payment.rbi +3 -3
  64. data/rbi/modern_treasury/models/expected_payment_create_params.rbi +11 -3
  65. data/rbi/modern_treasury/models/expected_payment_update_params.rbi +11 -3
  66. data/rbi/modern_treasury/models/external_account_create_params.rbi +10 -5
  67. data/rbi/modern_treasury/models/identification.rbi +224 -0
  68. data/rbi/modern_treasury/models/identification_create_params.rbi +545 -0
  69. data/rbi/modern_treasury/models/identification_create_request.rbi +545 -0
  70. data/rbi/modern_treasury/models/identification_update_params.rbi +545 -0
  71. data/rbi/modern_treasury/models/incoming_payment_detail.rbi +10 -5
  72. data/rbi/modern_treasury/models/incoming_payment_detail_create_async_params.rbi +4 -50
  73. data/rbi/modern_treasury/models/internal_account.rbi +10 -0
  74. data/rbi/modern_treasury/models/internal_account_create_params.rbi +22 -0
  75. data/rbi/modern_treasury/models/ledger_account.rbi +0 -5
  76. data/rbi/modern_treasury/models/ledger_account_create_request.rbi +0 -5
  77. data/rbi/modern_treasury/models/legal_entity.rbi +9 -8
  78. data/rbi/modern_treasury/models/legal_entity_address_create_request.rbi +21 -21
  79. data/rbi/modern_treasury/models/legal_entity_create_params.rbi +51 -2
  80. data/rbi/modern_treasury/models/legal_entity_list_params.rbi +5 -0
  81. data/rbi/modern_treasury/models/legal_entity_update_params.rbi +54 -2
  82. data/rbi/modern_treasury/models/payment_order.rbi +17 -5
  83. data/rbi/modern_treasury/models/payment_order_create_async_params.rbi +22 -5
  84. data/rbi/modern_treasury/models/payment_order_create_params.rbi +22 -15
  85. data/rbi/modern_treasury/models/payment_order_subtype.rbi +9 -0
  86. data/rbi/modern_treasury/models/payment_order_update_params.rbi +22 -5
  87. data/rbi/modern_treasury/models/payment_reference.rbi +5 -5
  88. data/rbi/modern_treasury/models/return_object.rbi +5 -5
  89. data/rbi/modern_treasury/models/third_party_verification.rbi +5 -0
  90. data/rbi/modern_treasury/models/virtual_account.rbi +8 -0
  91. data/rbi/modern_treasury/models/virtual_account_create_params.rbi +27 -11
  92. data/rbi/modern_treasury/models/virtual_account_list_params.rbi +11 -0
  93. data/rbi/modern_treasury/resources/account_details.rbi +3 -2
  94. data/rbi/modern_treasury/resources/documents.rbi +3 -3
  95. data/rbi/modern_treasury/resources/expected_payments.rbi +2 -2
  96. data/rbi/modern_treasury/resources/incoming_payment_details.rbi +1 -2
  97. data/rbi/modern_treasury/resources/internal_accounts.rbi +7 -1
  98. data/rbi/modern_treasury/resources/legal_entities.rbi +11 -2
  99. data/rbi/modern_treasury/resources/payment_orders.rbi +15 -0
  100. data/rbi/modern_treasury/resources/virtual_accounts.rbi +6 -0
  101. data/sig/modern_treasury/models/account_detail.rbs +5 -3
  102. data/sig/modern_treasury/models/account_detail_create_params.rbs +5 -3
  103. data/sig/modern_treasury/models/bulk_request_create_params.rbs +36 -14
  104. data/sig/modern_treasury/models/child_legal_entity.rbs +2 -1
  105. data/sig/modern_treasury/models/counterparty_create_params.rbs +24 -3
  106. data/sig/modern_treasury/models/document.rbs +0 -4
  107. data/sig/modern_treasury/models/document_create_params.rbs +0 -4
  108. data/sig/modern_treasury/models/document_list_params.rbs +0 -4
  109. data/sig/modern_treasury/models/expected_payment.rbs +4 -4
  110. data/sig/modern_treasury/models/expected_payment_create_params.rbs +8 -4
  111. data/sig/modern_treasury/models/expected_payment_update_params.rbs +8 -4
  112. data/sig/modern_treasury/models/external_account_create_params.rbs +5 -3
  113. data/sig/modern_treasury/models/identification.rbs +219 -1
  114. data/sig/modern_treasury/models/identification_create_params.rbs +219 -1
  115. data/sig/modern_treasury/models/identification_create_request.rbs +219 -1
  116. data/sig/modern_treasury/models/identification_update_params.rbs +219 -1
  117. data/sig/modern_treasury/models/incoming_payment_detail.rbs +5 -3
  118. data/sig/modern_treasury/models/incoming_payment_detail_create_async_params.rbs +6 -17
  119. data/sig/modern_treasury/models/internal_account.rbs +5 -0
  120. data/sig/modern_treasury/models/internal_account_create_params.rbs +13 -1
  121. data/sig/modern_treasury/models/ledger_account.rbs +1 -2
  122. data/sig/modern_treasury/models/ledger_account_create_request.rbs +1 -2
  123. data/sig/modern_treasury/models/legal_entity.rbs +2 -1
  124. data/sig/modern_treasury/models/legal_entity_address_create_request.rbs +13 -13
  125. data/sig/modern_treasury/models/legal_entity_create_params.rbs +19 -0
  126. data/sig/modern_treasury/models/legal_entity_list_params.rbs +2 -1
  127. data/sig/modern_treasury/models/legal_entity_update_params.rbs +19 -0
  128. data/sig/modern_treasury/models/payment_order.rbs +7 -2
  129. data/sig/modern_treasury/models/payment_order_create_async_params.rbs +10 -3
  130. data/sig/modern_treasury/models/payment_order_create_params.rbs +10 -7
  131. data/sig/modern_treasury/models/payment_order_subtype.rbs +6 -0
  132. data/sig/modern_treasury/models/payment_order_update_params.rbs +10 -3
  133. data/sig/modern_treasury/models/payment_reference.rbs +2 -2
  134. data/sig/modern_treasury/models/return_object.rbs +2 -2
  135. data/sig/modern_treasury/models/third_party_verification.rbs +2 -0
  136. data/sig/modern_treasury/models/virtual_account.rbs +5 -0
  137. data/sig/modern_treasury/models/virtual_account_create_params.rbs +10 -3
  138. data/sig/modern_treasury/models/virtual_account_list_params.rbs +7 -0
  139. data/sig/modern_treasury/resources/expected_payments.rbs +2 -2
  140. data/sig/modern_treasury/resources/incoming_payment_details.rbs +1 -1
  141. data/sig/modern_treasury/resources/internal_accounts.rbs +1 -0
  142. data/sig/modern_treasury/resources/legal_entities.rbs +2 -0
  143. data/sig/modern_treasury/resources/payment_orders.rbs +3 -0
  144. data/sig/modern_treasury/resources/virtual_accounts.rbs +2 -0
  145. metadata +2 -2
@@ -8,7 +8,7 @@ module ModernTreasury
8
8
  #
9
9
  # create virtual_account
10
10
  #
11
- # @overload create(internal_account_id:, name:, account_details: nil, counterparty_id: nil, credit_ledger_account_id: nil, debit_ledger_account_id: nil, description: nil, ledger_account: nil, ledger_account_id: nil, metadata: nil, routing_details: nil, virtual_account_setting_id: nil, request_options: {})
11
+ # @overload create(internal_account_id:, name:, account_details: nil, counterparty_id: nil, credit_ledger_account_id: nil, debit_ledger_account_id: nil, description: nil, external_id: nil, ledger_account: nil, ledger_account_id: nil, metadata: nil, routing_details: nil, virtual_account_setting_id: nil, request_options: {})
12
12
  #
13
13
  # @param internal_account_id [String] The ID of the internal account that this virtual account is associated with.
14
14
  #
@@ -24,6 +24,8 @@ module ModernTreasury
24
24
  #
25
25
  # @param description [String] An optional description for internal use.
26
26
  #
27
+ # @param external_id [String, nil] A user-defined identifier for the virtual account.
28
+ #
27
29
  # @param ledger_account [ModernTreasury::Models::LedgerAccountCreateRequest] Specifies a ledger account object that will be created with the virtual account.
28
30
  #
29
31
  # @param ledger_account_id [String] The ledger account that you'd like to link to the virtual account.
@@ -105,12 +107,14 @@ module ModernTreasury
105
107
  #
106
108
  # Get a list of virtual accounts.
107
109
  #
108
- # @overload list(after_cursor: nil, counterparty_id: nil, internal_account_id: nil, metadata: nil, per_page: nil, request_options: {})
110
+ # @overload list(after_cursor: nil, counterparty_id: nil, external_id: nil, internal_account_id: nil, metadata: nil, per_page: nil, request_options: {})
109
111
  #
110
112
  # @param after_cursor [String, nil]
111
113
  #
112
114
  # @param counterparty_id [String]
113
115
  #
116
+ # @param external_id [String] Only return virtual accounts with this external ID.
117
+ #
114
118
  # @param internal_account_id [String]
115
119
  #
116
120
  # @param metadata [Hash{Symbol=>String}] For example, if you want to query for records with metadata key `Type` and value
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ModernTreasury
4
- VERSION = "0.30.0"
4
+ VERSION = "0.32.0"
5
5
  end
@@ -18,8 +18,9 @@ module ModernTreasury
18
18
  sig { returns(String) }
19
19
  attr_accessor :account_number_safe
20
20
 
21
- # One of `iban`, `clabe`, `wallet_address`, or `other`. Use `other` if the bank
22
- # account number is in a generic format.
21
+ # The type of the account number. For wallet addresses, use the chain-specific
22
+ # type (e.g. `ethereum_address`). Use `other` if the account number is in a
23
+ # generic format.
23
24
  sig do
24
25
  returns(ModernTreasury::AccountDetail::AccountNumberType::TaggedSymbol)
25
26
  end
@@ -67,8 +68,9 @@ module ModernTreasury
67
68
  id:,
68
69
  # The last 4 digits of the account_number.
69
70
  account_number_safe:,
70
- # One of `iban`, `clabe`, `wallet_address`, or `other`. Use `other` if the bank
71
- # account number is in a generic format.
71
+ # The type of the account number. For wallet addresses, use the chain-specific
72
+ # type (e.g. `ethereum_address`). Use `other` if the account number is in a
73
+ # generic format.
72
74
  account_number_type:,
73
75
  created_at:,
74
76
  discarded_at:,
@@ -101,8 +103,9 @@ module ModernTreasury
101
103
  def to_hash
102
104
  end
103
105
 
104
- # One of `iban`, `clabe`, `wallet_address`, or `other`. Use `other` if the bank
105
- # account number is in a generic format.
106
+ # The type of the account number. For wallet addresses, use the chain-specific
107
+ # type (e.g. `ethereum_address`). Use `other` if the account number is in a
108
+ # generic format.
106
109
  module AccountNumberType
107
110
  extend ModernTreasury::Internal::Type::Enum
108
111
 
@@ -112,11 +115,21 @@ module ModernTreasury
112
115
  end
113
116
  OrSymbol = T.type_alias { T.any(Symbol, String) }
114
117
 
118
+ ARBITRUM_ADDRESS =
119
+ T.let(
120
+ :arbitrum_address,
121
+ ModernTreasury::AccountDetail::AccountNumberType::TaggedSymbol
122
+ )
115
123
  AU_NUMBER =
116
124
  T.let(
117
125
  :au_number,
118
126
  ModernTreasury::AccountDetail::AccountNumberType::TaggedSymbol
119
127
  )
128
+ AVALANCHE_ADDRESS =
129
+ T.let(
130
+ :avalanche_address,
131
+ ModernTreasury::AccountDetail::AccountNumberType::TaggedSymbol
132
+ )
120
133
  BASE_ADDRESS =
121
134
  T.let(
122
135
  :base_address,
@@ -182,11 +195,6 @@ module ModernTreasury
182
195
  :solana_address,
183
196
  ModernTreasury::AccountDetail::AccountNumberType::TaggedSymbol
184
197
  )
185
- WALLET_ADDRESS =
186
- T.let(
187
- :wallet_address,
188
- ModernTreasury::AccountDetail::AccountNumberType::TaggedSymbol
189
- )
190
198
 
191
199
  sig do
192
200
  override.returns(
@@ -28,8 +28,9 @@ module ModernTreasury
28
28
  sig { returns(String) }
29
29
  attr_accessor :account_number
30
30
 
31
- # One of `iban`, `clabe`, `wallet_address`, or `other`. Use `other` if the bank
32
- # account number is in a generic format.
31
+ # The type of the account number. For wallet addresses, use the chain-specific
32
+ # type (e.g. `ethereum_address`). Use `other` if the account number is in a
33
+ # generic format.
33
34
  sig do
34
35
  returns(
35
36
  T.nilable(
@@ -63,8 +64,9 @@ module ModernTreasury
63
64
  account_id:,
64
65
  # The account number for the bank account.
65
66
  account_number:,
66
- # One of `iban`, `clabe`, `wallet_address`, or `other`. Use `other` if the bank
67
- # account number is in a generic format.
67
+ # The type of the account number. For wallet addresses, use the chain-specific
68
+ # type (e.g. `ethereum_address`). Use `other` if the account number is in a
69
+ # generic format.
68
70
  account_number_type: nil,
69
71
  request_options: {}
70
72
  )
@@ -115,8 +117,9 @@ module ModernTreasury
115
117
  end
116
118
  end
117
119
 
118
- # One of `iban`, `clabe`, `wallet_address`, or `other`. Use `other` if the bank
119
- # account number is in a generic format.
120
+ # The type of the account number. For wallet addresses, use the chain-specific
121
+ # type (e.g. `ethereum_address`). Use `other` if the account number is in a
122
+ # generic format.
120
123
  module AccountNumberType
121
124
  extend ModernTreasury::Internal::Type::Enum
122
125
 
@@ -129,11 +132,21 @@ module ModernTreasury
129
132
  end
130
133
  OrSymbol = T.type_alias { T.any(Symbol, String) }
131
134
 
135
+ ARBITRUM_ADDRESS =
136
+ T.let(
137
+ :arbitrum_address,
138
+ ModernTreasury::AccountDetailCreateParams::AccountNumberType::TaggedSymbol
139
+ )
132
140
  AU_NUMBER =
133
141
  T.let(
134
142
  :au_number,
135
143
  ModernTreasury::AccountDetailCreateParams::AccountNumberType::TaggedSymbol
136
144
  )
145
+ AVALANCHE_ADDRESS =
146
+ T.let(
147
+ :avalanche_address,
148
+ ModernTreasury::AccountDetailCreateParams::AccountNumberType::TaggedSymbol
149
+ )
137
150
  BASE_ADDRESS =
138
151
  T.let(
139
152
  :base_address,
@@ -199,11 +212,6 @@ module ModernTreasury
199
212
  :solana_address,
200
213
  ModernTreasury::AccountDetailCreateParams::AccountNumberType::TaggedSymbol
201
214
  )
202
- WALLET_ADDRESS =
203
- T.let(
204
- :wallet_address,
205
- ModernTreasury::AccountDetailCreateParams::AccountNumberType::TaggedSymbol
206
- )
207
215
 
208
216
  sig do
209
217
  override.returns(
@@ -470,6 +470,12 @@ module ModernTreasury
470
470
  sig { returns(T.nilable(String)) }
471
471
  attr_accessor :originating_party_name
472
472
 
473
+ # Secondary name for the legal entity making the payment. Can be used for e.g.
474
+ # check signatures where the originating party wishes to retain their company's
475
+ # display name but use an employee's name for the signature.
476
+ sig { returns(T.nilable(String)) }
477
+ attr_accessor :originating_secondary_party_name
478
+
473
479
  # Either `normal` or `high`. For ACH and EFT payments, `high` represents a
474
480
  # same-day ACH or EFT transfer, respectively. For check payments, `high` can mean
475
481
  # an overnight check rather than standard mail.
@@ -681,6 +687,7 @@ module ModernTreasury
681
687
  ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::OriginatingPartyAddress::OrHash
682
688
  ),
683
689
  originating_party_name: T.nilable(String),
690
+ originating_secondary_party_name: T.nilable(String),
684
691
  priority:
685
692
  ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::Priority::OrSymbol,
686
693
  process_after: T.nilable(Time),
@@ -781,6 +788,10 @@ module ModernTreasury
781
788
  # the first 16 characters of this string will be used. Any additional characters
782
789
  # will be truncated.
783
790
  originating_party_name: nil,
791
+ # Secondary name for the legal entity making the payment. Can be used for e.g.
792
+ # check signatures where the originating party wishes to retain their company's
793
+ # display name but use an employee's name for the signature.
794
+ originating_secondary_party_name: nil,
784
795
  # Either `normal` or `high`. For ACH and EFT payments, `high` represents a
785
796
  # same-day ACH or EFT transfer, respectively. For check payments, `high` can mean
786
797
  # an overnight check rather than standard mail.
@@ -888,6 +899,7 @@ module ModernTreasury
888
899
  ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::OriginatingPartyAddress
889
900
  ),
890
901
  originating_party_name: T.nilable(String),
902
+ originating_secondary_party_name: T.nilable(String),
891
903
  priority:
892
904
  ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::Priority::OrSymbol,
893
905
  process_after: T.nilable(Time),
@@ -1609,11 +1621,21 @@ module ModernTreasury
1609
1621
  end
1610
1622
  OrSymbol = T.type_alias { T.any(Symbol, String) }
1611
1623
 
1624
+ ARBITRUM_ADDRESS =
1625
+ T.let(
1626
+ :arbitrum_address,
1627
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::AccountDetail::AccountNumberType::TaggedSymbol
1628
+ )
1612
1629
  AU_NUMBER =
1613
1630
  T.let(
1614
1631
  :au_number,
1615
1632
  ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::AccountDetail::AccountNumberType::TaggedSymbol
1616
1633
  )
1634
+ AVALANCHE_ADDRESS =
1635
+ T.let(
1636
+ :avalanche_address,
1637
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::AccountDetail::AccountNumberType::TaggedSymbol
1638
+ )
1617
1639
  BASE_ADDRESS =
1618
1640
  T.let(
1619
1641
  :base_address,
@@ -1679,11 +1701,6 @@ module ModernTreasury
1679
1701
  :solana_address,
1680
1702
  ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::AccountDetail::AccountNumberType::TaggedSymbol
1681
1703
  )
1682
- WALLET_ADDRESS =
1683
- T.let(
1684
- :wallet_address,
1685
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderAsyncCreateRequest::ReceivingAccount::AccountDetail::AccountNumberType::TaggedSymbol
1686
- )
1687
1704
 
1688
1705
  sig do
1689
1706
  override.returns(
@@ -2366,7 +2383,15 @@ module ModernTreasury
2366
2383
  sig do
2367
2384
  returns(T.nilable(T::Array[ModernTreasury::ReconciliationRule]))
2368
2385
  end
2369
- attr_accessor :reconciliation_rule_variables
2386
+ attr_reader :reconciliation_rule_variables
2387
+
2388
+ sig do
2389
+ params(
2390
+ reconciliation_rule_variables:
2391
+ T::Array[ModernTreasury::ReconciliationRule::OrHash]
2392
+ ).void
2393
+ end
2394
+ attr_writer :reconciliation_rule_variables
2370
2395
 
2371
2396
  # For `ach`, this field will be passed through on an addenda record. For `wire`
2372
2397
  # payments the field will be passed through as the "Originator to Beneficiary
@@ -2423,7 +2448,7 @@ module ModernTreasury
2423
2448
  reconciliation_filters: T.nilable(T.anything),
2424
2449
  reconciliation_groups: T.nilable(T.anything),
2425
2450
  reconciliation_rule_variables:
2426
- T.nilable(T::Array[ModernTreasury::ReconciliationRule::OrHash]),
2451
+ T::Array[ModernTreasury::ReconciliationRule::OrHash],
2427
2452
  remittance_information: T.nilable(String),
2428
2453
  statement_descriptor: T.nilable(String),
2429
2454
  type: T.nilable(ModernTreasury::ExpectedPaymentType::OrSymbol)
@@ -2536,7 +2561,7 @@ module ModernTreasury
2536
2561
  reconciliation_filters: T.nilable(T.anything),
2537
2562
  reconciliation_groups: T.nilable(T.anything),
2538
2563
  reconciliation_rule_variables:
2539
- T.nilable(T::Array[ModernTreasury::ReconciliationRule]),
2564
+ T::Array[ModernTreasury::ReconciliationRule],
2540
2565
  remittance_information: T.nilable(String),
2541
2566
  statement_descriptor: T.nilable(String),
2542
2567
  type: T.nilable(ModernTreasury::ExpectedPaymentType::OrSymbol)
@@ -3294,6 +3319,12 @@ module ModernTreasury
3294
3319
  sig { returns(T.nilable(String)) }
3295
3320
  attr_accessor :originating_party_name
3296
3321
 
3322
+ # Secondary name for the legal entity making the payment. Can be used for e.g.
3323
+ # check signatures where the originating party wishes to retain their company's
3324
+ # display name but use an employee's name for the signature.
3325
+ sig { returns(T.nilable(String)) }
3326
+ attr_accessor :originating_secondary_party_name
3327
+
3297
3328
  # Either `normal` or `high`. For ACH and EFT payments, `high` represents a
3298
3329
  # same-day ACH or EFT transfer, respectively. For check payments, `high` can mean
3299
3330
  # an overnight check rather than standard mail.
@@ -3495,6 +3526,7 @@ module ModernTreasury
3495
3526
  ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::OriginatingPartyAddress::OrHash
3496
3527
  ),
3497
3528
  originating_party_name: T.nilable(String),
3529
+ originating_secondary_party_name: T.nilable(String),
3498
3530
  priority:
3499
3531
  ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::Priority::OrSymbol,
3500
3532
  process_after: T.nilable(Time),
@@ -3581,6 +3613,10 @@ module ModernTreasury
3581
3613
  # the first 16 characters of this string will be used. Any additional characters
3582
3614
  # will be truncated.
3583
3615
  originating_party_name: nil,
3616
+ # Secondary name for the legal entity making the payment. Can be used for e.g.
3617
+ # check signatures where the originating party wishes to retain their company's
3618
+ # display name but use an employee's name for the signature.
3619
+ originating_secondary_party_name: nil,
3584
3620
  # Either `normal` or `high`. For ACH and EFT payments, `high` represents a
3585
3621
  # same-day ACH or EFT transfer, respectively. For check payments, `high` can mean
3586
3622
  # an overnight check rather than standard mail.
@@ -3690,6 +3726,7 @@ module ModernTreasury
3690
3726
  ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::OriginatingPartyAddress
3691
3727
  ),
3692
3728
  originating_party_name: T.nilable(String),
3729
+ originating_secondary_party_name: T.nilable(String),
3693
3730
  priority:
3694
3731
  ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::Priority::OrSymbol,
3695
3732
  process_after: T.nilable(Time),
@@ -4407,11 +4444,21 @@ module ModernTreasury
4407
4444
  end
4408
4445
  OrSymbol = T.type_alias { T.any(Symbol, String) }
4409
4446
 
4447
+ ARBITRUM_ADDRESS =
4448
+ T.let(
4449
+ :arbitrum_address,
4450
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType::TaggedSymbol
4451
+ )
4410
4452
  AU_NUMBER =
4411
4453
  T.let(
4412
4454
  :au_number,
4413
4455
  ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType::TaggedSymbol
4414
4456
  )
4457
+ AVALANCHE_ADDRESS =
4458
+ T.let(
4459
+ :avalanche_address,
4460
+ ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType::TaggedSymbol
4461
+ )
4415
4462
  BASE_ADDRESS =
4416
4463
  T.let(
4417
4464
  :base_address,
@@ -4477,11 +4524,6 @@ module ModernTreasury
4477
4524
  :solana_address,
4478
4525
  ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType::TaggedSymbol
4479
4526
  )
4480
- WALLET_ADDRESS =
4481
- T.let(
4482
- :wallet_address,
4483
- ModernTreasury::BulkRequestCreateParams::Resource::PaymentOrderUpdateRequestWithID::ReceivingAccount::AccountDetail::AccountNumberType::TaggedSymbol
4484
- )
4485
4527
 
4486
4528
  sig do
4487
4529
  override.returns(
@@ -5120,7 +5162,15 @@ module ModernTreasury
5120
5162
  sig do
5121
5163
  returns(T.nilable(T::Array[ModernTreasury::ReconciliationRule]))
5122
5164
  end
5123
- attr_accessor :reconciliation_rule_variables
5165
+ attr_reader :reconciliation_rule_variables
5166
+
5167
+ sig do
5168
+ params(
5169
+ reconciliation_rule_variables:
5170
+ T::Array[ModernTreasury::ReconciliationRule::OrHash]
5171
+ ).void
5172
+ end
5173
+ attr_writer :reconciliation_rule_variables
5124
5174
 
5125
5175
  # For `ach`, this field will be passed through on an addenda record. For `wire`
5126
5176
  # payments the field will be passed through as the "Originator to Beneficiary
@@ -5182,7 +5232,7 @@ module ModernTreasury
5182
5232
  reconciliation_filters: T.nilable(T.anything),
5183
5233
  reconciliation_groups: T.nilable(T.anything),
5184
5234
  reconciliation_rule_variables:
5185
- T.nilable(T::Array[ModernTreasury::ReconciliationRule::OrHash]),
5235
+ T::Array[ModernTreasury::ReconciliationRule::OrHash],
5186
5236
  remittance_information: T.nilable(String),
5187
5237
  statement_descriptor: T.nilable(String),
5188
5238
  status:
@@ -5286,7 +5336,7 @@ module ModernTreasury
5286
5336
  reconciliation_filters: T.nilable(T.anything),
5287
5337
  reconciliation_groups: T.nilable(T.anything),
5288
5338
  reconciliation_rule_variables:
5289
- T.nilable(T::Array[ModernTreasury::ReconciliationRule]),
5339
+ T::Array[ModernTreasury::ReconciliationRule],
5290
5340
  remittance_information: T.nilable(String),
5291
5341
  statement_descriptor: T.nilable(String),
5292
5342
  status:
@@ -176,7 +176,7 @@ module ModernTreasury
176
176
  sig { returns(T.nilable(String)) }
177
177
  attr_accessor :prefix
178
178
 
179
- # A list of primary social media URLs for the business.
179
+ # A list of the entity's primary social media URLs.
180
180
  sig { returns(T::Array[String]) }
181
181
  attr_accessor :primary_social_media_sites
182
182
 
@@ -200,8 +200,8 @@ module ModernTreasury
200
200
  sig { returns(T.nilable(String)) }
201
201
  attr_accessor :service_provider_legal_entity_id
202
202
 
203
- # The activation status of the legal entity. One of pending, active, suspended, or
204
- # denied.
203
+ # The activation status of the legal entity. One of draft, pending, active,
204
+ # suspended, or denied.
205
205
  sig do
206
206
  returns(
207
207
  T.nilable(ModernTreasury::ChildLegalEntity::Status::TaggedSymbol)
@@ -408,7 +408,7 @@ module ModernTreasury
408
408
  preferred_name:,
409
409
  # An individual's prefix.
410
410
  prefix:,
411
- # A list of primary social media URLs for the business.
411
+ # A list of the entity's primary social media URLs.
412
412
  primary_social_media_sites:,
413
413
  # Array of regulatory bodies overseeing this institution.
414
414
  regulators:,
@@ -416,8 +416,8 @@ module ModernTreasury
416
416
  risk_rating:,
417
417
  # The UUID of the parent legal entity in the service provider tree.
418
418
  service_provider_legal_entity_id:,
419
- # The activation status of the legal entity. One of pending, active, suspended, or
420
- # denied.
419
+ # The activation status of the legal entity. One of draft, pending, active,
420
+ # suspended, or denied.
421
421
  status:,
422
422
  # An individual's suffix.
423
423
  suffix:,
@@ -950,8 +950,8 @@ module ModernTreasury
950
950
  end
951
951
  end
952
952
 
953
- # The activation status of the legal entity. One of pending, active, suspended, or
954
- # denied.
953
+ # The activation status of the legal entity. One of draft, pending, active,
954
+ # suspended, or denied.
955
955
  module Status
956
956
  extend ModernTreasury::Internal::Type::Enum
957
957
 
@@ -965,6 +965,8 @@ module ModernTreasury
965
965
  T.let(:active, ModernTreasury::ChildLegalEntity::Status::TaggedSymbol)
966
966
  DENIED =
967
967
  T.let(:denied, ModernTreasury::ChildLegalEntity::Status::TaggedSymbol)
968
+ DRAFT =
969
+ T.let(:draft, ModernTreasury::ChildLegalEntity::Status::TaggedSymbol)
968
970
  PENDING =
969
971
  T.let(
970
972
  :pending,
@@ -256,7 +256,7 @@ module ModernTreasury
256
256
  sig { returns(T.nilable(String)) }
257
257
  attr_accessor :prefix
258
258
 
259
- # A list of primary social media URLs for the business.
259
+ # A list of the entity's primary social media URLs.
260
260
  sig { returns(T.nilable(T::Array[String])) }
261
261
  attr_reader :primary_social_media_sites
262
262
 
@@ -502,7 +502,7 @@ module ModernTreasury
502
502
  preferred_name: nil,
503
503
  # An individual's prefix.
504
504
  prefix: nil,
505
- # A list of primary social media URLs for the business.
505
+ # A list of the entity's primary social media URLs.
506
506
  primary_social_media_sites: nil,
507
507
  # Array of regulatory bodies overseeing this institution.
508
508
  regulators: nil,
@@ -343,7 +343,7 @@ module ModernTreasury
343
343
  sig { returns(T.nilable(String)) }
344
344
  attr_accessor :prefix
345
345
 
346
- # A list of primary social media URLs for the business.
346
+ # A list of the entity's primary social media URLs.
347
347
  sig { returns(T.nilable(T::Array[String])) }
348
348
  attr_reader :primary_social_media_sites
349
349
 
@@ -606,7 +606,7 @@ module ModernTreasury
606
606
  preferred_name: nil,
607
607
  # An individual's prefix.
608
608
  prefix: nil,
609
- # A list of primary social media URLs for the business.
609
+ # A list of the entity's primary social media URLs.
610
610
  primary_social_media_sites: nil,
611
611
  # Array of regulatory bodies overseeing this institution.
612
612
  regulators: nil,
@@ -593,11 +593,21 @@ module ModernTreasury
593
593
  end
594
594
  OrSymbol = T.type_alias { T.any(Symbol, String) }
595
595
 
596
+ ARBITRUM_ADDRESS =
597
+ T.let(
598
+ :arbitrum_address,
599
+ ModernTreasury::CounterpartyCreateParams::Account::AccountDetail::AccountNumberType::TaggedSymbol
600
+ )
596
601
  AU_NUMBER =
597
602
  T.let(
598
603
  :au_number,
599
604
  ModernTreasury::CounterpartyCreateParams::Account::AccountDetail::AccountNumberType::TaggedSymbol
600
605
  )
606
+ AVALANCHE_ADDRESS =
607
+ T.let(
608
+ :avalanche_address,
609
+ ModernTreasury::CounterpartyCreateParams::Account::AccountDetail::AccountNumberType::TaggedSymbol
610
+ )
601
611
  BASE_ADDRESS =
602
612
  T.let(
603
613
  :base_address,
@@ -663,11 +673,6 @@ module ModernTreasury
663
673
  :solana_address,
664
674
  ModernTreasury::CounterpartyCreateParams::Account::AccountDetail::AccountNumberType::TaggedSymbol
665
675
  )
666
- WALLET_ADDRESS =
667
- T.let(
668
- :wallet_address,
669
- ModernTreasury::CounterpartyCreateParams::Account::AccountDetail::AccountNumberType::TaggedSymbol
670
- )
671
676
 
672
677
  sig do
673
678
  override.returns(
@@ -1342,7 +1347,7 @@ module ModernTreasury
1342
1347
  sig { returns(T.nilable(String)) }
1343
1348
  attr_accessor :prefix
1344
1349
 
1345
- # A list of primary social media URLs for the business.
1350
+ # A list of the entity's primary social media URLs.
1346
1351
  sig { returns(T.nilable(T::Array[String])) }
1347
1352
  attr_reader :primary_social_media_sites
1348
1353
 
@@ -1375,6 +1380,25 @@ module ModernTreasury
1375
1380
  sig { returns(T.nilable(String)) }
1376
1381
  attr_accessor :service_provider_legal_entity_id
1377
1382
 
1383
+ # Set to draft to create the legal entity as a draft. Omit to create it as
1384
+ # pending. Inline child legal entities take the parent's status.
1385
+ sig do
1386
+ returns(
1387
+ T.nilable(
1388
+ ModernTreasury::CounterpartyCreateParams::LegalEntity::Status::OrSymbol
1389
+ )
1390
+ )
1391
+ end
1392
+ attr_reader :status
1393
+
1394
+ sig do
1395
+ params(
1396
+ status:
1397
+ ModernTreasury::CounterpartyCreateParams::LegalEntity::Status::OrSymbol
1398
+ ).void
1399
+ end
1400
+ attr_writer :status
1401
+
1378
1402
  # An individual's suffix.
1379
1403
  sig { returns(T.nilable(String)) }
1380
1404
  attr_accessor :suffix
@@ -1518,6 +1542,8 @@ module ModernTreasury
1518
1542
  ModernTreasury::CounterpartyCreateParams::LegalEntity::RiskRating::OrSymbol
1519
1543
  ),
1520
1544
  service_provider_legal_entity_id: T.nilable(String),
1545
+ status:
1546
+ ModernTreasury::CounterpartyCreateParams::LegalEntity::Status::OrSymbol,
1521
1547
  suffix: T.nilable(String),
1522
1548
  terms_of_use:
1523
1549
  T.nilable(
@@ -1604,7 +1630,7 @@ module ModernTreasury
1604
1630
  preferred_name: nil,
1605
1631
  # An individual's prefix.
1606
1632
  prefix: nil,
1607
- # A list of primary social media URLs for the business.
1633
+ # A list of the entity's primary social media URLs.
1608
1634
  primary_social_media_sites: nil,
1609
1635
  # Array of regulatory bodies overseeing this institution.
1610
1636
  regulators: nil,
@@ -1612,6 +1638,9 @@ module ModernTreasury
1612
1638
  risk_rating: nil,
1613
1639
  # The UUID of the parent legal entity in the service provider tree.
1614
1640
  service_provider_legal_entity_id: nil,
1641
+ # Set to draft to create the legal entity as a draft. Omit to create it as
1642
+ # pending. Inline child legal entities take the parent's status.
1643
+ status: nil,
1615
1644
  # An individual's suffix.
1616
1645
  suffix: nil,
1617
1646
  # Acceptance of terms of use by the legal entity.
@@ -1694,6 +1723,8 @@ module ModernTreasury
1694
1723
  ModernTreasury::CounterpartyCreateParams::LegalEntity::RiskRating::OrSymbol
1695
1724
  ),
1696
1725
  service_provider_legal_entity_id: T.nilable(String),
1726
+ status:
1727
+ ModernTreasury::CounterpartyCreateParams::LegalEntity::Status::OrSymbol,
1697
1728
  suffix: T.nilable(String),
1698
1729
  terms_of_use:
1699
1730
  T.nilable(
@@ -2084,6 +2115,37 @@ module ModernTreasury
2084
2115
  end
2085
2116
  end
2086
2117
 
2118
+ # Set to draft to create the legal entity as a draft. Omit to create it as
2119
+ # pending. Inline child legal entities take the parent's status.
2120
+ module Status
2121
+ extend ModernTreasury::Internal::Type::Enum
2122
+
2123
+ TaggedSymbol =
2124
+ T.type_alias do
2125
+ T.all(
2126
+ Symbol,
2127
+ ModernTreasury::CounterpartyCreateParams::LegalEntity::Status
2128
+ )
2129
+ end
2130
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2131
+
2132
+ DRAFT =
2133
+ T.let(
2134
+ :draft,
2135
+ ModernTreasury::CounterpartyCreateParams::LegalEntity::Status::TaggedSymbol
2136
+ )
2137
+
2138
+ sig do
2139
+ override.returns(
2140
+ T::Array[
2141
+ ModernTreasury::CounterpartyCreateParams::LegalEntity::Status::TaggedSymbol
2142
+ ]
2143
+ )
2144
+ end
2145
+ def self.values
2146
+ end
2147
+ end
2148
+
2087
2149
  class TermsOfUse < ModernTreasury::Internal::Type::BaseModel
2088
2150
  OrHash =
2089
2151
  T.type_alias do